當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于SOPC技術(shù)的遠程測控系統(tǒng)設(shè)計

0 引言
   
在高溫、高壓、強放射性等惡劣環(huán)境下,由于測量者不能長期置身其中,使得測控非常困難。在Nios II軟核CPU上移植μ c/OS-II實時操作系統(tǒng)和TCP/IP協(xié)議棧,容易實現(xiàn)網(wǎng)絡(luò)通信,為遠程測控提供了條件。以此為基礎(chǔ)設(shè)計的嵌入式系統(tǒng)具有結(jié)構(gòu)小巧、實時性強、穩(wěn)定性高等特點,在工業(yè)測控領(lǐng)域中應(yīng)用前景廣泛。

1 遠程測控系統(tǒng)的硬件架構(gòu)
   
遠程測控系統(tǒng)的硬件架構(gòu)如圖1所示。從圖中可以看出,Nios II軟核CPU及各種所需的外設(shè)IP均通過SOPCBui lder集成在一片F(xiàn)PGA中,構(gòu)成本系統(tǒng)所需硬件的可重構(gòu)部分,實現(xiàn)真正的可編程片上系統(tǒng)(SOPC)。
1.1 I P核設(shè)計
    為了在低成本情況下完成預(yù)定功能,選擇了Cyclone FPGA系列器件中的EP1C6。EP1C6無論從邏輯資源還是存儲器均能滿足設(shè)計要求。在本系統(tǒng)中,我們設(shè)計或選用了如下主要的IP核。
    1.1.1 UART帶Avalon接口的通用異步接收器/發(fā)送器。UART內(nèi)核執(zhí)行RS-232協(xié)議,它為FPGA上的嵌入式系統(tǒng)和外部設(shè)備提供了串行字符流的通信方式。帶Avalon接口的JTAG-UART內(nèi)核還提供Nios CPU系統(tǒng)到PC機的連接通路,通過JTAG-UART在PC機上調(diào)試NiosCPU所需要的程序,并通過監(jiān)控程序?qū)φ麄€系統(tǒng)的運行進行控制。
    1.1.2 GPIO。并行輸入/輸出內(nèi)核。它提供Avalon從控制器端口到通用I/O口間的映射接口。該IP核是常規(guī)的外設(shè)控制接口。通過GPIO,對內(nèi)控制SOPC系統(tǒng)中的其他部分,對外充當并行I/O接口,讀取開關(guān)量,對LED、LCD等外設(shè)進行控制。
    1.1.3 SDRAM 該IP核是外部存儲器SDRAM的控制接口。通過它完成SDRAM的時序控制。軟件設(shè)計中, SDRAM的時序控制對用戶是完全透明的。
    1.1.4 EPCS。帶Avalon接口的EPCS設(shè)備控制器內(nèi)核。該IP核允許Nios II系統(tǒng)訪問EPCS串行配置芯片,該芯片主要用于存儲程序代碼或一些非易失性數(shù)據(jù)。

    1.1.5三態(tài)總線橋。該IP核是Avalon和Avalon-TriBUS總線以及Avalon和Wishbone總線的橋接控制器,用于連接兩種不同總線。考慮有些外設(shè)需要自行開發(fā)I2CIP核,這些外設(shè)不能直接連到Avalon總線上,需要通過橋接控制器。
1.2 檢測和執(zhí)行模塊
   
由于遠程測控系統(tǒng)設(shè)計的目的不同,該模塊選用的IP核也不完全相同。SOPC Builder自帶的IP庫中并不包含I2C配置接口模塊,該模塊需要根據(jù)配制芯片的寄存器特點和功能進行專門設(shè)計,并以I2C核的形式通過SOPCBuilder連接到系統(tǒng)的Avalon總線上。
1.3 傳輸接口模塊
   
本系統(tǒng)有三種數(shù)據(jù)傳輸方式:串口、USB接口和以太網(wǎng)接口。串口、USB接口通過UART接Avalon總線。以太網(wǎng)接口芯片選用了SMSC公司的LAN91c11 1芯片,該芯片內(nèi)部集成了以太網(wǎng)介質(zhì)訪問(MAC)及物理層收發(fā)器(PHY),支持10/1OOM全雙工傳輸模式、自動協(xié)商等功能。LAN91C111芯片通過FPGA內(nèi)的適配器模塊連接到EP1C6內(nèi)部的Avalon總線上,從而實現(xiàn)系統(tǒng)接入Internet。

2 遠程測控系統(tǒng)的軟件體系
   
本系統(tǒng)有兩大功能:數(shù)據(jù)的遠程采集及傳送??紤]到使用互聯(lián)網(wǎng)進行遠程數(shù)據(jù)傳輸?shù)膹?fù)雜性,在設(shè)計中使用嵌入式操作系統(tǒng)和TCP/IP協(xié)議棧是必然選擇。
    軟件系統(tǒng)體系結(jié)構(gòu)如圖2所示。主要包括嵌入式操作系統(tǒng)的移植;網(wǎng)絡(luò)協(xié)議棧的實現(xiàn);應(yīng)用級代碼編寫等部分。為了方便用戶編程,Nios II IDE提供了設(shè)備驅(qū)動程序,即硬件抽象層(HAL)系統(tǒng)庫。HAL應(yīng)用程序接口(API)與ANSI C標準庫綜合在一起,可以使用類似C語言的庫函數(shù)來訪問硬件設(shè)備或文件,如printf()、fopen()等,而無須關(guān)心底層硬件的實現(xiàn)細節(jié)。

