智能抄表終端的設(shè)計(jì)_第1頁
智能抄表終端的設(shè)計(jì)_第2頁
智能抄表終端的設(shè)計(jì)_第3頁
智能抄表終端的設(shè)計(jì)_第4頁
智能抄表終端的設(shè)計(jì)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、智能抄表終端的設(shè)計(jì)摘 要 抄表終端實(shí)現(xiàn)的功能是完成抄表、數(shù)據(jù)的存儲以及向PC機(jī)上傳數(shù)據(jù)。本方案采用RS485總線和遠(yuǎn)紅外通訊實(shí)現(xiàn)抄表系統(tǒng)功能。設(shè)計(jì)采用的是32位高性能ARM處理器和嵌入式實(shí)時操作系統(tǒng)uC/OS-II的結(jié)合,實(shí)現(xiàn)多任務(wù)管理,具有良好的人機(jī)交互界面。4個通訊口支持RS485總線遠(yuǎn)程抄表和紅外通訊抄表,USB通訊口和RS232通訊口用于和上位機(jī)通訊。本設(shè)計(jì)具有成本低,數(shù)據(jù)傳輸穩(wěn)定、可靠性高、傳送距離較遠(yuǎn)、速度快、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。關(guān)鍵詞 抄表,RS485總線,ARM處理器 ,紅外通訊,UCOS/IIDesign of IntelligentMeter Reading Termina

2、l InstrumentAuthor Wang YongTutor Xu LijiaAbstract:The meter reading terminal instrument carries out function of meter reading,storing dates and uploading the data to upper monitor.The design uses a processor of 32 bit which is high-powered to combine uC/OS-II. It can realize the management of multi

3、task. Four port support for the remote meter reading by the RS485 bus and infrared communication.The RS232 and USB are used tocommunicate with upper monitor .The design is not having lower cost,but also having stable database transmission, reliable performance,far trancemission distance,far speed,st

4、rong anti-interference capability and so on.Keywords: meter reading by infrared communication; RS 485 bus; ARM processor; infrared communication; uCOS/II;1 緒言近幾年,隨著我國電力事業(yè)的不斷發(fā)展及整個社會正由計(jì)劃經(jīng)濟(jì)向市場經(jīng)濟(jì)轉(zhuǎn)軌過程中,電力部門對于電力負(fù)荷設(shè)備要求也由原來的重控制型而轉(zhuǎn)變到重管理型,由原來采用行政手段而轉(zhuǎn)變?yōu)椴扇〗?jīng)濟(jì)手段,其中一條措施就是實(shí)行峰、谷時段不同價。智能型電能表是一種以按峰谷時段進(jìn)行計(jì)量的計(jì)量設(shè)備,同時它還能反映

5、出現(xiàn)在負(fù)荷、最大負(fù)荷出現(xiàn)時間、斷相失壓等情況。為了能及時有效將這些數(shù)據(jù)傳回電力部門,需要一種終端設(shè)備來完成這一工作。(1)一個終端設(shè)備必須能接多個電能表,以滿足多路進(jìn)線的要求。(2)由于讀一個表需要幾秒鐘時間,有時甚至需幾個命令才能完成。所以為了在電力部門發(fā)出查詢命令時,及時將表數(shù)據(jù)上報(bào),必須在這之前將數(shù)據(jù)組織準(zhǔn)備好。(3)除了上報(bào)表數(shù)據(jù)內(nèi)容這一功能外,該設(shè)備還應(yīng)能對一些表數(shù)據(jù)進(jìn)行處理,并在當(dāng)?shù)卦O(shè)備面板上顯示出來,比如:可以顯示每一天零點(diǎn)的表讀數(shù)凍結(jié)值,還可以顯示功率等等。所以,要求設(shè)備具有一定的驅(qū)動能力、相當(dāng)?shù)拇鎯?nèi)存、以及相應(yīng)的顯示功能。遠(yuǎn)程抄表系統(tǒng)不僅能夠節(jié)約人力資源,更重要的是可提高抄

