摘要 在分析了S12系列MCU编程调试器MC68HC908JB8的基础上,设计了基于MC9S08JM60的新型编程调试器;着重阐述了在提高编程系统通信速度上,JM60相对于JB8所做的改进,并给出了整个编程系统在通用性上的设计方案。本编程系统可以适应当前S12系列全部 MCU,加快了对S12系列MCU的开发速度,为S12系列MCU的应用开发带来了极大的方便。
关键词 S12 编程调试器 JM60 SYNC
引 言
目前市场上影响力较大的针对S12的集成开发环境CodeWarrior HCS12,功能完善、性能稳定,但是价格昂贵,不利于嵌入式领域的教学和开发。在国内由清华大学开发的S12BDM调试头,目前可支持的目标CPU外部晶振频率不高于19 MHz,它的软件部分由飞思卡尔半导体公司提供。苏州大学2005年研制了针对S12系列MCU的编程调试器,采用MC68HC908JB8(以下简称 JB8)作为编程调试器芯片;但是随着芯片制造技术的更新,S12系列MCU的品种越来越多,性能越来越好,典型的S12系列MCU总线频率为25 MHz,而JB8的总线频率只有3 MHz,可适用目标芯片的型号有限,且JB8只有256字节的RAM空间,可用于接收数据的缓存太小,影响通信速度。因此更加迫切地需要一款功能更加强大并且具有通用性的编程调试器来满足S12系列MCU的需求。
本文在分析了S12系列MCU编程调试器MC68HC908JB8的基础上,设计了基于MC9S08JM60(以下简称JM60)的新型编程调式器,主要解决JB8在通信速率上存在的不足和在通用性方面存在的问题。
1 总体概述
本文所说的编程系统包括编程调试器和PC方的通信,以及编程调试器和目标芯片的通信。图1是编程系统的基本架构。在编程系统中,JM60通过USB2.O和PC方进行交互,接收来自PC方的命令并执行相应的操作,然后通过BDM接口将命令和数据发送到目标芯片,完成对目标芯片的操作。
BDM是飞思卡尔半导体公司推出的一种单线调试方式。图2是BDM接口引脚图,所有命令和参数均通过BKGD专用引脚进行传输,不占用其他任何资源;而且 BDM子模块独立于CPU,有独立的状态机来处理单线接口。与通常的开发手段相比,BDM子模块能利用CPU的空闲周期与CPU打交道,不需要停止处理器即可访问存储器资源。
本编程系统中,作为编程调试器芯片的JM60所拥有的USB2.O全速设备较之串口和USBl.1,它和PC方通信速率非常快。JM60可达24 MHz的总线频率以及充足的RAM空间使得通信流程可以得到进一步改进;同时,JM60的高总线频率也解决了以往采用JB8作为编程调试器芯片但由于 JB8自身总线频率低而限制目标芯片通信频率的瓶颈,使得编程系统的通用性得到提高。
2 通信系统的改进
2.1 通信流程的改进
编程系统的通信由PC机、编程调试器和目标芯片的交互来完成,因而编程系统通信流程的高效与否直接影响着整个编程系统的通信速率。编程系统的通信过程如下: