何錚,周娜
(1.海南政法職業學院,海口570203;2.海口經濟學院)
在感知/測控網中,按媒體連接型式則有RS-485總線網、CAN總線網、ZigBee總線網、WiFi總線網等。

圖1 物聯網智能家居系統
在真正的物聯網智能家居系統中,不應當再按功能劃分為各個獨立的抄表網、環境網、電控網、安防網等,而只是按傳輸接口形式和信息流的走向,融合為感知/控制子網。對于具有多主競爭總線接口的模塊(如CAN、ZigBee等),融合為感知/控制子網;而對眾多僅具單主總線的RS-485模塊,則按信息流的流向,融合成循環檢測的感知子網和點控的控制子網。NXP Cortex-M3/M0系列ARM微處理器的優異性能,低廉的價格為這樣的設計開發提供了良好的條件。
物聯網智能家居系統如圖1所示,它實際上是一個分布式測控系統。
它的上層管理網是以太網,用于在廣闊的互聯網范圍內信息共享,其上連接有各種管理、存儲及遠程控制設備。
它的下層,不再以功能(環境、抄表、安防、電控等)切割分塊,而是按信息流走向整合形成感知/控制網。感知網以多主或輪詢的方式向上傳送信息,而控制網則可采用一主多從方式向下傳送控制命令。
連接上、下層的是多個嵌入式通信服務器。通信服務器是智能家居中的核心模塊,它在整個智能家居系統中不僅起到了上下信息傳遞的作用,而且進行數據融合、分類以及安全管理,是感知網的管理主機。
嵌入式通信服務器是智能家居中的核心模塊,選用的是NXP公司Cortex-M3系列中的LPC1768處理器。LPC1768處理器是一個低功耗,具有強大功能的32位ARM芯片。
LPC1768單片機內部包含有一個功能齊全的10/100 Mbps以太網RMII接口控制器,它可以通過RMII接口(通常簡化為媒體獨立接口MII)外接一個物理接口收發器(PHY),再接上網絡變壓器和RJ-45接口,就組成了一個完整的以太網通信接口,如圖2所示。

圖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-經隔離變壓器、RJ-45口輸出,L-、R-驅動LED,指示輸入、輸出狀態。
在智能家居中采用CAN感知/控制子網,這里面有CAN-以太網關、CAN路由器、CAN感知/控制模塊。由于CAN-以太網關和CAN路由器需要以太網控制器(MAC)和2個CAN控制器,所以CAN-以太網關、CAN路由器均由Cortex-M3的LPC1768來承擔,而CAN感知/控制模塊則由Cortex-M0的LPC11C12/24來承擔。
如圖3所示,LPC1768內部集成有CAN控制器,外接CAN收發器就構成了嵌入式通信服務器的CAN通信接口,所以能很方便地構成以太-CAN網關。又由于LPC1768內部集成有2個CAN控制器,因而它支持2個CAN子網,能很方便地構成CAN路由器。

圖3 LPC1768的CAN控制器
LPC1768的CAN控制器支持控制局域網(CAN),提供了一個完整的CAN協議(遵循CAN規范V2.0B)實現方案,因而它能很方便地兼容/混用過去的SJA1000 CAN系統。
CAN感知/控制模塊均選用基于Cortex-M0的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模塊高度兼容/混用。
在原智能家居系統中有不少的感知網采用RS-485總線,而且采用的是80C51系列的9位多機通信方式。在新系統中選用Cortex-M0/M3后,也完全可兼容/混用原系統。LPC11C14的CAN接口如圖4所示。

圖4 LPC11C14的CAN接口
LPC812M101FDH20是NXP Cortex-M0系列中的20引腳廉價芯片,它有16K閃存、4K SRAM和3個串口。如圖5所示,LPC812M101FDH20通過開關矩陣分配引腳充當 U0/U2/U3_TXD、U1/U2/U3_RXD、U1/U2/U3_RTS,連接MAX485即構成了RS-485通信接口。在軟件中,通過CFG配置寄存器的第3、2位設置成10(9位通信模式),這就成了兼容于MCS-51的多機通信方式(即可進行軟件地址檢測和收發器方向控制的RS-485通信)。

圖5 LPC812M101FDH20的RS-485接口
由于LPC800系列微處理器串口的9位通信方式中的第9位僅能進行奇偶校驗設置,不能人為設置1/0(地址/數據),所以它只能在RS-485感知/控制網中充當從機。
在充當從機使用中,先要將USART CTRL寄存器第2位(ADDRDET使能地址檢測模式)設置為1,這時僅對主機發來的地址數據,產生一個接收數據中斷。軟件隨后便檢查接收地址數據,判斷是否是本機地址。如果是,則軟件會清零ADDRDET位,所有后續輸入數據均會被正常接收處理。在一次輪詢應答響應完后,再將USART CTRL寄存器第2位(ADDRDET使能地址檢測模式)設置為1,等待下次輪詢本機。
LPC800的串口由于在設置波特率時,還可使用小數分頻器,使其在各種晶振下均能獲得精準波特率;同時,它采用3次采樣接收,接收數據是3個樣本“投票”中的2個,當有1個樣本與其他不同時,會將USART狀態寄存器第“15”位設置狀態標志(接收噪聲中斷標志),從而大大降低了誤碼率。
RS-485感知/控制網中的主機通常都是嵌入式通信服務器,所以選用Cortex-M3系列中的LPC1768作為感知/控制網中的主機。LPC1768雖有4個串口,但只有UART1具有RS-485模式。在這個模式中有3個專門用于RS-485通信的寄存器(控制寄存器、地址匹配寄存器、延時值寄存器)。
作為主機在輪詢發送時,首先要將LPC1768的U1LCR線控制寄存器的1、0位設置成11(8位字符長度,相當于MCS-51的9位數據長度含TB8/RB8的通信);再視所發送的是輪詢從機的地址還是數據,將U1LCR線控制寄存器第5、4位設成10(將第9奇偶校驗位強制為1地址),或設成11(將第9奇偶校驗位強制為0數據)。
作為主機在接收時,不再需要對自身地址匹配,所有的數據都必須接收。
通過U1RS485DLY延時值寄存器,可設置發送完最后一個停止位(移出TXFIFO)和DTR轉為接收信號之間的延時(0~255個波特率時鐘周期)。
通過SPI接口,接入CC2530就構成了ZigBee接口。通過SPI接口,接入WiSmart EC32L12模塊就構成了WiFi接口。
采用NXP Cortex-M3/M0系列微處理器開發物聯網智能家居系統,有以下幾大優點:
①新系統的感知/控制網是32位系統,性能得到了極大地提高;
②Cortex-M3/M0系列ARM微處理器中都有一定的ROM API庫,加塊了開發速度,也減少了開發成本。
③集成度高,并有開關矩陣定義引腳,從而大大提高了硬件的適應性。
④智能家居24小時工作不斷電,Cortex-M3/M0微處理器超低功耗設計,使新系統的待機功耗僅為舊系統的20%。
[1]廣州周立功單片機發展有限公司.LPC1700系列微控制器用戶手冊,2010.
[2]廣州周立功單片機發展有限公司.LPC11X/LPC11CX User manual,2012.
[3]廣州周立功單片機發展有限公司.LPC800系列微控制器用戶手冊,2013.