板子做好后,刚调试就碰到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 跳转至页
回复
打赏帖 | |
---|---|
分享一种检测按键状态的方法被打赏20分 | |
周末总结一下,STM32C0系列的开发经验被打赏50分 | |
【Cortex-M】Systick Timer使用被打赏10分 | |
分享汽车防盗系统的组成与分类(一)被打赏5分 | |
VOFA+波形显示+JYD-31蓝牙发送和解析不定长数据被打赏10分 | |
【换取手持数字示波器】-STM32F4PWM控制LED灯管亮度被打赏22分 | |
【换取手持数字示波器】STM32F4驱动RPR-0521RS照度、接近一体型传感器被打赏23分 | |
宏定义和const关键字定义被打赏5分 | |
【分享开发笔记,赚取电动螺丝刀】几个单片机I2S外设的BLCK时钟对比被打赏20分 | |
【功率监测与控制系统DIY活动成果贴】DIY功率计与LabVIEW数据采集被打赏100分 |