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