作者采用神經元芯片Neuron 3150并配合W77E58單片機系列開發(fā)了低成本的圖像采集節(jié)點,,并能通過上位機向用戶發(fā)送手機短信,有效地彌補了現(xiàn)在的智能住宅的不足,。
1 系統(tǒng)結構
本系統(tǒng)是智能家庭系統(tǒng)中的子系統(tǒng),,主要實現(xiàn)的是:當有人進入該區(qū)域時則立即進行圖像采集,通過各個模塊進行處理后經LON總線送入上位機并通知用戶,,該系統(tǒng)屬于家庭安全防范中的一部分,。由于本文的需要,只設置了1個節(jié)點(也可以有多個節(jié)點),。設計中采用通用的LonWorks節(jié)點模塊,,以神經元芯片Neuron3150作為主控制端,W77E58單片機作為受控端進行圖像采集處理,。其系統(tǒng)總體框圖如圖1所示,。
圖1 系統(tǒng)總體框圖
2 硬件設計
2.1 ZM460圖像采集模塊
ZM460圖像壓縮模塊采用JPEG壓縮技術,,是一種內置JPEG壓縮功能的數(shù)字輸出嵌入式攝像設備,圖像具有多種分辨率,輸出完整的JPEG文件并結合最適應的網絡協(xié)議,,將圖像通過RS232/485串口輸出圖像,。由于該智能節(jié)點實時性要求不是很高,故本文采用W77E58單片機來控制,。
2.2 W77E58單片機芯片
W77E58單片機芯片是一個快速并與8051單片機兼容的微控制器,,它的內核經過重新設計,提高了時鐘的速度和存儲器訪問周期速度,W77E58的指令執(zhí)行速度是標準8051單片機的1.5~3倍,。在相同的吞吐量及低頻時鐘情況下,,電源消耗也比8051單片機低。W77E58內含32 KB Flash EPROM,,工作電壓為4.5V~5.5V,,具有1 KB片上外部存儲器,當用戶應用時使用片上SRAM,,可節(jié)省更多IO口,。FIFO存儲器用作對ZM460圖像采集模塊所采集的圖像數(shù)據進行緩存,調節(jié)W77E58單片機與ZM460圖像采集模塊之間速度的差異,從而采集到完整圖像,。ZM460模塊與W77E58單片機之間采用的是RS232接口,。
2.3 Neuron 3150芯片
Neuron 3150芯片是LON總線的核心,內部包括3個微處理器:MAC處理器、網絡處理器,、應用處理器,。Neuron 3150芯片[2]的IO8、IO10通過雙排針I(yè)O口分別與W77E58單片機的串行通信口RXD,、TXD連接,。因為神經元Neuron 3150芯片只支持半雙工異步通信,所以應用程序處理器在處理其他事件時將不能夠再顧及串行輸入,有可能發(fā)生丟失串口字符的現(xiàn)象,。為解決該問題,,可以使用硬件握手協(xié)議,Neuron 3150芯片的IO0和IO1作為RST、CTS信號,分別與W77E58單片機的P2.4和P2.5引腳相連,,為了增強驅動能力,中間再加1個反相器,。如圖2所示。
圖2主從處理器的連接框圖
2.4 Neuron 3150芯片收發(fā)器
收發(fā)器是智能節(jié)點與LON網之間的接口,是通信電路的核心,。雙絞線收發(fā)器是最通用的收發(fā)器類型,。本設計采用變壓器耦合型收發(fā)器FTT-10A。神經元芯片收發(fā)器的電路圖如圖3所示,。另外,,還有晶振電路、復位電路和Service電路等,。晶振電路為Neuron 3150芯片提供工作時鐘,。復位電路用于在智能節(jié)點上電時產生復位操作。
圖3 Neuron芯片收發(fā)器連接圖
2.5 Neuron芯片與PC機的連接
Neuron芯片與PC機通過雙絞線連接,。主機是1臺PC機,,通過PCLTA可以自由地在Lon Works上進行網絡通信。PCLTA(PC Lon Talk Adapter)是一個網絡適配器,,在驅動程序的作用下,,主機通過PCLTA上網,充當上位機的角色,,它是Lon Works網絡的一個特殊節(jié)點,其作用是:與神經元芯片進行通信及與外界進行通信(包括手機),。
3 軟件設計
單片機與Neuron 3150芯片之間的通信流程圖如圖4所示。
圖4 單片機與 3150芯片通信流程圖
3.1 Neuron 3150芯片程序
在Neuron 3150芯片中,,使用的IO口稱為串口(Serial)輸入/輸出對象,。管腳IO8、IO10分別設置為異步串行數(shù)據的輸入線和輸出線,。該IO對象類型是用于使用異步串行數(shù)據格式傳輸數(shù)據的場合,如RS-232通信,。傳輸格式是:1個開始位、1個數(shù)據位,、1個停止位,。輸入串行IO對象將等待被接收的數(shù)據幀開始直到接收了202個以上字符所要時間才結束。限于篇幅,,只給出下面接收程序:
//接收程序:
IO_0 output bit CTS;
IO_1 input bit RTS;
IO_10 input serial RXD;
Network output int fkmingling[b];
When (io_change(RTS)to 0)
{
Unsigned int num;
Unsigned long sum,getsum;
IO_out(CTS,1);
Num=io_in(RXD,inputbuf,7); //串口接收
}
3.2 上位機系統(tǒng)設計
上位機采用VB編寫接口程序,通過設置控件Link調用ASP內的發(fā)送短信的文件,并獲取Lon Works網絡的節(jié)點的變量信息,。用ASP+ADO進行收發(fā)短信設計,也可以使遠程主機通過在瀏覽器中輸入服務器的IP地址來監(jiān)視Lon Works 設備信息,。在發(fā)送短信之前先填好要發(fā)送的手機號和內容,。發(fā)送短信ASP的主要代碼(部分)如下:
<%< p="">%<>