日本在线www-日本在线播放一区-日本在线不卡免费视频一区-日本在线不卡视频-成人影院久久久久久影院-成人影院一区二区三区

ABB25年11月
關注中國自動化產業發展的先行者!
工業智能邊緣計算2025年會
2025工業安全大會
CAIAC 2025
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

多線程技術在嵌入式數據采集系統中的應用
  • 企業:控制網     領域:機器視覺    
  • 點擊數:2285     發布時間:2006-05-19 09:57:55
  • 分享到:

(深圳信息職業技術學院,廣東 深圳 518029)  林  濤,耿  壯

林濤(1963-)

    男,碩士,現任深圳信息職業技術學院計算機應用系講師,主要研究方向為單片機與嵌入式系統、網絡技術、信息安全。

1  引言

    目前,先進的嵌入式計算機以其優良的品質、高可靠性及模塊化,廣泛地應用于工業控制、航空航天、醫療、智能儀表、通信、數控、自動化生產設備、數據采集等領域。在實際應用中,為了提升系統的整體性能,必須實現PC機和嵌入式計算機之間的通信。由于串行通信具有連接簡單、使用靈活方便、數據傳遞可靠等優點,可采用串行通信方式進行數據下載。但是,Windows操作系統對系統底層操作采取了屏蔽的策略,不允許用戶對硬件I/O口進行直接操作,進行串行通信只能通過調用API函數來完成;同時Windows 9x通過消息隊列驅動管理程序,DOS中斷服務例程在其下面也很難實現,且實時性和可靠性都得不到保證;筆者考慮可以通過多線程編程解決這一問題,來提高數據傳輸的吞吐量和應用程序的可靠性。

    高速串口數據采集軟件的設計不同于普通串口通信,要求在接收數據采集設備發送大量數據的同時完成對已接受到數據的實時存儲,如果處理不好二者之間的關系,會造成數據的丟失甚至程序的崩潰。這就要求應用程序能夠同時處理兩件以上不同的任務。Win32是基于線程的搶先式多任務操作系統,使得應用程序能夠同時執行多個任務,即在一個進程中可以同時運行多個線程。一個線程是指程序的一條執行路徑,系統不停的在多個線程之間切換。由于時間很短,看上去多個線程在同時運行。對于通訊這種需要花費大量時間來測試I/O操作,同時又要保持響應用戶其它操作的應用程序來說,創建多線程是最佳選擇。

2  基于ARM的嵌入式數據采集系統

    本文以基于ARM的嵌入式數據采集系統為背景進行論述。現場的嵌入式數據采集系統采集各種傳感器發來的數據,包括電流、電壓、溫度、壓力、振動等。采集系統通過485總線實時將數據送到給PC機,PC機通過多線程方式接收嵌入式數據采集系統發來的數據,送本地數據庫系統或者通過Internet發往數據處理中心,如圖1所示。

    文中的嵌入式數據采集系統采用了由PHILIPS公司生產的ARM7TDMI微處理器LPC2214,LPC2214是基于一個支持實時仿真和跟蹤的16/32位ARM7TDMICPU的微控制器,并帶有16K字節片內靜態RAM和256 KB嵌入的高速Flash存儲器。128位寬度的存儲器接口和獨特的加速結構使32位代碼能夠在最大時鐘速率下運行。對代碼規模有嚴格控制的應用可使用16位Thumb模式將代碼規模降低超過30%,而性能的損失卻很小。LPC2214較小的144腳封裝、極低的功耗、多個32位定時器、8路10位ADC(64腳和144腳封裝)以及多達9個外部中斷使它們特別適用于工業控制、醫療系統、訪問控制和POS機。可使用的GPIO(General Purpose Input/Output,通用輸入輸出)高達76(使用了外部存儲器)~112個(單片應用)。由于內置了寬范圍的串行通信接口,它們也非常適合于通信網關、協議轉換器、嵌入式軟Modern以及其它各種類型的應用。


圖1 基于ARM的數據采集系統