6、表的準(zhǔn)確性,減少因估計(jì)或謄寫而造成的帳單出錯,所以這種技術(shù)越來越受到用戶歡迎。遠(yuǎn)程抄表系統(tǒng)一般包括3個部分:上位機(jī)、集中器和采集終端。其中采集終端是介于集中器和電能表之間的中間設(shè)備,主要具有電量數(shù)據(jù)采集、處理、存儲及轉(zhuǎn)發(fā)等功能;根據(jù)電能表的不同,電量采集終端以智能通信方式(規(guī)約)或脈沖采集方式采集數(shù)據(jù),并以一定的算法或程式將采集數(shù)據(jù)加以周期性和選擇性的存儲,同時將實(shí)時或歷史電量數(shù)據(jù)以集中器要求的格式和內(nèi)容傳遞給集中器。由于基于RS 485總線的遠(yuǎn)程抄表系統(tǒng)不僅成本比較低,而且具有數(shù)據(jù)傳輸穩(wěn)定、可靠性高、傳送距離較遠(yuǎn)、速度快、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。2 智能抄表終端硬件的設(shè)計(jì)及實(shí)現(xiàn)2.1抄表終端的總

7、體設(shè)計(jì)抄表器的硬件設(shè)計(jì)框圖如圖1所示。微處理器采用一款基于ARM7內(nèi)核的控制器。兩個UART分別擴(kuò)展了1個RS485接口與帶485的電表通訊,另一個則通過USB轉(zhuǎn)串口模塊與上位機(jī)通訊。存儲器采用AT24C64,通過軟件模擬IIC與控制器通訊。抄表器上裝備黃/綠背光的128×64圖形點(diǎn)陣LCD,能夠操作顯示抄表信息、通信信息、故障信息、報(bào)警信息等內(nèi)容。抄表器還可進(jìn)行紅外和RS232串口通訊。LPC2104(ucOS/II)LCD顯示EEPROMRS485接口電能表USB接口按鍵紅外通訊RS232接口上位機(jī)圖1 抄表終端的硬件設(shè)計(jì)框圖2.2 微控制器模塊1LPC2104采用的是ARM7T

8、DMI-S 處理器,是通用的32 位微處理器,它具有高性能和低功耗的特性。ARM 結(jié)構(gòu)是基于精簡指令集計(jì)算機(jī)(RISC)原理而設(shè)計(jì)的。指令集和相關(guān)的譯碼機(jī)制比復(fù)雜指令集計(jì)算機(jī)要簡單得多。這樣使用一個小的、廉價的處理器核就可實(shí)現(xiàn)很高的指令吞吐量和實(shí)時的中斷響應(yīng)。由于使用了流水線技術(shù),處理和存儲系統(tǒng)的所有部分都可連續(xù)工作。通常在執(zhí)行一條指令的同時對下一條指令進(jìn)行譯碼,并將第三條指令從存儲器中取出。LPC2104集成了一個128K 字節(jié)的FLASH 存儲器系統(tǒng)。該存儲器可用作代碼和數(shù)據(jù)的存儲。對FLASH 存儲器的編程可通過幾種方法來實(shí)現(xiàn):通過內(nèi)置的串行JTAG 接口,通過串口進(jìn)行在系統(tǒng)編程(ISP

9、),也可以在應(yīng)用程序運(yùn)行時進(jìn)行在應(yīng)用編程(IAP)。這樣為數(shù)據(jù)存儲和現(xiàn)場固件的升級都帶來了極大的靈活性。LPC2104具有16K靜態(tài)RAM,SRAM可用作代碼和/或數(shù)據(jù)的存儲,支持8位訪問。SRAM 控制器包含一個回寫緩沖區(qū),它用于防止CPU 在連續(xù)的寫操作時停止運(yùn)行。 電源模塊設(shè)計(jì) 本設(shè)計(jì)中電源需要為系統(tǒng)提供5V ,3.3V ,1.8V的電壓,電源模塊采用9V直流電源輸入,經(jīng)過C1、C3濾波,然后通過78M05穩(wěn)壓芯片將電源穩(wěn)壓至5V。再使用LDO芯片(低壓差電源芯片)穩(wěn)壓輸出3.3V及1.8V電壓。LDO芯片采用了LM1117MPX-1.8和LM1117MPX-3.3,其特點(diǎn)為輸出電流大,

