所用M3型号为LM3S9B92,Ti出品。现在需要画一个最小系统。把细节记录一下。
PCB元件库的制作
像这种100引脚的扁平封装,可以使用向导来生成。需要注意的是给芯片引脚的长留出0.5mm的空间便于焊接。
电源供给
电源供给用稳压芯片LM1117把DC输入的5V变为3.3V。板子打样回来测试时发现芯片发热十分厉害。分析可能是IO口烧坏导致芯片内部短路。后来在师兄的帮助下才发现是LDO上的Core supply voltage必须在1.08~1.32 V。自己在画的时候参照一些产品设计的原理图,但忽略了降压芯片输出的真正电压值,以为都是3.3V供电。引以为戒。
JLINK接口
参见20针JTAG接口连接方法[01][04]进行连接。数字IO口可以串一个小的电阻,因为电流是微安级别,分压不会太多。TDI、TMS、TCK、TDO都可以上拉到3.3V
下面是做出来的PCB板。
需要改进的地方
- 晶振离芯片太远,可能无法起振
- 改晶振封装,库里自带的封装两脚之间距离小。
- 用LM1117-1.2V给LDO供电
- 加上JLINK 20针牛脚座,便于调试
- JLINK都上拉到3.3V,为了便于焊接,不串电阻。
改进后的PCB图。
遇到的问题
PCB V2打样回来后焊接了3个版本,芯片实在是不好焊接。
- NO ALGORITHM FOUND FOR ADDRESS
这个问题的出现是没有选定芯片的Flash大小。
IAR下的解决方法是: Opitions——Utilities——settings——Add [02]
根据芯片选择LM3Sxxx 256K Flash。设定完成,选择下载。成功下载了两次。
但第三次出现了下列问题。
- no cortex-m device found in the jtag chain [03]
继续下载,出现了下面提示。
- JLink Info: TotalIRLen = 4, IRPrint = 0x01
- JLink Info: Found Cortex-M3 r2p0, Little endian.
- JLink Info: TPIU fitted.
- JLink Info: FPUnit: 6 code (BP) slots and 2 literal slots
ROMTableAddr = 0xE00FF003
正在查找问题。
References
[01].http://blog.csdn.net/zhulizhen/article/details/4677691
[02].http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka10850.html
[03].http://e2e.ti.com/support/microcontrollers/stellaris_arm/f/471/t/45407.aspx
[04].http://blog.sina.com.cn/s/blog_6b94d56801010gmp.html