首先祝贺自己博客访问人数过千。虽然EDN的工程师众多,对比社区众多的高手们这个数据更加微不足道。但却是小女子开博至今首次看到这么大的访问量,很有成就感。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
有了上次的电路资料(见上篇日志http://blog.ednchina.com/bobzone/114538/message.aspx),又在网上down了MC68HC908JB16DW的数据手册。硬件的工作方便了很多。昨天和今天,利用业余时间把硬件原理图过了一遍。自我感觉算是理通了吧。现把经验分享如下:
一、对BDM的总体认识
BDM工具实际上就是一个简单的8位单片机系统。这个单片机既要能通过USB接口与上位PC机通讯,又要能够和下位的16位HCS12单片机相连,通过特定引脚和HCS12单片机通讯。通讯的内容就是把上位机擦写、调试命令传给下位机,把下位机的具体寄存器、接口信息传给上位机。(监控程序软件还没有看,请原谅我说的如此简陋)在硬件上,所选用的这个8位单片机都带有USB1.0的接口,可以用来和上位机通讯,与下位机通讯是通过74125。这个没有什么好多说的。另外涉及到的一块硬件内容是对8位单片机的烧写。BDM中预留了一个2*5的接口,用来对8位单片机烧写。烧写通过串口就可以实现了。十分简单。实际中为了减少BDM的体积和重量。对BDM的8位单片机的烧写硬件独立做在另外一块板子上。所以我们看到的BDM只留有一个2*5的接口,而带烧写的BDM我们只在TBDM_V11中才有看到,其典型特征是上面带有一个笨重的9针串口插座。
二、清华BDM v11、v12、v21、v31的差异
我想做的是TBDML_V31,而手头资料却是以V12为主。不同版本的其原理是一致的。现在说说各个版本BDM的差异。v11大概是最早的BDM,其外形与后来的BDM差异很大(后来的BDM板子形状都差不多,外壳更是一模一样,只有很小的跳线、元件上的小差异);v11的BDM上带有串口插座,232芯片;v11使用的仿佛是mc9s12dg128(大材小用,杀鸡用牛刀,汗),估计当时设计者的想法是把最小系统板和BDM调试工具集成在一起,由于监控程序源码公开,这样只要有一个BDM就可以把其他所有的系统板做成BDM,也可以通过其他BDM把原BDM监控程序擦除,这样又还原成最小系统板。不过这个BDM的造价也太大了吧。后来版本的BDM都是直接用便宜的8位摩托罗拉单片机做成的,大大降低了成本。其实工程师的本意是好的,只要有一个BDM,用户就可以制作无数个BDM,无奈这第一个BDM造价太高,制作BDM的过程也比较复杂。在少量实验使用时BDM的成本相对太高。这种方法没有得以推广也是意料中的事情。v12和v21是两个版本极为相似的BDM。所用的单片机芯片为MC68HC908JB8。v12和v11的主要差异是与下位机相连的BDM接口。BDM接口前后有好几个版本。最初的BDM接口如下:
清华意识到,“在这种定义方式下,一旦BDM插头被接反,则目标CPU的BKGD引脚会被短接到VDD上,由此将会造成芯片烧毁。”因而TBDML建议用户采用另外两种BDM电缆信号链接方式。下图是v12给出的两种BDM定义方式:
图3兼容了两种定义方式,被认为是v12的默认BDM定义。
到了v31,BDM的定义方式又回到了原来v11的定义,同时兼容v12,如下图:
但v31使用的单片机芯片为MC68HC908JB16。JB6与JB8相比,flash由8k提高到16k,同时晶振频率由6mhz提高到12mhz。在monitor模式下(8位单片机的烧写模式),串口的波特率也由原来的9600提高到19200。BDM运行速度更快。注意到JB16单片机的monitor模式需要用到的比JB8多一个PTE3引脚,烧写单片机时需把此引脚拉高,这也是为什么v31比之前版本多一组跳线的原因。
三、JB16的烧写与监控(MONITOR)模式
MC68HC908JB16单片机也需要烧写程序进去BDM才能运行。在监控模式下,PC机通过232串口与单片机相连,我们可以烧写、擦除MCU的flash,得到单片机CPU的内部测试数据。进入监控模式的方法有两种,一是当矢量地址$FFFE和$FFFF为空,二是/IRQ所加电压为Vtst(Vtst>Vdd+Vhi)。进入监控模式的条件要求如下:
四、具体电路
把整体BDM电路分成两部分,烧写BDM上单片机的烧写电路(1)和用户用BDM电路(2)分开。
就写到这里吧。每次都虎头蛇尾的。这两天会继续PCB,加油!
用户1408266 2009-8-8 17:33
用户569053 2009-5-12 10:29
用户397817 2009-3-21 21:01
用户146369 2008-12-7 19:46
用户537361 2008-11-29 20:24
用户537361 2008-11-29 20:19
用户537361 2008-11-29 20:18
用户537361 2008-11-29 20:17
用户537361 2008-11-29 20:17
用户146369 2008-7-24 20:54