資源描述:
《在單片機(jī)上實(shí)現(xiàn)USB移動(dòng)存儲(chǔ).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、.word可編輯.在單片機(jī)上實(shí)現(xiàn)USB移動(dòng)存儲(chǔ)第1章主要硬件芯片介紹1.1系統(tǒng)總體設(shè)計(jì)??USB主機(jī)系統(tǒng)設(shè)計(jì)是一個(gè)軟、硬件結(jié)合的整體,宏觀上主要包括三個(gè)層次的設(shè)計(jì):USB總線物理層接口設(shè)計(jì)、USB核心系統(tǒng)設(shè)計(jì)和USB客戶系統(tǒng)設(shè)計(jì)??偩€接口主要處理主機(jī)與設(shè)備之間的電氣及協(xié)議層的互連,是信息包進(jìn)出的物理橋梁;USB核心系統(tǒng)主要管理和協(xié)調(diào)主機(jī)與從機(jī)間的邏輯數(shù)據(jù)傳輸,解析雙方聯(lián)系的握手協(xié)議,是驗(yàn)證信息包的邏輯關(guān)卡;客戶系統(tǒng)是最終用戶直接和USB設(shè)備功能交互的邏輯平臺(tái),不同的USB設(shè)備歸屬于不同的類,是利用相關(guān)的類協(xié)議來實(shí)現(xiàn)的,所以客戶系統(tǒng)驅(qū)動(dòng)程序具有多變性,需要為專門的
2、類定制專門的驅(qū)動(dòng)程序。在單片機(jī)上實(shí)現(xiàn)USB移動(dòng)存儲(chǔ)功能,具體包括USB主機(jī)接口的硬件設(shè)計(jì)和整機(jī)USB驅(qū)動(dòng)固件的設(shè)計(jì)。其中驅(qū)動(dòng)固件的設(shè)計(jì)具體又包含幾個(gè)協(xié)議的實(shí)現(xiàn):USB1.1控制傳輸協(xié)議、USBBULK傳輸協(xié)議、USB海量存儲(chǔ)類協(xié)議、UFI磁盤操作命令和FAT文件系統(tǒng)標(biāo)準(zhǔn)等。1.2硬件設(shè)計(jì).專業(yè).專注..word可編輯.1.2.1USB主控制器???USB主控制器主要是完成底層物理接口設(shè)計(jì),是USB系統(tǒng)架構(gòu)的必要部分,是USB數(shù)據(jù)包進(jìn)出的必經(jīng)通道。本系統(tǒng)采用的USB主機(jī)芯片是Cypress公司的SL811HS。Cypress公司是最早從事USB芯片開發(fā)的公司之一,
3、其EZ-USB系列芯片在業(yè)界有非常好的口碑。SL811HS是當(dāng)經(jīng)第一個(gè)支持USB主從機(jī)的接口芯片,性能穩(wěn)定,資料全面。(1)芯片特性????SL811HS是自動(dòng)兼容USB全速或者低速的嵌入式USB主從機(jī)的接口芯片,它支持微處理器、微控制器或者DSP的USB接口設(shè)計(jì),同時(shí)也可以直接連到ISA、PCMICA等其它總線[8],芯片使用標(biāo)準(zhǔn)的USB1.1協(xié)議。SL811HS通過內(nèi)部集成的全/低速傳輸引擎產(chǎn)生USB串行接口功能,在全速時(shí)帶寬為12Mbps,低速時(shí)為1.5Mbps。芯片支持8位并行數(shù)據(jù)端口或者I/O口的設(shè)計(jì),同時(shí)也支持DMA,自動(dòng)中斷檢測(cè)連接口,可以非常容易
4、地在MCS-51系列微處理器、摩托羅拉微控制器或者其它控制芯片上完成設(shè)計(jì)??偟膩碚f具有如下特性:1.可在軟件控制下,單一地實(shí)現(xiàn)主機(jī)或者從機(jī)功能,28腳PLCC,48腳TQFP封裝。.專業(yè).專注..word可編輯.1.低速1.5Mbps,高速12Mbps,主從模式下都一樣。2.自動(dòng)檢測(cè)連接設(shè)備是否為高速或者低速。3.支持8位雙向并口傳輸,或者I/O口,DMA傳輸。4.片上集成SIE和USB傳輸器。5.片上集成了一個(gè)USB根集線器。6.256字節(jié)內(nèi)部SRAM,支持乒乓傳輸。7.工作頻率在12M或者48M,3.3伏供電,最高5伏耐壓接口。8.支持總線掛起、喚醒和掉電模
5、式。9.自動(dòng)產(chǎn)生SOF和循環(huán)冗余校驗(yàn),自動(dòng)地址增長(zhǎng)模式,保存讀寫周期。SL811HS內(nèi)部電路結(jié)構(gòu)見圖1.1?(2)相關(guān)寄存器介紹???.專業(yè).專注..word可編輯.USB系統(tǒng)驅(qū)動(dòng)的編程,實(shí)質(zhì)上就是對(duì)SL811HS的寄存器和一些緩存區(qū)的讀寫,SL811HS內(nèi)部一共有256個(gè)字節(jié)的緩存,高端240個(gè)字節(jié)作為通用內(nèi)存,可以隨意訪問,低端16個(gè)字節(jié)是特殊功能寄存器,USB的一些規(guī)范就融合在里面。SL811HS有A、B兩套并行的寄存器,功能和使用完全一樣,見表1.1。?(3)接口電路???SL811HS既可以作為嵌入式的主機(jī)又可以作為設(shè)備,靈活性非常大。它可以直接連到處
6、理器或者按內(nèi)存映射的方式接到ARM處理器上。硬件設(shè)計(jì)時(shí)候主要注意幾個(gè)關(guān)鍵引腳的處理:.專業(yè).專注..word可編輯.1.nCS:低電平有效,使能SL811HS接口和讀寫寄存器與內(nèi)存。必須使nCS在一個(gè)傳輸周期中至少要保持65納秒以上才能進(jìn)行有效的通信。2.nWR:低電平有效,要使數(shù)據(jù)有效nWR也至少需要持續(xù)65個(gè)納秒以上。一但nWR?為低時(shí),總線上的信息至少要保持5個(gè)納秒。3.nRD:低電平有效,讀取數(shù)據(jù)之前,必須先寫入地址,nRD的最小周期是65個(gè)納秒。一但nRD為低時(shí),總線上的信息至少要保持5個(gè)納秒。4.A0:低電平時(shí)代表地址,高電平時(shí)代表數(shù)據(jù)。A0至少要保
7、持10個(gè)納秒以上才能保證數(shù)據(jù)正確寫入。5.INTRQ:高電平有效,當(dāng)傳輸事務(wù)完成,或者有外部設(shè)備接入時(shí),就會(huì)觸發(fā)中斷。通過寫入中斷寄存器可以清除中斷。6.nRest:低電平有效,SL811HS上電后需要復(fù)位。常見8位嵌入式處理器和SL811HS的連接見圖1.2。SL811HS讀時(shí)序見圖1.3,寫時(shí)序見圖1.4。.專業(yè).專注..word可編輯.???1.2.2微處理器???本設(shè)計(jì)的主要目的是在普通單片機(jī)下能夠使用USB移動(dòng)存儲(chǔ),同時(shí)通過該系統(tǒng)的串口能夠完成讓外部的嵌入式設(shè)備也能使用USB移動(dòng)存儲(chǔ)。主機(jī)處理器芯片選用兼容MCS-51指令的AT89C52,并外擴(kuò)一.專
8、業(yè).專注..word可編