[!--empirenews.page--]2.1 移植μC/OS-II和LWIP
    μC/OS-II是一種可移植、可固化、占先式多任務(wù)實時操作系統(tǒng)內(nèi)核。其規(guī)模較小、實時性和可靠性較高,Nios II集成開發(fā)環(huán)境(IDE)對μ C/OS-II具有良好的支持,故μC/OS-II是嵌入式操作系統(tǒng)的首選。它通過為每個任務(wù)分配單獨的任務(wù)堆棧來保存任務(wù)工作環(huán)境,提供任務(wù)管理和調(diào)度服務(wù)。
    輕量級網(wǎng)絡(luò)協(xié)議(Lightweight IP,LWIP)是TCP/IP協(xié)議棧的一種實現(xiàn),它是一種專門針對嵌入式系統(tǒng)應(yīng)用而設(shè)計的網(wǎng)絡(luò)通信協(xié)議,由于LWIP實現(xiàn)的關(guān)鍵在于削減代碼大小和內(nèi)存消耗,但可以完成傳統(tǒng)的TCP/IP協(xié)議的大部分功能,通常只需要大約40K的ROM和幾十K的RAM即可運行,在網(wǎng)絡(luò)協(xié)議棧初始化后,使用標準套接字API創(chuàng)建新任務(wù)訪問網(wǎng)絡(luò)協(xié)議棧。
2.2 通信服務(wù)器
   
本任務(wù)通過sys_thread_new()函數(shù)創(chuàng)建,作為服務(wù)器監(jiān)聽約定的端口,等待遠程主機的連接,提取遠程主機的命令,通過消息隊列將所獲得的命令發(fā)送到測控任務(wù)。LWIP提供了標準的Berkeley套接字編程界面,這個界面提供了三種類型,這里使用了流式套接字,這是一個面向連接、可靠的數(shù)據(jù)傳輸服務(wù),數(shù)據(jù)無差錯、無重復(fù)地發(fā)送,按發(fā)送順序接收。通常服務(wù)器接收到并發(fā)服務(wù)請求后,要激活一個新進程來處理這個客戶請求。


3 遠程測控系統(tǒng)的實現(xiàn)
3.1 系統(tǒng)初始化
   
系統(tǒng)初始化是指系統(tǒng)上電復(fù)位后到運行main()函數(shù)前,初始化硬件,構(gòu)建應(yīng)用程序運行環(huán)境的過程。如圖3所示,Nios II的HAL程序庫為用戶提供了這段代碼,代碼的入口標號是"reset"。
    程序先對CPU進行初始化,其功能包括初始化指令和數(shù)據(jù)Cache,設(shè)置堆棧指針(stack Pointer)等,然后調(diào)用"alt main()"函數(shù)。
    alt main()函數(shù)對CPU及外設(shè)初始化,其功能包括調(diào)用alt os int()函數(shù)初始化OS,默認情況下完成對μC/OS-II初始化,調(diào)用alt_sys_int()函數(shù)初始化系統(tǒng)設(shè)備及軟件模塊等,然后調(diào)用"main()"函數(shù)。
3.2 主函數(shù)main()
   
主函數(shù)"main()"負責進行網(wǎng)絡(luò)監(jiān)聽,響應(yīng)終端的TCP連接請求。若同時要求能與多個終端建立TCP連接和傳輸數(shù)據(jù),需要為每個終端的網(wǎng)絡(luò)數(shù)據(jù)處理都開辟一個新的線程,主函數(shù)的流程如圖4所示。

    服務(wù)器為每個客戶端都開一個線程專門與之進行socket通信。Socket數(shù)據(jù)處理線程主要包括三個方面工作:從套接字上接收數(shù)據(jù)包;解析并存儲數(shù)據(jù)包;打包并發(fā)送數(shù)據(jù)包等。
3.3 遠程測控實驗
   
為驗證設(shè)計方案,選用瑞士SENSIRION公司生產(chǎn)的傳感器SHT75,測控溫、濕度,該一體化數(shù)字式傳感器將敏感元件、信號放大器、模數(shù)轉(zhuǎn)換器、數(shù)字接口電路集成在同一芯片上,使用I2C IP核可以方便地和處理器連接。實驗結(jié)果表明,該設(shè)計切實可行。

4 結(jié)束語
   
本設(shè)計基于SOPC和嵌入式系統(tǒng)技術(shù),實現(xiàn)了遠程測控的要求。此設(shè)計可應(yīng)用于各種惡劣環(huán)境,稍加改進,也可適用于網(wǎng)絡(luò)信息家電、家庭安全等方面。隨著芯片技術(shù)和總線技術(shù)的發(fā)展,嵌入式遠程網(wǎng)絡(luò)化測控在工業(yè)中的應(yīng)用定會更加廣泛。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