日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]引言基于USB接口的設(shè)備使用方便,性價(jià)比高,因此在人們的工作和生活中得到了廣泛的應(yīng)用,如U盤,移動(dòng)硬盤,光驅(qū),USB攝像頭,USB鼠標(biāo)鍵盤等,同時(shí),51系列單片機(jī)以其成熟的技術(shù)和高性價(jià)比吸引了大量國(guó)內(nèi)用戶,被廣泛

引言

基于USB接口的設(shè)備使用方便,性價(jià)比高,因此在人們的工作和生活中得到了廣泛的應(yīng)用,如U盤,移動(dòng)硬盤,光驅(qū),USB攝像頭,USB鼠標(biāo)鍵盤等,同時(shí),51系列單片機(jī)以其成熟的技術(shù)和高性價(jià)比吸引了大量國(guó)內(nèi)用戶,被廣泛應(yīng)用于測(cè)控和自動(dòng)化領(lǐng)域,因此,如果在51單片機(jī)系統(tǒng)中增加USB主機(jī)接口,實(shí)現(xiàn)對(duì)USB從機(jī)設(shè)備的控制,則該單片機(jī)系統(tǒng)可以充分利用現(xiàn)有的各種USB從機(jī)設(shè)備,大大擴(kuò)展單片機(jī)系統(tǒng)功能。

本設(shè)計(jì)實(shí)現(xiàn)了在51單片機(jī)系統(tǒng)中增加USB主機(jī)功能,采用普通51單片機(jī)外接專用USB接口芯片的方案,這種方案雖然會(huì)使系統(tǒng)傳輸速度受到限制,而且在穩(wěn)定性有所欠缺,但此方案設(shè)計(jì)靈活性高,且易于移植,為低成本產(chǎn)品的開發(fā)提供了廣闊前景,設(shè)計(jì)中采用51單片機(jī)是Atmel公司的AT89S52芯片,USB 主機(jī)功能的擴(kuò)展通過外接專用USB接口芯片SL811HS實(shí)現(xiàn),CYPRESS公司的USB接口芯片SL811HS可以工作在主機(jī)或從機(jī)模式,支持 USB1.1的全速和低速數(shù)據(jù)傳輸,工作在主機(jī)模式時(shí),SL811HS可以自動(dòng)檢測(cè)外設(shè)的插拔動(dòng)作,可以按照外處理器(如單片機(jī))的要求自動(dòng)把數(shù)據(jù)整合為 USB協(xié)議數(shù)據(jù)包進(jìn)行數(shù)據(jù)傳輸。

本文將介紹單片機(jī)AT89S52控制SL811HS的硬件設(shè)備和底層驅(qū)動(dòng)的編寫,其中重點(diǎn)講述底層驅(qū)動(dòng)的設(shè)計(jì)。

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

系統(tǒng)的硬件原理圖如圖1所示,AT89S52的供電電壓為5V,SL811HS的為3.3V,盡管供電電壓不同,但根據(jù)芯片引腳的信號(hào)噪聲容限參數(shù)分析可知,AT89S52與SL811HS之間的引腳可以直接相連,不需要電平轉(zhuǎn)換或緩沖。

 


軟件設(shè)計(jì)

USB主機(jī)驅(qū)動(dòng)是一個(gè)高低層子程序的組合,實(shí)現(xiàn)USB傳輸和控制的過程是較高層子程序調(diào)用較低層子程序的過程,編寫USB主機(jī)驅(qū)動(dòng)時(shí),可按從低層往高層的順序逐層進(jìn)行。

以USB主機(jī)枚舉從機(jī)設(shè)備的操作為例,實(shí)現(xiàn)該功能所需要的各層子程序?qū)哟侮P(guān)系如表1所示,本文將介紹較低層的幾個(gè)子程序的實(shí)現(xiàn),包括讀寫SL811HS內(nèi)部寄存器,傳輸事務(wù)的實(shí)現(xiàn),設(shè)備插拔檢測(cè)、復(fù)位等,其中,傳輸事務(wù)的實(shí)現(xiàn)是關(guān)鍵和難點(diǎn),同時(shí)也是本文的重點(diǎn)。

 


