在公司实习,部门经理让我做一个USB-CAN的适配器。
在网上找资料,找到一个开源的USB-CAN的适配器的资料。
采用的是CP2102芯片实现USB转串口。STM32作为主控,高速CAN收发器采用是TJA1050。
由于USB-CAN适配器要求小巧,
在给STM32烧写程序调试的时候,传统20脚JTAG底座个头大,占用PCB面积多,连接线复杂。
采用SWD模式Jlink,只需要三根线即可与目标板实现通讯,可实现程序下载,单步调试等功能,
除了不能检测目标板电压、不能给目标板供电、速度有所降低之外,与完整版JLink的功能是一样的。
下图所示为10、20脚JTAG底座:
20脚JTAG底座, 只需要 SWD、SWC、GND三根线,即 7号、9号及GND 中的任意一根针。
由于固件烧写一次后就不再使用(掉固件的可能性非常低),因此不需要再焊排针上去了,
杜邦排针连接即可。
对于全功能JLink,
1号针脚的功能有两个:检测目标板电压;为内部的电平转换芯片提供输出端参考电压。
也就是说,如果目标板电压为3.3V,那么这里也必须给1号针脚提供3.3V电压,
才能保证正常输出。由上图可知,20针JTAG的2号针可以提供VCC供电。打开J-Link
Commander输入power on时,发现2号针脚输出的是5V电压,如法通过直接短路1、2号针
来解决问题。
所以必须给Jlink的1号管脚提供3.3V的电压,可以在Jlink中获取,也可以在待烧写的板子中获得。
烧写程序接线顺序:插杜邦排针,原始JLink上电,待编程、烧写器上电(USB)。
断开时步骤相反,切不可颠倒!
尤其不能在上电时断开上图中的连接,否则会烧坏器件!
对于Jlink软件的配置:
Option->Project settings
在选择好对应的CPU后,重要的是配置SWD模式。