基于SOPC技術的遠程測控系統設計方案
3 遠程測控系統的實現
3.1 系統初始化
系統初始化是指系統上電復位后到運行main()函數前,初始化硬件,構建應用程序運行環境的過程。如圖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()"負責進行網絡監聽,響應終端的TCP連接請求。若同時要求能與多個終端建立TCP連接和傳輸數據,需要為每個終端的網絡數據處理都開辟一個新的線程,主函數的流程如圖4所示。
服務器為每個客戶端都開一個線程專門與之進行socket通信。Socket數據處理線程主要包括三個方面工作:從套接字上接收數據包;解析并存儲數據包;打包并發送數據包等。
3.3 遠程測控實驗
為驗證設計方案,選用瑞士SENSIRION公司生產的傳感器SHT75,測控溫、濕度,該一體化數字式傳感器將敏感元件、信號放大器、模數轉換器、數字接口電路集成在同一芯片上,使用I2C IP核可以方便地和處理器連接。實驗結果表明,該設計切實可行。
4 結束語
本設計基于SOPC和嵌入式系統技術,實現了遠程測控的要求。此設計可應用于各種惡劣環境,稍加改進,也可適用于網絡信息家電、家庭安全等方面。隨著芯片技術和總線技術的發展,嵌入式遠程網絡化測控在工業中的應用定會更加廣泛。
評論