新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > USB接口類單片機(jī)特點(diǎn)及應(yīng)用

USB接口類單片機(jī)特點(diǎn)及應(yīng)用

作者:清華大學(xué)Freescale Semiconductor單片機(jī)應(yīng)用開發(fā)研究中心 邵森龍 程天宇 時(shí)間:2004-08-25 來源:電子產(chǎn)品世界 收藏

2004年5月B版

引言

  USB接口已經(jīng)在無線接入設(shè)備、電子商務(wù)、安全鑰匙、PDA及計(jì)算機(jī)便攜式外設(shè)上有了廣泛的應(yīng)用。本次Freescale杯設(shè)計(jì)競(jìng)賽推薦的兩款帶有USB接口,它們是支持高速、全速USB傳輸?shù)腗C9S12UF32和支持低速USB傳輸?shù)腗C68HC908JB8/16。

MC9S12UF32

  MC9S12UF32是16位中低價(jià)位、高性能HC/S12家族中的一員。由S12內(nèi)核(Star Core CPU),加其它標(biāo)準(zhǔn)的片上模塊組成,包括32K字節(jié)FLASH EEPROM,3.5K字節(jié)RAM,1.5K隊(duì)列QRAM,高速USB2.0(480Mb/s)接口,給USB批量數(shù)據(jù)傳輸使用的集成隊(duì)列控制器(IQUE),ATA5接口(PCI總線接口),U盤類FLASH接口(Compact FLASH),SD/MMC接口,智能多媒體接口,記憶棒接口,一個(gè)16位8通道定時(shí)器,串行通訊接口,73個(gè)獨(dú)立的數(shù)字I/O通道和2個(gè)輸入通道。系統(tǒng)集成模塊(SIM)負(fù)責(zé)管理系統(tǒng)資源的映射、時(shí)鐘產(chǎn)生、中斷控制和總線接口。MC9S12UF32系統(tǒng)總線為16位寬。外部總線可以在8位窄模式下工作,這使得在低成本系統(tǒng)中可以使用單個(gè)8位寬存儲(chǔ)器。特別地,IQUE模塊控制了一條專門的內(nèi)部總線,這條總線使得從存儲(chǔ)接口到USB模塊可以保持每秒60M字節(jié)的傳輸率。

  可以說這款單片機(jī)是專門為高速USB存儲(chǔ)設(shè)備接口設(shè)計(jì)的。使用這款芯片的主要模塊是集成隊(duì)列控制器(IQUE)、USB2.0接口和眾多存儲(chǔ)控制器接口(如ATA5)中的一個(gè)或多個(gè)。CPU本身起到了對(duì)系統(tǒng)的配置和控制作用,真正的數(shù)據(jù)傳輸通過IQUE作為中介完成,不需要CPU的干預(yù),這是利用這款芯片進(jìn)行產(chǎn)品設(shè)計(jì)時(shí)的思路。

  集成隊(duì)列模塊IQUE由三個(gè)主要部分組成:QUE控制器、QUE集成模塊(QIM)和1.5K字節(jié),寬度可定義為16位的靜態(tài)隊(duì)列RAM(QRAM)。QUE控制器有四個(gè)通道,它們可以在單個(gè)IQUE時(shí)鐘周期內(nèi)移動(dòng)一個(gè)字節(jié)或者一個(gè)16位字。QIM內(nèi)部的復(fù)用和控制邏輯允許QRAM在QUE控制器和CPU之間共享。模塊有三個(gè)總線接口:外設(shè)(IP)總線接口,IP 先進(jìn)先出緩沖接口(FIFO)和S12的CPU接口(EEPROM總線)。

  集成隊(duì)列模塊IQUE可以在不需CPU干預(yù)的情況下進(jìn)行自動(dòng)數(shù)據(jù)塊傳輸,并且由于隊(duì)列數(shù)據(jù)傳輸發(fā)生在CPU不使用QRAM的時(shí)間段內(nèi),因此不需要借用CPU總線周期。一個(gè)快速通道專門供高數(shù)據(jù)速率的外圍設(shè)備使用。即使CPU在使用QRAM,該通道也能保證數(shù)據(jù)傳輸?shù)膸?。不同于DMA控制器,IQUE是專門面向高速數(shù)據(jù)傳輸?shù)膯纹瑱C(jī)設(shè)計(jì)的,傳輸隊(duì)列的一端是單片機(jī)內(nèi)的外圍設(shè)備,另一端是QRAM。這種設(shè)計(jì)大大減少了地址指針,計(jì)數(shù)器和其它控制邏輯的數(shù)目,降低了系統(tǒng)設(shè)計(jì)的復(fù)雜程度。

  在數(shù)據(jù)隊(duì)列的自動(dòng)傳輸過程中,數(shù)據(jù)以FIFO的方式寫入或傳出QRAM。CPU可以通過對(duì)QUE控制器寄存器的操作實(shí)現(xiàn)對(duì)QRAM的寫入或者讀出,這些寄存器作為FIFO數(shù)據(jù)端口工作。特別地,CPU可以用普通的讀或?qū)懛绞綄?duì)QRAM進(jìn)行隨機(jī)訪問。當(dāng)從FIFO數(shù)據(jù)端口訪問QRAM中的信息時(shí),指針會(huì)自動(dòng)更新,此時(shí)QRAM緩沖區(qū)以環(huán)形或線性FIFO方式工作。FIFO的起始指針和末尾指針也可以直接修改。

  QUE控制器中的四個(gè)隊(duì)列通道可以以接收隊(duì)列或者發(fā)送隊(duì)列方式工作。轉(zhuǎn)移方式只是把一個(gè)接收通道和發(fā)送通道聯(lián)系到同一塊QRAM FIFO緩沖區(qū)上,這樣數(shù)據(jù)就可以在沒有CPU的干預(yù)下自動(dòng)從一個(gè)外設(shè)傳送到另一個(gè)外設(shè)。當(dāng)某一個(gè)隊(duì)列通道關(guān)閉時(shí),與該通道相聯(lián)系的FIFO緩沖區(qū)可以作為軟件緩沖區(qū)使用。

  USB2.0模塊依靠片上USB設(shè)備控制器(UDC20)和USB物理層接口(UPHY),支持USB全速和高速協(xié)議。USB2.0模塊的示意框圖如圖1所示。

  UDC20模塊通過IP總線處在S12內(nèi)核的編程控制中。有6個(gè)獨(dú)立的端點(diǎn),它們可以配置為控制、中斷、批量或者同步傳輸?shù)腎N/OUT端點(diǎn)。兩個(gè)64字節(jié)的端點(diǎn)緩沖區(qū)分配給了物理端點(diǎn)1,該端點(diǎn)默認(rèn)為控制端點(diǎn)。另外三個(gè)64字節(jié)緩沖區(qū)分配給了物理端點(diǎn)2,3和6。

  對(duì)于物理端點(diǎn)4和5,端點(diǎn)緩沖區(qū)位于模塊之外。端點(diǎn)數(shù)據(jù)通過IP FIFO總線保存在上述的IQUE模塊中,這種結(jié)構(gòu)使得實(shí)現(xiàn)片內(nèi)其它模塊與USB2.0模塊之間持續(xù)的數(shù)據(jù)傳輸變得很容易。

  配合上述的IQUE模塊和USB2.0模塊,再加上存儲(chǔ)設(shè)備接口,如ATA5主機(jī)控制器,就可以實(shí)現(xiàn)從USB接口到存儲(chǔ)器接口的高速數(shù)據(jù)通道,例如實(shí)現(xiàn)USB2.0移動(dòng)硬盤盒控制等。其中IQUE模塊起到了橋梁的作用。

  MC9S12UF32單片機(jī)有100和64兩種封裝形式,采用4.25V~5.5V供電,經(jīng)片內(nèi)電壓調(diào)整器產(chǎn)生2.5V供給CPU,3.3V供片內(nèi)I/O模塊使用。