3  用多線程技術實現數據采集系統和PC機的通信

    (1)  多線程程序設計思想 

    在32位Windows系統中,多任務是指系統可以同時運行多個進程,每個進程也可以同時執行多個線程。進程就是應用程序的運行實例。每個進程都有自己私有的虛擬地址空間,每個進程都有一個主線程,但可以建立另外的線程。進程中的線程是并行執行的,每個線程占用CPU的時間由系統來劃分。

    可以把線程看作是操作系統分配CPU時間的基本實體,系統不停的在各個線程之間切換,它對線程的中斷是匯編語言級的。系統為每一個線程分配一個CPU時間段,某個線程只有在分配的時間段內才有對CPU的控制權。

    高速串口數據采集的特點是接收數據的速度要求很高,數據量很大,根據這些特性,可以在程序中創建一個輔助工作者線程專門來監視串行口的輸入。由于寫串口的數據量不大,不會太費時,所以可以在主線程中完成寫端口的任務,不必另外創建線程。

    (2)  用API函數實現串行通信的基本流程

    首先CreatFile()函數打開通信資源,之后配置通信資源屬性由以下API函數完成:SetupComm()設置串行通信端口的輸入和輸出緩沖區的大小;通過設備控制塊DCB修改和設置串口工作狀態的參數,如波特率、數據位、奇偶校驗位等通信參數,SetCommState()將DCB結構中的內容寫入串口設置;SetCommTimeouts()設置串口讀寫操作的溢出時間。設置工作完成后串行通信可用ReadFile()對通信資源進行讀操作,WriteFile()進行寫操作。

    串行通信結束時調用函數CloseHandle()來關閉CreateFile()函數返回的串口句柄。

    (3)  數據采集線程

    多線程的串口I/O通信編程中,將對串口的讀、寫操作視為同一進程的兩個不同任務,創建讀線程和寫線程分別完成對串口的讀、寫操作;由于異步串行通信事件的隨機性和實時性,要求通信線程優先于主線程被處理,所以設置各線程的優先級別如下:

    讀線程的優先級>寫線程的優先級>主線程的優先級。

    主線程是數據采集程序的管理者,用來初始化串口(通過調用Win32 API函數),自定義通信事件消息,創建、刪除輔助線程,進行人機交互的操作及協調好各線程的運行。程序流程如圖2所示。


圖2  數據采集程序框圖

    左邊為主線程,右邊為子線程。用戶通過VC設計的界面上的控件打開串口,并且發送數據。當對串口的參數設置完畢,串口成功打開的同時,子線程即接收線程開始運行。用戶發送數據的同時,接收線程的控制函數也同時運行,當控制函數接收到讀串口事件時,調用讀串口函數,讀取串口接收到的數據。子線程一直運行,也不斷的讀取接收到的數據,并顯示在用戶的界面上。當用戶關閉串口,主線程要終止,此時子線程也收到主線程發送的關閉串口事件,終止線程,關閉串口。

    (4)  后臺輔助線程   

    后臺輔助線程是數據采集軟件的核心,包括串口監視線程、讀線程。串口監視線程在后臺對串口進行實時監視,當監視到預定義的事件時,立即調用相應的線程進行處理并向主線程發相應的消息,如接收到數據就調用讀線程自動接收數據并進行處理,同時向主線程發送。


圖3  串口監視線程的實現

    接收到數據的消息,串口監視線程發送完此消息后就執行后面的程序代碼,繼續對串口進行監視,做到了處理消息與監視串口兩不誤,既保證了數據采集的實時性,又避免了資源的浪費,其處理過程如圖3所示。

4  結語

    本文分析了多線程技術在嵌入式數據采集系統中的應用,利用多線程,可以實現嵌入式系統與PC機的高速通信。通過兩個通信線程并發執行,加以同步管理,應用程序能夠在發送數據的同時接收數據,實時響應性強,高效可靠,有效地避免了數據丟失、程序鎖死等問題。在數據采集的實際應用中結果令人滿意。

    其他作者:耿壯(1954-),現任深圳信息職業技術學院計算機應用系副教授,主要研究方向為單片機與嵌入式系統、網絡管理、多媒體技術。

參考文獻
[1]  S3C44B0X RISC Microprocessor Data Sheet, Samsung semiconductor Ltd, 2001.
[2]  蔣亞群, 張春元. ARM微處理器體系結構及其嵌入式SOC[J]. 計算機工程.
[3]  王田苗. 嵌入式系統設計與實例開發―基于ARM微處理器與μC/OS-Ⅱ實時操作系統[M]. 北京:清華大學出版社, 2002, 9.
[4]  江俊輝. 基于ARM的嵌入式系統硬件設計[J]. 微計算機信息, 2005.
[5]  BOBINI A, CORBET J.Linux Device Drevers[M]. O

熱點新聞

