Cortex-M3在智能家居中的应用
扫描二维码
随时随地手机看文章
Cortex-M3是一个32位的处理器内核,具有速度快、功耗低、价格便宜等特点,广泛应用于嵌入式系统中。在智能家居领域,Cortex-M3被用于设计智能家居监控终端和控制子网,以实现智能家居系统的远程监控和控制功能。
Cortex-M3在智能家居中的应用
智能家居监控终端设计:基于Cortex-M3微处理器的智能家居监控终端设计,通过将智能家居系统中的信息与控制中心设备设计成web服务器,用户可以通过远程计算机上的浏览器软件对嵌入式Web服务器进行访问,从而实现远程监控。这种设计的关键在于设计能够接入Internet的嵌入式控制终端1。
感知与控制子网设计:在物联网智能家居系统中,不再按功能划分为各个独立的子网,而是按传输接口形式和信息流的走向融合为感知/控制子网。NXP Cortex-M3/M0系列ARM微处理器因其优异性能和低廉价格,为这样的设计提供了良好条件2。
Cortex-M3的技术特点和优势
Cortex-M3采用哈佛结构,拥有独立的指令总线和数据总线,这使得取指与数据访问可以并行进行,从而提升了性能。此外,Cortex-M3采用了Tail-Chaining中断技术,能够减少中断处理的时间,提高系统的响应速度3。这些特性使得Cortex-M3非常适合用于需要高速处理和低功耗的智能家居系统中。
在真正的物联网智能家居系统中,不应当再按功能划分为各个独立的抄表网、环境网、电控网、安防网等,而只是按传输接口形式和信息流的走向,融合为感知/控制子网。对于具有多主竞争总线接口的模块(如CAN、ZigBee等),融合为感知/控制子网;而对众多仅具单主总线的RS485模块,则按信息流的流向,融合成循环检测的感知子网和点控的控制子网。NXP CortexM3/M0系列ARM微处理器的优异性能,低廉的价格为这样的设计开发提供了良好的条件。
1 系统体系结构
物联网智能家居系统如图1所示,它实际上是一个分布式测控系统。
它的上层管理网是以太网,用于在广阔的互联网范围内信息共享,其上连接有各种管理、存储及远程控制设备。
它的下层,不再以功能(环境、抄表、安防、电控等)切割分块,而是按信息流走向整合形成感知/控制网。感知网以多主或轮询的方式向上传送信息,而控制网则可采用一主多从方式向下传送控制命令。
在感知/测控网中,按媒体连接型式则有RS485总线网、CAN总线网、ZigBee总线网、WiFi总线网等。

连接上、下层的是多个嵌入式通信服务器。通信服务器是智能家居中的核心模块,它在整个智能家居系统中不仅起到了上下信息传递的作用,而且进行数据融合、分类以及安全管理,是感知网的管理主机。
2 嵌入式通信服务器
嵌入式通信服务器是智能家居中的核心模块,选用的是NXP公司CortexM3系列中的LPC1768处理器。LPC1768处理器是一个低功耗,具有强大功能的32位ARM芯片。
LPC1768单片机内部包含有一个功能齐全的10/100 Mbps以太网RMII接口控制器,它可以通过RMII接口(通常简化为媒体独立接口MII)外接一个物理接口收发器(PHY),再接上网络变压器和RJ45接口,就组成了一个完整的以太网通信接口,如图2所示。

