基于MC9S08QG8低端微控制器的无线控制器设计
3 硬件电路的具体设计
根据前面器件选择和总体构建的考虑,本文完成的无线控制器具体设计电路如图2所示。其中MC9S08QG8微控制器(MCU)的大部分管脚具有多重功能,电路设计中,即以MC9S08QG8为核心,实现各种控制。
图2无线控制器应用原理图分为三部分:MC9S08QG8 MCU所需的基本连接;MCl 3192无线收发器的连接;16×2 LCD和4个按键的连接。
各部分的供电电源为低电压3 V,可用两节7号电池供电。MCU的时钟电路无需外接晶振,直接使用MCU内部自带的时钟;MCU的RST和BKGD引脚用于BDM接口的连接,完成程序下载后可另作它用,比如MCl3192的中断信号IRO就接至PTA3/RST/IRQ复用;图2中MCl3192收发器其他外围电路使用数据手册提供的工作所需的最低硬件要求。MCU与MCl3192的连接按照标准SPI方式连接,MCU为主机,MCl3192为从机,通过MOSI,MISO,SPSCK信号线可以配置收发器,并发送和接收数据。同时也可以通过SPI配置收发器提供的定时器和GPIO引脚,将其用于其他的目的。收发器的片选CE信号由MCU的通用I/O口PTB5进行选通。收发器要切换运行模式(接收、发送、半休眠、休眠或空闲)还需要另外一个信号,该信号称为RXTXEN,由MCU的通用I/O口PTB7进行处理。MCU与MCl3192之间的数据传输模式可采用流模式,每次收发一个字(16 b),都通过中断由MCU控制处理,这样可以最大限度地保证了数据传输的实时性。
16×2 LCD的RS,R/W,E信号由MCU通用I/O口PTB的三个引脚进行控制,实际上可以将R/W直接接低电平,或者软件控制使始终为低点平,因为应用时只需对LCD做命令、数据写入;数据线采用LCD的4线访问形式,即只用DB4~DB7,由MCU的PTA0~PTA3提供;背光电源BKL+,BKL-不接,以减少功耗。4个按键也接在MCU的PTA0~PTA3,与LCD数据线复用,按键的上拉电阻使用MCU内部配置的,无需外接上拉以减省元件。同时当等待处理按键时,MCU将按键输入直接配置成按键输入中断,也减少了硬件连接和软件复杂度,按键发生时MCU自动转去读取按键输入及按键处理,当要进行LCD显示时,MCU又将复用线临时配置成数据输出,配合LCD控制信号完成LCD的内容显示。
MCU的8 KB FLASH和512 B的存储器资源对于一般的无线控制是足够的,另外,设计中还会用到MCU的定时器资源,通过定时比较器生成一般无线控制应用中都需要的定时时间,通过软件编程可以方便地实现。
4 无线控制功能示例
以上设计方案适用于多种无线控制应用,如空调、智能风扇等的无线控制。在此方案基础上还可以扩展出更复杂的无线控制应用,因为MCU还有少量口线(比如再增加一个设备开关按键)、MCl3192还有很多接口如它自带的GPIO、定时器等都是可利用资源;同时此方案其实仍然可以精简,比如不需要显示的无线控制应用,就可省去LCD显示器。
以空调的无线控制应用为例,按本文硬件设计原理,使用LCD来显示不同的功能菜单,如当前温度、定时设置、温度设置和工作状态报告等。4个按键可以分别安排为:
SW1为功能菜单或状态报告;SW2为增加数值或功能切换;SW3为减少数值或功能切换;SW4为确认或接受,兼用开关设备。
当应用开始时,空调总是处于关闭状态。必须先按SW4按键才能打开空调。当强制关闭空调时,SW1+SW4按键起作用。空调打开后,LCD上会显示当前温度和上次设定温度,一旦空调打开,可以分别使用SW2键和SW3键来降低或增加温度。这时如果要设置空调的各种工作模式如制冷、制热、除湿、自动、风向、风速、定时时间及温度等,可以按动SW1切换功能并配合SW2键、SW3进行操作,每次用按键修改了工作模式、温度、定时时间等设置后,系统会采用一个简单的协议将控制命令通过MCl3192无限收发器发送到加热/制冷系统。此时可按SW4键确认以使LCD恢复到状态报告及新的设定指示。
如果没有设置定时时间,空调永远不会自动关闭,需要人工强制关闭。设置定时时间能自动关闭空调,安排定时时间在5~300 min之间。如果设置希望的定时时间,步骤如下:
(1)打开空调,如果空调处于关闭状态,则不能设置定时时间;
(2)按SW1键。调整菜单到定时功能,使在LCD上显示定时设置菜单;
(3)按SW2键或SW3键来减少或增加希望的定时时间;
(4)按SW4来接受新的定时时间;
(5)一旦接受新的定时时间后,LCD上会再次显示工作模式、当前温度、定时时间、剩余时间等相关信息。
对应于设备定时关闭,空调的自动开启功能则需要在本文电路基础上增加专门的时钟芯片来获得日期、时间信息基准来实现,具体本文不做讨论。
5 结 语
本文仅使用了一个Freescale MC9S08QG8低端微控制器,再加上很少的一些连接线和硬件资源,已经具有无线通信能力和人机交互功能。这说明ZigBee无线应用并不一定总是需要高性能的微控制器,低端微控制器也能够完成无线网络要求的一些基本任务,从而降低了整个解决方案的成本。同时,本文实现的无线控制器具有功耗低、元器件少、成本低、性能高而功能全的特点,是嵌入式无线控制应用的一种精简解决方案。
- 基于ZigBee的家庭智能系统设计(08-09)
- 基于ZigBee与红外的家居监控系统(09-29)
- 一种嵌入式无线智能家居网关系统的设计方案(03-20)
- 基于ZigBee技术的无线传感器网络节点的设计(06-07)
- 基于ARM9处理器的ZigBee工业以太网网关设计(07-24)
- 基于嵌入式ARM-Linux无线ZigBee协调器驱动设计(11-02)