RS08 CPU内核特性
飞思卡尔的MCU内核由最初的6800发展而来,在高端应用方面,其产品逐渐演变为现在的32位MCU,即ColdFire系列;在中端应用方面,现在主要为S12和S12X系列的16位MCU产品;而在低端应用方面的8位CPU内核则从HC05演变到HC08再演变到S08。RS08就是在S08的基础之上通过简化而来的。
RS08是简单化的S08,它在价格上比当前的HC(S)08更低。RS08与S08具有相同的总线结构,它们的许多模块包括Flash、RAM以及其他外围模块是可以重复使用的,这样便可以大大减少这些模块设计、制造的费用。另外,RS08与S08一样,内置了BDM调试模块,所以它的开发工具与S08也互相兼容。
RS08 CPU内核中只有1个8位累加器,2个14位程序计数器,以及1个2位条件码寄存器,而大部分的寄存器如变址寄存器、数据变址寄存器、页面寄存器等不在CPU中而是在存储器地址中。这样,RS08的CPU便得到了很大地简化。另外RS08没有堆栈寄存器,所以没有硬件堆栈功能,而堆栈的功能则是通过软件方法来实现的。
图1 飞思卡尔MCU内核路线图(略)
在CPU的寄存器中,累加器(A)是最重要的寄存器,它是8位的,与HC(S)08的累加器没有区别。RS08的程序计数器(PC)也与HC(S)08中的功能相同,不同的是它是14位的。RS08的条件码寄存器则简化到了只有2位(进位/零标志位)。而存放于存储器地址中的寄存器参与CPU运算,从而实现对整个16位地址空间的各种寻址操作。
RS08 CPU有9种不同的寻址方式,分别是隐含寻址、立即寻址、直接寻址、小型寻址、短型寻址、相对寻址、扩展寻址、变址寻址、存储器到存储器的寻址。小型寻址和短型寻址这两种方式是单字节指令,执行周期短而高效。
RS08是飞思卡尔面向低端应用开发的CPU内核,它针对低端产品和市场要求,在设计上进行了大量优化,例如它的地址总线是14位的,它的封装是6个或8个引脚的,它采用了模拟比较器来取代通常使用的模数转换器。RS08虽然尺寸较小但功能并不弱,它具有高速CPU性能、高集成度以及高性价比等特性,而且其引脚还与SO8QG系列单片机兼容,堪称功能完备。RS08在成本上非常具有优势,是简单逻辑解决方案的优秀替代品。
RS08 KA系列单片机
RS08 MC9RS08KA系列MCU主要模块的结构和功能参见图2。
图2 RS08 KA系列MCU内部结构功能框图(略)
(1)内部时钟源(ICS):它是RS08 KA MCU的时钟发生电路模块。ICS采用芯片内部的半导体振荡电路,能产生不同频率的时钟信号,提供给MCU的CPU内核和其他的内部模块使用。
ICS模块包括一个32kHz的内部时钟发生器、一个锁频环FLL以及时钟选择与分频电路。ICS模块有3个输出信号,其中ICSOUT是主输出信号,它经过二分频之后,就是MCU的总线时钟。ICSOUT可以采用锁频环的输出作为其时钟源,也可以直接采用内部参考时钟作为其时钟源。锁频环的精度可调。
(2)模拟比较器(ACMP):RS08 KA系列单片机中采用了一个简单的模拟比较器,取代了复杂的模数转换器,这个模拟比较器仍保持了一定的模拟信号处理能力,可以模拟模数转换器的功能。它的输入偏压小于40mV,回差小于15mV。ACMP有2个模拟输入引脚、1个输出引脚,它可以在整个MCU工作电压范围内运行。ACMP只有1个8位的状态和控制寄存器,使用方便。
(3)模数定时器(MTIM)
MTIM是一个简单的8位定时器模块,但它可以实现定时、计数甚至PWM输出等复杂的功能,它没有专用的输出引脚,但它的时钟源可以从外部输入。MTIM可以选择内部总线时钟、内部固定频率的时钟或外部时钟作为时钟源。时钟源最大可以经过256倍的分频,提供给一个8位计数器,进行自由计数。MTIM模块的一个主要部件是一个8位的增序计数器,它拥有2个控制位TRST、TRTP,使计数器复位或停止计数。MTIM可以选择外部时钟作为其时钟源,但要求外部时钟必须与总线时钟进行同步操作。它有4个控制和状态寄存器。
RS08 KA系列单片机应用演示
(1)12V小直流无刷电机控制方案
如图3所示,MCU用2个通用I/O口控制两个NPN晶体管,来对双向电机的两个线圈进行驱动。电机的霍尔传感器输入到MCU的PTA2口,用来检测电机的转子位置和转速。当有故障发生时,由PTA3口输出一个PWM信号驱动蜂鸣器进行报警。
图3 12V小直流无刷电机控制方案(略)
(2)高亮度LED控制方案
它主要是采用MCU的MTIM定时器模块产生一个30kHz左右的PWM开关输出信号,驱动一个P-MOS管,从而控制高亮度LED的工作电流。它采用一个采样输出Rs检测LED的工作电流,并将检测到的信号输入到模拟比较器的负端。另外,它还采用了两个通用I/O口,组成一个简单的分压网络,并将分压信号输入到模拟比较器的正端,用于控制比较电压参考值,从而可以改变LED的发光亮度。
图4 高亮度LED控制方案(略)
图5 RS08 KA2实现遥控器的方案(略)
(3)用RS08 KA2实现遥控器的方案
RS08 KA MCU的工作电压可以低到1.8V,而且待机电流可低至1微安,因而非常适合遥控器这种电池供电的应用。MCU通过MTIM定时器模块产生38kHz的红外载波信号,驱动外部晶体管发出红外信号。另外,MCU利用模拟比较器模块的两个输入加上1个按键中断输入,只需3个引脚便可以接收多达9个按键的输入。
更多详细内容,敬请登录中电网在线座谈网址:http://seminar.chinaecnet.com/060616/jchf.asp。
问答精选
问:一般来说,降低功耗和提高性能是互为矛盾的,降 低功耗必将有损性能,而性能的提高又是以牺牲 功耗为代价的。飞思卡尔的新型低端RS08内核
能够比相关产品更小,那么这对矛盾将更加突 出,请问飞思卡尔是如何处理的?
答:是的,一般来说,降低功耗和提高性能是互相矛盾 的。但在RS08中,这个矛盾已经得到了很好地解 决。例如,一般的MCU在低电压工作时,总线频率
也要降低;而RS08由于内置了稳压器,所以在整个 电压范围内(1.8~5.5V)都可以跑到最大10MHz的 总线频率。总的来说,这是因为RS08与S08一样,
都采用了最新的半导体工艺,使得其工作电压和功 耗都大大降低了。 问:8引脚封装使得口线减少,会不会使端口资源不足? 是怎样解决的?
答:MC9RS08KA2 主要是面向低成本的低端应用的,通 常不会用到太多的接口。如果需要较多的接口功 能,Freescale有其他的产品系列来满足要求。详细
信息可到以下网址查询: http://www.freescale.com.cn/ Products/8BitMCU.asp。
问:有没有可支持SPI的型号?
答:目前MC9RS08KA2还不支持SPI,但Freescale将有 能够支持SPI的新产品推出。
问:RS08内核是HCS08的简化版,请问简化了什么而又 增加了什么功能?主要应用在什么地方?
答:RS08具有更小的程序空间和更小的RAM,主要面 向成本敏感的低端应用。其CPU在HCS08的基础 上进行了优化,增加了内存分页,SHA/SLA,以及更
短的寻址空间来实现更高的代码密度。
问:RS08内核和MC9RS08KA系列产品最大速度能达到 多少?
答:10MHz。
问:我使用的是MC68HC908LJ24的芯片。请问RS08和 HC08内核有什么明显区别?如何能快速转换到 RS08内核系列单片机开发中,比如开发工具等,是
否与原来的兼容或稍改后兼容?
答:RS08与HC08是完全不同的核。LJ24的最低工作 电压是3.3V,而RS08则是1.8V。RS08内置了BDM 调试模块,调试非常方便,工具也很便宜。HC08是
没有内置调试模块的,它只能通过MON08接口进 行串行的调试。它们的开发工具是不兼容的。
问:我想了解一些具体的应用,比如用RS08KA做的成 功案例和方案等。
答:请从MC9RS08KA网站查阅相关文档:
http://www.freescale.com.cn/Products/8BitMCU/
MC9RS08KA_2006Overview.asp。
问:(1)是否支持在线仿真和程序烧写?(2)目前是否 有开发工具?是否免费?
答:(1)通过BDM接口,支持在线的仿真和烧写。(2)开 发工具的软件是CodeWarrior,完全免费;硬件可以 用RS08
DEMO板,只需50美元,可以通过代理商 申请。
问:针对一些便携式产品的加密控制需求,RS08对本 身的Flash加密程序如何?
答:RS08对其Flash有加密的功能。加密后,外部接口 只能对Flash进行擦除操作,无法读出其中的内容。 加密是在烧写RS08芯片时完成的,加密后无法通
过其他的程序进行解密,除非将芯片全部擦除。
问:开发这一款芯片,用哪种仿真器,价格是多少?
答:因为RS08内置了BDM调试模块,实际上它已不再 需要传统的仿真器。仿真所需要的,只是一个BDM 通讯接口(USB转BDM或串口转BDM)。现在RS08
DEMO板上已经将这个通讯接口做在一起,所以用 它就可以进行仿真。它的价格是50美金。
问:RS08的Flash可否用作EEPROM?
答:不可以。
问:RS08系列单片机通过什么接口和PC机或其他设 备通信?
答:RS08 有一个内置BDM接口,其他工具都是基于USB 接口的。
问:RS08开放总线吗?
答:不开放。
问:RS08可以用于模糊控制吗?
答:当然可以。但考虑到目前MC9RS08KA2只有2K的 Flash程序空间,所以还不能实现太过复杂的算法。 问:RS08采用什么语言编程?是否和HCS08兼容?
答:RS08可以采用汇编语言,也可以采用C语言编程。 它的指令和HCS08基本是兼容的,但它的指令集要 精简很多。
问:RS08用于马达控制,是否能直接驱动直流或交流 电机?是采用哪种方式控制?
答:RS08的管脚可能还不足以直接驱动电机,除非是 一个非常小的电机。在飞思卡尔介绍的这个方案 中,飞思卡尔是采用了两个晶体管来驱动一个两相
的直流无刷电机。控制原理主要是根据霍尔元件 的信号来确定转子的位置,然后控制晶体管的通断 来调节电机的转速。
问:目前有些Flash驱动芯片可以定时输出,RS08中是 否用的是这类定时芯片?
答:MC9RS08KA 单片机中内置有定时器。需要的话, 可以将其定时信号通过引脚输出。不过需要通过 软件来实现。
问:RS08在指令上和HC08有什么区别?我学习的是 HC08系列。我做了一个直流风扇,效果不大理想, 能不能将你们那个直流风扇、高亮度LED驱动器的
方案发给我学习一下?
答:RS08的指令与HC08非常相似,基本上都是一样的。 飞思卡尔的直流风扇和高亮度LED的方案都可以 从MC9RS08KA2网站上免费下载:
http://www.freescale.com.cn/Products/8BitMCU/
MC9RS08KA2.asp。
问:RS08支持外部ROM扩展吗?
答:不支持。
问:RS08有没有停振检测功能?
答:没有。但是RS08 采用的是内部振荡器,它是非常 稳定的。另外,RS08 MCU 的看门狗时钟采用的是 与产生总线时钟不同的另一个内部振荡器。当总
线时钟出问题时,看门狗时钟还可以继续工作,并 使芯片复位。
|