日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于嵌入式USB接口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

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

          作者: 時(shí)間:2012-02-09 來源:網(wǎng)絡(luò) 收藏

          1)設(shè)備識別。設(shè)備的識別過程分別由操作和設(shè)備驅(qū)動兩個(gè)部分通過協(xié)議的標(biāo)準(zhǔn)設(shè)備請求來完成。操作設(shè)備連接時(shí)加載設(shè)備驅(qū)動程序并分配通信地址,驅(qū)動程序啟動后通過中斷讀取相關(guān)描述符進(jìn)行資源配置并使能傳輸端點(diǎn),從而為應(yīng)用程序提供。
          2)與傳輸。通過單片機(jī)的定時(shí)器可對數(shù)據(jù)的采集頻率進(jìn)行設(shè)置。本頻率為1 000 Hz,因此設(shè)置定時(shí)器每一毫秒中斷一次進(jìn)行,而主機(jī)端對USB設(shè)備的讀寫操作則通過外部中斷實(shí)現(xiàn),定時(shí)器中斷優(yōu)先級高于外部中斷以保證采集頻率固定為1 000 Hz。主機(jī)端通過寫操作向USB設(shè)備發(fā)送控制信息,包括設(shè)備啟動和停止的相關(guān)初始化與清理的工作,其中在對USB設(shè)備進(jìn)行讀操作前要先在端點(diǎn)的緩沖區(qū)填寫64字節(jié)數(shù)據(jù)并通過命令使其有效,不然主機(jī)端對USB設(shè)備進(jìn)行讀操作時(shí),無效的緩沖區(qū)將導(dǎo)致PDIUSBD12芯片不會產(chǎn)生中斷,從而導(dǎo)致讀操作失敗。

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

          本文引用地址:http://yuyingmama.com.cn/article/149746.htm

          c.jpg

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