10、輸出電壓精度高,穩(wěn)定性高。系統(tǒng)電源如圖2所示。圖2 電源模塊原理圖LM1117系列LDO芯片輸出電流可達(dá)800mA,輸出電壓的精度在±1%以內(nèi),還具有電流限制和熱保護(hù)功能,廣泛用戶在手持式儀表、數(shù)字家電、工業(yè)控制等領(lǐng)域。使用時,其輸出端需要一個至少10uF的鉭電容來改善瞬態(tài)響應(yīng)和穩(wěn)定性。 MCU復(fù)位模塊設(shè)計(jì)圖3 復(fù)位模塊原理圖由于ARM芯片的高速、低功耗、低工作電壓導(dǎo)致其噪聲容限低,對電源的紋波、瞬態(tài)響應(yīng)能力、時鐘源的穩(wěn)定性、電源監(jiān)控可靠性等諸多方面也提出了更高的要求。LPC2104復(fù)位電平為低電平,復(fù)位電路才用專用復(fù)位芯片MAX708SD,這樣可以使復(fù)位電路更加穩(wěn)定。如圖3所示,復(fù)

11、位芯片 /MR引腳電平改變 控制 /RST引腳電平的變化,當(dāng)S1按下 /MR引腳電平有效 ,則 /RST輸出為低電平 ,復(fù)位MCU。2.3 通訊模塊設(shè)計(jì) 抄表器與電能表通訊(RS485通訊模塊)圖4 RS485硬件原理圖RS485通訊模塊電路圖如上圖4所示。芯片采用MAX485接口芯片。它是Maxim公司的一種RS485芯片。采用單一電源+5 V工作,額定電流為300 A,采用半雙工通訊方式。它完成將TTL電平轉(zhuǎn)換為RS485電平的功能。MAX485芯片的結(jié)構(gòu)和引腳都非常簡單,內(nèi)部含有一個驅(qū)動器和接收器。RO和DI端分別為接收器的輸出和驅(qū)動器的輸入端,與單片機(jī)連接時只需分別與單片機(jī)的RXD和T

12、XD相連;/RE和DE端分別為接收和發(fā)送的使能端,當(dāng)/RE為邏輯0時,器件處于接收狀態(tài);當(dāng)DE為邏輯1時,器件處于發(fā)送狀態(tài),因?yàn)镸AX485工作在半雙工狀態(tài),所以只需用一個管腳控制這兩個引腳即可,在本方案中將這兩個引腳都接高電平,使之工作在發(fā)送狀態(tài);A端和B端分別為接收和發(fā)送的差分信號端,RS485采用差分信號負(fù)邏輯,2V6V表示“0”,- 6V- 2V表示“1”。當(dāng)A引腳的電平高于B時,代表發(fā)送的數(shù)據(jù)為1;當(dāng)A的電平低于B端時,代表發(fā)送的數(shù)據(jù)為0。J2與電表接口實(shí)現(xiàn)通訊。 USB通訊模塊設(shè)計(jì)USB轉(zhuǎn)UART模塊電路設(shè)計(jì)如圖5所示。CP2102是一款高集成度的USB-UART橋接電路,它們能夠

13、用最簡單的外部電路,最少的外部器件及最小的電路板面積簡便實(shí)現(xiàn)USB2.0到UART的轉(zhuǎn)換。與其他USB-UART轉(zhuǎn)接電路的工作原理類似,CP2102通過驅(qū)動程序?qū)C的USB口虛擬成COM口以達(dá)到擴(kuò)展的目的。虛擬COM口(VCP)的器件驅(qū)動程序允許一個基于CP2102的器件以PC應(yīng)用軟件的形式作為一個增加的COM口獨(dú)立于任何現(xiàn)有的硬件。COM口使用運(yùn)行在PC上的應(yīng)用軟件以訪問一個標(biāo)準(zhǔn)硬件COM口的方式訪問基于CP2102的器件,PC與CP2102間的數(shù)據(jù)傳輸是通過USB完成的,因此,無需修改現(xiàn)有的軟件和硬件就可以通過USB向基于CP2102的器件傳輸數(shù)據(jù)。圖5USB轉(zhuǎn)UART模塊原理圖 紅外通

