Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1034909
  • 博文数量: 178
  • 博客积分: 10222
  • 博客等级: 上将
  • 技术积分: 2215
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-03 11:27
个人简介

有所追求

文章分类

全部博文(178)

文章存档

2012年(1)

2011年(5)

2010年(3)

2009年(78)

2008年(91)

我的朋友

分类:

2008-04-02 21:27:12

1,昨天发现仿真运行时程序跑到读取ID码到缓冲区时系统死机,发现保存ID码的地址为奇地址
      估计问题原因:a,ARM是32位系统,如果选择ARM模式,小端对齐,指令地址从00开始;如果存储器选择16位,那么读取数据的指令所读取的地址的BIT0=0;如果BIT0=1,产生数据异常,程序跳到异常中断地址0x10处。
      问题是:ARM的指令的在存储器中的放置和数据在FLASH以及在SRAM(或者SDRAM)中的放置方式是如上所述吗?为什么数据结构ID_REC_DATA的地址是基数?
      结构体的对齐模数比其成员中对齐类型最强的还要强(至少相等),基本型成员对齐模数为其本身,结构成员对齐模数为其基本型成员对齐模数中最强的那个。
      补充:经过进一步分析和Inter网友的指点,得知我的程序中传递给编程函数的指针是指向unsigned short型变量的,系统会从unsigned short对齐的地址取数据;而我实际传入的地址为结构的首地址,这个地址被编译器编译为奇数,那么程序中用 *data 进行取数时,地址不匹配,于是报数据终止。至于为什么数据终止,待进一步查证。
      这个问题分析见:
2,显示屏经常性黑屏。
      先排查硬件是否可靠,然后检查程序,凡是涉及到操作 PWM 的地方都检查,包括 PWM 引脚的是否上拉,是否使用了 PWM 功能,PWM 值的设置(TCNTBn和TCMPBn),是否重载,是否使能定时器的中断。
      今天开始排查 LCD,根据上述思路跟踪检查,最后发现控制 PWM 的TCMPn值始终为零,可以判断是FLASH 的那个单元坏了或者其数据引脚虚焊,在程序中加了对 TCMPn 进行边界检查的代码后,系统跑起来了,蛮开心的。不过系统函数报 E-23 故障,我估计是 FLASH 的问题,因为不能写入和读出正确的数据,换了一片 FLASH 就好了。
      此问题的8D报告主要内容:
      1)屏幕通过PWM控制亮度和对比度,黑屏表明PWM输出低电平(注:常低不代表无PWM输出)
      2)两个通道的PWM是通过T2,T3产生的,故在整个程序里检查设计操作这两个定时器的地方,排查发现程序操作他们的地方是初始化寄存器和开关T2、T3中断处以及上电系统初始化结束之后应用程序的变量初始化
      3)通过两分法确定黑屏代码大致发生的程序模块,然后再单步跟踪,发现程序在跟踪到对TCMPB2、TCMPB3 初始化时,系统黑屏。
      rTCMPB2 = 100 - InfoSet.sys.back_light;
      rTCMPB3 = 100 - InfoSet.sys.contrast;
      发现InfoSet.sys.back_light、InfoSet.sys.contrast均为零。即从FLASH读出的数据出错。
      4)此时决定换一块FLASH试试看。更换后,恢复正常
      5)通过分析电路上电掉电时序,电路在电源电压 <=3V 时就进入复位状态
      6)伴随黑屏或者类似FLASH问题的其他现象是,上电同步进度100%,这个是读出来的自编花样和固缝数量为0,造成同步瞬间结束;上电蓝屏,这个是上电后读出来的页面数据(state数据)是个非定义值,造成进不了正常界面;上电数据超限,原因同上。以上问题同样在换片子之后恢复正常。
      可能的原因分析:
      1)频繁上下电产生电压或电流冲击?
      2)LCD需要的高压逆变器的电磁干扰已经静电对 FLASH 存储单元的篡改?
      3)FLASH 为低质量散片?
      在实验过程中,发现断电1S后,出现一个100ms宽度的高电平脉冲,这个是主控电源上的大电容放电,不好。
      现在等待新版本的HMI电路出来,换成LED 5V 背光对比度,使用高质量的FLASH,确认是否上述问题。
3,触摸屏不灵敏
      1)选择质量好的触摸屏厂家
      2)修改内核触摸屏校准算法,采用Q值计算缩放比例
      3)修改触摸屏校准数据的处理,采用中值法。从K值和边缘值的角度作非法处理
      4)修改上电程序,添加上电校准数据监测,和新板子首先校准
      通过以上方法,触摸屏的使用效果大幅提升
阅读(1164) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~