《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 51單片機控制SL811HS的USB主機底層驅動
51單片機控制SL811HS的USB主機底層驅動
摘要: 本設計實現了在51單片機系統中增加USB主機功能,采用普通51單片機外接專用USB接口芯片的方案。這種方案雖然會使系統傳輸速度受到限制,而且在穩定性方面有所欠缺,但此方案設計靈活性高,且易于移植,為低成本產品的開發提供了廣闊前景。
Abstract:
Key words :

       引言

       基于USB接口的設備使用方便,性價比高,因此在人們的工作和生活中得到了廣泛的應用,如U盤、移動硬盤、移動光驅、USB攝像頭、USB鼠標鍵盤等。同時,51 系列單片機以其成熟的技術和高性價比吸引了大量國內用戶,被廣泛應用于測控和自動化領域。因此,如果在51 單片機系統中增加USB 主機接口,實現對USB 從機設備的控制,則該單片機系統可充分利用現有的各種USB從機設備,大大擴展單片機系統的功能。

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

系統硬件示意圖
圖 1 系統硬件示意圖

       本文將介紹單片機AT89S52控制SL811HS的硬件設計和底層驅動的編寫,其中重點講述底層驅動的設計。

       硬件設計

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

USB主機枚舉操作驅動的層次關系
表1 USB主機枚舉操作驅動的層次關系

       軟件設計

       USB主機驅動是一個高低層子程序的組合,實現USB傳輸和控制的過程是較高層子程序調用較低層子程序的過程。編寫USB主機驅動時,可接從低層往高層的順序逐層進行。

 



       以USB主機枚舉從機設備的操作為例,實現該功能所需要的各層子程序層次關系如表1所示。本文將介紹較低層的幾個子程序的實現,包括讀寫SL811HS內部寄存器、傳輸事務的實現、設備插拔檢測、復位等,其中,“傳輸事務的實現”是關鍵和難點,同時也是本文的重點。

       單片機讀寫SL811HS

       內部寄存器

       讀寫SL811HS內部寄存器子程序是最低層的子程序,系統所進行的各種操作主要都是通過調用這些子程序讀寫SL811HS內部寄存器實現的。例如,通過讀取SL811HS的狀態寄存器獲取SL811HS的狀態信息可以實現設備插拔檢測、設備速度檢測等,通過向SL811HS的相關控制寄存器寫入控制字節可以實現USB總線復位以及USB數據傳輸等操作。

       SL811HS內部寄存器

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

 

SL811HS內部特殊寄存器簡介
表2 SL811HS內部特殊寄存器簡介

       單片機讀寫SL811HS

       內部寄存器的實現


       按照SL811HS的讀寫控制信號時序圖編寫單片機讀寫SL811HS內部寄存器的子程序,使各控制引腳上按照規定的時序給出符合要求的信號脈沖。 在這個程序中,單片機指令周期的大小將直接影響輸出信號的保持時長和時序關系。
       初始化

       初始化操作主要包括SL811HS芯片復位、USB總線復位、設備插拔檢測和設備USB數據傳輸速度檢測等。通過這些初始化操作,SL811HS將作為USB主機與從機之間建立一個底層協議連接關系,為后續的數據通信做好準備。

       SL811HS芯片復位

       USB接口芯片SL811HS的復位是對芯片的狀態進行復位,包括了對芯片內部寄存器值的復位。實現該操作不需要讀寫接口芯片內部寄存器,只需向接口芯片的復位引腳輸入一個有效的復位脈沖即可。

       USB總線復位

       按照USB協議,USB總線復位是指在USB數據線上輸出SE

 

0態,并保持10ms以上,接在USB總線上的從機設備收到這個復位信號后就會進行自身的復位操作,為接下來的USB數據傳輸做好準備。通過設置接口芯片的CtrlReg[05H]寄存器的第4、3位為邏輯”01”,并保持10ms,然后再把它們恢復為邏輯”00”,就可以讓接口芯片產生USB總線復位信號。

       設備拔插檢測和設備速度檢測

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

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

       傳輸事務的實現

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

       一個典型的傳輸事務含有3個包的傳送,這連續的3個包數據流如表3所示。
 

 

