1 MC9RS08KA2微处理器
MC9RS08KA2(KA2)是一个超低功耗、低引脚封装的MCU,适合于家居、玩具和远程控制的应用。它是RS08 CPU内核,包含62字节RAM、2 KB Flash和1个8位的定时器,具有键盘中断、低压检测和模拟比较功能,有6引脚和8引脚2种封装形式。设计中通过软件延时的38 kHz载波频率,硬件电路使用9个按键实现远程控制,具有可反复编程和凋试的BDM接口,工作电压低至1.8V,系统采用锂电池供电,低功耗模式下的电流值是lμA。
2 系统说明
设计中使用MC9RS08KA2作为发送和接收处理器。发送部分执行键盘扫描、数据帧编码、载波频率产生,以及通过红外线发送数据帧。接收部分执行键盘扫描、数据帧解码、LCD和LED显示。
2.1 硬件部分
MC9RS08KA2具备内部时钟ICS模式,不需要额外的外部时钟源,内部RC晶振的最高时钟频率町达20 MHz(10MHz的总线频率)。如图1所示,6引脚封装具备足够的资源来识别9个按键。尽管MC9RS08KA2没有内建ADC转换器,但是可通过内建的比较器来实现ADC功能。通过电阻网络,比较器检测不同按键按下的电压值来识别按键。通过按下按键将KBl2连接到地,因此CPU上会有键盘中断发生,同时按键电阻网络会在ACMP一引脚产生一个确定的电压。当KB1中断发生时,开始对RC网络(R1l和C3)的ACMP+充电。当检测到有按键按下时,通过计算ACMP+的充电电压达到电阻网络在ACMP一上的分压值的时间来识别按键(Sl~S9)。
为了保持系统的低功耗,MC9RS08KA2直接驱动红外线发射,如图2所示。电路使用PTA3来驱动IR发射硬件接收部分(如图4所示)使用PDIP-8封装的MC9RS08KA2,通过数码管显示不同的按键数值,通过PTA3驱动继电器来控制电器(如灯具或直流电机)。
2.2 软件部分
当系统发送部分上电后,MC9RS08KA2进行初始化。时钟提升到16MHz,初始化变量寄存器,使能低压监测,I/0口和PTA2设置为输入,使能KBl2的下降沿中断方式。初始化完成后,主程序进入待机模式。当有按键按下时,系统唤醒,CPU执行按键识别和数据帧的发送;之后系统继续进入低功耗模式.继续准备按键唤醒。发送流程如图5所示。
接收部分(如图6所示)则在初始化I/O口后,检测是否有红外信号。若无,则继续检测;若有,则判断数据帧地址码足否与接收机相匹配。若匹配,则通过调用数码显示二极管。当PTA3是逻辑高电平时,IR发射二极管接通。
R14是一个限流电阻,可以通过改变输出的PWM信号占空比来改变IR发射二极管的输出功率。硬件发送部分原理图如3所示。
驱动程序显示地址号,同时驱动继电器动作;若不匹配,则继续下一轮接收。
结 语
系统采用了Freescale公司低成本、高集成度的IC,因而体积很小,功能强大。该方案用于控制家居室内不同的电器,用一个红外发射器,多个相同的红外线接收装置,发射器不同的按键对应不同的电器。实际证明,系统能正常识别每种不同电气设备,无误动作,效果良好。