14、訊模塊設(shè)計(jì)紅外通訊是利用波長為900nm1000nm的紅外波作為信息的載體,發(fā)射裝置把二進(jìn)制信號經(jīng)過高頻調(diào)試后發(fā)射出去,接收裝置把接收的紅外高頻信號進(jìn)行解調(diào)作為原來信息的一種通信傳輸方式。其中調(diào)試方式有脈寬調(diào)制PWM和脈時調(diào)制PPM兩種,本方案采取的是PWM脈時調(diào)制方式。圖6 紅外通訊模塊原理圖紅外發(fā)射是利用單片機(jī)的串行數(shù)據(jù)發(fā)送口TXD控制驅(qū)動三極管Q2進(jìn)行二進(jìn)制“0”和“1”的傳輸(數(shù)據(jù)由串行發(fā)送緩沖器SBUF中送出),以及利用單片機(jī)P0.10口控制驅(qū)動三極管Q1進(jìn)行高頻38.4KHZ調(diào)制從而可靠地實(shí)現(xiàn)了紅外發(fā)射管D1在傳輸數(shù)據(jù)“0”時進(jìn)行高頻紅外發(fā)射和數(shù)據(jù)“1”時被截止發(fā)射功能。狀態(tài)關(guān)系見

15、表1。表1 狀態(tài)關(guān)系表名稱狀態(tài)TXD01P0.100101IR發(fā)射管狀態(tài)1000由P0.10控制高頻調(diào)制,D1定時導(dǎo)通和截止產(chǎn)生高頻發(fā)射信號,即實(shí)現(xiàn)發(fā)送數(shù)據(jù)“0”的功能。D1截止不發(fā)射,即實(shí)現(xiàn)了發(fā)送數(shù)據(jù)“1”的功能。紅外接收是利用紅外接收是利用紅接收管PIC12034收到高頻信號輸出低電平確定為數(shù)據(jù)“0”,而沒收到高頻信號輸出高電平確定為數(shù)據(jù)“1”方式經(jīng)過解調(diào),把數(shù)據(jù)通過單片機(jī)串行數(shù)據(jù)接收口RXD進(jìn)行串行方式接收(接收數(shù)據(jù)存儲在串行口緩沖器SBUF中)。2.3.4 PC機(jī)通信電路接口設(shè)計(jì)(RS232)以及ISP模塊圖7 RS232及ISP原理圖RS-232-C標(biāo)準(zhǔn)采用的接口是9芯或25芯的D型

16、插頭,但實(shí)際上要完成最基本的串行通信功能,只需要數(shù)據(jù)接收、數(shù)據(jù)發(fā)送和地三根接線即可,只要是注意的是RS-232-C標(biāo)準(zhǔn)所定義的高、低電平信號與單片機(jī)系統(tǒng)的TTL電路所定義的高、低電平信號完全不同,TTL的標(biāo)準(zhǔn)邏輯uIn對應(yīng)2V-3.3V電平,標(biāo)準(zhǔn)邏輯.0”對應(yīng)OV-0.4V 電平;而RS-232-C標(biāo)準(zhǔn)采用負(fù)邏輯方式,標(biāo)準(zhǔn)邏輯"I”對應(yīng)一5V-15V電平,標(biāo)準(zhǔn)邏輯HOH對應(yīng)+5V-+15V電平。顯然,兩者間要進(jìn)行通信必須經(jīng)過信號電平的轉(zhuǎn)換。目前常使用的電平轉(zhuǎn)換電路為MAX3232,它的噪聲容限為2V。即要求接收器能識別低至+3V的信號作為邏輯“0”,高到-3V的信號 作為邏