一個傳輸事務的數據流示意
表3 一個傳輸事務的數據流示意

       使用SL811HS設計USB主機系統時,用戶只需讓單片機設置SL811HS內部幾個相關的特殊寄存器,然后把傳輸事務啟動位使能(置為邏輯’1’),就可以讓接口芯片自動完成這個包的發送與接收。在表3所示的例子中,第n個包(標記包)和第n+2個包(握手包)都是由主機發送給從機的,第n+1個包(數據包)是由從機發送給主機的。這個傳送方向和第n+2個包的傳送方向都是由標記包中的標識域取值決定的,其規則可參考USB協議。

       如果傳輸事務的數據包是由從機發送給主機,則該傳輸事務屬于輸入類型,稱為輸入傳輸事務,反之則稱為輸出傳輸事務??梢姡?例子是一個輸入傳輸事務。對于一個輸入傳輸事務,單片機通過設置SL811HS內部特殊寄存器就可以決定其取值的包域主要有:標記包中的標識域、地址域和端點域,數據包中的標識域。在輸入傳輸事務中,雖然數據包并不是由主機發送的,但之所以仍需要單片機設置與數據包標識域相關的寄存器,是因為主機在該傳輸事務中將只認可標識域符合所設置值的數據包。其余部分,如標記包中的其它域及握手包的內容則都是SL811HS根據情況自動產生的。
       主機接口芯片SL811HS完成一次輸入傳輸事務后,如果傳輸成功,單片機就可以從SL811HS的數據緩沖寄存器讀到從機發送過來的數據。此處,數據緩沖區的首地址是由單片機預先通過設置控制寄存器指定的。

       對于輸出傳輸事務,單片機同樣需要設置相關的寄存器以確定標記包的標識域、地址域、端點域和數據包的標識域,以及存放發送數據的緩沖區首地址,并且,這個緩沖區中的數據也是由單片機寫入的。

       具體地,單片機控制USB主機接口芯片進行一次傳輸事務所需要執行的操作步驟如下:
首先,如果是輸出傳輸事務,則需要把將在數據包中發送給從機的數據存放到SL811HS的數據緩沖區中。

       其次,做好相關的傳輸準備工作,即設置接口芯片中的4個特殊寄存器。這4個寄存器的名稱及其在傳輸事務中的作用如表4的前4項所列。
 

 

與傳輸事務直接相關的SL811HS特殊寄存器
表4 與傳輸事務

 