單片機(jī)讀寫SL811HS

內(nèi)部寄存器

讀寫SL811HS內(nèi)部寄存器子程序是最低層的子程序,系統(tǒng)所進(jìn)行的各種操作主要都是通過調(diào)用這些子程序讀寫SL811HS內(nèi)部寄存器實(shí)現(xiàn)的,例如,通過讀取SL811HS的狀態(tài)寄存器獲取SL811HS的狀態(tài)信息可以實(shí)現(xiàn)設(shè)備插拔檢測(cè)、設(shè)備速度檢測(cè)等,通過向SL811HS的相關(guān)控制寄存器寫入控制字節(jié)可以實(shí)現(xiàn)USB總線復(fù)位以及USB數(shù)據(jù)傳輸?shù)炔僮鳌?/p>

SL811HS內(nèi)部寄存器

從編程結(jié)構(gòu)的角度來看,SL811HS內(nèi)部寄存器一共有256個(gè)單元,每個(gè)單元是一個(gè)字節(jié),其中地址為[00H]-[0FH]的前16個(gè)單元是 SL811HS的狀態(tài)寄存器或控制寄存器(統(tǒng)稱為特殊寄存器),其余的是數(shù)據(jù)緩沖寄存器,表2列出了16個(gè)特殊寄存器的名稱和主要功能含義。

單片機(jī)讀寫SL811HS

內(nèi)部寄存器的實(shí)現(xiàn)

按照SL811HS的讀寫控制信號(hào)時(shí)序圖編寫單片機(jī)讀寫SL811HS內(nèi)部寄存器的子程序,使各控制引腳上按照規(guī)定的時(shí)序給出符合要求的信號(hào)脈沖。在這個(gè)程序中,單片機(jī)指令周期的大小將直接影響輸出信號(hào)的保持時(shí)長(zhǎng)和時(shí)序關(guān)系。

初始化

初始化操作主要包括SL811HS芯片復(fù)位、USB總線復(fù)位、設(shè)備插拔檢測(cè)和設(shè)備USB數(shù)據(jù)傳輸速度檢測(cè)等,通過這些初始化操作,SL811HS將作為USB主機(jī)與從機(jī)之間建立一個(gè)底層協(xié)議連接關(guān)系,為后續(xù)的數(shù)據(jù)通信做好準(zhǔn)備。

SL811HS芯片復(fù)位

USB接口芯片SL811HS的復(fù)位是對(duì)芯片的狀態(tài)進(jìn)行復(fù)位,包括了對(duì)芯片內(nèi)部寄存器值的復(fù)位,實(shí)現(xiàn)該操作不需要讀寫接口芯片內(nèi)部寄存器,只需向接口芯片的復(fù)位引腳輸入一個(gè)有效的復(fù)位脈沖即可。

USB總線復(fù)位。

按照USB協(xié)議,USB總線復(fù)位是指在USB數(shù)據(jù)線上輸出SE0態(tài),并保持10ms以上,接在USB總線上的從機(jī)設(shè)備受到這個(gè)復(fù)位信號(hào)后就會(huì)進(jìn)行自身的復(fù)位操作,為接下來的USB數(shù)據(jù)傳輸作好準(zhǔn)備,通過設(shè)置接口芯片的CtrlReg[05H]寄存器的第4、3位為邏輯"01",并保持10ms,然后再把它們恢復(fù)為邏輯"00",就可以讓接口芯片產(chǎn)生USB總線復(fù)位信號(hào)。

設(shè)備插拔檢測(cè)和設(shè)備速度檢測(cè)

