USB接口類單片機特點及應用
2004年5月B版
引言
USB接口已經在無線接入設備、電子商務、安全鑰匙、PDA及計算機便攜式外設上有了廣泛的應用。本次Freescale杯設計競賽推薦的兩款單片機帶有USB接口,它們是支持高速、全速USB傳輸?shù)腗C9S12UF32和支持低速USB傳輸?shù)腗C68HC908JB8/16。
MC9S12UF32 單片機
MC9S12UF32是16位單片機中低價位、高性能HC/S12家族中的一員。由S12內核(Star Core CPU),加其它標準的片上模塊組成,包括32K字節(jié)FLASH EEPROM,3.5K字節(jié)RAM,1.5K隊列QRAM,高速USB2.0(480Mb/s)接口,給USB批量數(shù)據(jù)傳輸使用的集成隊列控制器(IQUE),ATA5接口(PCI總線接口),U盤類FLASH接口(Compact FLASH),SD/MMC接口,智能多媒體接口,記憶棒接口,一個16位8通道定時器,串行通訊接口,73個獨立的數(shù)字I/O通道和2個輸入通道。系統(tǒng)集成模塊(SIM)負責管理系統(tǒng)資源的映射、時鐘產生、中斷控制和總線接口。MC9S12UF32系統(tǒng)總線為16位寬。外部總線可以在8位窄模式下工作,這使得在低成本系統(tǒng)中可以使用單個8位寬存儲器。特別地,IQUE模塊控制了一條專門的內部總線,這條總線使得從存儲接口到USB模塊可以保持每秒60M字節(jié)的傳輸率。
可以說這款單片機是專門為高速USB存儲設備接口設計的。使用這款芯片的主要模塊是集成隊列控制器(IQUE)、USB2.0接口和眾多存儲控制器接口(如ATA5)中的一個或多個。CPU本身起到了對系統(tǒng)的配置和控制作用,真正的數(shù)據(jù)傳輸通過IQUE作為中介完成,不需要CPU的干預,這是利用這款芯片進行產品設計時的思路。
集成隊列模塊IQUE由三個主要部分組成:QUE控制器、QUE集成模塊(QIM)和1.5K字節(jié),寬度可定義為16位的靜態(tài)隊列RAM(QRAM)。QUE控制器有四個通道,它們可以在單個IQUE時鐘周期內移動一個字節(jié)或者一個16位字。QIM內部的復用和控制邏輯允許QRAM在QUE控制器和CPU之間共享。模塊有三個總線接口:外設(IP)總線接口,IP 先進先出緩沖接口(FIFO)和S12的CPU接口(EEPROM總線)。
集成隊列模塊IQUE可以在不需CPU干預的情況下進行自動數(shù)據(jù)塊傳輸,并且由于隊列數(shù)據(jù)傳輸發(fā)生在CPU不使用QRAM的時間段內,因此不需要借用CPU總線周期。一個快速通道專門供高數(shù)據(jù)速率的外圍設備使用。即使CPU在使用QRAM,該通道也能保證數(shù)據(jù)傳輸?shù)膸?。不同于DMA控制器,IQUE是專門面向高速數(shù)據(jù)傳輸?shù)膯纹瑱C設計的,傳輸隊列的一端是單片機內的外圍設備,另一端是QRAM。這種設計大大減少了地址指針,計數(shù)器和其它控制邏輯的數(shù)目,降低了系統(tǒng)設計的復雜程度。
在數(shù)據(jù)隊列的自動傳輸過程中,數(shù)據(jù)以FIFO的方式寫入或傳出QRAM。CPU可以通過對QUE控制器寄存器的操作實現(xiàn)對QRAM的寫入或者讀出,這些寄存器作為FIFO數(shù)據(jù)端口工作。特別地,CPU可以用普通的讀或寫方式對QRAM進行隨機訪問。當從FIFO數(shù)據(jù)端口訪問QRAM中的信息時,指針會自動更新,此時QRAM緩沖區(qū)以環(huán)形或線性FIFO方式工作。FIFO的起始指針和末尾指針也可以直接修改。
QUE控制器中的四個隊列通道可以以接收隊列或者發(fā)送隊列方式工作。轉移方式只是把一個接收通道和發(fā)送通道聯(lián)系到同一塊QRAM FIFO緩沖區(qū)上,這樣數(shù)據(jù)就可以在沒有CPU的干預下自動從一個外設傳送到另一個外設。當某一個隊列通道關閉時,與該通道相聯(lián)系的FIFO緩沖區(qū)可以作為軟件緩沖區(qū)使用。
USB2.0模塊依靠片上USB設備控制器(UDC20)和USB物理層接口(UPHY),支持USB全速和高速協(xié)議。USB2.0模塊的示意框圖如圖1所示。
UDC20模塊通過IP總線處在S12內核的編程控制中。有6個獨立的端點,它們可以配置為控制、中斷、批量或者同步傳輸?shù)腎N/OUT端點。兩個64字節(jié)的端點緩沖區(qū)分配給了物理端點1,該端點默認為控制端點。另外三個64字節(jié)緩沖區(qū)分配給了物理端點2,3和6。
對于物理端點4和5,端點緩沖區(qū)位于模塊之外。端點數(shù)據(jù)通過IP FIFO總線保存在上述的IQUE模塊中,這種結構使得實現(xiàn)片內其它模塊與USB2.0模塊之間持續(xù)的數(shù)據(jù)傳輸變得很容易。
配合上述的IQUE模塊和USB2.0模塊,再加上存儲設備接口,如ATA5主機控制器,就可以實現(xiàn)從USB接口到存儲器接口的高速數(shù)據(jù)通道,例如實現(xiàn)USB2.0移動硬盤盒控制等。其中IQUE模塊起到了橋梁的作用。
MC9S12UF32單片機有100和64兩種封裝形式,采用4.25V~5.5V供電,經片內電壓調整器產生2.5V供給CPU,3.3V供片內I/O模塊使用。
MC68HC908JB8/16單片機
MC68HC908JB8/16是8位單片機MC68HC08家族中一款低價位、高性能的單片機,其主要特點是內嵌了低速USB模塊,支持1.5Mbps的傳輸速率。MC68HC 908JB16與MC68HC908JB8功能基本相同,主要區(qū)別在于最高總線頻率、RAM和FLASH空間大小等。MC68HC908JB8單片機內部包含了許多功能模塊,這里只介紹其USB模塊的相關功能特性。其他的特性讀者可以參看相關的技術手冊。已有幾本中文書對其進行了詳盡的描述,如清華大學出版社出版的《Motorola 微控制器MC68HC08原理及其嵌入式應用》、《Motorola 68HC08微控制器與嵌入式系統(tǒng)基礎》,復旦大學出版社的《M68HC08系列單片機原理與應用》等。
USB模塊管理USB主機與MC68HC908JB8之間的數(shù)據(jù)通信。其結構如圖2所示。
可以看出,其USB模塊由3部分組成,即USB控制邏輯、USB收發(fā)器和USB寄存器。各部分的功能特性如下:
USB收發(fā)器(USB Transceiver),支持USB的低速(Low Speed)模式,因此簡稱為LS收發(fā)器。它提供了USB的D+和D-信號線的物理接口,由輸出驅動電路和輸入接收器2部分組成。這部分就是實現(xiàn)USB物理層的特性,包括USB電氣特性,如差模信號的實現(xiàn)。LS收發(fā)器像一個打包了的黑匣子一樣,與控制邏輯一端交換的是串行信號,而與USB總線通訊的則是USB差模信號。
USB控制邏輯(USB Control Logic),是整個USB模塊的核心,負責管理CPU和USB收發(fā)器之間的數(shù)據(jù)交換。USB寄存器(USB Register),包括中斷寄存器、控制寄存器、狀態(tài)寄存器和數(shù)據(jù)寄存器。它是用戶編程、控制USB以及進行數(shù)據(jù)交換的最直接的載體。合理、有效地利用寄存器是編寫好應用程序的關鍵。
USB鍵盤之類低速USB-HID設備是MC68HC908JB8芯片很適合的應用,鍵盤掃描電路與單片機I/O引腳相連,按鍵信息通過鍵盤行列掃描進入單片機,再通過USB接口被主機獲取。同時,按鍵狀態(tài)可以通過單片機其余的I/O引腳用LED顯示,這樣就可以很方便的實現(xiàn)USB鍵盤設計。
68HC908JB8/JB16單片機有20、28、32、44引腳的封裝形式,68HC908JB8有256字節(jié)的RAM,8K字節(jié)片內FLASH,除傳統(tǒng)的定時器、鍵盤中斷、串行口、13路A/D等I/O設備外,還集成了通訊速率為1.5Mbps的低速USB模塊。HC908JB16為384字節(jié)的片內RAM,16K字節(jié)的FLASH?!?BR>
評論