51單片機控制SL811HS的USB主機底層驅(qū)動
發(fā)布時間:2008/6/3 0:00:00 訪問次數(shù):465
    
    
    摘 要:本文介紹了51單片機控制sl811hs實現(xiàn)usb主機的硬件設(shè)計和底層驅(qū)動的編寫。其中,底層驅(qū)動部分主要講述了usb總線復位、設(shè)備插拔動作檢測、設(shè)備速度檢測以及usb傳輸事務(wù)的實現(xiàn)。
    
    引言
    
    基于usb接口的設(shè)備使用方便,性價比高,因此在人們的工作和生活中得到了廣泛的應(yīng)用,如u盤、移動硬盤、移動光驅(qū)、usb攝像頭、usb鼠標鍵盤等。同時,51 系列單片機以其成熟的技術(shù)和高性價比吸引了大量國內(nèi)用戶,被廣泛應(yīng)用于測控和自動化領(lǐng)域。因此,如果在51 單片機系統(tǒng)中增加usb 主機接口,實現(xiàn)對usb 從機設(shè)備的控制,則該單片機系統(tǒng)可充分利用現(xiàn)有的各種usb從機設(shè)備,大大擴展單片機系統(tǒng)的功能。
    
    本設(shè)計實現(xiàn)了在51單片機系統(tǒng)中增加usb主機功能,采用普通51單片機外接專用usb接口芯片的方案。這種方案雖然會使系統(tǒng)傳輸速度受到限制,而且在穩(wěn)定性方面有所欠缺,但此方案設(shè)計靈活性高,且易于移植,為低成本產(chǎn)品的開發(fā)提供了廣闊前景。設(shè)計中采用的51單片機是atmel公司的at89s52芯片,usb主機功能的擴展通過外接專用usb接口芯片sl811hs實現(xiàn)。cypress公司的usb接口芯片sl811hs可以工作在主機或從機模式,支持usb1.1的全速和低速數(shù)據(jù)傳輸。工作在主機模式時,sl811hs可以自動檢測外設(shè)的插拔動作,可以按照外處理器(如單片機)的要求自動把數(shù)據(jù)整合為usb協(xié)議數(shù)據(jù)包進行數(shù)據(jù)傳輸。
    
    
    
    圖 1 系統(tǒng)硬件示意圖
    
    本文將介紹單片機at89s52控制sl811hs的硬件設(shè)計和底層驅(qū)動的編寫,其中重點講述底層驅(qū)動的設(shè)計。
    
    硬件設(shè)計
    
    系統(tǒng)的硬件原理圖如圖1所示。at89s52的供電電壓為5v,sl811hs的為3.3v。盡管供電電壓不同,但根據(jù)芯片引腳的信號噪聲容限參數(shù)分析可知,at89s52與sl811hs之間的引腳可以直接相連,不需要電平轉(zhuǎn)換或緩沖。
    
    
    
    表1 usb主機枚舉操作驅(qū)動的層次關(guān)系
    
    軟件設(shè)計
    
    usb主機驅(qū)動是一個高低層子程序的組合,實現(xiàn)usb傳輸和控制的過程是較高層子程序調(diào)用較低層子程序的過程。編寫usb主機驅(qū)動時,可接從低層往高層的順序逐層進行。
    
    以usb主機枚舉從機設(shè)備的操作為例,實現(xiàn)該功能所需要的各層子程序?qū)哟侮P(guān)系如表1所示。本文將介紹較低層的幾個子程序的實現(xiàn),包括讀寫sl811hs內(nèi)部寄存器、傳輸事務(wù)的實現(xiàn)、設(shè)備插拔檢測、復位等,其中,“傳輸事務(wù)的實現(xiàn)”是關(guān)鍵和難點,同時也是本文的重點。
    
    單片機讀寫sl811hs
    
    內(nèi)部寄存器
    
    讀寫sl811hs內(nèi)部寄存器子程序是最低層的子程序,系統(tǒng)所進行的各種操作主要都是通過調(diào)用這些子程序讀寫sl811hs內(nèi)部寄存器實現(xiàn)的。例如,通過讀取sl811hs的狀態(tài)寄存器獲取sl811hs的狀態(tài)信息可以實現(xiàn)設(shè)備插拔檢測、設(shè)備速度檢測等,通過向sl811hs的相關(guān)控制寄存器寫入控制字節(jié)可以實現(xiàn)usb總線復位以及usb數(shù)據(jù)傳輸?shù)炔僮鳌?
    
    sl811hs內(nèi)部寄存器
    
    從編程結(jié)構(gòu)的角度來看,sl811hs內(nèi)部寄存器一共有256個單元,每個單元是一個字節(jié),其中地址為[00h]~[0fh]的前16個單元是sl811hs的狀態(tài)寄存器或控制寄存器(統(tǒng)稱為特殊寄存器),其余的是數(shù)據(jù)緩沖寄存器。表2列出了16個特殊寄存器的名稱和主要功能含義。
    
    
    
    表2 sl811hs內(nèi)部特殊寄存器簡介
    
    單片機讀寫sl811hs
    
   &nbs
    
    
    摘 要:本文介紹了51單片機控制sl811hs實現(xiàn)usb主機的硬件設(shè)計和底層驅(qū)動的編寫。其中,底層驅(qū)動部分主要講述了usb總線復位、設(shè)備插拔動作檢測、設(shè)備速度檢測以及usb傳輸事務(wù)的實現(xiàn)。
    
    引言
    
    基于usb接口的設(shè)備使用方便,性價比高,因此在人們的工作和生活中得到了廣泛的應(yīng)用,如u盤、移動硬盤、移動光驅(qū)、usb攝像頭、usb鼠標鍵盤等。同時,51 系列單片機以其成熟的技術(shù)和高性價比吸引了大量國內(nèi)用戶,被廣泛應(yīng)用于測控和自動化領(lǐng)域。因此,如果在51 單片機系統(tǒng)中增加usb 主機接口,實現(xiàn)對usb 從機設(shè)備的控制,則該單片機系統(tǒng)可充分利用現(xiàn)有的各種usb從機設(shè)備,大大擴展單片機系統(tǒng)的功能。
    
    本設(shè)計實現(xiàn)了在51單片機系統(tǒng)中增加usb主機功能,采用普通51單片機外接專用usb接口芯片的方案。這種方案雖然會使系統(tǒng)傳輸速度受到限制,而且在穩(wěn)定性方面有所欠缺,但此方案設(shè)計靈活性高,且易于移植,為低成本產(chǎn)品的開發(fā)提供了廣闊前景。設(shè)計中采用的51單片機是atmel公司的at89s52芯片,usb主機功能的擴展通過外接專用usb接口芯片sl811hs實現(xiàn)。cypress公司的usb接口芯片sl811hs可以工作在主機或從機模式,支持usb1.1的全速和低速數(shù)據(jù)傳輸。工作在主機模式時,sl811hs可以自動檢測外設(shè)的插拔動作,可以按照外處理器(如單片機)的要求自動把數(shù)據(jù)整合為usb協(xié)議數(shù)據(jù)包進行數(shù)據(jù)傳輸。
    
    
    
    圖 1 系統(tǒng)硬件示意圖
    
    本文將介紹單片機at89s52控制sl811hs的硬件設(shè)計和底層驅(qū)動的編寫,其中重點講述底層驅(qū)動的設(shè)計。
    
    硬件設(shè)計
    
    系統(tǒng)的硬件原理圖如圖1所示。at89s52的供電電壓為5v,sl811hs的為3.3v。盡管供電電壓不同,但根據(jù)芯片引腳的信號噪聲容限參數(shù)分析可知,at89s52與sl811hs之間的引腳可以直接相連,不需要電平轉(zhuǎn)換或緩沖。
    
    
    
    表1 usb主機枚舉操作驅(qū)動的層次關(guān)系
    
    軟件設(shè)計
    
    usb主機驅(qū)動是一個高低層子程序的組合,實現(xiàn)usb傳輸和控制的過程是較高層子程序調(diào)用較低層子程序的過程。編寫usb主機驅(qū)動時,可接從低層往高層的順序逐層進行。
    
    以usb主機枚舉從機設(shè)備的操作為例,實現(xiàn)該功能所需要的各層子程序?qū)哟侮P(guān)系如表1所示。本文將介紹較低層的幾個子程序的實現(xiàn),包括讀寫sl811hs內(nèi)部寄存器、傳輸事務(wù)的實現(xiàn)、設(shè)備插拔檢測、復位等,其中,“傳輸事務(wù)的實現(xiàn)”是關(guān)鍵和難點,同時也是本文的重點。
    
    單片機讀寫sl811hs
    
    內(nèi)部寄存器
    
    讀寫sl811hs內(nèi)部寄存器子程序是最低層的子程序,系統(tǒng)所進行的各種操作主要都是通過調(diào)用這些子程序讀寫sl811hs內(nèi)部寄存器實現(xiàn)的。例如,通過讀取sl811hs的狀態(tài)寄存器獲取sl811hs的狀態(tài)信息可以實現(xiàn)設(shè)備插拔檢測、設(shè)備速度檢測等,通過向sl811hs的相關(guān)控制寄存器寫入控制字節(jié)可以實現(xiàn)usb總線復位以及usb數(shù)據(jù)傳輸?shù)炔僮鳌?
    
    sl811hs內(nèi)部寄存器
    
    從編程結(jié)構(gòu)的角度來看,sl811hs內(nèi)部寄存器一共有256個單元,每個單元是一個字節(jié),其中地址為[00h]~[0fh]的前16個單元是sl811hs的狀態(tài)寄存器或控制寄存器(統(tǒng)稱為特殊寄存器),其余的是數(shù)據(jù)緩沖寄存器。表2列出了16個特殊寄存器的名稱和主要功能含義。
    
    
    
    表2 sl811hs內(nèi)部特殊寄存器簡介
    
    單片機讀寫sl811hs
    
   &nbs
熱門點擊
- 單片機多字節(jié)BCD碼加法減法
- 單片機C51串口中斷接收和發(fā)送測試
- 用單片機制作通用型電視遙控器
- P89C51RD2的Boot ROM與ISP
- 24C04在2051系統(tǒng)中的使用
- 單片機系統(tǒng)低功耗設(shè)計策略
- DVB-C信道解調(diào)解碼芯片GX1001的設(shè)計
- C51絕對地址訪問
- 大家一起來學單片機:LED花樣燈
- 用MCS-51單片機串行口對MAX7219及
推薦技術(shù)資料
- AMOLED顯示驅(qū)動芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計
- GB300 超級芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究