17、輯“1”。它與LPC2104的連接電路如圖7所示。在線系統(tǒng)編程 (ISP)通過boot 裝載程序和串口對片內(nèi)Flash 存儲器進(jìn)行編程和再編程。通過短路帽S8控制ARM運(yùn)行方式,當(dāng)復(fù)位后P0.13(ISP_EN)為低電平被認(rèn)為是啟動ISP命令處理器的外部硬件請求。如果沒有外部請求(P0.13(ISP_EN)復(fù)位后采樣為高電平),那么將搜索有效的用戶程序。如果找到有效的用戶程序,執(zhí)行的控制就轉(zhuǎn)移給用戶程序。于P0.13口在復(fù)位后處于高阻模式,所以需要提供上拉電阻使管腳處于一個確定的狀態(tài).2.4 數(shù)據(jù)存儲模塊設(shè)計(jì) IIC接口的EEPROM設(shè)計(jì)IIC總線是荷蘭飛利浦PHILIPS開發(fā)的一種高效,實(shí)用

18、,可靠的雙向二線制(也有3線制,家電很少用)串行數(shù)據(jù)傳輸結(jié)構(gòu)總線,該總線使各電路分割成各種功能的模塊,并進(jìn)行軟件化設(shè)計(jì),各個功能模塊電路內(nèi)都有集成一個IIC總線接口電路,因此都可以掛接在總線上,很好的解決了眾多功能IC與CPU之間的輸入輸出接口,使其連接方式變得十分簡單。圖8 IIC模塊原理圖本系統(tǒng)中采用ATMEL公司AT24C64,在本設(shè)計(jì)中可存儲100個用戶信息,它是8K的串行電可擦除可編程的EEPROM器件,提供了2線串行接口。相對于Flash和SDRAM芯片,它與LPC2104的相接比較簡單,只需將時鐘和數(shù)據(jù)線對應(yīng)相接,并接上上拉電阻即可。如圖8所示,為了支持高速IIC總線操作,總線上

19、拉電阻R1、R2的的大小為3K,這樣總線變化時上升/下降的速度就變快了。2.5 人機(jī)交互電路設(shè)計(jì)按鍵模塊按鍵模塊如圖9所示,6個獨(dú)立按鍵S2S7的功能分別為上、下、左、右、確定、退出。由于做普通I/O口時沒有內(nèi)部上拉電阻,所以需要外接上拉電阻R20R25。當(dāng)沒有按鍵時,口線值為1,當(dāng)按鍵按下時為0;而R14R19為口線保護(hù)電阻,即當(dāng)連接按鍵的I/O設(shè)置為輸出時,這幾個電阻保證了輸出口不會直接對地短路。圖9 按鍵模塊原理圖 LCD液晶顯示接口電路圖10 顯示模塊及時鐘電路原理圖智能抄表終端提供良好的人機(jī)操作界面,如圖10所示,本設(shè)計(jì)使用了128*64的點(diǎn)陣液晶顯示器.采用外部11.0592MHz

20、晶振,用1M電阻R3并接到晶振的兩端,使系統(tǒng)更容易起振。用11.0592MHz晶振的原因是使串口波特率更精確,同時能夠支持LPC2104芯片內(nèi)部PLL功能及ISP功能。3 智能抄表終端軟件的設(shè)計(jì)及實(shí)現(xiàn)3.1選擇實(shí)時操作系統(tǒng)uC/OS-II的理由通常一個單片機(jī)應(yīng)用程序所控制的外設(shè)和履行的任務(wù)不多,采取一個主循環(huán)和幾個順序調(diào)用的子程序模塊(后臺行為),通過中斷服務(wù)處理異步事件(前臺行為),這種程序設(shè)計(jì)方法也被稱為前后臺模式。不復(fù)雜的小系統(tǒng)可以采用這種模丸目前隨著嵌入式系統(tǒng)復(fù)雜程度的不斷提高,這種程序設(shè)計(jì)方法就會暴露出兩個問題:一是中斷可能得不到及時響應(yīng),處理時間過長,這對于一些控制場合是不允許的:

21、二是系統(tǒng)任務(wù)多,要考慮的各種可能性也多,各種資源如調(diào)度不當(dāng)就會發(fā)生死鎖,降低軟件的可靠性,程序編寫任務(wù)量成指數(shù)增加。解決這些問題的最好辦法就是使用實(shí)時操作系統(tǒng),多任務(wù)運(yùn)行使CPU的利用率得到最大的發(fā)揮,并使應(yīng)用程序模塊化。在實(shí)時應(yīng)用中,多任務(wù)化的最大特點(diǎn)是,開發(fā)人員可以將很復(fù)雜的應(yīng)用程序?qū)哟位?。使用多任?wù),應(yīng)用程序?qū)⒏菀自O(shè)計(jì)與維護(hù)。3.2 uC/OS-11的特點(diǎn)及運(yùn)行機(jī)制3 uC/OS-II的特點(diǎn)uC/OS-II提供了對64個任務(wù)的管理,除了系統(tǒng)內(nèi)核本身所保留了8個任務(wù)外,用戶的應(yīng)用程序最多可以有56個任務(wù)。由于uC/OS-II是一個基于優(yōu)先級的實(shí)時操作系統(tǒng),因此每個任務(wù)的優(yōu)先級必須不相同,

22、系統(tǒng)中的每個任務(wù)都處于以下5種狀態(tài)之一,這5種狀態(tài)分別是休眠態(tài)、就緒態(tài)、運(yùn)行態(tài)、等待態(tài)(等待某一事件發(fā)生)和被中斷態(tài).uC/OS-II是一個占先式的內(nèi)核,即最高優(yōu)先級的任務(wù)一旦就緒,總能得到處理器的控制權(quán)。當(dāng)一個運(yùn)行著的任務(wù)使一個比它優(yōu)先級高的任務(wù)進(jìn)入了就緒態(tài),則當(dāng)前任務(wù)的處理器控制權(quán)就被剝奪了,或者說該任務(wù)就被掛起,那個高優(yōu)先級的任務(wù)立刻得到處理器的控制權(quán)。如果是中斷服務(wù)程序(ISR)使一個高優(yōu)先級的任務(wù)進(jìn)入就緒態(tài),中斷處理完成后,被中斷了的任務(wù)將被掛起,優(yōu)先級高的那個任務(wù)則開始運(yùn)行。其狀態(tài)切換方式如圖11所示。uC/OS-II提供了對信號量、郵箱和消息隊(duì)列的支持。等待或者掛起就緒運(yùn)行休眠中

23、斷程序圖11uC/OS-II控制下的任務(wù)狀態(tài)切換圖 uC/OS-II的任務(wù)調(diào)度機(jī)制實(shí)際上uC/OS-II可以簡單地看作是一個多任務(wù)調(diào)度器,在此基礎(chǔ)上增加了不同任務(wù)之間相互通信的信號量等服務(wù)。實(shí)現(xiàn)多任務(wù)的調(diào)度是uC/OS-II的精華所在,也是移植工作中的重點(diǎn),只有充分的理解了任務(wù)調(diào)度機(jī)制,才能在系統(tǒng)移植過程中寫出高效的代碼來。uC/OS-II進(jìn)行任務(wù)調(diào)試的思想是,每時每刻總是讓優(yōu)先級最高的就緒任務(wù)處于運(yùn)行狀態(tài),為此uC/OS-I把任務(wù)調(diào)度工作分為兩步:尋找優(yōu)先級別最高的任務(wù)和任務(wù)切換。3.3 本設(shè)計(jì)軟件流程軟件流程如圖12所示,在本系統(tǒng)中,共建立9個任務(wù),分別給每個任務(wù)分配不同的優(yōu)先級由高到低,

