




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、51單片機控制SL811HS的USB主機底層驅(qū)動 摘 要:本文介紹了51單片機控制SL811HS實現(xiàn)USB主機的硬件設(shè)計和底層驅(qū)動的編寫。其中,底層驅(qū)動部分主要講述了USB總線復(fù)位、設(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)有的各種
2、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è)的插拔動作,可以按照外處理器(如單片機)
3、的要求自動把數(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ū)動時,可接
4、從低層往高層的順序逐層進行。 以USB主機枚舉從機設(shè)備的操作為例,實現(xiàn)該功能所需要的各層子程序?qū)哟侮P(guān)系如表1所示。本文將介紹較低層的幾個子程序的實現(xiàn),包括讀寫SL811HS內(nèi)部寄存器、傳輸事務(wù)的實現(xiàn)、設(shè)備插拔檢測、復(fù)位等,其中,“傳輸事務(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)控制寄存器寫入
5、控制字節(jié)可以實現(xiàn)USB總線復(fù)位以及USB數(shù)據(jù)傳輸?shù)炔僮鳌?SL811HS內(nèi)部寄存器 從編程結(jié)構(gòu)的角度來看,SL811HS內(nèi)部寄存器一共有256個單元,每個單元是一個字節(jié),其中地址為00H0FH的前16個單元是SL811HS的狀態(tài)寄存器或控制寄存器(統(tǒng)稱為特殊寄存器),其余的是數(shù)據(jù)緩沖寄存器。表2列出了16個特殊寄存器的名稱和主要功能含義。 表2 SL811HS內(nèi)部特殊寄存器簡介 單片機讀寫SL811HS 內(nèi)部寄存器的實現(xiàn) 按照SL811HS的讀寫控制信號時序圖編寫單片機讀寫SL811HS內(nèi)部寄存器的子程序,使各控制引腳上按照規(guī)定的時序給出符合要求的信號脈沖。 在這個程序中,單片機指令周期的大小
6、將直接影響輸出信號的保持時長和時序關(guān)系。 初始化 初始化操作主要包括SL811HS芯片復(fù)位、USB總線復(fù)位、設(shè)備插拔檢測和設(shè)備USB數(shù)據(jù)傳輸速度檢測等。通過這些初始化操作,SL811HS將作為USB主機與從機之間建立一個底層協(xié)議連接關(guān)系,為后續(xù)的數(shù)據(jù)通信做好準備。 SL811HS芯片復(fù)位 USB接口芯片SL811HS的復(fù)位是對芯片的狀態(tài)進行復(fù)位,包括了對芯片內(nèi)部寄存器值的復(fù)位。實現(xiàn)該操作不需要讀寫接口芯片內(nèi)部寄存器,只需向接口芯片的復(fù)位引腳輸入一個有效的復(fù)位脈沖即可。 USB總線復(fù)位 按照USB協(xié)議,USB總線復(fù)位是指在USB數(shù)據(jù)線上輸出SE0態(tài),并保持10ms以上,接在USB總線上的從機設(shè)備
7、收到這個復(fù)位信號后就會進行自身的復(fù)位操作,為接下來的USB數(shù)據(jù)傳輸做好準備。通過設(shè)置接口芯片的CtrlReg05H寄存器的第4、3位為邏輯”01”,并保持10ms,然后再把它們恢復(fù)為邏輯”00”,就可以讓接口芯片產(chǎn)生USB總線復(fù)位信號。 設(shè)備拔插檢測和設(shè)備速度檢測 在USB協(xié)議的物理層上,USB從機設(shè)備是否接在USB總線上是通過檢測總線的電壓得知的。根據(jù)該電壓的高低,還可獲知USB總線上的設(shè)備所支持的速度(例如,在USB1.1協(xié)議中,分有低速和全速)。 USB主機接口芯片SL811HS把這個物理層的電壓檢測結(jié)果反映到狀態(tài)寄存器的取值上,通過讀取這些狀態(tài)寄存器的值,可以獲知當前的設(shè)備插拔狀態(tài)和設(shè)
8、備速度。 USB主機所進行的初始化操作除了上述3項外,還包括幀起始包啟動/禁止的設(shè)置、幀同步設(shè)置、幀定時初值的設(shè)置等,它們都是通過對接口芯片特殊寄存器進行讀寫而實現(xiàn)的。 傳輸事務(wù)的實現(xiàn) 根據(jù)USB1.1協(xié)議,一個傳輸事務(wù)一般包含3個包(Packet)的傳輸,分別是標記包(Token Packet)、數(shù)據(jù)包(Data Packet)和握手包(Handshake Packet)。USB數(shù)據(jù)傳輸方式一共有四種,分別是控制傳輸(CONTROL Transfer)、同步傳輸(Isochronous Transfer)、中斷傳輸(Interrupt Transfer)和批傳輸(Bulk Transfer)
9、。其中,控制傳輸方式至少由2個傳輸事務(wù)構(gòu)成,其它三種傳輸方式則都各由個傳輸事務(wù)構(gòu)成??梢姡瑐鬏斒聞?wù)在USB傳輸中至關(guān)重要。 一個典型的傳輸事務(wù)含有3個包的傳送,這連續(xù)的3個包數(shù)據(jù)流如表3所示。 表3 一個傳輸事務(wù)的數(shù)據(jù)流示意 使用SL811HS設(shè)計USB主機系統(tǒng)時,用戶只需讓單片機設(shè)置SL811HS內(nèi)部幾個相關(guān)的特殊寄存器,然后把傳輸事務(wù)啟動位使能(置為邏輯1),就可以讓接口芯片自動完成這個包的發(fā)送與接收。在表3所示的例子中,第n個包(標記包)和第n+2個包(握手包)都是由主機發(fā)送給從機的,第n+1個包(數(shù)據(jù)包)是由從機發(fā)送給主機的。這個傳送方向和第n+2個包的傳送方向都是由標記包中的標識域取
10、值決定的,其規(guī)則可參考USB協(xié)議。 如果傳輸事務(wù)的數(shù)據(jù)包是由從機發(fā)送給主機,則該傳輸事務(wù)屬于輸入類型,稱為輸入傳輸事務(wù),反之則稱為輸出傳輸事務(wù)??梢姡?例子是一個輸入傳輸事務(wù)。對于一個輸入傳輸事務(wù),單片機通過設(shè)置SL811HS內(nèi)部特殊寄存器就可以決定其取值的包域主要有:標記包中的標識域、地址域和端點域,數(shù)據(jù)包中的標識域。在輸入傳輸事務(wù)中,雖然數(shù)據(jù)包并不是由主機發(fā)送的,但之所以仍需要單片機設(shè)置與數(shù)據(jù)包標識域相關(guān)的寄存器,是因為主機在該傳輸事務(wù)中將只認可標識域符合所設(shè)置值的數(shù)據(jù)包。其余部分,如標記包中的其它域及握手包的內(nèi)容則都是SL811HS根據(jù)情況自動產(chǎn)生的。 主機接口芯片SL811HS完成一
11、次輸入傳輸事務(wù)后,如果傳輸成功,單片機就可以從SL811HS的數(shù)據(jù)緩沖寄存器讀到從機發(fā)送過來的數(shù)據(jù)。此處,數(shù)據(jù)緩沖區(qū)的首地址是由單片機預(yù)先通過設(shè)置控制寄存器指定的。 對于輸出傳輸事務(wù),單片機同樣需要設(shè)置相關(guān)的寄存器以確定標記包的標識域、地址域、端點域和數(shù)據(jù)包的標識域,以及存放發(fā)送數(shù)據(jù)的緩沖區(qū)首地址,并且,這個緩沖區(qū)中的數(shù)據(jù)也是由單片機寫入的。 具體地,單片機控制USB主機接口芯片進行一次傳輸事務(wù)所需要執(zhí)行的操作步驟如下: 首先,如果是輸出傳輸事務(wù),則需要把將在數(shù)據(jù)包中發(fā)送給從機的數(shù)據(jù)存放到SL811HS的數(shù)據(jù)緩沖區(qū)中。 其次,做好相關(guān)的傳輸準備工作,即設(shè)置接口芯片中的4個特殊寄存器。這4個寄存
12、器的名稱及其在傳輸事務(wù)中的作用如表4的前4項所列。 表4 與傳輸事務(wù)直接相關(guān)的SL811HS特殊寄存器 第三,啟動傳輸事務(wù):把寄存器EP0CONTROL00H或EP1CONTROL08H的第0位(即傳輸事務(wù)啟動位)置為邏輯1即可啟動傳輸事務(wù)。但在此之前必須把這個寄存器中其它位設(shè)置好(或與啟動位同時設(shè)置),與這個寄存器相關(guān)的包域如表4中最后一項所列。 第四,單片機讀取寄存器EP0Status03H或EP1Status0BH的值,以獲知此次事務(wù)傳輸?shù)耐瓿汕闆r。 最后,如果傳輸成功,而且該傳輸事務(wù)是輸入性質(zhì)的,則單片機可讀取數(shù)據(jù)緩沖區(qū),獲得由從機發(fā)送過來的數(shù)據(jù)。 結(jié)語 在51單片機控制USB接口芯片
13、SL811HS的底層驅(qū)動中,讀寫SL811HS內(nèi)部寄存器的子程序是最低層的,各種USB傳輸?shù)妮^低層操作,如總線復(fù)位、插拔檢測、速度檢測以及傳輸事務(wù)等,都主要是通過讀寫SL811HS內(nèi)部特殊寄存器實現(xiàn)的。其中,傳輸事務(wù)的實現(xiàn)就直接涉及了5個特殊寄存器的讀寫。 在本文所述的底層驅(qū)動基礎(chǔ)上,添加相關(guān)的高層程序,使該51單片機系統(tǒng)實現(xiàn)了對各種USB從機設(shè)備的枚舉控制和對U盤的數(shù)據(jù)交換,為51單片機系統(tǒng)的開發(fā)提供了廣闊的應(yīng)用前景,同時也對其它平臺的USB主機設(shè)計有一定的參考價值。 作者:華南理工大學(xué) 微電子研究所陳智榮李 斌 USB接口芯片SL811HS在51單片機系統(tǒng)中的應(yīng)用 USB接口芯片SL811
14、HS在51單片機系統(tǒng)中的應(yīng)用摘要:介紹了CYPRESS公司生產(chǎn)的主從雙工作模式USB接口芯片SL811HS的性能與內(nèi)部結(jié)構(gòu),給出了SL811HS芯片在單片機系統(tǒng)中擴展接口的硬件電路,同時給出了該系統(tǒng)的USB驅(qū)動程序及實現(xiàn)盤讀寫功能的應(yīng)用程序。關(guān)鍵詞:SL811HS;USB接口;驅(qū)動程序;盤讀寫 引言(通用串行總線)是、-、等公司聯(lián)合提出的、最近幾年逐步在領(lǐng)域廣為應(yīng)用的新型接口技術(shù)。接口通用性好、實時性強、傳輸方式多樣、成本低、支持即插即用、易于擴展且便于使用,這些優(yōu)點使其得到許多硬件廠商的青睞。目前各種類型的產(chǎn)品已大量涌入市場,同時也被廣泛地用在機及嵌入式系統(tǒng)中。的拓撲結(jié)構(gòu)中居核心地位的是(也
15、稱為主機),任何一次數(shù)據(jù)傳輸都必須由主機發(fā)起和控制,所有的外設(shè)都只能和主機建立連接,任何兩個外設(shè)之間或是兩個主機之間無法直接通信。而目前,扮演主機角色的大多是個人電腦。而我們買到和使用的移動設(shè)備都是外設(shè)(),如的移動硬盤、接口的數(shù)碼相機等。所有這些設(shè)備都只能在上或通過來進行文件和數(shù)據(jù)交換。沒有了,這些設(shè)備就“失靈”了(指數(shù)據(jù)交換的功能)。系列單片機以其優(yōu)越的性能、成熟的技術(shù)高可靠性、高性價比吸引了大量國內(nèi)用戶,被廣泛應(yīng)用于測控和自動化領(lǐng)域。用系列單片機實現(xiàn)主機接口,進而實現(xiàn)對外設(shè)的控制,對提高整個系統(tǒng)的數(shù)據(jù)存儲、數(shù)據(jù)傳輸、設(shè)備控制等性能都有很大的作用。本文使用系列單片機和接口芯片設(shè)計了一個主機
16、接口,通過該接口可實現(xiàn)對外設(shè)盤的讀寫控制,從而實現(xiàn)單片機數(shù)據(jù)采集系統(tǒng)的海量數(shù)據(jù)存儲。 的結(jié)構(gòu)性能是公司生產(chǎn)的、可支持全速數(shù)據(jù)傳輸?shù)目刂菩酒撔酒捎媚_和腳兩種封裝形式,且內(nèi)含主從控制器,支持全速()低速數(shù)據(jù)傳輸,并能自動識別低速或全速設(shè)備。所提供的接口遵從標準,可與微處理器、微控制器、相連,也可直接與、及其它總線相連。的數(shù)據(jù)接口與微處理器進行接口可提供位數(shù)據(jù)或雙向通道,并能以從機操作方式支持數(shù)據(jù)傳輸。此外,通過中斷支持還可以輕松地與、 及其它眾多類型的標準微處理器或微控制器相連。內(nèi)部有一個字節(jié)的,可用做控制寄存器或數(shù)據(jù)緩沖器。的內(nèi)部結(jié)構(gòu)框圖如圖所示。 和微控制器的硬件接口圖所示是系列微控制器與
17、的連接電路。在該設(shè)計硬件時,由于所選用的系列單片機及其周圍元件的工作電壓為,而的工作電壓為,所以系統(tǒng)應(yīng)同時提供和電源;雖然可以使用晶振,但在實際使用過程中發(fā)現(xiàn),如果晶振質(zhì)量不太好,電路穩(wěn)定性就會比較差,因此,設(shè)計時推薦使用晶振;由于的中斷請求輸出的是高電平,因此需要用反向器把它變換成低電平以滿足中斷輸入要求;此外,是低電平復(fù)位;其插座的電源接口也應(yīng)作限流處理以保護系統(tǒng)。 軟件設(shè)計軟件設(shè)計分為部分,一是針對芯片編寫主機控制器驅(qū)動程序;二是系統(tǒng)調(diào)用驅(qū)動程序來完成盤數(shù)據(jù)讀寫的應(yīng)用程序。 主控制器驅(qū)動程序設(shè)計設(shè)備驅(qū)動程序是開發(fā)外設(shè)的關(guān)鍵,協(xié)議的復(fù)雜性導(dǎo)致了驅(qū)動程序內(nèi)容的多樣性。本文只介紹主機完成盤數(shù)據(jù)
18、讀寫功能所需的主要模塊,包括初始化模塊、枚舉模塊、讀字節(jié)模塊、寫字節(jié)模塊、讀緩沖區(qū)模塊、寫緩沖區(qū)模塊等。初始化模塊用來設(shè)置的主從機工作模式、全速或低速工作方式、內(nèi)部數(shù)據(jù)緩沖區(qū)結(jié)構(gòu)等;而枚舉主要是指主機監(jiān)測到盤插入時,主機和盤之間產(chǎn)生的一個過程。當枚舉發(fā)生時,主機首先自動發(fā)出查詢請求,盤回應(yīng)這個請求,并送出設(shè)備的 和 然后由主機根據(jù)這兩個裝載相應(yīng)的設(shè)備驅(qū)動程序,以完成枚舉過程。通過枚舉不但可為盤設(shè)定設(shè)備地址,而且可以得到盤端點的描述表及盤支持協(xié)議,之后就可以根據(jù)盤所屬的子類及協(xié)議對盤進行操作。在本系統(tǒng)中,占用的地址空間為,下面的讀寫函數(shù)中采用“自動地址增加模式”來降低讀寫設(shè)備時占用的系統(tǒng)資源:
19、_ ;主機控制寄存器地址 _ _ ;主機數(shù)據(jù)基址 ( , ) _ ; ; ( ) _ ; _;下面是讀寫緩沖區(qū)的代碼函數(shù): 緩沖區(qū)起始偏移地址 進行緩沖區(qū)讀寫操作時的數(shù)據(jù)指針 進行緩沖區(qū)讀寫操作時的數(shù)據(jù)數(shù)量 ( , , ) _ ;() _; ( , , ) ; () _; 應(yīng)用程序設(shè)計總線一般包含四種基本數(shù)據(jù)傳輸類型:控制傳輸、中斷傳輸、批傳輸以及同步傳輸,本系統(tǒng)使用的是控制傳輸和批腀輸。這面以愛國者迷你王盤為例,介紹在該盤上建立目錄及寫文件的具體方法。愛國者迷你王()屬 ,支持傳輸,命令集為傳輸命令集。傳輸時,其命令、數(shù)據(jù)及狀態(tài)均通過端點傳送。愛國者迷你王()有三個端點,端點為缺省控制通道,
20、端點為 端點,端點為 端點。首先要用(讀 )及 命令讀取盤參數(shù),隨后即可對盤進行讀寫。 其中的值為,表示當前發(fā)送的是一個;將的內(nèi)容在狀態(tài)階段原樣發(fā)送給可以驗證命令執(zhí)行的是否正確;為數(shù)據(jù)階段要傳送的字節(jié)數(shù);表明數(shù)據(jù)階段傳送的方向;-是保留位,通常可以置零;用于指明該命令傳送給哪個邏輯單元;為后續(xù)字符串中命令字節(jié)的長度,為真正要傳送的命令。命令發(fā)出后,盤從中解析出-然后執(zhí)行相應(yīng)的操作,之后返回一個命令塊,表明命令執(zhí)行情況。愛國者迷你王()每次至少讀取或?qū)懭胱止?jié),因此在改寫某些字節(jié)時,必須把整個邏輯塊一次讀出,修改后再一次性寫入。用控制來讀寫盤的工作過程可以簡單地概括為:當從總線檢測到盤插入后,通過
21、中斷方式將此信息通知系統(tǒng),系統(tǒng)通過調(diào)用枚舉模塊可以獲得與此次傳輸有關(guān)的各種參數(shù),并根據(jù)具體的傳輸參數(shù)調(diào)用數(shù)據(jù)讀寫模塊以對的控制寄存器和數(shù)據(jù)寄存器進行相應(yīng)的操作,最終完成對盤的讀寫。其寫文件流程圖見圖所示。 結(jié)束語使用主機接口控制器實現(xiàn)對盤的讀寫,可為數(shù)據(jù)采集系統(tǒng)大容量數(shù)據(jù)存儲提供一種通用、方便和可靠的解決方案,目前該方案已成功應(yīng)用到筆者自主研發(fā)的溫室環(huán)境信息采集系統(tǒng)中,并經(jīng)過長時間測試證明了它的實用性和可靠性。由于同時具有從機工作模式,因此,也可將此方案經(jīng)簡單修改后開發(fā)接口從設(shè)備,從而滿足不同場合的需要。USB接口芯片SL811HS在51單片機系統(tǒng)中應(yīng)用 摘要:介紹了CYPRESS公司生產(chǎn)的主
22、從雙工作模式USB接口芯片SL811HS的性能與內(nèi)部結(jié)構(gòu),給出了SL811HS芯片在單片機系統(tǒng)中擴展接口的硬件電路,同時給出了該系統(tǒng)的USB驅(qū)動程序及實現(xiàn)盤讀寫功能的應(yīng)用程序。 關(guān)鍵詞:SL811HS;USB接口;驅(qū)動程序;盤讀寫 引言 (通用串行總線)是、-、等公司聯(lián)合提出的、最近幾年逐步在領(lǐng)域廣為應(yīng)用的新型接口技術(shù)。接口通用性好、實時性強、傳輸方式多樣、成本低、支持即插即用、易于擴展且便于使用,這些優(yōu)點使其得到許多硬件廠商的青睞。目前各種類型的產(chǎn)品已大量涌入市場,同時也被廣泛地用在機及嵌入式系統(tǒng)中。 的拓撲結(jié)構(gòu)中居核心地位的是(也稱為主機),任何一次數(shù)據(jù)傳輸都必須由主機發(fā)起和控制,所有的外
23、設(shè)都只能和主機建立連接,任何兩個外設(shè)之間或是兩個主機之間無法直接通信。而目前,扮演主機角色的大多是個人電腦。而我們買到和使用的移動設(shè)備都是外設(shè)(),如的移動硬盤、接口的數(shù)碼相機等。所有這些設(shè)備都只能在上或通過來進行文件和數(shù)據(jù)交換。沒有了,這些設(shè)備就“失靈”了(指數(shù)據(jù)交換的功能)。 系列單片機以其優(yōu)越的性能、成熟的技術(shù)高可靠性、高性價比吸引了大量國內(nèi)用戶,被廣泛應(yīng)用于測控和自動化領(lǐng)域。用系列單片機實現(xiàn)主機接口,進而實現(xiàn)對外設(shè)的控制,對提高整個系統(tǒng)的數(shù)據(jù)存儲、數(shù)據(jù)傳輸、設(shè)備控制等性能都有很大的作用。本文使用系列單片機和接口芯片設(shè)計了一個主機接口,通過該接口可實現(xiàn)對外設(shè)盤的讀寫控制,從而實現(xiàn)單片機數(shù)
24、據(jù)采集系統(tǒng)的海量數(shù)據(jù)存儲。 的結(jié)構(gòu)性能 是公司生產(chǎn)的、可支持全速數(shù)據(jù)傳輸?shù)目刂菩酒撔酒捎媚_和腳兩種封裝形式,且內(nèi)含主從控制器,支持全速()低速數(shù)據(jù)傳輸,并能自動識別低速或全速設(shè)備。所提供的接口遵從標準,可與微處理器、微控制器、相連,也可直接與、及其它總線相連。的數(shù)據(jù)接口與微處理器進行接口可提供位數(shù)據(jù)或雙向通道,并能以從機操作方式支持數(shù)據(jù)傳輸。此外,通過中斷支持還可以輕松地與、 及其它眾多類型的標準微處理器或微控制器相連。內(nèi)部有一個字節(jié)的,可用做控制寄存器或數(shù)據(jù)緩沖器。的內(nèi)部結(jié)構(gòu)框圖如圖所示。 和微控制器的硬件接口 圖所示是系列微控制器與的連接電路。在該設(shè)計硬件時,由于所選用的系列單片機及其
25、周圍元件的工作電壓為,而的工作電壓為,所以系統(tǒng)應(yīng)同時提供和電源;雖然可以使用晶振,但在實際使用過程中發(fā)現(xiàn),如果晶振質(zhì)量不太好,電路穩(wěn)定性就會比較差,因此,設(shè)計時推薦使用晶振;由于的中斷請求輸出的是高電平,因此需要用反向器把它變換成低電平以滿足中斷輸入要求;此外,是低電平復(fù)位;其插座的電源接口也應(yīng)作限流處理以保護系統(tǒng)。 軟件設(shè)計 軟件設(shè)計分為部分,一是針對芯片編寫主機控制器驅(qū)動程序;二是系統(tǒng)調(diào)用驅(qū)動程序來完成盤數(shù)據(jù)讀寫的應(yīng)用程序。 主控制器驅(qū)動程序設(shè)計 設(shè)備驅(qū)動程序是開發(fā)外設(shè)的關(guān)鍵,協(xié)議的復(fù)雜性導(dǎo)致了驅(qū)動程序內(nèi)容的多樣性。本文只介紹主機完成盤數(shù)據(jù)讀寫功能所需的主要模塊,包括初始化模塊、枚舉模塊、讀字節(jié)模塊、寫字節(jié)模塊、讀緩沖區(qū)模塊、寫緩沖區(qū)模塊等。 初始化模塊用來設(shè)置的主從機工作模式、全速或低速工作方式、內(nèi)部數(shù)據(jù)緩沖區(qū)結(jié)構(gòu)等;而枚舉主要是指主機監(jiān)測到盤插入時,主機和盤之間產(chǎn)生的一個過程。當枚舉發(fā)生時,主機首先自動發(fā)出查詢請求,盤回應(yīng)這個請求,并送出設(shè)備的 和 然后由主機根據(jù)這兩個裝載相應(yīng)的設(shè)備驅(qū)動程序,以完成枚舉過程。通過枚舉不但可為盤設(shè)定設(shè)備地址,而且可以得到盤端點的描述表及盤支持協(xié)議,之后就可以根據(jù)盤所屬的子類及協(xié)議對盤進行操作。 在本系統(tǒng)中,占用的地址空間為,下面的讀寫函數(shù)中采用“自動地址增加模式”來降低讀寫設(shè)備時占用的系統(tǒng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司門面買賣合同范例
- 農(nóng)村廠房租賃合同范例
- 書籍出版合作合同范例
- 侵權(quán)合同范例
- 中介收購公司合同范例
- 中介租房合同范例中介
- 三方投資協(xié)議合同范例
- 個人土地征用合同范例
- 代招聘協(xié)議合同范例
- 辦公家具修理修配合同范本
- 2025年安徽省合肥熱電集團招聘50人歷年高頻重點模擬試卷提升(共500題附帶答案詳解)
- 2024 ESC慢性冠脈綜合征指南解讀(全)
- 第一次月考測試卷(試題)-2023-2024學(xué)年人教版六年級數(shù)學(xué)下冊
- 新人教版小學(xué)五年級數(shù)學(xué)下冊全冊同步課堂練習(xí)題
- 第二章蛋白質(zhì)化學(xué)-課件
- 高等數(shù)學(xué)第一節(jié) 原函數(shù)與不定積分ppt課件
- A4橫線稿紙模板(可直接打印)-a4線條紙
- 氣膜建筑項目建設(shè)申請報告(模板)
- 道路工程畢業(yè)設(shè)計邊坡穩(wěn)定性分析
- 校企合作人才培養(yǎng)模式實踐研究開題報告定稿
- 新教科版五年級下冊科學(xué)教學(xué)課件 第一單元生物與環(huán)境第6課時食物鏈和食物網(wǎng)
評論
0/150
提交評論