在USB協(xié)議的物理層上,USB從機(jī)設(shè)備是否接在USB總線上是通過檢測(cè)總線的電壓得知的,根據(jù)該電壓的高低,還可獲得USB總線上的設(shè)備所支持的速度(例如,在USB1.1協(xié)議中,分有低速和全速)。USB主機(jī)接口芯片SL811HS把這個(gè)物理層的電壓檢測(cè)結(jié)果反應(yīng)到狀態(tài)寄存器的取值上,通過讀取這些狀態(tài)寄存器的值,可以獲知當(dāng)前的設(shè)備插拔狀態(tài)的設(shè)備速度。

USB主機(jī)所進(jìn)行的初始化操作除了上述3項(xiàng)外,還包括幀起始包啟動(dòng)/禁止的設(shè)置、幀同步設(shè)置、幀定時(shí)初值的設(shè)置等,它們都是通過對(duì)接口芯片特殊寄存器進(jìn)行讀寫而實(shí)現(xiàn)的。

傳輸事務(wù)的實(shí)現(xiàn)

根據(jù)USB1.1協(xié)議,一個(gè)傳輸事務(wù)一般包含3個(gè)包(Packet)的傳輸,分別是標(biāo)記包(Token Packet)的傳輸,分別是標(biāo)記包(Token Packet),數(shù)據(jù)包(Data Packet)和握手包(Handshake Packet)。USB數(shù)據(jù)傳輸方式一共有四種,分別是控制傳輸(Control Transfer)、同步傳輸(Isochronous Transfer)、中斷傳輸(Interrupt Transfer)和批傳輸(Bulk Transfer)。其中,控制傳輸方式至少由2個(gè)傳輸事務(wù)構(gòu)成,其他三種傳輸方式則都各由1個(gè)傳輸事務(wù)構(gòu)成,可見,傳輸事務(wù)在USB傳輸中至關(guān)重要。

一個(gè)典型的傳輸事務(wù)含有3個(gè)包的傳送,這連續(xù)的3個(gè)包數(shù)據(jù)流如表3所示。

 


使用SL811HS設(shè)計(jì)USB主機(jī)系統(tǒng)時(shí),用戶只需要讓單片機(jī)設(shè)置SL11HS內(nèi)部幾個(gè)相關(guān)的特殊寄存器,然后把傳輸事務(wù)啟動(dòng)位使能(置為邏輯"1"),就可以讓接口芯片自動(dòng)完成這3個(gè)包的發(fā)送與接收,在表3所示的例子中,第n個(gè)包(標(biāo)記包)和第n+2個(gè)包(握手包)都是由主機(jī)法給從機(jī)的,第 n+1個(gè)包(數(shù)據(jù)包)是由從機(jī)發(fā)送給主機(jī)的。這個(gè)傳送方向和第n+2個(gè)包的傳送方向都是由標(biāo)記包中的標(biāo)識(shí)域取值決定的,其規(guī)律可參考USB協(xié)議。

如果傳輸事務(wù)的數(shù)據(jù)包是由從機(jī)發(fā)送給主機(jī),則該傳輸事務(wù)屬于輸入類型,稱為輸入傳輸事務(wù),反之則稱為輸出傳輸事務(wù),可見,表3例子是一個(gè)輸入傳輸事務(wù),對(duì)于一個(gè)輸入傳輸事務(wù),單片機(jī)通過設(shè)置 SL811HS內(nèi)部特殊寄存器就可以決定其取值的包域主要有:標(biāo)記包中的標(biāo)識(shí)域、地址域或端點(diǎn)域,數(shù)據(jù)包中的標(biāo)識(shí)域。在輸入傳輸事務(wù)中,雖然數(shù)據(jù)包并不是主機(jī)發(fā)送的,但之所以仍需要單片機(jī)設(shè)置與數(shù)據(jù)包標(biāo)識(shí)域相關(guān)的寄存器,是因?yàn)橹鳈C(jī)在該傳輸事務(wù)中將只認(rèn)可標(biāo)識(shí)域符合所設(shè)置值的數(shù)據(jù)包。其余部分,如標(biāo)記包中的其他域及握手包的內(nèi)容則都是SL811HS根據(jù)情況自動(dòng)產(chǎn)生的。

 