24、任務(wù)之間彼此獨(dú)立,通過實(shí)時內(nèi)核UC/OS來管理切換這些任務(wù)。優(yōu)先級最高且處于就緒狀態(tài)的任務(wù)是當(dāng)前正在運(yùn)行的任務(wù),每個任務(wù)都是一個死循環(huán)。本設(shè)計(jì)中通過按鍵消息來掛起不需要運(yùn)行的任務(wù),恢復(fù)需要運(yùn)行的任務(wù),實(shí)現(xiàn)任務(wù)間的切換。底層驅(qū)動模塊之間也是相互獨(dú)立的,他們都是為任務(wù)層服務(wù)的,實(shí)現(xiàn)底層驅(qū)動。圖12 系統(tǒng)軟件流程圖3.4 主要模塊軟件的設(shè)計(jì)實(shí)現(xiàn)前面已經(jīng)提及在uC/OS-I下編程用戶只需分別編寫各個任務(wù),并給各個任務(wù)分別分配給不同的優(yōu)先級別,uC/OS-II會依據(jù)任務(wù)的優(yōu)先級別進(jìn)行調(diào)度。本抄表系統(tǒng)的任務(wù)安排如3.4.6所示:主函數(shù)main( )在main( )函數(shù)中,首先初始化板上的外圍設(shè)備,如LCD

25、、串口、通用1./O口、RTC. IIC總線 等, 建立任務(wù),之后調(diào)用uC/OS-II的OSStartO函數(shù)以開始任務(wù)的運(yùn)行,調(diào)用此函數(shù)之后,操作系統(tǒng)將會根據(jù)任務(wù)的優(yōu)先級首先進(jìn)入TaskSatrt任務(wù)并進(jìn)行多任務(wù)的調(diào)度,此后永不返回。初始化外設(shè)OSInit()初始化操作系統(tǒng)創(chuàng)建任務(wù)OSStart()多任務(wù)調(diào)度開始圖13 主函數(shù)流程圖*注:代碼見附錄3 主菜單任務(wù) MainmenuTask主菜單任務(wù)MainmenuTask初始化顯示圖標(biāo)菜單初始化顯示圖標(biāo)菜單建立按鍵消息等待按鍵恢復(fù)要執(zhí)行的任務(wù)掛起當(dāng)前任務(wù)有按鍵無按鍵圖14 顯示主菜單*注:代碼見附錄4 鍵盤任務(wù) KeyTask恢復(fù)鍵盤任務(wù)(re

26、sume)接收鍵盤輸入返回按鍵消息掛起鍵盤任務(wù)掛起當(dāng)前任務(wù)圖15 鍵盤任務(wù)流程*注:代碼見附錄10 抄表任務(wù) ProcessTask.1 抄表任務(wù)框圖UART驅(qū)動程序UC/OS-II通訊測試485抄表紅外抄表廣播校時圖16 抄表任務(wù)流程框圖抄表協(xié)議采用 國內(nèi)較普遍的中華人民共和國電力行業(yè)標(biāo)準(zhǔn)DLT/645 (多功能電能表通信規(guī)約)。*注:代碼見附錄6.2 鏈路層8本協(xié)議為主-從結(jié)構(gòu)的半雙工通信方式。手持單元或其它數(shù)據(jù)終端為主站,費(fèi)率裝置為從站。每個費(fèi)率裝置均有各自的地址編碼。通信鏈路的建立與解除均由主站發(fā)出的信息幀來控制。每幀由幀起始符、從站地址域、控制碼、數(shù)據(jù)長度、數(shù)據(jù)域、幀信息縱向校驗(yàn)碼及

27、幀結(jié)束符等7 個部分組成。每部分由若干字節(jié)組成。0D0D1D2D3D4D5D6D7P1傳送方向起始位8位數(shù)據(jù)偶校驗(yàn)停止位圖17 字節(jié)格式每字節(jié)含8 位二進(jìn)制碼,傳輸時加上一個起始位(0)、一個偶校驗(yàn)位和一個停止位(1),共11 位。其傳輸序列如圖17。D0 是字節(jié)的最低有效位,D7 是字節(jié)的最高有效位。先傳低位,后傳高位。表2幀格式說明代碼幀起始符68H地址域A0A1A2A3A4A5幀起始符68H控制碼C數(shù)據(jù)長度域L數(shù)據(jù)域DATA校驗(yàn)碼CS結(jié)束符16H初始化喚醒電表(0xFE)讀表地址比較地址? YN發(fā)送幀接收程序接收正確? YN是否重發(fā)? YN退出通訊NY發(fā)完畢? 圖18 通訊流程圖幀是傳送