直接相關的SL811HS特殊寄存器

 

       第三,啟動傳輸事務:把寄存器EP0Control[00H]或EP1Control[08H]的第0位(即傳輸事務啟動位)置為邏輯’1’即可啟動傳輸事務。但在此之前必須把這個寄存器中其它位設置好(或與啟動位同時設置),與這個寄存器相關的包域如表4中最后一項所列。

       第四,單片機讀取寄存器EP0Status[03H]或EP1Status[0BH]的值,以獲知此次事務傳輸的完成情況。

       最后,如果傳輸成功,而且該傳輸事務是輸入性質的,則單片機可讀取數據緩沖區,獲得由從機發送過來的數據。

       結語

       在51單片機控制USB接口芯片SL811HS的底層驅動中,讀寫SL811HS內部寄存器的子程序是最低層的,各種USB傳輸的較低層操作,如總線復位、插拔檢測、速度檢測以及傳輸事務等,都主要是通過讀寫SL811HS內部特殊寄存器實現的。其中,傳輸事務的實現就直接涉及了5個特殊寄存器的讀寫。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲视频视频在线| 玖玖在线精品| 国产精品影片在线观看| 久久一区国产| 欧美午夜精品久久久久久浪潮| 狠狠v欧美v日韩v亚洲ⅴ| 91久久国产自产拍夜夜嗨| 国产精品黄色| 在线不卡免费欧美| 伊人久久久大香线蕉综合直播| 久久综合伊人77777尤物| 欧美成人精品不卡视频在线观看| 欧美一级午夜免费电影| 欧美在线一级va免费观看| 久久久xxx| 国产精品视频免费一区| 国产亚洲精品v| 欧美福利电影在线观看| 国产精品老女人精品视频| 欧美国产日韩精品免费观看| 欧美一级久久| 欧美激情中文字幕乱码免费| 久久精品盗摄| 亚洲精品久久嫩草网站秘色| 欧美日韩国产一区二区三区地区| 久久综合免费视频影院| 夜夜嗨av一区二区三区| 亚洲一区二区三区乱码aⅴ| 影音先锋中文字幕一区二区| 国产精品乱码一区二区三区| 激情综合网激情| 久久久久久综合| 亚洲欧洲精品一区| 99re6热在线精品视频播放速度| 国产欧美精品一区二区三区介绍| 国产欧美日韩综合精品二区| 国产精品观看| 在线成人av| 国产日韩精品在线观看| 国产精品国产成人国产三级| 亚洲一区二区免费看| 国产中文一区二区三区| 亚洲一级免费视频| 亚洲精品久久在线| 亚洲精品国产无天堂网2021| av成人动漫| 国产日韩欧美在线看| 在线日韩欧美视频| 欧美日韩精品免费在线观看视频| 亚洲日本欧美在线| 好看不卡的中文字幕| 亚洲欧美日本国产专区一区| 久久精品国产亚洲一区二区| 极品少妇一区二区三区精品视频| 樱花yy私人影院亚洲| 国产精品久久波多野结衣| 99国产精品99久久久久久粉嫩| 久久久另类综合| 欧美日韩精品免费观看视频完整| 亚洲国产欧美国产综合一区| 国产精品毛片高清在线完整版| 国产精品一区二区男女羞羞无遮挡| 老鸭窝亚洲一区二区三区| 久久国产精品毛片| 欧美三级不卡| 欧美日韩蜜桃| 亚洲国产高清高潮精品美女| 国产午夜精品视频免费不卡69堂| 国产字幕视频一区二区| 欧美破处大片在线视频| 欧美另类综合| 亚洲欧美一区二区三区极速播放| 欧美亚洲免费在线| 亚洲网站在线播放| 狠狠色综合播放一区二区| 欧美国产一区在线| 久久女同精品一区二区| 一区二区三区国产精华| 欧美一区成人| 久久天天狠狠| 久久久久久高潮国产精品视| 久久婷婷久久| 国产精品制服诱惑| 国产亚洲精品7777| 亚洲美女av在线播放| 国产精品日韩精品欧美在线| 黄网站色欧美视频| 亚洲日本激情| 久久天天躁狠狠躁夜夜av| 久久国产精品久久精品国产| 欧美视频国产精品| 亚洲一区二区三区在线播放| 亚洲精品国产精品久久清纯直播| 亚洲成人资源网| 国产精品久久久久三级| 亚洲一区二区三区高清| 欧美一区二区三区视频免费播放| 欧美福利在线观看| 亚洲男人第一网站| 一区二区国产在线观看| 亚洲精品在线观| 国产精品男人爽免费视频1| 欧美一级电影久久| 欧美日韩视频在线| 亚洲开发第一视频在线播放| 国产主播精品在线| 久久精品国产99| 夜夜狂射影院欧美极品| 亚洲在线中文字幕| 尤物99国产成人精品视频| 亚洲欧美日韩一区| 欧美日韩亚洲国产精品| 狠狠狠色丁香婷婷综合久久五月| 一本色道88久久加勒比精品| 亚洲欧美日本国产有色| 亚洲黄色性网站| 欧美在线亚洲综合一区| 亚洲一本视频| 樱桃成人精品视频在线播放| 国产精品狼人久久影院观看方式| 欧美日韩亚洲激情| 亚洲国产综合在线看不卡| 欧美一二三区精品| 在线观看国产精品网站| 亚洲少妇一区| 欧美日韩亚洲一区在线观看| 亚洲毛片一区二区| 亚洲黄色在线观看| 国产区二精品视| 免费亚洲一区二区| 国产精品成人一区二区三区吃奶| 免费成人高清在线视频| 国产欧美精品在线| 国产亚洲精品高潮| 久久精品女人天堂| 一区二区欧美亚洲| 国产日韩欧美精品一区| 亚洲国产99精品国自产| 性做久久久久久免费观看欧美| 亚洲高清免费| 日韩视频在线你懂得| 先锋影音国产精品| 久久午夜av| 欧美亚洲动漫精品| 国产日韩高清一区二区三区在线| 亚洲精品国产精品乱码不99| 国产精品永久免费视频| 噜噜噜久久亚洲精品国产品小说| 欧美亚洲在线播放| 欧美国产日韩精品| 亚洲香蕉伊综合在人在线视看| 亚洲精品国精品久久99热| 欧美精品一区二区三区视频| 国产精品麻豆成人av电影艾秋| 榴莲视频成人在线观看| 蜜乳av另类精品一区二区| av不卡在线观看| 欧美夜福利tv在线| 欧美在线视频观看| 亚洲性色视频| 亚洲免费成人| 久久国产天堂福利天堂| 欧美日韩亚洲在线| 欧美四级电影网站| 亚洲少妇最新在线视频| 久久深夜福利免费观看| 日韩一级黄色av| 在线观看日韩av电影| 一区二区三区黄色| 国产农村妇女精品一区二区| 欧美国产精品久久| 在线日韩av永久免费观看| 亚洲日本成人女熟在线观看| 黄色成人av网站| 亚洲欧美日韩国产中文在线| 亚洲高清不卡一区| 亚洲欧美久久久久一区二区三区| 欧美激情aaaa| 午夜精品久久久久久99热软件| 久久婷婷久久一区二区三区| 亚洲精品乱码久久久久久日本蜜臀| 久久久久国色av免费观看性色| 国产精品久久久久久久久久免费看| 欧美精品日本| 久久精品国产亚洲aⅴ| 欧美区在线播放| 亚洲第一天堂无码专区| 一区二区三区在线免费视频| 国产欧美1区2区3区| 欧美精品不卡| 国产精品乱码一区二三区小蝌蚪| 欧美激情在线免费观看| 在线观看国产日韩| 国产综合18久久久久久| 欧美视频中文字幕| 久久婷婷成人综合色| 国产精品乱码一区二区三区| 99精品福利视频| 在线精品国精品国产尤物884a| 国产欧美日韩在线| 久久电影一区| 亚洲伊人第一页| 亚洲自拍三区| 欧美本精品男人aⅴ天堂| 亚洲福利av| 午夜精品久久久久久久久久久久| 亚洲一区在线观看视频| 麻豆亚洲精品| 欧美精品一线| 日韩视频在线观看| 亚洲欧美日本在线| 久久久综合香蕉尹人综合网| 99re在线精品| 欧美成人在线网站| 日韩一级精品视频在线观看| 精品99一区二区| 国产欧美日韩综合一区在线观看| 亚洲综合社区| 亚洲欧美日本精品| 黄色成人91| 日韩视频在线一区二区三区| 黄色成人在线| 国产美女精品在线| 在线成人性视频| 欧美人交a欧美精品| 国产亚洲欧美日韩在线一区| 亚洲成色精品| 精品成人国产| 在线一区亚洲| 99香蕉国产精品偷在线观看| 国产综合色产| 亚洲欧美另类中文字幕| 欧美日韩高清免费| 国产日韩欧美综合精品| 99ri日韩精品视频| 日韩午夜三级在线| 国产精品入口麻豆原神| 蜜桃av一区二区三区| 亚洲一区影院| 欧美韩日一区| 欧美另类极品videosbest最新版本| 亚洲激情在线视频| 亚洲三级免费观看| 国产欧美精品久久| 欧美日韩www| 亚洲精品免费看| 国产精品一区视频| 欧美第一黄网免费网站| 精品不卡在线| 久久精品国产一区二区电影| 久久精品国产视频| 亚洲人成人77777线观看| 久久久久久国产精品mv| 亚洲欧美在线aaa| 激情综合久久| 久久久久久久久一区二区| 亚洲一品av免费观看| 极品尤物一区二区三区| 麻豆国产精品va在线观看不卡| 国内精品一区二区三区| 在线免费高清一区二区三区| 在线观看视频一区二区| 欧美体内she精视频在线观看| 亚洲视频在线观看| 国内精品久久久久久久影视麻豆| 亚洲激情精品| 欧美一级日韩一级| 国产精品美女主播| 亚洲免费伊人电影在线观看av| 国产精品日韩欧美| 亚洲一区二区三区高清| 欧美国产日韩a欧美在线观看| 欧美亚洲一区二区在线| 精品福利电影| 亚洲第一页中文字幕| 亚洲女同同性videoxma| 午夜日韩在线观看| 久久久久久久精| 狠狠色综合一区二区| 精品51国产黑色丝袜高跟鞋| 激情六月婷婷久久| 国产精品女主播在线观看| 国产精品一区二区三区四区五区| 欧美激情亚洲| 国产自产v一区二区三区c| 午夜免费在线观看精品视频| 欧美日韩国产在线观看| 国产精品久久久久久久久久免费看| 欧美xart系列高清| 亚洲欧美激情在线视频| 久久精品人人做人人爽| 欧美日韩系列| 亚洲一区二区三区成人在线视频精品| 狂野欧美激情性xxxx欧美| 欧美在线影院在线视频| 亚洲精品一区在线观看| 一区二区三区回区在观看免费视频| 国产精品看片资源| 久久国产日韩欧美| 亚洲电影成人| 欧美日韩一区三区四区| 欧美激情第六页| 蜜臀久久久99精品久久久久久| 亚洲二区在线视频| 91久久精品美女高潮| 国产精品草草| 亚洲欧美文学| 永久555www成人免费| 一区二区三区视频免费在线观看| 亚洲一级二级| 国产精品护士白丝一区av| 久久av在线| 亚洲黄色成人网| 老鸭窝91久久精品色噜噜导演| 欧美日韩国产另类不卡| 欧美激情精品久久久久久大尺度| 亚洲欧美日韩国产成人| 欧美精选午夜久久久乱码6080| 国模大胆一区二区三区| 国产精品国产三级国产普通话三级| 日韩视频免费在线观看| 亚洲伊人伊色伊影伊综合网| 欧美天堂亚洲电影院在线播放| 亚洲美女电影在线| 欧美日韩精品欧美日韩精品| 久久尤物视频| 久久www免费人成看片高清| 欧美1级日本1级|