基于嵌入式控制器的遠程監控系統的開(kāi)發(fā)
1 引言
本文引用地址:http://dyxdggzs.com/article/81000.htm在儀器儀表迅速發(fā)展的同時(shí),計算機和網(wǎng)絡(luò )技術(shù)也在迅速發(fā)展,PC機已經(jīng)從高速增長(cháng)進(jìn)入到平穩發(fā)展時(shí)期,單純由PC機帶領(lǐng)電子產(chǎn)業(yè)蒸蒸日上的時(shí)代己經(jīng)成為歷史,嵌入式系統的出現和廣泛應用,使計算機和網(wǎng)絡(luò )進(jìn)入了后PC時(shí)代?;谇度胧街悄軆x表遠程監控系統作為工業(yè)控制網(wǎng)絡(luò )重要發(fā)展方向之一,是工業(yè)數據通訊與控制網(wǎng)絡(luò )技術(shù)、互聯(lián)網(wǎng)技術(shù)等多種技術(shù)共同發(fā)展的結果[1]。該項技術(shù)的發(fā)展與成熟將會(huì )給人們的生產(chǎn)生活帶來(lái)深遠的影響。
2 嵌入式控制器硬件設計
控制器的定義:嵌入式控制器以高速處理器為核心,由高速處理器和其他芯片協(xié)同工作來(lái)控制的電子設備或裝置,能夠完成監視、控制等各種自動(dòng)化處理任務(wù)[4]。嵌入式控制器是系統的核心部分。
2.1 系統硬件結構圖

圖1 嵌入式控制器系統硬件結構圖
嵌入式控制器的系統硬件結構圖見(jiàn)圖1所示。由5V、3.3V和1.8V二種直流電源供電。系統主要由DSP芯片TMS320C5402、256K FLASH存儲器、以太網(wǎng)接口芯片RTL8019AS、 A/D轉換芯片、串口芯片等組成。
從嵌入式控制器的系統硬件結構圖以看出嵌入式控制器是嵌入式遠程監控系統的關(guān)鍵部分?,F場(chǎng)智能儀器儀表可以通過(guò)嵌入式控制器的模擬量和數字量接口輸入信號,由控制器內嵌的服務(wù)程序,通過(guò)以太網(wǎng)或Modem,在遠程由客戶(hù)端程序對現場(chǎng)智能儀表進(jìn)行信號的查看和控制,從而實(shí)現智能儀表的遠程監控。
2.2 處理器DSP 5402最小系統設計
(1)復位電路。同時(shí)設計上電復位電路和人工復位電路,當系統運行中出現故障時(shí)可方便地人工復位。復位電路一方面應確保復位低電平時(shí)間足夠長(cháng),保證DSP可靠復位;另一方面應保證穩定性良好,防止DSP誤復位。復位電路采用MAX706R芯片組成自動(dòng)復位電路。MAX706R是一種能與具有3.3V工作電壓的DSP芯片相匹配的自動(dòng)復位芯片。該芯片的具體接法如圖2所示。
(2)時(shí)鐘電路。一般DSP系統中經(jīng)常使用外部時(shí)鐘輸入,因為使用外部時(shí)鐘時(shí),時(shí)鐘的精度高,穩定性好,使用方便。由于DSP工作是以時(shí)鐘為基準,如果時(shí)鐘質(zhì)量不高,那么系統的可靠性、穩定性就很難保證。因此,本系統擬采用外部時(shí)鐘源提供時(shí)鐘,如圖3所示。將外部的時(shí)鐘信號直接加到DSP芯片的X2/CLKIN引腳,X1引腳懸空。設置CLKMEI=1,CLKMD2=1,CLKMD3=1。復位后使DSP芯片的時(shí)鐘為外部晶振頻率的1/2,即2分頻。

圖2 系統自動(dòng)復位電路