MC68HC908JB8/16單片機(jī)

  MC68HC908JB8/16是8位單片機(jī)MC68HC08家族中一款低價(jià)位、高性能的單片機(jī),其主要特點(diǎn)是內(nèi)嵌了低速USB模塊,支持1.5Mbps的傳輸速率。MC68HC 908JB16與MC68HC908JB8功能基本相同,主要區(qū)別在于最高總線頻率、RAM和FLASH空間大小等。MC68HC908JB8單片機(jī)內(nèi)部包含了許多功能模塊,這里只介紹其USB模塊的相關(guān)功能特性。其他的特性讀者可以參看相關(guān)的技術(shù)手冊(cè)。已有幾本中文書對(duì)其進(jìn)行了詳盡的描述,如清華大學(xué)出版社出版的《Motorola 微控制器MC68HC08原理及其應(yīng)用》、《Motorola 68HC08微控制器與系統(tǒng)基礎(chǔ)》,復(fù)旦大學(xué)出版社的《M68HC08系列單片機(jī)原理與應(yīng)用》等。

  USB模塊管理USB主機(jī)與MC68HC908JB8之間的數(shù)據(jù)通信。其結(jié)構(gòu)如圖2所示。

  可以看出,其USB模塊由3部分組成,即USB控制邏輯、USB收發(fā)器和USB寄存器。各部分的功能特性如下:

  USB收發(fā)器(USB Transceiver),支持USB的低速(Low Speed)模式,因此簡(jiǎn)稱為L(zhǎng)S收發(fā)器。它提供了USB的D+和D-信號(hào)線的物理接口,由輸出驅(qū)動(dòng)電路和輸入接收器2部分組成。這部分就是實(shí)現(xiàn)USB物理層的特性,包括USB電氣特性,如差模信號(hào)的實(shí)現(xiàn)。LS收發(fā)器像一個(gè)打包了的黑匣子一樣,與控制邏輯一端交換的是串行信號(hào),而與USB總線通訊的則是USB差模信號(hào)。

  USB控制邏輯(USB Control Logic),是整個(gè)USB模塊的核心,負(fù)責(zé)管理CPU和USB收發(fā)器之間的數(shù)據(jù)交換。USB寄存器(USB Register),包括中斷寄存器、控制寄存器、狀態(tài)寄存器和數(shù)據(jù)寄存器。它是用戶編程、控制USB以及進(jìn)行數(shù)據(jù)交換的最直接的載體。合理、有效地利用寄存器是編寫好應(yīng)用程序的關(guān)鍵。

  USB鍵盤之類低速USB-HID設(shè)備是MC68HC908JB8芯片很適合的應(yīng)用,鍵盤掃描電路與單片機(jī)I/O引腳相連,按鍵信息通過鍵盤行列掃描進(jìn)入單片機(jī),再通過USB接口被主機(jī)獲取。同時(shí),按鍵狀態(tài)可以通過單片機(jī)其余的I/O引腳用LED顯示,這樣就可以很方便的實(shí)現(xiàn)USB鍵盤設(shè)計(jì)。

  68HC908JB8/JB16單片機(jī)有20、28、32、44引腳的封裝形式,68HC908JB8有256字節(jié)的RAM,8K字節(jié)片內(nèi)FLASH,除傳統(tǒng)的定時(shí)器、鍵盤中斷、串行口、13路A/D等I/O設(shè)備外,還集成了通訊速率為1.5Mbps的低速USB模塊。HC908JB16為384字節(jié)的片內(nèi)RAM,16K字節(jié)的FLASH?!?BR>



關(guān)鍵詞: 單片機(jī) 嵌入式

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