主機(jī)接口芯片SL811HS完成一次輸入傳輸事務(wù)后,如果傳輸成功,單片機(jī)就可以從SL811HS的數(shù)據(jù)緩沖寄存器讀到從機(jī)發(fā)送過來的數(shù)據(jù),此處,數(shù)據(jù)緩沖區(qū)的首地址是由單片機(jī)預(yù)先通過設(shè)置控制寄存器指定的。

對(duì)于輸出傳輸事務(wù),單片機(jī)同樣需要設(shè)置相關(guān)的寄存器以確定標(biāo)記包的標(biāo)識(shí)域、地址域、端點(diǎn)域和數(shù)據(jù)包的標(biāo)識(shí)域,以及存放發(fā)送數(shù)據(jù)的緩沖區(qū)首地址,并且,這個(gè)緩沖區(qū)中的數(shù)據(jù)也是由單片機(jī)寫入的。

具體的,單片機(jī)控制USB主機(jī)接口芯片進(jìn)行一次傳輸事務(wù)所需要知執(zhí)行的操作步驟如下:

首先,如果是輸出傳輸事務(wù),則需要把將在數(shù)據(jù)包中發(fā)送給從機(jī)的數(shù)據(jù)存放到SL811HS的數(shù)據(jù)緩沖區(qū)中。

其次,做好相關(guān)的傳輸準(zhǔn)備工作,即設(shè)置接口芯片中的4個(gè)特殊寄存器,這4個(gè)寄存器的名稱及其在傳輸事務(wù)中的作用如表4的前4項(xiàng)所列。

第三、啟動(dòng)傳輸事務(wù):把寄存器EP0Control[00H]或EP1Control[08H]的第0位(即傳輸事務(wù)啟動(dòng)位)置為邏輯"1",即可啟動(dòng)傳輸事務(wù)。但在此之前必須他這個(gè)寄存器中其他位設(shè)置好(或與啟動(dòng)位同時(shí)設(shè)置),與這個(gè)寄存器相關(guān)的包域如表4中最后一項(xiàng)所列。

 


第四,單片機(jī)讀取寄存器EP0Status(03H]或EP1Status[0BH]的值,以獲知此次事務(wù)傳輸?shù)耐瓿汕闆r。

最后,如果傳輸成功,而且該傳輸事務(wù)是輸入性質(zhì),則單片機(jī)可讀取數(shù)據(jù)緩沖區(qū),獲得從機(jī)發(fā)送過來的數(shù)據(jù)。

結(jié)語

在 51單片機(jī)控制USB接口芯片SL811HS的底層驅(qū)動(dòng)中,讀寫SL811HS內(nèi)部寄存器的子程序是最底層的,各種USB傳輸?shù)妮^低層操作,如總線復(fù)位、插拔檢測(cè)、速度檢測(cè)以及傳輸事務(wù)等,都主要是通過讀寫SL811HS內(nèi)部特殊寄存器實(shí)現(xiàn)的,其中,傳輸事務(wù)的實(shí)現(xiàn)直接涉及了5個(gè)特殊寄存器的讀寫。

在本文所述的底層驅(qū)動(dòng)基礎(chǔ)上,添加相關(guān)的高層程序,使該51單片機(jī)系統(tǒng)實(shí)現(xiàn)了對(duì)各種USB從機(jī)設(shè)備的枚舉控制和對(duì)U盤的數(shù)據(jù)交換,為51單片機(jī)系統(tǒng)的開發(fā)提供了廣闊的應(yīng)用前景,同時(shí)也對(duì)其他平臺(tái)的USB主機(jī)設(shè)計(jì)有一定的參考價(jià)值。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

2025年8月13日 – 提供超豐富半導(dǎo)體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Asahi Kasei Microdevices (AKM) 的...

關(guān)鍵字: 數(shù)模轉(zhuǎn)換器 USB 無線揚(yáng)聲器

