基于MB90F462的智能家居數據采集卡設計
文章出處:http://hz-huyue.com 作者:姚雨迎 張東來等 人氣: 發表時間:2011年09月22日
[文章內容簡介]:MB90F462是Fujitsu公司生產的一款通用16位單片機,最小指令周期僅為62.5m,適用于工業控制和高速實時數據處理等場合;同時,該芯片具有多功能定時器和多脈沖發生器,適用于交流感應電機和直流無刷電機的控制。本文利用MB90F462豐富的片內資源設計了一款智能家居系統的低速數據采集卡。
隨著人們對居住環境的舒適度、便捷性和安全性需求的日益提高,智能家居系統應運而生。智能家居系統的核心功能是實現家用設備運行狀況的實時監測和傳輸,主要包括:安全防盜報警;火警、水電、煤氣泄漏等實時監測和自動報警;室內溫度、濕度、燈光自動調節和遙控等。因此采集和傳輸各種設備的運行信息是保證智能家居系統正常運行的關鍵。MB90F462是Fujitsu公司生產的一款通用16位單片機,最小指令周期僅為62.5m,適用于工業控制和高速實時數據處理等場合;同時,該芯片具有多功能定時器和多脈沖發生器,適用于交流感應電機和直流無刷電機的控制。本文利用MB90F462豐富的片內資源設計了一款智能家居系統的低速數據采集卡。
1系統結構及功能概述
根據智能家居系統在線設備比較多的特點和方便控制的需求,數據采集卡應具有足夠的輸入、輸出接口和遠程通信功能?;贛B90F462的數據采集卡的系統結構如圖1所示。系統按功能可分為以下幾個模塊:8路模擬量輸入;8路數字量輸入;GSM短信數據傳輸;RS-232、RS-485通信;GPRS數據傳輸;實時時鐘;狀態指示;EEPROM數據存儲。
2 主要功能模塊的設計
2.1信號輸入模塊
在智能家居系統中,需要采集的數據信息包括空氣溫度、濕度、燈光的調節和水、電、煤氣、煙、火等報警信息,按照信號的性質可分為模擬量數據和數字量數據兩類。該數據采集卡可支持的輸入電平有5V、3.3V、RS-232和RS-485接口。
MB90F462帶有8路8/10位精度可選的A/D通道,可供輸入8路傳感器的模擬量信號。對于溫度、濕度、燈光、水流量等信息,可通過相應的傳感器將設備的實時數據通過A/D通道采集到管理中心。由于該系統數據量不大,軟件設計采用查詢的方式來檢查各路A/D的采樣完成標志,并讀入數據至管理中心的計算機中。A/D采樣需要設置的寄存器包括:ADER、ADCS1、ADCS0、ADCR1和ADCR0。A/D轉換共有四種可選模式:單步轉換模式1(運行時允許重復激活)、單步轉換模式2(運行時不允許重復激活)、連續轉換模式(運行時不允許重復激活)、停止轉換模式(運行時不允許重復激活)。
對于設備的報警信息和一些特殊的開關量,利用MB90F462的8路外部中斷對數字量輸入信號進行觸發或脈沖計數。由于外部中斷和GPIO管腳是復用的,所以使用外部中斷時必須設置相應的管腳為輸入。每兩個外部中斷共用一個中斷控制寄存器,使用外部中斷時需要設置的寄存器有ICRXX、ENIR、ELVR和EIRR。中斷信號的觸發信號電平可以為高電平、低電平、上升沿或下降沿。使用外部中斷之前和中斷處理完成后要清除標志位。
2.2短消息通信模塊
為了更方便地服務于用戶,智能家居系統采用GSM短消息(SMS)服務來實現遠程報警和遙控功能,用戶通過個人移動電話即可監測家用設備的實時狀態和報警信息,同時還可通過發送短消息遠程控制某個設備的開關。SIEMENS公司的GSM無線模塊TC35具有可靠的數據、語音、短消息服務和傳真四種數據傳輸功能。該模塊的工作電壓為3.3~5.5v,可以工作在900MHz和1800MHz兩個頻段,所在頻段功耗分別為2W(900MHz)和1W(1800MHz)。TC35的數據接口采用串行異步收發,符合ITU-T RS-232接口電路標準,工作在CMOS電平。數據接口配置:8位數據位、1位停止位、無校驗位,可以在300bps~115Kbps的波特率下運行,支持的自動波特率為4.8~115Kbps(14.4Kbps和28.8Kbps除外)。
在進行短信通信之前,通過在/IGT管腳輸出一電壓下降沿激活GSM模塊,待模塊穩定之后,設置短信服務中心號碼和數據格式,并進行短信收發、刪除、查詢等操作。GSM的短消息程序設計流程如圖2所示,用于SMS通信的AT指令如表1所示。
2.3 GPRS通信模塊
與傳統的GSM相比,GPRS通信的特點是終端可移動、接入時間短、傳輸速度快、按流量計費、可接入Internet網、時時在線等。GPRS網絡使用TCP/IP協議棧進行組網,可以實現與Internet網絡的無縫連接,但是在傳輸時數據格式應該符合TCP/IP協議棧的數據包格式。GPRS網絡為實現點對點通訊,在數據鏈路層上使用PPP協議,物理層上使用串口通信。因此,實現基于GPRS的數據傳輸系統時需要對數據進行打包,并需要在數據鏈路層上實現PPP協議?;赥CP/IP專用模塊的GPRS遠程數據傳輸的流程如圖3所示。
基于TCP/IP專用模塊的移動終端主要由數據獲取模塊(數據采集卡)、數據打包模塊和數據發送模塊組成。數據打包模塊采用ConnectOne公司生產的Iconnector模塊,數據發送模塊采用SIEMENS公司生產的具有GPRS功能的GSM手機模塊MC35。在Iconnector內部的Flash中存儲有Internet協議棧,支持PPP、IP、UDP、TCP、DNS、SMTP、POP3、HTTP、FTP、Telnet等幾乎所有的網絡協議。通過AT+i指令設置并控制Iconnector,以實現數據的打包。Iconnector有兩個標準的RS-232串行接口,在標有Modem字樣的一端與MC35相連接,在另外標有Device字樣的一端與數據采集卡相連接。用于GPRS數據傳輸的AT+i指令如表2所示。
2.4實時時鐘模塊
為了合理有效地管理各個用戶的數據,特別是一些報警數據,應該記錄其出現的實時時間。該數據采集卡采用了美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘DS1302,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能;DS1302與CPU同步串行通訊,接口只需三根線:/RST、I/O、SCLK;一次可以讀寫1個字節數據或31個字節的字符串;共有七個數據寄存器,即秒、分鐘、小時、日期、月份、周和年份寄存器;命令字的地址從80H~8DH,奇數為讀,偶數為寫;一個時鐘周期由下降沿開始,上升沿結束;寫入數據時,在時鐘的上升沿期間數據必須保持有效,讀出數據時,在時鐘的下降沿期間數據有效;如果,RST輸入低電平,中止所有的數據傳輸并且I/O呈高阻態;數據輸入/輸出的時序是首先寫入一個字節的命令字節(讀或寫),后面緊跟8個時鐘周期讀出/寫入一個字節的數據。
雖然DS1302的功耗很小,但是如果要長時間保證時鐘正常,最好選用小型充電電池或0.1F以上的超級電容作為備用電源。如果斷電時間較短,可以用漏電較小的普通電解電容器代替。DS1302在第一次加電后必須進行初始化操作,之后即可按正常方法調整時間。
此外,系統還配置了RS-232、RS-485接口和EEPROM數據存儲器,方便與其他設備的連接,并實現掉電數據保護功能。
3 Accemic MDE調試
Accemic MDE是目前市場上能夠調試Fujitsu 16LX系列不帶仿真器的單片機的首選工具,其監控內核與應用程序是并行運行的,所以了解其監控內核的工作方式非常重要。使用Accemic MDE進行調試應嚴格按照如下步驟進行:
(1)在啟動Accemic之前按以下步驟連接硬件(勿接電源)
(a)將MB90F462置為編程狀態,即MD0、MD1、MD2、P00、P01分別設為ON(=0)、OFF(=1)、OFF、ON、ON。
(b)用串行電纜連接目標板的Bootloader-UART和PC機的COM端口,(對于MB90460系列,UART0為Bootloader-UART)。
(c)給目標板加電。
(2)啟動Accemic調試環境
(a)打開preference│systerm菜單,設置CPU類型、封裝形式、工作時鐘、倍頻數、通訊波特率、復位線路和COM端口號等。
(b)按下"Download Monitor"按鈕導入監控內核;
(c)使目標系統處于復位狀態,將單片機切換到工作狀態,即MD0、MD1、MD2、P00、P01分別設為OFF、OFF、ON、X、X。
(d)退出復位狀態,此時可以通過監控內核訪問目標系統。
(e)按下"Connect"按鈕開始連接調試。
(3)Aecemic MDE調試注意事項
(a)調試前將位于Accemic MDE的安裝目錄C:\programs\AccemicMDE\include下的文件"monitor.asm"添加到用戶工程中;如果要使用目標信息功能,要在應用程序中包含"monitor.h"文件(與monitor.asm在同一目錄下)。
(b)如果Bootloader-UART未使用外部時鐘,不要使用改變PLL時鐘寄存器的功能。PLL時鐘可以通過"start.asm"中的設置來修正,確保其中CLOCKSPEED的設置為NOCLOCK。
(c)調試時不能改變Bootloader-UART中斷級別及Bootloader-UART的寄存器設置,注意在文件"vectors.c"中不要覆蓋Bootloader-UART的中斷級別。
(d)如果要使用看門狗定時器,需要開啟Accemic MDE的看門狗定時器自動更新功能,即在程序中調用acc_WatchdogEnable()函數。
(e)調試中為了讓Monitor能夠進入中斷服務程序中的斷點,必須滿足兩個條件:一是在程序中允許中斷,即調用_EI()函數;二是中斷服務程序的中斷級別高于7(因為Bootloader-UART的中斷級別是7)。
(f)MB90F462帶有兩個UART,其中UART0是BootloaderUart,用于在線調試和燒錄程序,也可以和用戶程序復用。復用時需要調用Accemic MDE中定義的函數acc_KernelUART(1),參數默認值為1,表示UART0用作正常的用戶程序通信;參數默認值為0,表示UART0用作調試接口,用戶程序中沒有用到UART0時不需要調用此函數。
綜上所述,該數據采集卡提供8路模擬量輸入及8路開關量輸入接口,具備兩路RS-232接口,支持RS-485、RS-232、3.3V、5V等多種輸入電平,可以實現現場數據采集和遠程傳輸,遠程通訊及傳輸方式有GPRS和SMS;而且可以對現場設備實行遠程開關量控制。該數據采集卡傳輸與協議轉換透明化,使用方便、可靠,而且配備系統配置和維護接口,方便現場維護,可普遍應用于遠程監控、遠程儀表數據讀取等場合。
本文關鍵詞:MB90F462,數據采集卡,智能家居,,B90F462,數據采集卡,智能家居,數,90F462,數據采集卡,智能家居,數據,0F462,數據采集卡,智能家居,數據采,F462,數據采集卡,智能家居,數據采集,462,數據采集卡,智能家居,數據采集,,62,數據采集卡,智能家居,數據采集,G,2,數據采集卡,智能家居,數據采集,GP,,數據采集卡,智能家居,數據采集,GPR,數據采集卡,智能家居,數據采集,GPRS,據采集卡,智能家居,數據采集,GPRS,,采集卡,智能家居,數據采集,GPRS,通,集
上一篇:IC卡存儲結構和工作原理[ 09-22 ]
下一篇:射頻接收芯片結構選擇的幾個要點[ 09-22 ]