板子做好后,刚调试就碰到MPU对SRAM不能进行操作,找到原因后,感触颇深。
先说明一下MPU对SRAM不能进行操作的原因,是因为MPU与一片74LVC245连接在一起,其中MPU的DATA0-7线与74LVC245的A0-7连接在一起,MPU的RD口线与74LVC245的DIR连在一起,OE引角接地。这样不管MPU对任何外围器件(包括SRAM,FLASH等)进行读取数据的时候,数据就起冲突了,所以74LVC245的OE连线非常重要,MPU的应该通过一个GAL16V8或是与非门等芯片进行逻辑组合后与74LVC245的OE相连(如在某一地址范围内可以进行数据读写操作)。
总结一下经验,说说硬件调试的心得:
1.
首先是焊接的顺序问题。当初板子做好以后,我一口气就把所有的元件焊上去了,这样对于没有调试过的板子,就很难找到原因。所以焊接的顺序很重要,应该是应该按功能划分的器件进行焊接,顺序是功能部件的焊接--调试(OK)--另一功能部件的焊接,这样容易找到问题的所在。
2.
如果在调试按功能划分的器件上出现问题,可以按以下步骤进行:
1)检查原理图连接是否正确
2)检查原理图与PCB图是否一致
3)检查原理图与器件的DATASHEET上引脚是否一致
4)用万用表检查是否有虚焊,引脚短路现象
5)查询器件的DATASHEET,分析一下时序是否一致,同时分析一下命令字是否正确(注意,命令字的顺序很重要,前些日子调试INTEL
e28F640
这款flash是的时候,在对其擦除和写操作的时候,就碰到了这样的问题)
6)有条件的可以用示波器。如我就是通过示波器对SRAM各个引脚进行检查,发现地址线都是有信号的,而数据线无信号出现,才找到问题所在。
7)飞线。用别的的口线进行控制,看看能不能对其进行正常操作,多试验,才能找到问题出现在什么地方。
3.
多观察,多思考。如我前些日子在调试320×240点阵LCD的时候,发现怎么也不能出现图像,后来在偶然的机会下,发现LCD在MPU的CS2口线下,出现闪动的情况,猜测这时候有数据写入到LCD中,仔细研究才发现,MPU的DATA0-7线与74LVC245的A0-7连接在一起,MPU的通过一个GAL16V8或是与非门等芯片进行逻辑组合后与74LVC245的OE引脚相连,这样MPU只有在某一地址范围内才可以进行数据读写操作。所以在调试过程中,对于出现的任何现象都不要放过,问题的解决就是从一些小的现象入手的。山重水复疑无路,柳暗花明又一村。
4.
有可能的情况下,最好焊两块板子以上,这样才好有个比较,硬件上很小的问题有很多时候是很难发现的。
5.
软件的调试要和硬件配合进行,往往问题可能不是硬件上的。
我先说这么多,希望大家多多说说自己的感想,大家共同进步,共同提高^_^
共1条
1/1 1 跳转至页
硬件调试心得
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |