第1章 主要硬體晶元介紹
1.1系統總體設計
USB主機系統設計是一個軟、硬體結合的整體,宏觀上主要包括三個層次的設計:USB匯流排物理層介面設計、USB核心繫統設計和USB客戶系統設計。匯流排介面主要處理主機與設備之間的電氣及協議層的互連,是信息包進出的物理橋樑;USB核心繫統主要管理和協調主機與從機間的邏輯數據傳輸,解析雙方聯繫的握手協議,是驗證信息包的邏輯關卡;客戶系統是最終用戶直接和USB設備功能交互的邏輯平台,不同的USB設備歸屬於不同的類,是利用相關的類協議來實現的,所以客戶系統驅動程序具有多變性,需要為專門的類定製專門的驅動程序。
在單片機上實現USB移動存儲功能,具體包括USB主機介面的硬體設計和整機USB驅動固件的設計。其中驅動固件的設計具體又包含幾個協議的實現:USB1.1控制傳輸協議、USB BULK傳輸協議、USB海量存儲類協議、UFI磁碟操作命令和FAT文件系統標準等。
1.2硬體設計
1.2.1USB主控制器
USB主控制器主要是完成底層物理介面設計,是USB系統架構的必要部分,是USB數據包進出的必經通道。本系統採用的USB主機晶元是Cypress公司的SL811HS。Cypress公司是最早從事USB晶元開發的公司之一,其EZ-USB系列晶元在業界有非常好的口碑。SL811HS是當經第一個支持USB 主從機的介面晶元,性能穩定,資料全面。
(1)晶元特性
SL811HS是自動兼容USB全速或者低速的嵌入式USB主從機的介面晶元,它支持微處理器、微控制器或者DSP的USB介面設計,同時也可以直接連到ISA、PCMICA等其它匯流排[8],晶元使用標準的USB1.1協議。SL811HS通過內部集成的全/低速傳輸引擎產生USB串列介面功能,在全速時帶寬為12Mbps,低速時為1.5Mbps。晶元支持8位并行數據埠或者I/O口的設計,同時也支持DMA,自動中斷檢測連介面,可以非常容易地在MCS-51系列微處理器、摩托羅拉微控制器或者其它控制晶元上完成設計。總的來說具有如下特性:
SL811HS內部電路結構見圖1.1
(2)相關寄存器介紹
USB系統驅動的編程,實質上就是對SL811HS的寄存器和一些緩存區的讀寫,SL811HS內部一共有256個位元組的緩存,高端240個位元組作為通用內存,可以隨意訪問,低端16個位元組是特殊功能寄存器,USB的一些規範就融合在裡面。SL811HS有A、B兩套并行的寄存器,功能和使用完全一樣,見表1.1。
(3)介面電路
SL811HS既可以作為嵌入式的主機又可以作為設備,靈活性非常大。它可以直接連到處理器或者按內存映射的方式接到ARM處理器上。硬體設計時候主要注意幾個關鍵引腳的處理:
常見8位嵌入式處理器和SL811HS的連接見圖1.2。SL811HS讀時序見圖1.3,寫時序見圖1.4。
1.2.2 微處理器
本設計的主要目的是在普通單片機下能夠使用USB移動存儲,同時通過該系統的串口能夠完成讓外部的嵌入式設備也能使用USB移動存儲。主機處理器晶元選用兼容MCS-51指令的AT89C52,並外擴一個32K的RAM。系統的功能設計見圖1.5。
AT89C52控制器主要是通過SL811HS對USB移動存儲進行操作,外部控制按鈕(小鍵盤)輸入不同的值可以實現不同的功能,比如寫文件、讀文件、建立目錄或刪除文件等。RS232介面,主要是留給外部系統使用,其它的嵌入式系統只要接上該系統的串口,按照一定的命令格式就可以通過串口使用USB移動存儲。根據SL811HS容錯報告所知,SL811HS的內部鎖相環非常敏感,易受高頻雜訊干擾,從而導致時鐘抖動,進而會使SOF不準確(標準周期為1毫秒)。解決這個問題有兩種措施:
[admin via 研發互助社區 ] 在單片機上實現USB移動存儲已經有2717次圍觀
http://cocdig.com/docs/show-post-44809.html