基于Flexis QE128微控制器的实验系统开发
2010-08-23陈奕梅
陈奕梅
(天津工业大学电气工程与自动化学院,天津 300160)
0 引言
在产品升级换代时,我们应以较低的代价将软件和硬件转换到另外一个核上。用户设计一系列产品时需要同时用到8位和32位MCU,例如手持血压计对功耗和成本要求严格,因此选用8位MCU,而高级的医用血压监测仪则会用到 32位MCU。另外,同一个产品或系统中也可能会用到多个MCU,例如工业网络中,主控制器采用32位MCU,每个探头采用8位MCU等。由于用户同时需要开发8位和32位产品,希望有一种完全兼容的8位和32位的开发系统。
2007年,Freescale公司率先推出了业界首款8位和32位兼容微控制器:Flexis系列微控制器突破了传统位的界限,在8位与32位MCU之间架起了性能提升桥梁。[1,2]
1 QE128的主要特性
每个Flexis系列都是由多对基于HCS08内核的8位微控制器与基于ColdFire V1内核的32位微控制器构成。在同一对的两款不同内核的产品中,做到了引脚封装、外围设备以及开发工具的兼容性。利用这样的兼容性,可使开发人员在低端和高端嵌入式设计之间灵活移植。
为了满足不断增长的低功耗电子设备的需求,QE128系列采用了如下一些先进技术充分实现了其超低功耗的特性。
(1)两种超低功耗的停止模式(Stop2与Stop3)可允许应用程序在低功耗状态下继续采样,从而延长电池的使用寿命。
(2)低功耗运行和等待模式可使CPU和外围设备使用稳压器在低功耗模式下运行。
(3)电源稳压器可以最大限度地减少逻辑电路的电压波动并使 VDD维持较低的值,同时使得Flash在整个电压范围内都可重新编程,各模式之间能够实现快速切换,并且帮助将系统从停止模式下快速唤醒。
(4)采用时钟门控技术,通过关闭闲置不用的外设的时钟以降低运行和待机模式下的电流。
(5)超低功耗的外部振荡器可在停止模式下使用,为实时计数器提供精确的时钟源。
2 TGFSYS实验系统
我校“Freescale MCU/DSP研发中心”所开发的TGFSYS实验系统[1,2],是根据我国的教学情况重新设计的,力求达到更好的实验效果,其功能基本上和美国的MCUSLK系统相同。图1所示的TGFSYS实验系统由主板和独立的MCU子板构成。系统主板插槽和美国MCUSLK系统兼容,可根据用户需要选择不同的MCU进行教学,本平台选 配 MC68HC908GP32、MC68HC908GT16、MC9S08QE128、MC9S12DG128、MC9S12E128 等芯片模块进行单片机或嵌入式系统教学。MCU子板既可以利用引脚自行搭建功能电路建立单片机控制系统,也可以直接插在主板上调试,充分利用主板丰富的硬件资源构建系统。该实验系统主板上配有LED、开关、数码管、继电器、红外发射接收、喇叭、RS232接口、RS485接口、CAN 总线、液晶显示和打印机接口等。
图1 TGFSYS实验系统主板
由于实验系统的主板和子板都具有较强的通用性,通过不同的主板和子板的组合,根据不同的需要选用主板上不同的功能模块,从而能够搭建多款单片机控制的多样系统,这既方便教学,也有利于学生的自主学习。
QE128子板,除了板上的MCU分别采用8位芯片MC9S08QE128和 32位芯片 MCF51QE128外,其余外围电路完全相同。而且由于两款芯片引脚封装以及开发工具的兼容性,我们可以不需要对应用程序作任何修改,直接将其在两款芯片之间移植(图2)。
图2 QE128子板
对于带硬件调试,QE128有P&E Multilink/Cyclone Pro和HCS08 OpenSource BDM两种模式。我们研发的USBDM 是一款集8位、16位以及32位机通用的BDM,支持Freescale MC9S08系列8位单片机(GT、GB、AW、QG 和QE等)MC9S12及S12X系列16位单片机,Flexis Coldfire V1系列32位单片机(QE,JM)。在开发不同单片机的时候,无需转换BDM就可以轻松的下载和调试程序。USBDM在使用上和其他的BDM的使用方法是一样的。其特点是:①材料成本低;②接口方便,采用USB来提供电源;③支持至少一种广泛使用的调试器Codewarrior;④目标MCU具有宽的供电电压(3.3V ~5V);⑤对8位、16位以及32位的 MCU通用;⑥支持高达30Mb/s总线速率。
3 QE128移植
8位机到32位机移植,简单地说就是把一个芯片的内核由8位换成32位,而外设和管脚都保持不变。对于Flexis系列微控制器,由于8位与32位微控制器的管脚以及通用外设的兼容性,利用CodeWarrior V6软件简化并加速了8位、32位的设计过程。可以帮用户简单地进行设计应用,并自动生成代码。使得用户可以不必再去学习新的编码和工具。
这里给出了在CodeWarrior V6环境下QE128系列MCU的移植过程。图3为MC9S08QE128的过程。可以看到,其头文件与MC9S08QE128有关。
图3 MC9S08QE128的移植过程
点击Change MCU/Connection按钮,可以进行芯片的变换。
选择相应的Flexis系列的MCF51QE128,点击“完成”,则完成了芯片的转换。可以看到头文件已经由MC9S08QE128.h变为MCF51QE128.h。程序代码不需要做任何调整,直接进行编译链接及调试下载到32位的MCF51QE128单片机中,可以与MC9S08QE128运行同样的功能。同样的操作过程,与此对应,32位机的程序也可以轻松移植到8位机中。
4 结语
本实验系统从2008年9月起至2009年7月期间,在我校12个班共300余人的“单片机应用技术”的实验教学中使用。此外,还应用于包括课程设计、毕业设计以及设计竞赛等多种场合。学生可以根据不同要求和层次以及不同的设计内容,选择8位、16位及32位等不同的子板,进行相关的实验及设计。
实验系统中包括几乎所有的常用模块,并且各个模块的引脚都被引到主板上,便于学生自行设计和自主研发。
为了配合该实验教学,我们编写了《Freescale Flexis系列微控制器的入门及开发》的教材,并应用于2009年暑期培训中。教材内有很多的应用实例,有利于学生的自学,因此他们最终取得了很好的培训效果。
[1] 陈奕梅,尤一鸣.Freescale Flexis系列微控制器的入门及开发[M].北京:电子工业出版社,2009
[2] 熊慧,尤一鸣.MC68单片机入门与实践[M].北京:北京航空航天大学出版社,2006