《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于SOPC技術的遠程測控系統設計
基于SOPC技術的遠程測控系統設計
丁曉貴 江晉劍
摘要: 在高溫、高壓、強放射性等惡劣環(huán)境下,由于測量者不能長期置身其中,使得測控非常困難。在Nios II軟核CPU上移植μ c/OS-II實時操作系統和TCP/IP協議棧,容易實現網絡通信,為遠程測控提供了條件。以此為基礎設計的嵌入式系統具有結構小巧、實時性強、穩(wěn)定性高等特點,在工業(yè)測控領域中應用前景廣泛。
關鍵詞: 自動測試系統 SoPC
Abstract:
Key words :

 

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

1 遠程測控系統的硬件架構

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

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

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

2.1 移植μC/OS-II和LWIP
    μC/OS-II是一種可移植、可固化、占先式多任務實時操作系統內核。其規(guī)模較小、實時性和可靠性較高,Nios II集成開發(fā)環(huán)境(IDE)對μ C/OS-II具有良好的支持,故μC/OS-II是嵌入式操作系統的首選。它通過為每個任務分配單獨的任務堆棧來保存任務工作環(huán)境,提供任務管理和調度服務。
    輕量級網絡協議(Lightweight IP,LWIP)是TCP/IP協議棧的一種實現,它是一種專門針對嵌入式系統應用而設計的網絡通信協議,由于LWIP實現的關鍵在于削減代碼大小和內存消耗,但可以完成傳統的TCP/IP協議的大部分功能,通常只需要大約40K的ROM和幾十K的RAM即可運行,在網絡協議棧初始化后,使用標準套接字API創(chuàng)建新任務訪問網絡協議棧。

2.2 通信服務器
    本任務通過sys_thread_new()函數創(chuàng)建,作為服務器監(jiān)聽約定的端口,等待遠程主機的連接,提取遠程主機的命令,通過消息隊列將所獲得的命令發(fā)送到測控任務。LWIP提供了標準的Berkeley套接字編程界面,這個界面提供了三種類型,這里使用了流式套接字,這是一個面向連接、可靠的數據傳輸服務,數據無差錯、無重復地發(fā)送,按發(fā)送順序接收。通常服務器接收到并發(fā)服務請求后,要激活一個新進程來處理這個客戶請求。

 


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

    服務器為每個客戶端都開一個線程專門與之進行socket通信。Socket數據處理線程主要包括三個方面工作:從套接字上接收數據包;解析并存儲數據包;打包并發(fā)送數據包等。

3.3 遠程測控實驗
    為驗證設計方案,選用瑞士SENSIRION公司生產的傳感器SHT75,測控溫、濕度,該一體化數字式傳感器將敏感元件、信號放大器、模數轉換器、數字接口電路集成在同一芯片上,使用I2C IP核可以方便地和處理器連接。實驗結果表明,該設計切實可行。

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

 

 

 


 

 

 

此內容為AET網站原創(chuàng),未經授權禁止轉載。
主站蜘蛛池模板: 亚洲国产影视 | 最近中文字幕高清视频2019 | 亚洲伊人久久大香线蕉苏妲己 | 手机在线免费毛片 | 亚洲另类自拍丝袜第1页 | 性a视频| 超级乱淫视频播放日韩 | 黄色免费的网站 | 清风阁我爱干视频 | 国产精品日本一区二区在线看 | 欧美成人免费一级人片 | 亚洲欧美日韩在线不卡 | 中国妞xxxx| 亚洲午夜精品一区二区 | 国产成人精品18 | 精品国产麻豆免费网站 | 天天操天天摸天天碰 | 成人观看视频又黄又免费 | 小明永久免费大陆在线观看 | 国产午夜久久精品 | 黄色片中文 | 国产a∨一区二区三区香蕉小说 | 香蕉草草久在视频在线播放 | 亚洲国产日韩欧美在线as乱码 | 国产乱理伦片在线看 | 免费一级欧美大片视频在线 | 国产精品亚洲片在线观看麻豆 | 中文字幕精品在线观看 | 亚洲 日本 欧美 日韩精品 | 日韩 欧美 亚洲 国产 | 一级毛片在线观看免费 | 一区在线观看 | 久久免费视频观看 | 国产亚洲精品激情都市 | 欧美成人午夜视频在线观看 | 欧美xx片 | 亚洲午夜18 | 午夜看片网址 | 国产精品 日韩 | 两个人免费视频www 两个人看的www中文字幕 | 日韩大片在线观看 |