<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 基于Linux下USB主機接口設(shè)計

          基于Linux下USB主機接口設(shè)計

          作者: 時間:2010-09-13 來源:網(wǎng)絡(luò) 收藏
          由USB接口輸入5 V直流電源,二極管VD1用于限制電源的導通方向,經(jīng)過C18、C19濾波,然后經(jīng)過SPXll7M-3.3將電源穩(wěn)壓至3.3 V。為了降低噪聲和出錯率,應隔離模擬電源與數(shù)字電源,圖3中的L1和L2用于電源隔離元件(將數(shù)字電源的高頻噪聲隔離)。SPXll7M-3.3是Sipex公司的LDO器件,其特點為輸出電流大,輸出電壓精度高穩(wěn)定性高。SPXll7M系列LD0器件輸出電流可達800 mA,具有電流保護和熱保護功能,可廣泛應用于數(shù)字家電和工業(yè)控制等領(lǐng)域。

          本文引用地址:http://www.ex-cimer.com/article/151568.htm


          2.3 USB主機端口設(shè)計
          AT91SAM7X256的USB主機端口原理圖,如圖3所示。SL811HS/T選用48引腳的TQFP封裝形式,SL811HS/T既能用作Host模式又能用作Slave模式。將SL811HS/T的M/S引腳接地,即設(shè)為低電平信號(M/S=0),選擇作為主機端口。
          SL811HS/T的D0~D7端口為雙向數(shù)據(jù)I/O端口,與控制器的PAl0~PAl7端口相連,實現(xiàn)數(shù)據(jù)通信。SL811HS/T的nRD引腳與AT91SAM7X256的PA9相連,nWR引腳與AT9lSAM7X256的PA8相連,SL811HS/T的nCS引腳與AT91SAM7X256的PA7相連,AO引腳與AT91SAM7X256的PA6相連,控制SL811HS/T的讀寫狀態(tài),如圖4所示。


          訪問存儲器和控制寄存器的空間時,先設(shè)A0=0后寫地址,接下來設(shè)A0=1,再進行寄存器/存儲器讀/寫周期。當nWR或nCS處于無效時,SL811HS寫或讀操作終止。對于連接到SL81lHS的設(shè)備,在write nWR信號之前取消片選nCS,數(shù)據(jù)將一直保持并與指定的值相同。SL811HS/T的nRST引腳與AT91SAM7X256的PAl8相連,實現(xiàn)軟件低電平復位功能。SL811HS/T的引腳7、8與USB接口的DATA+,DATA-相連實現(xiàn)數(shù)據(jù)通信。S-L811HS/T的Clk/X1引腳和X2引腳與外接12 MHz晶振相連。

          3 系統(tǒng)軟件實現(xiàn)
          USB設(shè)備驅(qū)動程序設(shè)計包括主機端設(shè)備驅(qū)動程序、主機控制器驅(qū)動程序和設(shè)備端驅(qū)動程序3部分組成。主機端設(shè)備驅(qū)動程序就是設(shè)備驅(qū)動程序,它是主機環(huán)境中為用戶應用程序提供一個訪問USB外設(shè)的接口。Linux為這部分驅(qū)動程序提供編程接口,設(shè)計者只要按照需求編寫驅(qū)動程序框架,通過調(diào)用操作系統(tǒng)提供的APl接口函數(shù)可以完成對USB外設(shè)的特定訪問。
          3.1 USB設(shè)備驅(qū)動程序框架
          圖5所示Linux中USB驅(qū)動的體系結(jié)構(gòu)。Linux USB主機驅(qū)動由3部分組成:USB主機控制器驅(qū)動,USB驅(qū)動和不同的USB設(shè)備類驅(qū)動。USB驅(qū)動程序首先要向Linux內(nèi)核進行注冊自己,并告之系統(tǒng)該驅(qū)動程序所支持的設(shè)備類型及其所支持的操作。這些信息通過usb_driver結(jié)構(gòu)傳遞。



          關(guān)鍵詞: 收發(fā)器

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();