PHY芯片选用美国国家半导体公司的DP83848,这是10/100 Mbps单路物理层器件功能,用于为LPC1768芯片提供物理层接口。
以太网 MAC,通过RMII 接口与片外PHY 相连。如图2所示,LPC1768的以太网模块使用RMII(简化MII的媒体独立接口)来连接外部PHY 芯片(DP83848)。其中有8根RMII的串行数据总线,还有2根MIIM(媒体独立接口管理)接口管理控制线,从而实现与片外以太网PHY 之间的连接。DP83848的复位信号可以共用LPC1768的复位信号。
以太网RMII 的引脚信号如下:
① ENET_TX_EN为输出发送数据使能;
② ENET_TXD[1:0]为输出发送数据,2 位;
③ ENET_RXD[1:0]为输入接收数据,2 位;
④ ENET_RX_ER为输入接收错误;
⑤ ENET_CRS为输入载波侦听/数据有效;
⑥ ENET_REF_CLK/ENET_RX_CLK为输入参考时钟用于外部PHY的媒体独立接口管理(MIIM)的信号;
⑦ ENET_MDC为输出MIIM 时钟;
⑧ ENET_MDIO为输入/输出MI 数据输入和输出。
DB83848通过TD+、TD-、RD+、RD-经隔离变压器、RJ45口输出,L、R驱动LED,指示输入、输出状态。
3 CAN接口及CAN感知网
在智能家居中采用CAN感知/控制子网,这里面有CAN以太网关、CAN路由器、CAN感知/控制模块。由于CAN以太网关和CAN路由器需要以太网控制器(MAC)和2个CAN控制器,所以CAN以太网关、CAN路由器均由CortexM3的LPC1768来承担,而CAN感知/控制模块则由CortexM0的LPC11C12/24来承担。
3.1 CAN以太网关、CAN路由器
如图3所示,LPC1768内部集成有CAN控制器,外接CAN收发器就构成了嵌入式通信服务器的CAN通信接口,所以能很方便地构成以太CAN网关。又由于LPC1768内部集成有2个CAN控制器,因而它支持2个CAN子网,能很方便地构成CAN路由器。

LPC1768的CAN控制器支持控制局域网(CAN),提供了一个完整的CAN 协议(遵循CAN 规范V2.0B)实现方案,因而它能很方便地兼容/混用过去的SJA1000 CAN系统。
3.2 CAN总线感知/控制模块
CAN感知/控制模块均选用基于CortexM0的LPC11C14/24。LPC11C14内部集成有一个CAN控制器,而LPC11C24是在LPC11C14的基础上集成了一个CAN收发器TJF1051。采用LPC11C14/24比过去采用51单片机+TJF1050+SJA1000方式,不仅性能大大提高,而且占用PCB板面积大大减小,芯片材料成本减少了40%。
新旧系统混用最好都采用同样的CAN收发器。由于原CAN系统中CAN收发器芯片采用的是TJF1050,而TJF1051是与TJF1050高度兼容,因而以LPC11C14/24构成的CAN模块和采用51单片机+TJF1050+SJA1000的CAN模块高度兼容/混用。
4 RS485接口及RS485感知网
在原智能家居系统中有不少的感知网采用RS485总线,而且采用的是80C51系列的9位多机通信方式。在新系统中选用CortexM0/M3后,也完全可兼容/混用原系统。LPC11C14的CAN接口如图4所示。

4.1 LPC812M101FDH20的感知/控制网从机模块
LPC812M101FDH20是NXP CortexM0系列中的20引脚廉价芯片,它有16K闪存、4K SRAM和3个串口。如图5所示,LPC812M101FDH20通过开关矩阵分配引脚充当U0/U2/U3_TXD、U1/U2/U3_RXD、U1/U2/U3_RTS,连接MAX485即构成了RS485通信接口。在软件中,通过CFG配置寄存器的第3、2位设置成10(9位通信模式),这就成了兼容于MCS51的多机通信方式(即可进行软件地址检测和收发器方向控制的RS485通信)。

由于LPC800系列微处理器串口的9位通信方式中的第9位仅能进行奇偶校验设置,不能人为设置1/0(地址/数据),所以它只能在RS485感知/控制网中充当从机。
在充当从机使用中,先要将USART CTRL寄存器第2位(ADDRDET使能地址检测模式)设置为1,这时仅对主机发来的地址数据,产生一个接收数据中断。软件随后便检查接收地址数据,判断是否是本机地址。如果是,则软件会清零ADDRDET位,所有后续输入数据均会被正常接收处理。在一次轮询应答响应完后,再将USART CTRL寄存器第2位(ADDRDET使能地址检测模式)设置为1,等待下次轮询本机。
LPC800的串口由于在设置波特率时,还可使用小数分频器,使其在各种晶振下均能获得精准波特率;同时,它采用3次采样接收,接收数据是3个样本“投票”中的2个,当有 1个样本与其他不同时,会将USART状态寄存器第“15”位设置状态标志(接收噪声中断标志),从而大大降低了误码率。