TMS320F28027小系统板
【设计这块开发板的初衷】
1. 这是我的第一款C2000板子,对掌握IC硬件设计原则意义重大
2. 验证在无外部晶振时芯片工作的可靠性
3. 全IO开放,可用作今后其他项目开发的核心板,不浪费资源
【调试过程】
整个板子按TI参考设计,虽然简单,但必须要自己做过一次才行。调试阶段遇到的这个低级错误就是实际经验不足造成的。希望能对大家有帮助,也欢迎老鸟提出建议。希望能通过这次故障分析梳理分析问题的思路,避免惯性思维。
调试环境CCS3.3.81.6
调试器LSD-XDS100USB
板子通电后电压正常,JTAG联机正常,调用CCS3.3下的FLASH编程工具时,FLASH API函数下载到RAM成功,但擦除阶段就像死机一样没有反应,而一模一样的原厂板子却没有问题。
开始阶段思路为:能联机成功,说明电路连接、电源没有问题,由于我原来开发板用的是28027PTA,自己的是28027PTT,TI官网上PTA型号已经停产,TI编译器插件又多,自己并不很熟悉,所以首先怀疑IC批次和CCS3.3版本问题,后来换了CCS4还是一样,因此放弃了这种想法。
接着分析时钟,因为资料说明IC可以用内部振荡器工作而无需外接晶振,因此板上并未焊接晶振,怀疑是不是JTAG联机阶段必须使用外部晶振工作,同时检查FLASH API中的FLASH频率测试端口GPIO-0,发现没有输出,这同样让我怀疑是晶振的问题,没办法后直接将原厂板子的晶振拿掉,结果发现所有操作均正常无误,这下彻底排除了晶体问题,但问题却更迷茫。
没办法,干脆休息一天,重新冷静思考问题原因,回忆故障现象为每每擦除FLASH时死机,而联机没问题,内部振荡器也肯定没问题,IC没问题,复位信号是内部复位,那么问题只能落在我一开始就排除的电源问题上了,FLASH擦除是需要充电泵工作的,电源负荷较大,会不会是电源功率不够或不稳定呢,查看参考图纸发现我的电源滤波电容均偏小,且总电源没有大电容储能,估计问题在这里,换上两颗4.7uF电解后,终于成功了,喜悦之余也责怪自己太粗心,这在平时都会考虑的问题,居然漏掉了,实属低级错误。
最后电源电容配置如下:Vdda和Vddio各1uF、Vdd各2uF、电源线干线并4.7uF电解,问题解决! |