1、引言 在如今的信息時代,由于人們對系統性能和成本控制要求的不斷提高,嵌入式系統憑其優良的性價比和獨特的便利性得到了越來越多的人們的青睞。無線電臺已經由傳統的模擬式向數字化演進,由孤立系統向網絡互聯邁進。網絡技術的快速發展極大地推動了嵌入式系統的發展。 隨著無線電臺技術的飛速發展,越來越多的行業開始使用無線電臺,因為用無線電臺方式實現數據采集、監視與控制,相對于架設專用的電纜或光纜,具有造價低廉、運行可靠、維護方便等優點。無線電臺的使用從最早的按鍵電碼、電報發展到模擬電臺加無線MODEM、數字電臺和DSP及軟件無線電。數據傳輸速率從低速走到高速,傳輸的信號從簡單代碼發展到遙控遙測數據、數字化語音、動態圖像等。無線電臺因其高穩定性和高可靠性適用于各類無線數據采集與監視控制系統,尤其是應用在輸油供氣管網監測、城市防空報警控制、鐵路信號監控、電力負荷監控、城市路燈監控、鐵路供水集中控制、GPS定位系統、地震測報、污水處理、環境監測等工業自動化系統。 2、系統概述 本文把嵌入式技術與無線電臺通信技術相結合,研究出一種新型的嵌入式網絡控制器。控制器內的電路板是以arm9嵌入式微處理器為核心,對外提供多個接口,包括3個串口,小型的系統總線接口,以及非常豐富的常用嵌入式系統接口,如SPI x 1、I2C x 1、I2S x 1、AD x 2、PWM x 1 、USB Host、 USB Slave接口等,有了這些接口,我們可以根據需求拓展嵌入式網絡控制器的功能。在本系統中我們主要使用3個串口及以太網口。 該無線電臺網絡控制器設計的主要原理是:電臺接收對講機發出的語音信號并通過音頻電纜輸出到網絡控制器終端。控制器內的語音編解碼芯片負責把模擬的語音信號轉換成數字信號,控制器內的軟件負責壓縮音頻數據,壓縮后的語音數據包通過互聯網發送到服務器,服務器軟件根據一定的規則轉發數據包到其它網絡控制器終端。收到語音壓縮碼流的控制器負責解碼、D/A轉換,通過音頻電纜把語音信號輸入到電臺,最后無線電臺通過內部的發射模塊將語音信號發送到對講機。這個過程實現了語音數據跨互聯網傳輸,用戶通過PC或其他網絡設備將控制指令發送到控制器終端。終端內的軟件負責解釋指令并且通過串口將指令傳送給電臺。電臺再下達指令給各個被控制的設備,從而實現了對電臺及相關設備的遠程控制。 3、硬件設計 在分析了無線電臺網絡控制器工作原理的基礎上,我們對系統的子模塊和任務進行了整體設計。整個系統可以分成兩個相對獨立的部分來完成:無線電臺網絡控制器終端和服務器軟件。控制器1將編碼后的g72x碼流發送到服務器,服務器根據路由表信息,將數據轉發到控制器2、控制器3、控制器4…控制器n,控制器與服務器之間采用TCP或UDP協議。無線電臺網絡控制器結構示意圖如圖1所示。 硬件設計除了核心板的選型外,主要是外部電路的設計。我們選擇了性價比比較好的SBC-2410核心板。外圍電路的設計主要包括音頻信號采集模塊、網絡數據收發模塊、串口控制電路等,其中音頻信號采集電路我們選的是uda1341語音編解碼芯片,網絡控制器芯片我們采用的是cs8900芯片。 3.1 嵌入式核心板簡介 SBC-2410具有高性能、低功耗、接口豐富和體積小等優良特性,并且已經應用在多個設計中,基于可重用的思想,整個平臺承載ARM最精簡系統,把有用的信號線通過兩排插針引出去。無線電臺網絡控制器終端的具體應用按照實際的需求進行設計,通過兩排插座與核心板相連。 圖1 無線電臺網絡控制器結構圖 3.2 語音芯片接口電路 由于S3C2410內置的IIS總線接口能夠和其他廠商提供的多媒體編解碼芯片配合使用,所以無線電臺網絡控制器終端內部語音模塊的設計是基于IIS(Integrate Interface of Sound)接口的。提供IIS接口能夠讀取IIS總線上面的數據,同時也為FIFO(First Input First Output)數據提供DMA(Direct Memory Access)的傳輸模式,這樣能夠同時傳送和接收數據。IIS接口有3種工作方式,分別是正常傳輸模式、DMA模式和傳輸/接受模式,在本文的設計中,我們選擇了傳輸/接受模式,在這種模式下,IIS總線可以同時接收和發送音頻數據。 3.3 網絡芯片接口電路 S3C2410內嵌一個以太網控制器,可以在半雙工或全雙工模式下提供10M/100Mbps的以太網接入,支持媒體獨立接口MII(Media Independent Interface) 和帶緩沖DMA接口。由于S3C2410內部并未提供物理層接口,所以我們需要外接一塊物理層芯片以提供以太網的接入通道。而常用的單口10M/100Mbps高速以太網接口器件均提供MII接口和傳統的網絡接口,所以可以方便地與ARM連接。 在無線電臺網絡控制器終端,我們采用cs8900作為以太網物理層接口。它的基本工作原理如下:在收到主機發來的數據報后,偵聽網絡線路是否忙。如果線路忙,它就等到線路空閑為止,否則,立即發送該數據幀。在發送過程中,首先添加以太網幀頭,然后生成CRC校驗碼,最后將此數據幀發送到以太網上。在接受過程中,它將從以太網收到的數據經過解碼、去幀頭和地址檢驗等步驟,然后保存在片內。在通過CRC校驗后,它會根據初始化配置情況,通知cs8900收到了數據幀,最后,用某種傳輸模式傳到ARM的存儲區中。 cs8900有三種工作模式:I/O模式、存儲器模式和直接存儲器存儲模式,系統默認為I/O模式,可通過程序使其工作于其它模式。cs8900的各個工作模式各有優缺點,在本系統的設計中,我們采用的是它的I/O模式。 網卡芯片不能單獨工作,還必須有一個網絡變壓器在RJ-45接口和網絡芯片中間進行電平交換。另外網卡芯片有兩個LED指示是用于指示接收和發送狀態的,如果網絡連接正常并且正常收發數據報時,LED會閃爍。 4、軟件設計 在本系統的軟件設計中,主要包括無線電臺網絡控制器終端應用程序設計及服務器軟件設計。 4.1 無線電臺網絡控制器終端應用程序設計 無線電臺網絡控制器終端應用軟件整體結構圖如圖2所示。應用軟件結構圖顯示了系統程序設計主要由四個模塊組成,分別是語音及串口數據處理模塊、工作參數設置及讀取模塊、出廠值還原模塊、服務器中轉及管理模塊。其中前三個模塊運行于嵌入式開發板,最后一個模塊運行于windows 平臺。四個模塊中,語音及串口數據處理模塊是功能相對復雜的模塊,劃分為兩個相對獨立的模塊:語音數據處理模塊和串口數據處理模塊,其中語音數據處理模塊又由3個子模塊構成,分別是讀鍵值、讀網絡命令和語音數據流處理。工作參數的設置主要是對寫配置文件和讀配置文件的設置。 4.2 服務器軟件設計 服務器監控及控制模塊的程序設計中,我們主要使用兩個定時器。定時器1每隔2秒產生一個超時事件,服務器每隔2秒向集群發送一次查詢數據包,控制器收到查詢數據包后,會產生一個應答包,這個應答包中的信息反映了控制器當前的狀態。 5、系統運行截面圖 系統的調試過程中,我們用了2個無線電臺及服務器進行測試。服務器運行界面截圖如圖3所示。我們設置2個無線電臺網絡控制器終端的IP地址分別是192.168.0.8和192.168.0.18。按下對講機的PPT按鍵時,指示燈由綠燈變成藍燈,表明服務器進入轉發狀態。如果想隔離某個控制器,不讓其接受或轉發信號,則在遠程控制的框中,輸入對應的IP地址,然后選擇關閉,則可以對其進行隔離, 圖4 遠程串口成功控制kiss modem軟件截圖 與其相對應的指示燈呈紅色。若想關閉或打開所有的控制器,則按遠程控制框中相應的按鈕即可實現。 kiss modem軟件是摩托羅拉電臺的專用管理軟件,該軟件通過串口與電臺通信,通過讀取電臺的數據就可以知道電臺當前的工作狀態然后通過窗口顯示相關信息。我們通過遠程串口對電臺下達指令,kiss modem會對指令做出響應,如圖4所示。當我們把對講機的信道切換按鈕撥到1時,對講機發出一個信號給電臺,電臺通過串口把信號傳輸給控制器,kiss modem軟件把數據通過網絡轉發出去,另一個控制器經過網口轉串口的數據傳輸,從而電臺ID會顯示1001,以此類推,目前最多可以設置14個電臺6 結束語。 實踐證明,本文所設計的電臺網絡控制器已經實現了基本的功能,調試結果證明硬件設計方案完全滿足產品的功能需求,軟件設計采用功能優異的嵌入式Linux操作系統方便了今后軟件的升級。整個系統造價低廉、運行可靠、易于施工和維護,在遠程數據監控系統中有較大的推廣價值。 |