• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    單網絡節(jié)點在WinCE系統(tǒng)下的程序設計

    2013-01-13 07:48:54中國船舶重工集團公司第七一研究所
    電子世界 2013年11期
    關鍵詞:驅動程序采集器調用

    中國船舶重工集團公司第七一〇研究所 覃 昉

    單網絡節(jié)點在WinCE系統(tǒng)下的程序設計

    中國船舶重工集團公司第七一〇研究所 覃 昉

    介紹了在WinCE系統(tǒng)環(huán)境下,通過編程實現(xiàn)ARM平臺與其他設備的通信。針對需要的WinCE系統(tǒng)內核定制,研究了WinCE系統(tǒng)下網口通信的實現(xiàn),探討了WinCE系統(tǒng)下SD的數(shù)據(jù)存取和四通道AD采集的驅動和應用。

    網絡節(jié)點;wince;數(shù)據(jù)通信

    1.單網絡節(jié)點系統(tǒng)

    所謂節(jié)點簡單而言就是指的具有收發(fā)數(shù)據(jù)功能的電腦或其他設備。一個好的節(jié)點既需要選擇好的硬件的支持,也需要選擇適合的軟件控制[1],本文選擇S3C6410的Arm11芯片作為節(jié)點CPU,選擇Windows CE 6.0作為運行在ARM上的嵌入式操作系統(tǒng),通過網口,串口,SD卡完成相應的數(shù)據(jù)通信功能。本文研究的節(jié)點硬件結構框圖如圖1所示。

    2.WinCE下網口數(shù)據(jù)傳輸程序設計

    2.1 網口服務器程序設計

    在利用套接字進行網絡通信的實際應用中,一般采用的是服務器/客戶端[2]的模式,在本文的設計中,既研究了以PC機作為服務器端,以ARM作為客戶端,又研究了以ARM作為服務器端,以PC機作為客戶端。本文服務器設計的基本流程為:利用函數(shù)socket()創(chuàng)建一個套接字,然后利用函數(shù)bind()將該套接字與本地(PC機)的IP地址和端口號綁定,接著利用函數(shù)listen()使該套接字處于監(jiān)聽狀態(tài),然后當?shù)却娇蛻舳说倪B接信號后,利用函數(shù)accept()與客戶端連接,最后利用函數(shù)send()和函數(shù)recv()進行通信工作。當結束通信后,再利用函數(shù)closesocket()將套接字關閉。

    2.2 本文的服務器端程序設計思想

    本文的服務器端程序設計思想如圖2所示。

    3.WinCE下AD數(shù)據(jù)采集程序設計

    3.1 ARM板AD采集器驅動程序設計

    流接口驅動就是通過調用動態(tài)連接庫的方式來加載硬件的功能,它由設備管理器直接調用。WinCE系統(tǒng)下的流接口驅動編寫,有著固定的接口入口點,其接口點是一系列的類似于XXX_Open()結構的函數(shù)集。由這些函數(shù)集來調用系統(tǒng)的文件API函數(shù)和相應的組件。本文設計的是AD采集器的流接口驅動,接口入口點(即函數(shù)集)和用途如下所描述:

    (1)函數(shù)ADC_Init(),該函數(shù)用于初始化AD采集器設備,為系統(tǒng)的設備管理器所調用。

    (2)函數(shù)ADC_Denit(),該函數(shù)用于卸載AD采集器設備,為系統(tǒng)的設備管理器所調用。

    (3)函數(shù)ADC_Open(),該函數(shù)用于打開AD采集器設備,被系統(tǒng)的文件API函數(shù)CreateFile()調用。

    (4)函數(shù)ADC_Close(),該函數(shù)用于關閉AD采集器設備,被系統(tǒng)的文件API函數(shù)CloseHandle()調用。

    (5)函數(shù)ADC_Read(),該函數(shù)用于從AD采集器讀取數(shù)據(jù),被系統(tǒng)的文件API函數(shù)ReadFile()調用。

    (6)函數(shù)ADC_Write(),該函數(shù)用于向AD采集器寫入數(shù)據(jù),被系統(tǒng)的文件API函數(shù)WriteFile()調用。

    (7)函數(shù)ADC_IOControl(),該函數(shù)用于對AD采集器進行I/O操作,被系統(tǒng)的文件API函數(shù)DeviceIOControl()調用。

    需要提出來的是本文研究的AD采集器不涉及到電源管理和設備指針的操作。而需要用到這兩個方面操作的流接口設備驅動程序,還需要添加函數(shù)XXX_Seek(),函數(shù)XXX_PowerDown()和函數(shù)XXX_ PowerUp()。其作用分別是對XXX設備進行移動數(shù)據(jù)指針,休眠和恢復電源。

    圖1 節(jié)點系統(tǒng)結構框圖

    圖2 服務器程序設計流程圖

    圖3 ARM端AD采集數(shù)據(jù)調試結果截圖

    3.2 WinCE下四通道AD采集應用程序設計

    本研究采用的ARM提供了四個外部的AD通道,可以利用這些通道實現(xiàn)四路對模擬數(shù)據(jù)的采集功能。通過EVC++編寫應用軟件調用AD流接口驅動程序,實現(xiàn)對模擬信號的采集,將采集的數(shù)據(jù)通過網口發(fā)送到PC機端。該設計采用多線程方式,使AD采集,數(shù)據(jù)處理,網口通信模塊化,并采用雙buff采集和發(fā)送的交互方式,保證了數(shù)據(jù)的不丟失性。網口通信模塊直接運用前面設計的網口通信流程,數(shù)據(jù)處理模塊主要是對采集得到的數(shù)字信號數(shù)據(jù)由分線程向外部buff傳輸,便于通信模塊的使用。AD采集模塊在線程內調用驅動程序,實現(xiàn)AD采集器的讀取數(shù)據(jù)功能。

    3.3 四通道AD數(shù)據(jù)采集實驗實現(xiàn)及調試

    利用以上的設計思路,本文實現(xiàn)了WinCE系統(tǒng)下AD數(shù)據(jù)采集的系統(tǒng)設計,其調試過程和實驗結果如下:

    首先將編寫好的驅動程序加載到Win-CE6.0系統(tǒng)的內核中,重新編譯系統(tǒng),啟動新編譯成功的WinCE系統(tǒng),可以在Windows文件夾下看到已經加載進去的驅動程序生成的動態(tài)鏈接庫。

    然后將編寫好的對采集數(shù)據(jù)進行波形處理的網絡程序在PC端啟動,再將編寫好的四通道采集程序下載到ARM板中并啟動,設置好采樣率和采樣通道,輸入通道選擇0,采樣頻率設置為400000hz(該AD采集器最大采樣頻率為500khz)。調好信號源,選擇正弦波,將信號電壓幅度設為1.5v,最低電壓為0v,信號頻率為3000hz,輸出信號線連接到ARM板的AD第0號通道接口,啟動信號輸入,在ARM端得到如圖3的調試截圖。

    這是本文設計的運行在ARM板上的AD采集應用程序,可以通過啟動,停止,關閉按鈕來啟動AD采集,暫停AD采集,關閉AD采集器的功能,還可以通過輸入通道號碼來選擇采樣的通道,輸入采樣率來選擇采樣頻率。而上方控件顯示的是一次采集的字節(jié)數(shù)目,在這里是2048字節(jié),與程序實際設計的一致。通過AD采集器的正確工作,不僅說明了應用程序設計的正確性,同時也體現(xiàn)了AD采集器驅動程序設計的正確性。

    4.結束語

    本文通過研究WinCE下的網口通信,串口通信,SD卡數(shù)據(jù)存取和AD數(shù)據(jù)采集程序設計,系統(tǒng)地提供了Wince嵌入式系統(tǒng)下數(shù)據(jù)通信的一般編程方法。本論文實現(xiàn)了水下通信網絡單節(jié)點內部數(shù)據(jù)的交互,主要包含以下內容:完成了ARM板通過網口與DSP通信的程序設計;完成了ARM板通過串口同時與PC機和姿態(tài)方位儀的數(shù)據(jù)通信的程序設計;完成了ARM板對SD卡的操作,實現(xiàn)了將DSP通過網口傳輸來的數(shù)據(jù)自動的儲存在SD卡中,并能讀取SD卡中的數(shù)據(jù);完成了ARM11流接口AD驅動程序的設計和AD采集應用程序的設計。

    [1]劉娟.嵌入式移動通信技術的研究與應用[D].四川大學,2006.

    [2]徐愛華,全書海.Socket網絡通信及其在電梯監(jiān)控系統(tǒng)中的應用[J].武漢理工大學學報(信息與管理工程版),2006,28(11).

    [3]劉慶亮,劉建成.WinCE下多線程串口通信在導航系統(tǒng)中的應用[J].軟件導刊,2010,09(3).

    [4]鄧中,肖冠蘭.Windows CE 6.0下LCD驅動程序程序移植[J].計算機與現(xiàn)代化,2011(1).

    覃昉(1969—),廣西南寧人,畢業(yè)于華中師范大學,現(xiàn)供職于中國船舶重工集團公司第七一O研究所,研究方向:水中兵器項目開發(fā)、生產和管理。

    猜你喜歡
    驅動程序采集器調用
    COVID-19大便標本采集器的設計及應用
    核電項目物項調用管理的應用研究
    LabWindows/CVI下基于ActiveX技術的Excel調用
    測控技術(2018年5期)2018-12-09 09:04:46
    基于ZigBee的大型公共建筑能耗采集器設計
    基于LabVIEW的多數(shù)據(jù)采集器自動監(jiān)控軟件設計與開發(fā)
    基于系統(tǒng)調用的惡意軟件檢測技術研究
    多接口溫濕度數(shù)據(jù)采集器的設計
    利用RFC技術實現(xiàn)SAP系統(tǒng)接口通信
    驅動程序更新與推薦
    驅動程序更新與推薦
    高唐县| 和静县| 上犹县| 高要市| 泰州市| 龙口市| 西平县| 泽库县| 东乌珠穆沁旗| 凌海市| 沂源县| 汝州市| 岚皋县| 琼海市| 南华县| 曲水县| 阆中市| 安泽县| 台中县| 双鸭山市| 锡林浩特市| 大安市| 涞源县| 彭阳县| 曲水县| 孙吴县| 且末县| 宜章县| 济阳县| SHOW| 宜昌市| 东阳市| 尉犁县| 扎鲁特旗| 尖扎县| 舒城县| 安多县| 庆安县| 黄山市| 宾川县| 东明县|