圖3 時(shí)鐘電路
(3)系統電源設計。TMS320VC5402芯片采用雙電源供電,DSP的核內電壓和I/O接口電壓分別為1.8V和3.3V, 本系統需要三種電源,電壓為5V、3.3V和1.8V。其中,RTL8019AS網(wǎng)卡芯片和模數轉換電路均采用5V電源供電。DSP的雙電源解決方案采用TPS73HD318實(shí)現,輸入的電源電壓為5V,輸出電壓分別為3.3V和1.8V,每路電源的最大輸出電流為750mA。
2.3 程序存儲器的擴展
FLASH存儲器與EPROM相比,具有更高的性能價(jià)格比,而且體積小、功耗低、可電擦寫(xiě)、使用方便,并且3.3V的FLASH可以直接與DSP芯片連接。因此,采用FLASH作為程序存儲器存儲程序和一些固定數據是一種比較好的選擇。本系統的程序存儲器選用了一片AT29LV020 FLASH存儲器。此芯片有256K×8的存儲空間,最快讀取速度為100ns。所以在讀取程序時(shí),要使主頻低于10MHz。
2.4 接口電路設計
(1)模擬量輸入接口。模擬量輸入通道采用了TI公司生產(chǎn)的TLV2544芯片,當與DSP芯片連接時(shí),可用一個(gè)幀同步信號FS來(lái)控制一個(gè)串行數據幀的開(kāi)始。采用TMS320VC5402提供高速、雙向、多通道帶緩沖串行端口MCBSP,可用來(lái)與串行A/D轉換器直接連接。
(2)以太網(wǎng)擴展接口。實(shí)現嵌入式智能儀表的遠程監控系統,首要的問(wèn)題就是要讓智能儀表具有以太網(wǎng)接口。臺灣Realtek公司生產(chǎn)的RTL8019AS以太網(wǎng)接口芯片可以讓嵌入式控制器具有通用計算機的網(wǎng)絡(luò )接口。
(3)RS-232串行接口設計。RS-232-C并未定義連接器的物理特性,因此存在DB-25, DB-15和DB-9等多種類(lèi)型的連接器。DSP為了同現場(chǎng)智能儀表的串口相連,我們用MAXIM公司的MAX3111來(lái)完成EIA到TTL電路之間的電平和邏輯關(guān)系的轉換。
(4)RS-485串行通信接口。RS-485是為了適應遠距離、分布式控制系統的需要而制定的一種串行通信總線(xiàn)標準。它支持多節點(diǎn)、遠距離傳輸。RS-485標準采有用平衡式發(fā)送,差分式接收的數據收發(fā)器來(lái)驅動(dòng)總線(xiàn)。為了擴展終端連接設備的數量,本設計增加了RS-485接口。DSP與RS-485串口的連接使用MAXIM公司的MAX3140UART通信芯片來(lái)完成。
3 嵌入式TCP/IP協(xié)議設計
3.1總體數據流設計
嵌入式TCP/IP的總體數據流圖如圖4所示。

圖4 嵌入式TCP/IP的總體數據流圖
應用程序通過(guò)Socket應用編程接口使用TCP/IP協(xié)議棧提供的數據通訊功能[3]。發(fā)送數據時(shí),如果選擇的是面向連接的TCP協(xié)議,則應用程序將用戶(hù)數據交給TCP協(xié)議模塊處理,TCP模塊將其首部和數據封裝成TCP報文段;如果選擇的是無(wú)連接的UDP協(xié)議,則將用戶(hù)數據交給UDP協(xié)議模塊處理,UDP模塊將其首部和數據封裝成UDP數據報。然后將封裝好的TCP報文段或UDP數據報交給IP協(xié)議模塊,IP模塊在TCP報文段或UDP數據報上添加IP首部,并封裝成IP數據包,然后根據路由表為IP數據包確定路由;找到了路由則將數據包發(fā)送到網(wǎng)絡(luò )接口層,網(wǎng)絡(luò )接口層判斷發(fā)送的數據是從以太網(wǎng)接口還是從異步串口發(fā)出,如果是從以太網(wǎng)接口發(fā)出,則要利用ARP協(xié)議找到目的IP地址對應的物理地址,然后封裝成以太網(wǎng)幀,由網(wǎng)卡驅動(dòng)程序將以太網(wǎng)幀發(fā)送出去。
3.2 總體數據結構
TCP通過(guò)一個(gè)數據結構為每個(gè)TCP連接協(xié)調發(fā)送、接收和重發(fā)動(dòng)作,該數據結構稱(chēng)作TCP傳輸控制塊TCB。TCP為每個(gè)活躍的連接保留一個(gè)TCB,TCB中包含了有關(guān)TCP連接的所有信息,包括連接端點(diǎn)的地址和端口號,當前平均往返時(shí)間的估計值,發(fā)送或接收的數據,是否需要確認或重傳,以及一組有關(guān)該連接的使用情況的統計數據,所以TCB較大,本設計對TCB進(jìn)行了簡(jiǎn)化,只保留了用于控制面向連接的數據收發(fā)所必需的基本信息。
用于UDP協(xié)議的數據收發(fā)控制塊UTCB包含了UDP端結點(diǎn)的所有信息:外部和本地IP地址、外部和本地端口號以及其它控制信息。UTCB的使用及分配與TCB完全一樣,只是因為UDP不需要建立連接,所以只要有數據進(jìn)行發(fā)送,則立即分配UTCB,一旦數據發(fā)送完成,則釋放該UTCB。
4 嵌入式控制器軟件設計
根據系統的控制要求和編程的需要,將系統軟件的模塊劃分如下部分,共分六個(gè)模塊,分別是主控模塊、初始化模塊、協(xié)議封裝模塊、協(xié)議拆包重組模塊、網(wǎng)絡(luò )接口模塊和應用層應用模塊。圖5分別是各模塊之間的邏輯關(guān)系。

