<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 基于GPRS的自動(dòng)抄表系統設計

基于GPRS的自動(dòng)抄表系統設計

——
作者: 時(shí)間:2007-10-09 來(lái)源:電子設計應用 收藏

摘要:本文介紹了一種基于自動(dòng)抄表系統的硬件和軟件實(shí)現方法。該設計采用了和uip協(xié)議的移植來(lái)實(shí)現通信,用SQL數據庫實(shí)現上位機的抄表管理軟件,從而達到自動(dòng)抄表的目的。

關(guān)鍵詞;;;uip協(xié)議;SQL

引言

水表、電表和氣表的抄錄是城市生活的一個(gè)大問(wèn)題。傳統上采用的人工上門(mén)抄表方法不僅效率低,而且經(jīng)常出現漏抄、誤抄等現象。隨著(zhù)信息技術(shù)和網(wǎng)絡(luò )的不斷發(fā)展,出現了自動(dòng)抄表系統。

現代智能化系統一般采用兩種:電力載波集抄和總線(xiàn)通信方式。由于我國的電網(wǎng)在傳輸數據過(guò)程中,經(jīng)常會(huì )受無(wú)線(xiàn)電信號、電磁信號、脈沖信號的干擾,導致傳輸數據錯碼、丟碼的情況??偩€(xiàn)通信方式集抄系統較為復雜,而且要另外鋪設通訊電纜,特別對于舊城區改造項目,就存在更大問(wèn)題。

但是,如果采用三表GPRS無(wú)線(xiàn)集抄系統,以上問(wèn)題就迎刃而解。本文就介紹基于GPRS的一種設計方案。

自動(dòng)抄表系統的一般結構

抄表系統中,儀表數據與控制信號傳輸的路徑稱(chēng)為通信通道,它分為上行通道和下行通道。上行通道是傳輸控制器與管理中心計算機之間的通信線(xiàn)路,可以采用電話(huà)、無(wú)線(xiàn)、專(zhuān)線(xiàn)等各種通信介質(zhì)。
下行通道是數據采集器與傳輸控制器之間的通信線(xiàn)路,主要有LonWork總線(xiàn)、CAN總線(xiàn)、RS-485總線(xiàn)等方式。自動(dòng)抄表系統的構成如圖1所示,主要包括計量表、數據采集器、傳輸控制器(集中器)、管理中心計算機等。

圖1 一般自動(dòng)抄表系統的結構

其中計量表、采集器、集中器稱(chēng)為自動(dòng)抄表系統的下位機,管理中心計算機則稱(chēng)為上位機。上位機可以對下位機進(jìn)行命令發(fā)送、參數設定等控制。

硬件設計

系統總體框圖

自動(dòng)抄表系統的硬件主要分為采集器和集中器兩部分。采集器主要是用單片機把計量表中的數據采集過(guò)來(lái),并存放在內存里,通過(guò)RS-485總線(xiàn)傳送給集中器;集中器是整個(gè)系統中最重要的,也是最復雜的環(huán)節,它的硬件設計框圖如圖2所示。

圖2 集中器設計框圖

集中器中的單片機選用了C8051F120,其時(shí)鐘可達到100M,有8448B的RAM和128K的Flash,兩個(gè)URAT中,一個(gè)用于GPRS通信,另一個(gè)用于與采集器的通信。在很多場(chǎng)合,該單片機幾乎不用擴展外圍芯片就能夠滿(mǎn)足系統要求。C8051F MCU具有與8051兼容的高速CIP-51內核,但與標準的8051結構相比,指令執行速度有很大提高,運行是沒(méi)有問(wèn)題的。Flash的擴展選用SPI總線(xiàn)的AT45D041,它有512KB的FLASH,使用方便,且性?xún)r(jià)比也比較高; LCD采用中國臺灣矽創(chuàng )電子公司的中文圖形控制芯片ST7920,內含中英文字庫,使用起來(lái)非常方便。

GPRS模塊

GPRS模塊采用了西門(mén)子公司的MC35i,此模塊主要由GSM處理器、GSM射頻模塊、供電模塊、閃存、ZIF連接器、天線(xiàn)接口等六部分組成。它通過(guò)ZIF連接器上的串口與單片機實(shí)現電路接口,通過(guò)串口讀取或發(fā)送MC35i模塊中的數據和AT指令。

自動(dòng)抄表系統的軟件設計下位機的軟件設計

下位機軟件設計的重點(diǎn)是GPRS通信的實(shí)現。由于GPRS是基于IP協(xié)議的,所以主控制器在與GPRS模塊通訊的時(shí)候要發(fā)送符合IP協(xié)議的數據包。如果要自己編寫(xiě)TCP/IP協(xié)議,工作量會(huì )比較大,一個(gè)簡(jiǎn)便的方法是移植操作系統。有些操作系統中包含TCP/IP協(xié)議(如Linux),但相對于單片機來(lái)說(shuō),顯得力不從心。有些操作系統不包括此協(xié)議(如mC/OS-II),就必須同時(shí)移植與其兼容的TCP/IP協(xié)議(如uiP協(xié)議),本系統采用后一種方法。

mC/OS-II介紹及移植