28、信息的基本單元,幀格式如圖18。幀起始符0x68標(biāo)識一幀信息的開始,地址域可為標(biāo)號.資產(chǎn)號 .用戶號 .設(shè)備號等??刂拼a為通訊命令。校驗(yàn)碼CS表示從幀起始符開始到校驗(yàn)碼之前的所有個字節(jié)的模256的和,即個字節(jié)二進(jìn)制算術(shù)和,不記超過256的溢出值。結(jié)束符0X16 表示一幀信息的結(jié)束,其值16H=00010110B。通訊流程框圖如圖18所示。*注:代碼見附錄6 用戶管理任務(wù)UC/OS-II新建和刪除目錄新建和刪除目錄查找用戶用戶統(tǒng)計(jì)IIC驅(qū)動程序底層驅(qū)動圖19 抄表任務(wù)流程框圖*注:代碼見附錄5抄表器與上位機(jī)通信協(xié)議.1通訊協(xié)議表3 上傳數(shù)據(jù)協(xié)議上傳數(shù)據(jù)上傳目錄上傳戶名上傳表號上傳總電量上傳峰電量

29、上傳平電量上傳谷電量上傳抄表時間上傳抄表狀態(tài)命令幀0x320x686字節(jié)6字節(jié)6字節(jié)3字節(jié)3字節(jié)3字節(jié)3字節(jié)3字節(jié)1字節(jié)表4 通訊測試協(xié)議通訊測試命令幀0x68 , 0x31 , 0x17.2 簡易上位機(jī)抄表管理軟件圖20 上位機(jī)抄表管理軟件通過抄表器的RS232 和USB 通訊口和上位機(jī)連接,將抄表器中的數(shù)據(jù)上傳到上位機(jī)中進(jìn)行管理。在上傳數(shù)據(jù)的時候首先要進(jìn)行通訊測試,只有當(dāng)通訊測試成功以后才能上傳數(shù)據(jù)。抄表管理軟件如圖20所示。通訊測試協(xié)議如表4所示。上傳數(shù)據(jù)協(xié)議如表3所示。4總結(jié)本設(shè)計(jì)的任務(wù)是設(shè)計(jì)一個抄表器,其實(shí)質(zhì)是32ARM處理器和嵌入式實(shí)時系統(tǒng)UC/OS-II的一個簡單的應(yīng)用。在設(shè)計(jì)過

30、程中首先遇到的困難就是硬件電路的調(diào)試,在調(diào)試EEPROM讀寫和USB通訊時遇到了讀寫不成功和不能和上位機(jī)通訊等困難等等。大部分的時間還是花在軟件的編寫上,在這工程中遇到的主要困難是UC系統(tǒng)的移植和多任務(wù)的建模。其次就是一些功能上的調(diào)試?yán)щy,在調(diào)試抄表模塊的時候,出現(xiàn)了不能和電表通訊的情況,以及不能正確的抄寫電量的困難 等等,在克服了種種困難后,搭建了一個嵌入式GUI系統(tǒng)平臺,并在上面開發(fā)了一些功能。實(shí)現(xiàn)了基本抄表功能的同時也添加了一些附加功能,使整個系統(tǒng)不單是一個抄表器。5 結(jié)論整個系統(tǒng)的優(yōu)點(diǎn)在于:遵守硬件設(shè)計(jì)原則的情況下將整個系統(tǒng)劃分為通訊模塊,存儲模塊、人機(jī)交互接口模塊,并給出了詳細(xì)的電路連接圖,這些硬件組成為系統(tǒng)提供了足夠的存儲空間、完善的通訊功能和良好的交互界面,不僅能夠

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論