【原创】实战项目中遇到的问题分析及解决方法汇总

【原创】实战项目中遇到的问题分析及解决方法汇总

实验环境:quartus15.0。

问题1:做FFT处理时,偶尔会出现多做一次FFT的现象,经排查,排除时序错误。(也就是程序时序莫名其妙出现紊乱)
分析:复位信号的不稳定可能会导致程序寄存器出现亚稳态,加上程序本身采用自己设计的PCB板子的复位信号,有可能会是复位信号的原因。
解决方法:不再使用自己设计的PCB板子上的复位信号,采用PLL IP核的locked引脚作为程序的复位信号PLL IP核locked引脚的特殊用法)。

问题2:模块间采用不同的时钟频率,在两个模块通信时要注意时钟的协调。

问题3:写EEPROM:24LC0424LC64的驱动程序时,以为两者驱动通用,结果24LC04的驱动并不能适用于24LC64。
分析:查看手册发现整体时序一样,区别在于两者的地址宽度不一样,24LC04地址宽8bits,24LC64地址宽16bits(其中最高3bits不起作用)。两者驱动不通用的问题就出在位宽。
解决方法:在24LC04的驱动程序中,写地址的状态多写1byte。

问题4:使用ADS7830进行数据采样,驱动已经写好。改AD的IIC协议一共支持三种模式:标准模式(100KHz),快速模式(400KHz),高速模式(3.4MHz)。实际采样时,工作在高速模式下AD会出现采样异常的现象,比如不能采样,或者只有短时间可以采样,过一段时间就不行了。但是后来切换成400KHz后,一切正常。
问题分析:AD工作在3.4MHz的高速模式下,自己设计的电路质量不过关,超高速的模式下会出现异常。这种异常在400KHz的低速模式下可以被接受,因此高速模式下不能正常工作。也就是说驱动程序么有问题,问题出在硬件电路上。

你可能感兴趣的:(【原创】实战项目中遇到的问题分析及解决方法汇总)