我们采用MC9S12DG128单片机作为主控芯片。DG128是飞思卡尔公司推出的S12系列单片机中的一款增强型16为单片机。片内资源丰富,拥有SPI、SCI、IC、A/D和PWM等常见的接口模块,在汽车电子应用领域具有广泛的用途。
MC9S12DG128单片机介绍:
CPU:增强型16位HCS12CPU,片内总线时钟最高可达25MHZ;片内资源:8KRAM、128KFlash、2KEEPROM;串行接口模块:SCI、SPI/PWM; 脉宽调制模块(PWM)可设置成4路8位或者2路16位,逻辑时钟选择频率宽;两个8路10位精度A/D转换器; 控制器局域网模块(CAN);增强型捕捉定时器;支持背景调试模式。在整个开发调试过程中,我们采用CodeWarriorforHCS12[10]作为程序编译软件CodeWarriorforHCS12是面向以HC12或S12为单片机嵌入式应用开发的软件包,包括集成开发环境IDE、处理器专家库、全芯片仿真、可 视化参数显示工具、项目工程管理器、C交叉编译器、汇编器、链接器以及调试器等。在CodeWarrior软件中可以使用汇编语言或C语言,以及两种语言的混合编程。CodeWarriorIDE 能够自动地检查代码中的明显错误,它通过一个集成的调试器和编辑器来扫描代码,以找到并减少明显的错误,然后编译并链接程序以便计算机能够理解并执行程序。每个应用程序都经过了使用象CodeWarrior 这样的开发工具进行编码、编译、编辑、链接和调试的过程。
CodeWarriorforHCS12建立工程编写程序使用过程:

S12系列单片机采用了BDM(BackgroundDebugModel,背景调试模式)的调试方式,在BDM模式下主要可以实现以下3方面的功能:
应用程序的下载与在线更新;
单片机内部资源的配置与修复;
应用程序的动态调试。
BDM单独使用时,需要通过5V电源插座给BDM头供电。用BDM头调试目标系统时,BDM可以通过BDM电缆向目标板供电,BDM头的电源的供给也可以从BDM 电缆得到。下图11.2给出了PC机通过BDM头与目标机相连的示意图,也给出了BDM调试插头、插座的定义。需要注意的是:BDM电缆的6针插头座一定不能插反,否则会引起BKGD引脚(S12单片机的I/O端)与电源(Vdd)短路,会烧毁BKGD引脚,烧毁单片机!

在我们的开发调试中,整个过程均使用C语言实现程序的编写,通过BDM调试器将系统与PC机相连(如图11.1所示),将PC机CodeWarriorIDE中编写的程序下载到HCS12单片机中,赋予整个系统的软件算法,实现整个控制过程的软件和硬件的结合。


