亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于嵌入式USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

        2011-05-21 00:40:54林生榮
        電子設(shè)計(jì)工程 2011年11期
        關(guān)鍵詞:傳輸速度驅(qū)動(dòng)程序緩沖區(qū)

        張 輝,林生榮

        (中山大學(xué) 智能交通研究中心 廣東省智能交通系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,廣東 廣州 510006)

        數(shù)據(jù)采集任務(wù)多在戶外進(jìn)行,所以數(shù)據(jù)采集系統(tǒng)通常要滿足實(shí)時(shí)性、專用性、可靠性和低功耗等性能,這些特性在嵌入式系統(tǒng)中都能得到很好的體現(xiàn),因此本文將以Windows CE的嵌入式平臺(tái)來(lái)開(kāi)發(fā)數(shù)據(jù)采集系統(tǒng)。但是由于嵌入式系統(tǒng)的硬件結(jié)構(gòu)不易改變,所以在進(jìn)行數(shù)據(jù)采集設(shè)備擴(kuò)展時(shí)應(yīng)該選擇接口簡(jiǎn)單靈活、數(shù)據(jù)傳輸率高和支持熱拔插的傳輸總線,而USB接口則能很好地滿足這些要求[1],同時(shí)USB還有總線供電和不受插槽、中斷等硬件資源限制的特性,因此USB接口是數(shù)據(jù)采集設(shè)備與嵌入式系統(tǒng)進(jìn)行數(shù)據(jù)傳輸?shù)睦硐脒x擇。綜上所述,本文將設(shè)計(jì)一款基于嵌入式USB接口的數(shù)據(jù)采集系統(tǒng)以滿足實(shí)際的需要,下面將從硬件設(shè)計(jì),程序?qū)崿F(xiàn)和實(shí)際測(cè)試3方面具體描述。紹。具體的結(jié)構(gòu)框架如圖1所示。

        1 硬件設(shè)計(jì)

        1.1 硬件結(jié)構(gòu)框架

        本系統(tǒng)的硬件結(jié)構(gòu)主要由控制中心、模數(shù)轉(zhuǎn)換和USB協(xié)議實(shí)現(xiàn)3個(gè)部分組成,下面將針對(duì)這3個(gè)部分進(jìn)行詳細(xì)的介

        1)控制中心。本系統(tǒng)采用單片機(jī)提供地址數(shù)據(jù)復(fù)用總線、選通信號(hào)(D12_CS 和 AD_CS),讀寫信號(hào)(RD 和 WR)以及對(duì)中斷信號(hào)(D12_INT和AD_INT)進(jìn)行檢測(cè)。

        2)模數(shù)轉(zhuǎn)換。本系統(tǒng)采用MAX197芯片進(jìn)行模數(shù)轉(zhuǎn)換,該芯片具有采樣保持功能和12位的高精度輸出[2]。單片機(jī)可向MAX197寫入其特定的命令從而選擇指定的通道進(jìn)行模數(shù)轉(zhuǎn)換,轉(zhuǎn)換結(jié)束后,MAX197向單片機(jī)輸出低電平的AD_INT信號(hào),單片機(jī)采用輪詢方式檢測(cè)到后通過(guò)HBEN信號(hào)控制MAX197輸出低8位和高4位的轉(zhuǎn)換數(shù)據(jù)。

        3)USB協(xié)議實(shí)現(xiàn)。本系統(tǒng)采用PDIUSBD12作為USB設(shè)備端的控制芯片,該芯片實(shí)現(xiàn)了USB1.1傳輸協(xié)議[3]。嵌入式系統(tǒng)要對(duì)USB設(shè)備進(jìn)行讀寫均需通過(guò)信號(hào)D12_INT向單片機(jī)發(fā)送中斷,單片機(jī)響應(yīng)中斷后只需對(duì)PDIUSBD12的不同寄存器進(jìn)行讀寫操作就可以利用USB進(jìn)行數(shù)據(jù)傳輸。

        1.2 固件程序設(shè)計(jì)

        硬件設(shè)備需要固件程序的控制以保證其正常運(yùn)行,本文所設(shè)計(jì)的固件程序主要用于識(shí)別USB設(shè)備以及采集與傳輸數(shù)據(jù)。固件程序的總體流程如圖2所示。

        1)設(shè)備識(shí)別[4]。USB設(shè)備的識(shí)別過(guò)程分別由操作系統(tǒng)和設(shè)備驅(qū)動(dòng)兩個(gè)部分通過(guò)USB協(xié)議的標(biāo)準(zhǔn)設(shè)備請(qǐng)求來(lái)完成。操作系統(tǒng)在USB設(shè)備連接時(shí)加載設(shè)備驅(qū)動(dòng)程序并分配通信地址,驅(qū)動(dòng)程序啟動(dòng)后通過(guò)中斷讀取相關(guān)描述符進(jìn)行資源配置并使能傳輸端點(diǎn),從而為應(yīng)用程序提供接口。

        2)數(shù)據(jù)采集與傳輸。通過(guò)單片機(jī)的定時(shí)器可對(duì)數(shù)據(jù)的采集頻率進(jìn)行設(shè)置。本系統(tǒng)的數(shù)據(jù)采集頻率為1 000 Hz,因此設(shè)置定時(shí)器每一毫秒中斷一次進(jìn)行數(shù)據(jù)采集,而主機(jī)端對(duì)USB設(shè)備的讀寫操作則通過(guò)外部中斷實(shí)現(xiàn),定時(shí)器中斷優(yōu)先級(jí)高于外部中斷以保證采集頻率固定為1 000 Hz。主機(jī)端通過(guò)寫操作向USB設(shè)備發(fā)送控制信息,包括設(shè)備啟動(dòng)和停止的相關(guān)初始化與清理的工作,其中在對(duì)USB設(shè)備進(jìn)行讀操作前要先在端點(diǎn)的緩沖區(qū)填寫64字節(jié)數(shù)據(jù)并通過(guò)命令使其有效,不然主機(jī)端對(duì)USB設(shè)備進(jìn)行讀操作時(shí),無(wú)效的緩沖區(qū)將導(dǎo)致PDIUSBD12芯片不會(huì)產(chǎn)生中斷,從而導(dǎo)致讀操作失敗。

        2 驅(qū)動(dòng)程序設(shè)計(jì)

        Windows CE下的USB設(shè)備驅(qū)動(dòng)模型[5]由3個(gè)層次組成,其中由操作系統(tǒng)實(shí)現(xiàn)的有兩層,它們分別是HCD模塊(USB Host Controller Driver)和 USBD 模塊(USB Bus Driver),而第三層則被稱為USB客戶端驅(qū)動(dòng)(USB Client Driver),由驅(qū)動(dòng)開(kāi)發(fā)人員實(shí)現(xiàn)。HCD模塊處于最底層,是CPU中USB控制器的驅(qū)動(dòng),為USBD模塊提供底層的功能訪問(wèn)服務(wù)。USBD模塊處于HCD模塊的上層,它根據(jù)HCD模塊提供的功能設(shè)計(jì)USB驅(qū)動(dòng)接口函數(shù),并提供給第3層使用。USB客戶端驅(qū)動(dòng)處于USB驅(qū)動(dòng)模型的最頂層,也是本文所要設(shè)計(jì)的USB驅(qū)動(dòng)程序,它向上為應(yīng)用程序提供接口以方便對(duì)USB設(shè)備進(jìn)行控制,向下利用USBD模塊提供的接口函數(shù)傳遞控制信息和數(shù)據(jù)。因此,要成功開(kāi)發(fā)USB設(shè)備的驅(qū)動(dòng)程序,在操作系統(tǒng)定制的時(shí)候就需要把HCD和USBD的相關(guān)組件添加進(jìn)去。

        本文開(kāi)發(fā)的USB設(shè)備驅(qū)動(dòng)程序是流接口形式的驅(qū)動(dòng)程序,它被設(shè)計(jì)用來(lái)與通常的文件系統(tǒng)API(如CreateFile、ReadFile和WriteFile等)進(jìn)行通信,應(yīng)用程序通過(guò)對(duì)文件系統(tǒng)的操作來(lái)完成對(duì)設(shè)備的控制。本驅(qū)動(dòng)所設(shè)計(jì)的流接口如表1所示。

        表1 驅(qū)動(dòng)程序流接口設(shè)計(jì)Tab.1 Stream interface design of the driver

        3 系統(tǒng)測(cè)試

        3.1 測(cè)試條件與結(jié)果

        本測(cè)試的目的在于檢驗(yàn)本文設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)能否在采集頻率較高的情況下準(zhǔn)確地采集數(shù)據(jù),并通過(guò)USB接口完整地進(jìn)行數(shù)據(jù)傳輸。因此,測(cè)試將基于以下5個(gè)條件進(jìn)行。其中一個(gè)通道的部分測(cè)試數(shù)據(jù)結(jié)果如圖3所示。

        1)測(cè)試信號(hào)為正弦波,峰峰值約為12 V,頻率為100 Hz。

        2)系統(tǒng)以1 000 Hz的采集頻率連續(xù)對(duì)8個(gè)通道進(jìn)行采集。

        3)單片機(jī)晶振頻率為12 MHz。

        4)采集系統(tǒng)的數(shù)據(jù)緩沖區(qū)設(shè)置為128字節(jié)。

        5)采集數(shù)據(jù)記錄在SD卡中。

        3.2 測(cè)試結(jié)果分析

        由3.1的正弦波采集測(cè)試結(jié)果圖可以得出如下兩點(diǎn)結(jié)論:

        1)采集的正弦波的峰峰值約為12 V,一個(gè)周期有10個(gè)數(shù)據(jù)點(diǎn),根據(jù)采集頻率1 000 Hz可知采集到的正弦波的頻率為100 Hz。

        2)在30 ms的時(shí)候,正弦波發(fā)生畸變,可見(jiàn)采集數(shù)據(jù)在USB傳輸過(guò)程中發(fā)生丟失。

        第一點(diǎn)結(jié)論說(shuō)明了本采集系統(tǒng)能準(zhǔn)確地進(jìn)行數(shù)據(jù)采集,而對(duì)于第二點(diǎn)結(jié)論所表現(xiàn)出的不完整性分析如下。

        1)設(shè)V1是有效數(shù)據(jù)的傳輸速度,V2是協(xié)議開(kāi)銷的傳輸速度,N為采集數(shù)據(jù)的通道數(shù)目,M為每通道采集的字節(jié)數(shù),H為采集頻率,K為緩沖區(qū)大小,U為傳輸?shù)膮f(xié)議開(kāi)銷字節(jié)數(shù)。USB數(shù)據(jù)幀的組成包括有效數(shù)據(jù)和協(xié)議開(kāi)銷兩個(gè)部分,其中傳輸協(xié)議的開(kāi)銷包括同步字段、包標(biāo)識(shí)符、地址信息、端點(diǎn)信息和CRC校驗(yàn),所以數(shù)據(jù)采集系統(tǒng)要求的USB傳輸速度可根據(jù)公式(1)計(jì)算得到。本文設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)共有8個(gè)通道,每通道有2個(gè)字節(jié)的數(shù)據(jù),采集頻率為1 000 Hz,根據(jù)公式(2)可得有效數(shù)據(jù)的傳輸速度約為16 kB/s。一個(gè)完整的數(shù)據(jù)幀的傳輸需要11個(gè)字節(jié)的協(xié)議開(kāi)銷[6],本文設(shè)計(jì)的數(shù)據(jù)傳輸過(guò)程分為4個(gè)步驟:發(fā)送傳輸請(qǐng)求,發(fā)送接收控制命令,接收請(qǐng)求應(yīng)答,開(kāi)始接收數(shù)據(jù),每個(gè)步驟均需傳輸一個(gè)完整的USB數(shù)據(jù)幀,因此進(jìn)行一次傳輸?shù)膮f(xié)議開(kāi)銷為44個(gè)字節(jié),根據(jù)公式(3)可計(jì)算出協(xié)議開(kāi)銷的傳輸速度。以緩沖區(qū)的大小為橫坐標(biāo),數(shù)據(jù)采集系統(tǒng)要求的USB傳輸速度為縱坐標(biāo)繪出圖4所示的關(guān)系圖,分析該圖可得:緩沖區(qū)越大,所要求的USB傳輸速度越少。測(cè)試中較少的128字節(jié)緩沖區(qū)使得在一次傳輸中有效數(shù)據(jù)過(guò)少,約5.5 kB/s的額外開(kāi)銷傳輸速度約占總速度的25%,過(guò)高的額外傳輸開(kāi)銷導(dǎo)致數(shù)據(jù)來(lái)不及傳輸,從而發(fā)生數(shù)據(jù)丟失的情況。

        2)另外,由于應(yīng)用程序要在SD卡這類低速設(shè)備上記錄數(shù)據(jù),所以記錄數(shù)據(jù)的時(shí)候來(lái)不及獲取USB設(shè)備中的數(shù)據(jù)也會(huì)導(dǎo)致實(shí)際的傳輸速度變慢,導(dǎo)致新采集的數(shù)據(jù)溢出緩沖區(qū)并覆蓋來(lái)不及傳輸?shù)呐f數(shù)據(jù),從而造成數(shù)據(jù)丟失。

        因此有必要采取一定的方法來(lái)改善數(shù)據(jù)采集系統(tǒng),以保證數(shù)據(jù)采集的完整性。下面將提出3個(gè)解決方法。

        3.3 系統(tǒng)改善措施

        1)增大晶振頻率到24 MHz,加快單片機(jī)的處理速度。

        2)在硬件上增加靜態(tài)RAM作為數(shù)據(jù)存儲(chǔ)的緩沖區(qū),緩沖區(qū)的存在一方面可以保證新采集的數(shù)據(jù)不會(huì)覆蓋沒(méi)來(lái)得及傳輸?shù)呐f數(shù)據(jù),另一方面可以讓USB設(shè)備在一次USB數(shù)據(jù)幀的傳輸中所含有的有效數(shù)據(jù)更多,從而減少在傳輸過(guò)程中的校驗(yàn)、識(shí)別和握手等USB協(xié)議的額外開(kāi)銷,加快傳輸速度。

        3)在應(yīng)用程序控制USB設(shè)備時(shí)將新建2條線程,一條進(jìn)程用于向USB設(shè)備進(jìn)行讀寫操作來(lái)進(jìn)行數(shù)據(jù)采集,另一條進(jìn)程用于向嵌入式系統(tǒng)的SD卡這類低速設(shè)備進(jìn)行讀寫操作來(lái)記錄數(shù)據(jù),利用操作系統(tǒng)分時(shí)復(fù)用的特性減少數(shù)據(jù)記錄過(guò)程對(duì)數(shù)據(jù)傳輸造成的延誤,從而加快USB設(shè)備的傳輸速度。

        4 結(jié)束語(yǔ)

        本文從硬件結(jié)構(gòu)、固件程序和驅(qū)動(dòng)程序3個(gè)方面對(duì)基于嵌入式USB接口的數(shù)據(jù)采集系統(tǒng)進(jìn)行了設(shè)計(jì)。最后還通過(guò)實(shí)際采集正弦波信號(hào)對(duì)系統(tǒng)進(jìn)行了測(cè)試,并提出了3個(gè)方法有效地提高了數(shù)據(jù)采集系統(tǒng)的傳輸速度。本系統(tǒng)能在擁有USB接口的嵌入式設(shè)備上方便地進(jìn)行連接和安裝,是數(shù)據(jù)采集應(yīng)用的一個(gè)重要部分。

        [1]邵同震,孫光民.嵌入式系統(tǒng)中 USB總線驅(qū)動(dòng)的開(kāi)發(fā)及應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2002,19(12):93-96.SHAO Tong-zhen,SUN Guang-min.The development of USB driver in embedded systems and its application[J].Application Research of Computers,2002,19(12):93-96.

        [2]許亞男,高清維,翟寄文.基于 MAX197的高精度數(shù)據(jù)采集系統(tǒng) [J].電子技術(shù),2009(6):22-23.XU Ya-nan,GAO Qing-wei,ZHAI Ji-wen.A high accuracy data acquisition system based on MAX197[J].Electronic Technology,2009(6):22-23.

        [3]徐強(qiáng),張秀娟.基于 PDIUSBD12的 S3C44B0X下 USB通信的實(shí)現(xiàn) [J].微計(jì)算機(jī)信息,2010(8):176-178.XU Qiang,ZHANG Xiu-juan.The realization of S3C44B0X USB communication based on PDIUSBD12[J].Microcomputer Information,2010(8):176-178.

        [4]周立功.PDIUSBD12 USB器件原理,固件編程及其驅(qū)動(dòng)開(kāi)發(fā) [M].北京:北京航空航天大學(xué)出版社,2003.

        [5]張冬泉,譚南林,王雪梅.Windows CE實(shí)用開(kāi)發(fā)技術(shù) [M].北京:電子工業(yè)出版社,2006.

        [6]Compaq I.Universal serial bus specification revision 1.1 USB implementersforum[M].1998.

        猜你喜歡
        傳輸速度驅(qū)動(dòng)程序緩沖區(qū)
        嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設(shè)計(jì)與實(shí)現(xiàn)
        SSD移動(dòng)硬盤大降價(jià),可以考慮了
        關(guān)鍵鏈技術(shù)緩沖區(qū)的確定方法研究
        電網(wǎng)中無(wú)線通信技術(shù)的應(yīng)用探析
        淺談提升互聯(lián)網(wǎng)信息傳輸速度技術(shù)分析
        地理信息系統(tǒng)繪圖緩沖區(qū)技術(shù)設(shè)計(jì)與實(shí)現(xiàn)
        電視技術(shù)(2012年1期)2012-06-06 08:13:58
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        初尝人妻少妇中文字幕在线| 欧美亚洲日本国产综合在线| 风韵少妇性饥渴推油按摩视频| 粗壮挺进人妻水蜜桃成熟漫画| 亚洲成年网站在线777| 91麻豆精品一区二区三区| 东北女人一级内射黄片| 久久99精品久久久久婷婷| 免费无码黄动漫在线观看| 欧美性一区| 亚洲中文乱码在线观看| 亚洲成a人片在线观看无码专区| 色偷偷久久一区二区三区| 亚洲一区二区高清精品| 国产不卡在线播放一区二区三区| 国产大片内射1区2区| 三上悠亚av影院在线看| 色偷偷女人的天堂亚洲网| 亚洲av产在线精品亚洲第三站| 无码人妻少妇久久中文字幕蜜桃| 婷婷四房播播| 亚洲一区精品一区在线观看| 久久一本日韩精品中文字幕屁孩| 精品国产一区二区三区av片| 亚洲黄色尤物视频| 久久熟女少妇一区二区三区| 国产精品视频一区二区三区不卡 | 成年av动漫网站18禁| 激情内射亚州一区二区三区爱妻| 国产一区二区三区国产精品| 美女视频黄a视频全免费网站色 | 亚洲欧洲∨国产一区二区三区| 国产精品三级在线专区1| 亚洲高清一区二区精品| 男人边做边吃奶头视频| 这里只有久久精品| 国产一区二区精品久久呦| 无码熟妇人妻av在线网站| 色婷婷亚洲精品综合影院| 国产成人综合久久精品免费| 青青草视频在线视频播放|