物聯(lián)網(wǎng)與智能化設(shè)備快速普及,供電方式的選擇直接影響設(shè)備部署的靈活性、成本與可靠性。PoE(以太網(wǎng)供電)與USB供電作為兩大主流技術(shù),分別在工業(yè)網(wǎng)絡(luò)、智能家居、消費(fèi)電子等領(lǐng)域占據(jù)關(guān)鍵地位。本文將從設(shè)備適配性、傳輸距離、功率...

關(guān)鍵字: PoE USB

在無線技術(shù)的發(fā)展歷程中,部署的簡(jiǎn)便性往往是成功的關(guān)鍵。像Wi-Fi、藍(lán)牙和早期的蜂窩技術(shù),只有在集成變得簡(jiǎn)單、無縫且實(shí)惠時(shí),才能實(shí)現(xiàn)大規(guī)模的應(yīng)用。而如今,Wi-Fi HaLow——一種專為物聯(lián)網(wǎng)(IoT)設(shè)計(jì)的遠(yuǎn)距離、低...

關(guān)鍵字: 物聯(lián)網(wǎng) Wi-Fi USB

2025年8月5日 – 專注于引入新品的全球電子元器件和工業(yè)自動(dòng)化產(chǎn)品授權(quán)代理商貿(mào)澤電子 (Mouser Electronics)即日起開售Microchip Technology的新款A(yù)VR? SD 8位MCU。AVR...

關(guān)鍵字: MCU 工業(yè)自動(dòng)化 USB

隨著高解析度音頻應(yīng)用的不斷發(fā)展和廣泛部署,諸如USB與I2S之間等不同專業(yè)接口之間的高品質(zhì)音頻轉(zhuǎn)換需求日益增長(zhǎng),由此帶來了實(shí)現(xiàn)高性能、高實(shí)時(shí)性與高靈活性的新挑戰(zhàn)。為此,邊緣AI和智能音頻專家XMOS攜手其全球首家增值分銷...

關(guān)鍵字: SoC USB 處理器

【2025年7月24日, 德國(guó)慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網(wǎng)領(lǐng)域的半導(dǎo)體領(lǐng)導(dǎo)者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)近日推出新型英飛凌ID Key系列,進(jìn)一步擴(kuò)展其通用串行總線(USB)...

關(guān)鍵字: 控制器 USB 非易失性存儲(chǔ)器

其他電腦(比如安卓手機(jī)/平板電腦)的屏幕壞了,你可能想在安排維修之前緊急訪問一些東西。你可以使用android的USB OTG功能(是的,幾乎每個(gè)android都支持這個(gè)功能,你可以將鼠標(biāo)和鍵盤連接到它)。

關(guān)鍵字: USB 鼠標(biāo) Android 樹莓派

M5Stack Cardputer非常適合作為硬件密碼管理器。它很小巧,有一個(gè)內(nèi)置鍵盤,一個(gè)SD卡插槽,運(yùn)行在帶有本地USB支持的ESP32-S3上。屏幕使其易于使用,并且由于USB HID,它可以直接在登錄字段中鍵入密...

關(guān)鍵字: 密碼管理器 M5Stack Cardputer USB

【2025年7月10日, 德國(guó)慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網(wǎng)領(lǐng)域的半導(dǎo)體領(lǐng)導(dǎo)者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)為CIS的新款USB 5 Gbit/s和10 Gbit/s攝像頭提供E...

關(guān)鍵字: 控制器 USB 圖像信號(hào)處理器

Holtek 針對(duì)USB應(yīng)用推出HT82B45R低速USB OTP MCU,符合USB 2.0低速規(guī)范,支持鍵盤用的高阻抗碳膜技術(shù)(Carbon Membrane)。HT82B45R結(jié)合低功耗設(shè)計(jì)、彈性I/O配置、內(nèi)建L...

關(guān)鍵字: MCU USB 看門狗定時(shí)器
關(guān)閉