飞思卡尔新一代8位单片机MC9S08QG主要针对少管脚、低电压及低功耗应用。MC9S08QG体积虽小,但具有极高的集成度,它改写了低端器件的定义。本文首先给出飞思卡尔HCS08
MCU的综述性介绍,然后将从功能特点、支持工具等方面对新一代8位单片机MC9S08QG进行详细阐述。
HCS08综述
HCS08是市场上广泛使用的HC08系列的升级产品,它旨在扩展飞思卡尔8位单片机的阵容,同时将原有的HC08系列产品的功能与性能提升到更高层次。在HCS08中应用了众多新技术,包括:电池寿命延长技术、增强型的低功耗性能以及超低电压下的高级运行能力等。因此该单片机可以在低功耗条件下实现高性能,特别适用于电池供电类应用。
其他特性包括:
·采用第三代0.25微米Flash技术,延续了Flash技术的领先地位;
·创新的片上调试器,加快产品上市时间;
·采用SoC方法,迅速推出新的产品系列;
·高性能HCS08 CPU内核;
·端口上升及下降时间的控制;
·内置振荡器及时钟源信号保护功能;
·LDHX指令的新寻址方式;
·STHX和CPHX指令的新寻址方式;
·新的背景调试(BGND)指令;
·总线运行频率可高达20MHz;
·指令队列(或管道)提高了指令吞吐量。
HCS08 CPU的程序员模型
图1给出了汇编程序员看到HCS08 CPU的模型示意图,该模型显示了一个实际的以8位累加器为基础的冯诺曼结构CPU。它包括8位累加器、16位变址寄存器、16位堆栈指针、16位程序计数器以及一个8位的条件代码寄存器。该模型与HC08相同,因此可大大简化将老的HC08代码移植到HCS08的工作,提高代码效率。
图1 寄存器示意图(略)
HCS08的寻址方式
HCS08具有16种寻址方式,如表1所示。隐含寻址指令不必读取操作数;立即寻址带有8位或16位操作数紧跟在操作码后;直接寻址的操作数为8位地址,因此它只能对存储器的头256个字节进行访问;扩展地址可以对整个64K空间进行访问,而变址寻址是查表及其他数据结构寻址的重要操作方式,能大大提高代码效率。
表1:寻址方式及助记符(略)
HCS08的低功耗性能与模式
HCS08的低功耗模式
HCS08有4种标准低功耗模式:停止1、停止2、停止3与等待模式。
停止1模式是功耗极低的模式,在这个模式中,芯片的内部电路完全断电,芯片所消耗的电流只是最基本的芯片漏电流;停止2模式所能提供的功能较停止1模式略多,它为部分断电模式,其RAM内容将继续保持有效,I/O端口状态也将被锁存,而其他内部电路将都被关断;停止3模式基本等同于HC08的停止模式,在三种停止模式中,它能够提供最多功能,因为允许用外部时钟做时钟输入信号,因此该模式可提供精确的计时功能。等待模式只是将CPU的时钟关断,而允许绝大多数的外围设备继续运行,与运行模式相比,可消耗较低的电流。(5V的HCS08器件可能没有停止1模式)
HCS08的低功耗性能
HCS08的低功耗性能主要表现在以下几个方面:
它具有多种功率管理模式,能够关断芯片的电源,此时的电流消耗可低至20nA;极低功耗的自动唤醒定时器,无需外部晶振/元器件,其典型电流即可低至700nA;HCS08还具有灵活的多频率时钟源,不仅能产生内部时钟信号,而且可以在不同的时钟源之间,不同的频率之间随意切换,这样应用程序就可以根据具体的要求让CPU运行在较低的频率上,以降低功耗,或运行在较高的频率以满足系统的要求。最后HCS08还可以在电源电压低至1.8V的条件下,对Flash进行编程,这就使得用户可以在整个工作范围下,将Flash用作EEPROM。在电池供电的应用中,这种特性非常有用,这样用户就可以在更换电池时,还能保证系统原来的参数与配置,而不必使用外部的EEPROM。
MC9S08QG详述
新系列MC9S08QG单片机将HCS08系列的所有优点引进小封装、少管脚的器件中,将908Q系列与HCS08内核的优势结合在一起,成为小型、通用的低功耗、多功能新型单片机。MC9S08QG拥有完备的功能组合、简便的应用开发,其高精度模拟电路、多种通讯选择、温度传感器以及其他超强功能,使其成为了极具价格吸引力的产品系列。
MC9S08QG8/4功能与优点
MC9S08QG8/4 - S08中央处理器单元 (CPU)
S08中央处理器单元 (CPU)的特性包括:在电压大于2.1V时,其最大总线频率为10MHz(最小指令周期为100ns),而在1.8V时,可实现8MHz的总线频率(最小指令周期为125ns)。在电池供电的应用中,即便在低压情况下,也可以发挥极高性能。同时其指令集以HC08为基础,因此易于学习和使用,目标代码与68HC08和68HC05后向兼容,支持在汇编语言和C语音编译器中进行高效、紧凑的模块式编码。而新添加的BGND指令,允许用户使用内置在线仿真
(ICE)功能,进入背景调试模式。此外S08中央处理器单元还支持多达 32个中断/复位源,为设计师带来更大的软件灵活性。
MC9S08QG8/4 - Flash存储器
MC9S08QG8/4 的Flash存储器包括在线重编程的功能,为用户提供了多个平台的单芯片解决方案,更支持现场重编程功能及可对设计进行功能验证的升级能力。它在所有的工作电压(1.8~3.6V)和工作温度(-40~85℃,最高可至125℃)范围内都能对
Flash进行读、编程及擦除操作,这使得用户在任意实际环境下都可使用在线重编程的功能,同时还可以进行EEPROM模拟实现数据存储。
它的单电源编程和擦除功能,使得进行Flash编程时不需要另外的引脚或电源,简化了在线编程接口,并留出更多的GPIO管脚。通过超快速的单字节写入编程,有助于降低产品的编程费用,当需要写入非易失性数据时,有助于降低功耗并加快应用程序的执行。而当读操作频率很低时将自动关断电源,从而降低系统功耗。
MC9S08QG8/4 -时钟源选择
MC9S08QG8/4的内部时钟源(ICS)模块具有锁频环(FLL),由内部或外部参考时钟控制。省去了外部时钟元器件的费用,减少了电路板面积、提高了系统的可靠性。它的内部参考时钟可调整到+0.5%~
1%的精度,调整解析度可达0.1%,是市场上最精确的内部时钟源之一。
在31.25~39.065kHz之间,内部时钟可进行调整,允许8~10MHz的FLL输出。调整时钟可调节总线频率以优化串行通信波特率和/或定时间隔。
FLL后接总线频率分频器,可编程实现1~8分频并动态实时地选择总线频率,从而让器件采用较高的速度来快速执行代码,而后返回较低的频率和较低的功耗状态,其间将不影响FLL的锁定,这样既能提供代码的快速执行,又能提供高效的省电模式。
低功耗振荡器模块(XOSC)可用软件选择晶振或陶瓷谐振器的范围,从31.25~38.4kHz,或是1~16MHz均可,还支持高达20MHz的外部时钟输入。对需要持续定时(如时间和日期)又需要低功耗模式的系统,32kHz晶振能提供一个低功耗的选择。
MC9S08QG8/4 - 串行通讯 - IIC
16脚的MC9S08QG8/4芯片能提供所有的三个标准串行通信功能,其中所有的串行外设都可以并行使用,这为外部元器件提供了进行接口的最多的用户选择。集成电路互连(IIC)总线模块包括2线的同步串行模块可连接至标准IIC总线;在最大的总线负载和时序的情况下,其设计功能可高达100Kbps,而当总线负载较轻时,可以运行在更高的波特率,最高可达到时钟频率的1/20。
因为是所需引脚数较少的同步通信,从而使更多的引脚可用于I/O或其他外设功能,这为各种应用(包括EEPROM、高精度模数和数模转换器、实时时钟和LCD等)提供了经济高效的串行外设扩展方式。
MC9S08QG8/4 -KBI和I/O
MC9S08QG8/4的8脚键盘中断(KBI)模块具有边沿或边沿/电平模式,可通过软件选择极性在同简易键盘接口时,采用可编程的上拉/下拉进行键盘扫描,使得实际操作时可省去外部胶合逻辑。
当芯片用作输入时,端口可通过软件对引脚逐个选择上拉。因为无需外部电阻,所以降低了客户的系统成本;当芯片用作输出时,端口可通过软件对引脚逐个选择斜率控制。可以将端口配置为较慢的斜率,使来自MCU的EMI噪声辐射最小。而较大的斜率可用于需要快速跳变的引脚。用作输出时,芯片端口还可通过软件对引脚逐个选择驱动能力。
MC9S08QG8/4 -定时器
MC9S08QG8/4 定时器包括可编程16位定时器/PWM(TPM)模块与带8位预分频器的8位模数定时器(MTIM)模块。
可编程16位定时器/PWM(TPM)模块中,每个通道都可独立编程用于实现输入捕捉、输出比较、带缓冲的边沿对齐脉冲宽度调制(PWM)及带缓冲的中心对齐PWM。该模块包括三个TPM计数器时钟源:总线时钟、参考时钟(XCLK)及外部时钟(TCLK),因此是同价位最灵活的定时器模块之一。它的PWM功能非常适合电机控制应用以及低成本DAC(需要少量外部元器件),而中心对齐的PWM在2个PWM通道都启动时,可以防止它们在同一时钟沿跳变,从而降低了EMI噪声发射。
带8位预分频器的8位模数定时器(MTIM)模块中,多个软件可选时钟源和一个可编程中断,它包括4个MTIM计数器时钟源:总线时钟、参考时钟
(XCLK)、外部时钟 (TCLK)-上升沿、外部时钟 (TCLK)-下降沿。它可以开启定时器溢出中断来为基于时间的软件循环生成周期性中断,并可用于软件输入捕捉、输出比较或PWM。其中TCLK输入可用作事件计数器。
其他功能与特性
MC9S08QG8/4具有一系列系统保护功能,包括可选择运行在专用1kHz内部时钟源或总线时钟上的,计算机运行正常(COP)的看门狗复位、低电压检测(LVD)和低电压报警(LVW)、非法指令或非法地址复位
、灵活的Flash块保护、Flash和RAM的加密功能及一直开启的POR电路等。该芯片还包括背景调试系统和内置的ICE,提供了单线的调试及仿真接口,免去了昂贵的仿真工具。芯片具有6种封装形式可供选择,见表2。
表2:封装类型列表(略)
S08QG8/4支持工具
9S08QG8/4支持工具包括CodeWarriorTM集成开发软件的专用版及包含了设计人员用于开发和评估应用代码所需的DEMO9S08QG8
- MSRP演示套件。带有项目引导的CodeWarrior IDE能对多达32个文件进行项目管理,具有类似仿真器的调试功能。集成了高度优化的ANSI
C编译器、C源程序级调试器及16 KB (HCS08)或32 KB (HCS12X)的免费C编译器,可进行快速Flash编程和全芯片软件仿真,支持串行、以太网、USB和并行PC接口。
同时公司还提供虚拟实验室与嵌入式学习中心,方便用户进一步熟悉、了解并使用新型MC9S08QG系列单片机。以上文档及最新信息均可通过访问飞思卡尔网站
http://www.freescale.com.cn/Products/
8BitMCU/MC9S08QG_Overview.asp免费获得。
bwin客户端
在线座谈网址:
http://seminar.chinaecnet.com/051201/jchf.asp。
问答选编
问:MC9S08QG系列其集成度高在哪些方面?
答:QG系列包括IIC、SPI、SCI、ADC、比较器、内部时 钟资源及背景调试模块,它是市场内高度集成的 8/16引脚MCU,可用于所有1.8~3V的低压应用中。
问:该单片机可以支持哪些类型的外置存储器?
答:不支持外置存储器。
问:MC9S08QG 支持JTAG么?
答:不支持,我们提供FSL标准的BDM(背景调试模 块)接口,该接口与JTAG类似。
问:此单片机用汇编语言编程,那是否支持C语言? 该单片机的指令集是“精简指令集”吗?是一个8 引脚芯片就集成了8通道ADC、三个通信接口、
4K和8K可选的可编程内存和片上在线防真器吗?
答:(1)C语言和汇编都可以支持。(2)是CISC指令 集。(3)8 引脚封装集成了4通道ADC和I2C通信 接口。
问:是否可以将内部的Flash当作EEPROM来使用?
答:完全可以。
问:Flash当做EEPROM,但Flash擦除次数远低于 EEPROM,如何帮客户解决这个问题?
答:Flash可以分页擦除。假设一页擦写次数到了一 万次,可以换另一页。
问:9S08QG系列是否支持中断?
答:支持中断。
问:1、相比别的单片机,MC9S08QG的最大的优势在 哪里?2、该款单片机的开发工具是否需要专门 购置,此类开发工具是否只适用于该系列单片机
的开发?费用如何?3、开发环境软件是否需要 专门购置?费用如何?4、目前有什么特别成功 的应用案例。
答:(1)、低功率、低电压、在1.8V Vdd下可对Flash编 程、少管脚及其他很多特性。
(2)MCU片上集成了仿真器,因此用户仅需购买 一个接口:MUltilinkBDM ($99) 或 DEMO9S08QG8 ($50)即可。(3)QG8的开发环境软件免费供应(4)
我们拥有很多对在各类应用中使用MC9S08QG的 客户,他们目前正在将该芯片用于其产品中。
问:在电表设计时,是否可以用QG的SCI口进行485 通讯?
答:可以。
问:该IC可以用外部32.768k晶振,借助内部定时器 通过软件作一个时钟吗?编译软件是用08系列 的CodeWarrior吗?调试工具是怎样的,价格如
何?
答:(1)是的,您可以使用OSC时钟的32.768kHz低 频,或者您可以使用内部ICS(内部时钟资源)生 成10MHz (>2.1V)或8MHz
(<2.1V)。
(2)CodeWarrior Ver 3.1支持HC08 及 HCS08,如果 您已经安装了CodeWarrior,则只需安装9S08QG
系列专用服务包。
(3)我们提供 USB-BDM-Multilink开发工具,MSRP 定价99美元。
问:MC9s08QG有多少级中断?
答:16个中断级,每个模块有自己的中断。
问:MC9S08QG硬件调试环境如何配置?CPU08的 C指令有何特殊要求?
答:QG 硬件供给电压为1.8~3.6V,其他并无特殊 要求。请到飞思卡尔网站下载 SPEC参考CPU08 的C指令无特殊要求,与一般8bit
MCU使用的C 语音相似,请参考CodeWarrior 编译器的使用。
问:内置时钟的精度最高能做到多少?温漂系数对内 置振荡影响有多大?
答:(1)内部OSC的自偏差为 0.2%。(2)热量规格 为: 40~+125℃,最大偏移为 2%。
问:MC9S08QG 有相关的IDE软件帮助产品开发么?
答:我们推荐用户在运用9S08QG系列进行设计时 使用CodeWarrior Rev.3.1及专用服务包。
问:如果不是采用电池供电,MC9S08QG有没有什么 推荐使用的外围供电方案,也就是有什么芯片将 3.3V或5V转成1.8V的稳定电源以供MC9S08QG
使用?温度传感器的精度能达到多少?
答:QG8仅支持低电压,可工作在1.8~ 3.6V下,有很 多芯片具有电压调节器功能,请在市场中选择。 温度传感器的精度取决于ADC的解析度,您可以
根据它计算精度。
问:9S08QG系列最大的程序空间是多少?
答:QG8有8K Flash,512字节RAM。QG4有4k Flash, 256字节RAM。
问:MC9S08RC8可不可以用内部时钟产生4MHz或 更高的总线频率? 如果可以,精度是多少?
答:MC9S08RC8没有内部时钟反生器,它本身使用外 部时钟,比如xtal或是共鸣器。
问:如何测量MC9S08 MCU的指令时序?
答:您可以使用CodeWarrior SDK,并在专用指令集中 设置部分断点,CodeWarrior将很好地测量这些指 令集的时间。
问:对用户而言,MC9S08QG比原有HC08改进的最 大优势是什么?编程模式和环境是否和S12相同?
答:电压可低至1.8V,性能更稳定,更省电,集成度高, 更便宜。编程模式与S12相同,皆使用CodeWarrior。
问:MC9S08 MCU在功率管理上有何特色?
答:四个时钟模块,可编程总线时钟可以在任意时刻 改变/转换总线速度。可根据应用需要从高速转 至低速再转至高速。
问:MC9S08系列单片机和C51内核单片机的最大区 别有哪些?
答:MC9S08集成了许多周边模块,功耗非常低。
问:我发现MC9S08RC8在Stop2时用手接触一下就 醒了,抗干扰性能好像不太好。请问QG是不是 还有这个问题?怎么解决?
答:因为外部中断可唤醒STOP,用手触可引起外部 中断信号,跟抗干扰性能应该无关。
问:目前8位单片机的市场逐渐被低端的ARM或 ASIC芯片所蚕食,不知道飞思卡尔在性价比上 有哪些应付策略?
答:ARM7位于32位端,并有向较低的8 或16位区域 转换的趋势。在飞思卡尔,我们将使用ColdFire 系列。您将看到ColdFire系列的快速推出,它将
包含更多2006年发布的组件。8位芯片将用于 低端,售价将低于1美元。
问:单片机的发展方向是什么?
答:MCU的集成度将进一步提高,而成本将进一步 降低。32位MCU向更低的8/16位区域发展。16 位MCU在市场中的定位将趋于清晰,而8位MCU
将用于非常低端的应用中。
Freescale,飞思卡尔and the Freescale logo are trademarks of Freescale
Semiconductor, Inc. All other product or service names are the property
of their respective owners. Freescale Semiconductor,Inc. 2006. All
Rights Reserved.
|