圖5軟件系統模塊之間的關(guān)系
(1)主控模塊設計。主控模塊中通常包含一些變量的定義和函數的調用。另外一些重要的I/O端口定義也放在主控函數中。在主控模塊中定義了延時(shí)信號函數、端口設置函數、同步串口設置函數、中斷服務(wù)函數等。系統工作時(shí)程序從主控模塊的main()函數開(kāi)始運行,首先是調用DSP及RTL8019AS的初始化程序,完成初始化之后,主程序以一個(gè)無(wú)條件循環(huán)進(jìn)入工作狀態(tài)。
(2)初始化模塊設計。系統軟件在運行的時(shí)候首先要調用初始化程序,對系統的各資源進(jìn)行初始化,然后才能正常工作。初始化模塊包括了四個(gè)初始化函數,分別是net_init()、dsp5402_init()、interrupt_init()、nic_atl_init()。
(3)協(xié)議封裝模塊設計。協(xié)議封裝部分的作用是將數據進(jìn)行分組,并以不同的協(xié)議打包封裝使其成為符合TCP/IP協(xié)議規范的分組數據。在設計中,對于不同協(xié)議的封裝,分別由不同的函數實(shí)現。在本系統中,監控終端系統需要對位于網(wǎng)絡(luò )層的IP協(xié)議、位于傳輸層的TCP協(xié)議進(jìn)行封裝。封裝順序是先傳輸層協(xié)議TCP封裝,后網(wǎng)絡(luò )層協(xié)議IP封裝。之后傳入網(wǎng)絡(luò )接口模塊發(fā)送出去。
(4)協(xié)議拆包重組模塊設計。本模塊的工作過(guò)程是這樣的,數據從以太網(wǎng)上被接收下來(lái)之后,首先會(huì )放在網(wǎng)卡芯片的片上內存當中,由DSP即網(wǎng)絡(luò )接口模塊將其讀入后進(jìn)行協(xié)議分解,根據協(xié)議的內容進(jìn)行相應處理,如果是UDP封裝的數據則將其放入系統的接收緩沖區當中。由DSP根據協(xié)議中序列號字段的值對數據包進(jìn)行重新分組排隊,最后將數據拆包、合并,形成連續的數據流后,傳送到應用層進(jìn)行進(jìn)一步處理。
5 小結
本文詳細闡明了嵌入式控制器的硬件和軟件的設計和實(shí)現過(guò)程,包括微處理器系統硬件設計和實(shí)現、和智能儀表的接口模塊實(shí)現、TCP/IP協(xié)議分析和實(shí)現等。嵌入式遠程監控系統的成功實(shí)現將有很大的實(shí)用價(jià)值和很好的應用前景。它不僅僅應用在工業(yè)控制方面,而且它還將會(huì )在氣象、環(huán)境監測、智能家居等領(lǐng)域得到廣泛的應用。在以后的開(kāi)發(fā)過(guò)程中,還可以提出比較標準化的應用層通信協(xié)議,以實(shí)現多家產(chǎn)品的兼容通信。還可以嘗試將多個(gè)單系統連接在一塊,來(lái)進(jìn)行協(xié)調工作,真正實(shí)現監控系統的遠程化和網(wǎng)絡(luò )化。
本文作者創(chuàng )新點(diǎn)
本系統采用了16位定點(diǎn)高速DSP微處理器(其程序易于移植到同類(lèi)32位微處理器芯片上),其運行速度可達100MIPS性能較早前流行的8位微處理器有明顯的提高。方案設計的本身就也是一種創(chuàng )新,通過(guò)采用較優(yōu)技術(shù)和高性能的硬件,組合出了高性能的監控系統。借用了計算機的模塊化(包括軟件和硬件)設計思想,使系統可以根據需要進(jìn)行重新組合。
參考文獻:
[1] 康軍,戴冠中.基于Internet的工業(yè)以太網(wǎng)遠程監控系統設計[J].控制工程,2004.7: 16-20
[2] 楊克儉,趙巍,龐慧等. 嵌入式系統產(chǎn)品接入Internet的技術(shù)研究[J]. 微計算機信息, 2006, 1-2: 43-44、65
[3] 李鳳保.網(wǎng)絡(luò )化測控系統技術(shù)[M]. 四川大學(xué)出版社,2004.5
[4] 董小國,王蓉. 基于Web的中水遠程監控系統的設計與實(shí)現[J]. 微計算機信息, 2006, 12-1: 86-88
tcp/ip相關(guān)文章:tcp/ip是什么
評論