推薦產品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
久久99这里只有精品国产| 免费毛片基地| 久久精品道一区二区三区| 欧美另类videosbestsex久久| 麻豆网站在线免费观看| 国产高清在线精品一区a| 欧美一级视频免费| 午夜激情视频在线观看| 久久精品免视看国产成人2021| 台湾毛片| 国产a视频| 日韩一级黄色| 一级毛片视频在线观看| 天天色色色| 韩国毛片基地| 青青久久网| 天天做日日爱| 国产极品精频在线观看| 日本特黄特色aaa大片免费| 欧美18性精品| 欧美激情一区二区三区视频 | 日韩字幕在线| 精品国产香蕉在线播出| 国产网站免费| 国产一区二区精品在线观看| 精品美女| 国产91精品一区| 国产韩国精品一区二区三区| 精品国产三级a∨在线观看| 国产精品自拍在线| 精品久久久久久中文字幕一区| 精品视频在线观看一区二区| 亚洲女初尝黑人巨高清在线观看| 日韩男人天堂| 日韩免费片| 一级女性全黄久久生活片| 精品国产亚一区二区三区| 日韩在线观看免费| 99久久网站| 欧美另类videosbestsex| 日韩专区亚洲综合久久| 四虎久久影院| 美女免费精品视频在线观看| 高清一级片| 欧美大片一区| 日本伦理片网站| 日韩av成人| 精品国产一区二区三区免费| 国产网站免费| 国产一区二区精品| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 韩国三级视频网站| 精品国产一区二区三区久| 午夜精品国产自在现线拍| 沈樵在线观看福利| 台湾毛片| 一a一级片| 一级女性全黄生活片免费| 一a一级片| 日本乱中文字幕系列| 日日夜夜婷婷| 成人av在线播放| 成人高清护士在线播放| 天天做日日爱夜夜爽| 黄色免费网站在线| 青青青草影院| 亚洲女人国产香蕉久久精品| 成人高清护士在线播放| 国产a网| 欧美大片毛片aaa免费看| 国产精品免费精品自在线观看| 久草免费资源| 免费国产在线观看不卡| 韩国三级香港三级日本三级| 成人高清视频免费观看| 欧美国产日韩久久久| 亚欧视频在线| 亚州视频一区二区| 天天色色色| 国产a视频| 欧美国产日韩一区二区三区| 日日夜夜婷婷| 欧美激情一区二区三区在线| 国产伦精品一区二区三区在线观看| 你懂的在线观看视频| 可以免费看毛片的网站| 黄色免费三级| 一级毛片视频免费| 成人免费高清视频| 高清一级毛片一本到免费观看| 欧美激情伊人| 99久久网站| 欧美a免费| 欧美大片a一级毛片视频| 中文字幕一区二区三区精彩视频| 欧美电影免费| 色综合久久天天综合| 亚洲天堂一区二区三区四区| 欧美一级视频高清片| 亚欧乱色一区二区三区| 成人高清免费| 亚欧视频在线| 国产91精品露脸国语对白| 精品美女| 精品在线观看国产| 韩国三级香港三级日本三级| 亚欧乱色一区二区三区| 国产亚洲精品aaa大片| 国产不卡在线观看视频| 成人免费高清视频| 亚洲女初尝黑人巨高清在线观看| 久久成人亚洲| 国产视频一区在线| 91麻豆国产| 日日日夜夜操| 国产91丝袜在线播放0| 日本特黄特色aa大片免费| 四虎影视库| 欧美激情一区二区三区中文字幕| 精品久久久久久影院免费| 午夜久久网| 国产a视频| 97视频免费在线| 国产a网| 国产a视频| 99色视频| 日本在线www| 欧美a免费| 韩国三级视频网站| 91麻豆精品国产自产在线观看一区| 精品在线观看国产| 黄视频网站在线免费观看| 国产伦理精品| 午夜激情视频在线观看| 亚洲天堂免费观看| 欧美α片无限看在线观看免费| 精品国产三级a∨在线观看| 国产成人精品在线| 国产高清在线精品一区二区| 精品国产一区二区三区久 | 成人高清视频在线观看| 久久国产一久久高清| 亚洲第一色在线| 天天色成人| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 99色视频| 国产伦理精品| 四虎影视精品永久免费网站 | 午夜欧美福利| 国产网站免费视频| 亚洲 欧美 91| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产精品免费久久| 91麻豆精品国产片在线观看| 欧美国产日韩久久久| 日韩欧美一及在线播放| 国产精品免费精品自在线观看| 久久99中文字幕| 青青久久国产成人免费网站| 欧美激情一区二区三区视频| 一本高清在线| 精品久久久久久中文| 日韩av东京社区男人的天堂| 久久国产精品永久免费网站| 青青久久精品| 国产不卡高清在线观看视频| 日本特黄特色aa大片免费| 黄视频网站在线看| 青草国产在线| 亚州视频一区二区| 国产精品自拍在线| 九九精品久久| 亚飞与亚基在线观看| 四虎影视久久| 黄色免费三级| 欧美爱爱网| 免费国产一级特黄aa大片在线| 一级女性全黄久久生活片| 国产不卡高清| 国产成a人片在线观看视频| 韩国妈妈的朋友在线播放| 一本伊大人香蕉高清在线观看| 精品国产香蕉在线播出| 精品国产三级a| 欧美日本韩国| 国产一区二区精品| 国产网站在线| 91麻豆精品国产高清在线| 日韩字幕在线| 99久久精品国产国产毛片| 香蕉视频三级| 99色视频在线观看| 国产91素人搭讪系列天堂| 国产精品自拍在线观看| 99热精品在线| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 午夜精品国产自在现线拍| 精品视频一区二区三区免费| 欧美18性精品|