mC/OS-II是為嵌入式應用編寫(xiě)的通用軟件,具有源碼公開(kāi)、可移植、可裁剪、支持多任務(wù)和內核服務(wù)運行時(shí)間可確定等特點(diǎn)。所以,mC/OS-II支持從8位到32位的CPU,經(jīng)過(guò)裁剪后代碼最小小于2KB,所需的最小數據RAM空間為4KB。

mC/OS-II的移植只需要修改與處理器相關(guān)的代碼就可以了。具體內容如下:
(1)os_cpu.h中需要設置1個(gè)常量來(lái)標識堆棧增長(cháng)方向,
即:#define OS_STK_GROWTH 0 //8051 堆棧從下向上增長(cháng);

(2)os_cpu.h中需要聲明3個(gè)用于開(kāi)關(guān)中斷和任務(wù)切換的宏,
即:#define OS_ENTER_CRITICAL()  EA=0  //關(guān)中斷;
#define OS_EXIT_CRITICAL()  EA=1   //開(kāi)中斷;
#define OS_TASK_SW()  OSCtxSw()    //任務(wù)間的切換;

(3)os_cpu.h中需要聲明10個(gè)數據類(lèi)型;
即:typedef unsigned char BOOLEAN 等;
(4)os_cpu_a.asm需要改寫(xiě)4個(gè)匯編語(yǔ)言的函數,集中了所有與處理器相關(guān)的匯編語(yǔ)言代碼模塊;

(5)os_cpu_c.c需要用c語(yǔ)言編寫(xiě)6個(gè)簡(jiǎn)單函數, 即1個(gè)初始化任務(wù)堆棧和5個(gè)任務(wù)創(chuàng )建鉤掛函數,其中5個(gè)任務(wù)創(chuàng )建鉤掛函數可根據實(shí)際情況加入;

(6)修改主頭文件include.h,將上面的3個(gè)文件和其它自己的頭文件加入。

完成上述工作后,mC/OS-II就可以運行在單片機上了。

uip的移植

uIP的移植設計重點(diǎn)放在IP、ICMP和TCP協(xié)議的實(shí)現上,要將這三個(gè)模塊合為一個(gè)有機的整體,而將UDP和ARP協(xié)議實(shí)現作為可選模塊。uIP0.9的體系結構如圖3所示。

圖3 uIP協(xié)議栰接口

uIP0.9處于網(wǎng)絡(luò )通信的中間層,其上層協(xié)議在這里被稱(chēng)之為應用程序,而下層硬件或固件被稱(chēng)之為網(wǎng)絡(luò )設備驅動(dòng)。uIP可以看作是一個(gè)代碼庫為系統提供確定的函數。圖3展示了uIP系統底層和應用程序之間的關(guān)系。

在基于8051的mC/OS-II中,移植uIP不需要對現有的TCP/IP源代碼做任何修改,但是必須為網(wǎng)絡(luò )設備如網(wǎng)卡芯片、串口等寫(xiě)一個(gè)驅動(dòng)程序。同時(shí),現有系統的集成部分也要進(jìn)行相應的處理,例如當有數據到達或周期性的定時(shí)器計數滿(mǎn)等情況下,主控制系統應該調用uIP函數。移植的具體步驟如下:
(1)在目錄uip-0.9/下創(chuàng )建一個(gè)自己的目錄,例如uip0.9/C8051F/。
(2)把uip_arch.c文件從目錄uip-0.9/unix/中復制到目錄uip-0.9/ C8051F中。
(3)把uipopt.h文件目錄從uip-0.9/unix中復制到目錄uip-0.9/ C8051F中,并對其修改,以滿(mǎn)足系統需要。
(4)編寫(xiě)串口驅動(dòng)程序和主控函數。
(5)編譯源代碼。

上位機軟件

管理中心計算機抄表軟件以IIS作為Web Server,數據庫端使用SQL Server 數據庫,運行WIN98/2000/XP、NT的操作系統,易于使用。軟件所能管理的用戶(hù)數量沒(méi)有限制。它具有以下的功能與特點(diǎn):安全可靠,抄表速度快,具有完善的系統日志,以及廣播對時(shí)、自動(dòng)抄表和設備管理功能。并且用戶(hù)界面清晰美觀(guān),操作簡(jiǎn)單,具有完善的在線(xiàn)幫助功能。

結語(yǔ)

遠程無(wú)線(xiàn)自動(dòng)抄表系統利用GPRS通信技術(shù),實(shí)現了多表數據抄收的功能,解決了實(shí)時(shí)性、抄收成本及通信距離等問(wèn)題。隨著(zhù)GPRS通信技術(shù)的不斷成熟和自動(dòng)抄表技術(shù)的不斷完善,這種遠程無(wú)線(xiàn)自動(dòng)抄表技術(shù)也將會(huì )得到更好的發(fā)展和提高?!?BR>  
參考文獻:
1.胡大可等.基于單片機8051的嵌入式開(kāi)發(fā)指南[M],北京:電子工業(yè)出版社,2003
2.任哲等.嵌入式操作系統基礎μC/OS-II和Linux[M],北京:北京航空航天大學(xué)出版社,2006
3.沈文等.AVR單片機C語(yǔ)言開(kāi)發(fā)應用實(shí)例---TCP/IP篇[M],清華大學(xué)出版社,2005



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>