基于SOPC技術的遠程測控系統(tǒng)設計
μC/OS-II是一種可移植、可固化、占先式多任務實時操作系統(tǒng)內核。其規(guī)模較小、實時性和可靠性較高,Nios II集成開發(fā)環(huán)境(IDE)對μ C/OS-II具有良好的支持,故μC/OS-II是嵌入式操作系統(tǒng)的首選。它通過為每個任務分配單獨的任務堆棧來保存任務工作環(huán)境,提供任務管理和調度服務。
輕量級網絡協(xié)議(Lightweight IP,LWIP)是TCP/IP協(xié)議棧的一種實現,它是一種專門針對嵌入式系統(tǒng)應用而設計的網絡通信協(xié)議,由于LWIP實現的關鍵在于削減代碼大小和內存消耗,但可以完成傳統(tǒng)的TCP/IP協(xié)議的大部分功能,通常只需要大約40K的ROM和幾十K的RAM即可運行,在網絡協(xié)議棧初始化后,使用標準套接字API創(chuàng)建新任務訪問網絡協(xié)議棧。
2.2 通信服務器
本任務通過sys_thread_new()函數創(chuàng)建,作為服務器監(jiān)聽約定的端口,等待遠程主機的連接,提取遠程主機的命令,通過消息隊列將所獲得的命令發(fā)送到測控任務。LWIP提供了標準的Berkeley套接字編程界面,這個界面提供了三種類型,這里使用了流式套接字,這是一個面向連接、可靠的數據傳輸服務,數據無差錯、無重復地發(fā)送,按發(fā)送順序接收。通常服務器接收到并發(fā)服務請求后,要激活一個新進程來處理這個客戶請求。本文引用地址:http://m.butianyuan.cn/article/195758.htm
3 遠程測控系統(tǒng)的實現
3.1 系統(tǒng)初始化
系統(tǒng)初始化是指系統(tǒng)上電復位后到運行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()函數初始化系統(tǒng)設備及軟件模塊等,然后調用main()函數。
3.2 主函數main()
主函數main()負責進行網絡監(jiān)聽,響應終端的TCP連接請求。若同時要求能與多個終端建立TCP連接和傳輸數據,需要為每個終端的網絡數據處理都開辟一個新的線程,主函數的流程如圖4所示。
服務器為每個客戶端都開一個線程專門與之進行socket通信。Socket數據處理線程主要包括三個方面工作:從套接字上接收數據包;解析并存儲數據包;打包并發(fā)送數據包等。
3.3 遠程測控實驗
為驗證設計方案,選用瑞士SENSIRION公司生產的傳感器SHT75,測控溫、濕度,該一體化數字式傳感器將敏感元件、信號放大器、模數轉換器、數字接口電路集成在同一芯片上,使用I2C IP核可以方便地和處理器連接。實驗結果表明,該設計切實可行。
4 結束語
本設計基于SOPC和嵌入式系統(tǒng)技術,實現了遠程測控的要求。此設計可應用于各種惡劣環(huán)境,稍加改進,也可適用于網絡信息家電、家庭安全等方面。隨著芯片技術和總線技術的發(fā)展,嵌入式遠程網絡化測控在工業(yè)中的應用定會更加廣泛。
tcp/ip相關文章:tcp/ip是什么
評論