新聞中心

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

基于Linux下USB主機接口設計

作者: 時間:2010-09-13 來源:網(wǎng)絡 收藏
由USB接口輸入5 V直流電源,二極管VD1用于限制電源的導通方向,經過C18、C19濾波,然后經過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è)控制等領域。

本文引用地址:http://butianyuan.cn/article/151568.htm


2.3 USB主機端口設計
AT91SAM7X256的USB主機端口原理圖,如圖3所示。SL811HS/T選用48引腳的TQFP封裝形式,SL811HS/T既能用作Host模式又能用作Slave模式。將SL811HS/T的M/S引腳接地,即設為低電平信號(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所示。


訪問存儲器和控制寄存器的空間時,先設A0=0后寫地址,接下來設A0=1,再進行寄存器/存儲器讀/寫周期。當nWR或nCS處于無效時,SL811HS寫或讀操作終止。對于連接到SL81lHS的設備,在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設備驅動程序設計包括主機端設備驅動程序、主機控制器驅動程序和設備端驅動程序3部分組成。主機端設備驅動程序就是設備驅動程序,它是主機環(huán)境中為用戶應用程序提供一個訪問USB外設的接口。Linux為這部分驅動程序提供編程接口,設計者只要按照需求編寫驅動程序框架,通過調用操作系統(tǒng)提供的APl接口函數(shù)可以完成對USB外設的特定訪問。
3.1 USB設備驅動程序框架
圖5所示Linux中USB驅動的體系結構。Linux USB主機驅動由3部分組成:USB主機控制器驅動,USB驅動和不同的USB設備類驅動。USB驅動程序首先要向Linux內核進行注冊自己,并告之系統(tǒng)該驅動程序所支持的設備類型及其所支持的操作。這些信息通過usb_driver結構傳遞。



關鍵詞: 收發(fā)器

評論


相關推薦

技術專區(qū)

關閉