基于層次模型的USB2.0接口芯片IP核固件的設計

發(fā)布時(shí)間:2010-7-9 00:36    發(fā)布者:conniede
關(guān)鍵詞: 層次模型 , 核固件 , 接口芯片
1 引言

USB2.0規范的推出極大地刺激了包括各類(lèi)計算機外設在內的多種電子消費產(chǎn)品的開(kāi)發(fā)設計, USB已成為微機和眾多電子設備的重要標準接口。目前國外一些大公司已陸續推出了符合USB2.0規范的接口芯片,但國內對該領(lǐng)域的研究尚處于較初級的階段。本文對USB IP核設計方法,提出了一種USB2.0設備接口IP核固件的實(shí)現方案,該方案采用合理定義的層次模型并已被實(shí)現,實(shí)驗結果表明該方案具備良好穩定性和可擴展性的固件結構。

2 USB2.0設備接口IP核的設計

USB2.0設備接口芯片IP核分為硬件和固件兩大部分。其中硬件部分主要完成USB2.0協(xié)議中的鏈路層功能;而固件除協(xié)助硬件完成USB2.0協(xié)議外,還負責解釋設備子類(lèi)協(xié)議,并實(shí)現對具體外部應用系統(設備元件)的操作。

從硬件結構分析,基于增強型8051MCU核的 USB2.0設備接口芯片(IP核)應包括以下幾個(gè)模塊:

(1)USB2.0傳輸宏單元接口模塊UTMI(USB2.0 Trans ceiv er Macrocell Interface): USB2.0 IP核與USB總線(xiàn)之間的接口,負責接收USB2.0總線(xiàn)上的高速串行數據;

(2)串行接口引擎模塊SIE(Serial In ter face Engine):一方面與UTM接口進(jìn)行USB總線(xiàn)上的包級處理和傳輸級處理;另一方面與內部的端點(diǎn)緩沖及MCU進(jìn)行交互;

(3)端點(diǎn)緩沖模塊Endpoint_Buffer:存放與主機端交互的數據;

(4)通用可編程接口及多總線(xiàn)模塊GPIO- &MultiBus:IP核與外部應用系統(設備元件)之間的聯(lián)系通道,包括DMA控制模塊;

(5)微處理器模塊MCU及其接口模塊MCU_

Bus:MCU(8051核)中固件將配合其他各硬件模塊完成所需功能。
USB2.0設備接口IP核固件不僅要完成與主機的通信,還要實(shí)現對外部應用系統(設備元件)操作,因此,IP核固件可分為以下三大模塊。

(1)USB傳輸處理模塊:接收并分析底層硬件送來(lái)的各種信號(如SIE送來(lái)的各種中斷請求),負責將Endpoint中接收到的主機命令/數據向上傳送到主機命令解析模塊,并在需要時(shí)向主機返回命令處理結果;

(2)主機命令解析模塊:分析處理USB傳輸處理模塊送來(lái)的主機命令,并負責將命令執行結果返給USB傳輸處理模塊;

(3)設備應用處理模塊:根據主機命令發(fā)送具體操作信號到外部應用系統(設備元件),并返回外部器件的狀態(tài)/數據。

為使固件系統充分穩定并具有良好的可擴展性,我們將固件抽象為設備枚舉、傳輸控制、命令解析、外部應用操作等幾個(gè)層次,如圖1所示。



3 USB大容量存儲設備固件的設計與實(shí)現

本IP核固件采用的是Windows OS支持的Bulk-Only傳輸協(xié)議及SCSI命令集。

3.1 固件總流程

圖2所示為USB大容量存儲設備固件工作流程。


該固件涉及到對4個(gè)主要中斷的處理,即 Com mand端點(diǎn)0的In 中斷和Out中斷、Bulk-In端點(diǎn)中斷和Bulk-Out端點(diǎn)中斷。其中端點(diǎn)0主要用于設備枚舉過(guò)程中主機與設備的交互,Bulk端點(diǎn)則用于枚舉成功后主機與設備的交互。

3.2 設備枚舉層流程

圖3所示為USB設備的枚舉流程。設備從接入 USB電纜開(kāi)始,依次經(jīng)過(guò)Attached、Powered、Default和Addressed幾個(gè)狀態(tài),最終進(jìn)入Configured態(tài)成為可用設備。


枚舉過(guò)程中所需的各種描述符表可由用戶(hù)設置后存放在指定存儲單元。

3.3 Bulk-Only傳輸控制層流程

設備枚舉成功后Bulk端點(diǎn)開(kāi)始工作。設備端 Bulk-Only工作流程如下:

1.主機通過(guò)Bulk-Out端點(diǎn)發(fā)出命令包CBW;
2.設備接收CBW,解析其中包含的SCSI命令;
3.設備執行SCSI命令,如需要,通過(guò)Bulk端點(diǎn)完成Data交換;
4.設備根據SCSI命令執行情況通過(guò)Bulk-In端點(diǎn)返回命令狀態(tài)包CSW給主機;

5.設備等待主機的下一個(gè)CBW。

圖4所示為Bulk-In和Bulk-Out中斷服務(wù)流程。其中涉及到USB設備的幾種工作狀態(tài)有:


(1)命令接收態(tài):本次命令處理完(已返回 CSW),設備等待下一次主機命令。在該狀態(tài)下,設備將等待Bulk-Out中斷,試圖從Bulk-Out端點(diǎn)接收一個(gè)有效的CBW。

(2)狀態(tài)發(fā)送態(tài):本次命令已執行完畢,等待主機索要CSW。在該狀態(tài)下,設備將等待Bulk-In中斷,試圖從Bulk-In端點(diǎn)發(fā)送一個(gè)有效的CSW 給主機。

(3)數據接收態(tài):設備通過(guò)解析主機命令得知主機將發(fā)送數據,于是設備等待接收數據。在該狀態(tài)下,設備將等待Bulk-Out中斷,試圖從Bulk-Out端點(diǎn)接收一個(gè)或一批數據。數據接收完后設備將根據具體情況確定命令執行結果狀態(tài)。

(4)數據發(fā)送態(tài):設備通過(guò)解析主機命令得知主機將索要數據,于是設備準備發(fā)送數據。在該狀態(tài)下,設備將等待Bulk-In中斷,試圖從Bulk- In端點(diǎn)發(fā)送一個(gè)或一批數據。數據發(fā)送完設備將根據具體情況確定命令執行結果狀態(tài)。

(5)異常狀態(tài):當發(fā)生某些不可預知的錯誤時(shí),設備進(jìn)入異常態(tài),并將根據不同錯誤類(lèi)型采取不同措施試圖從錯誤中恢復。

3.4 SCSI命令解析(層)流程

對某種特定的大容量存儲設備來(lái)說(shuō),一些無(wú)意義的SCSI命令可以不必處理(實(shí)際上主機也不會(huì )使用這些命令)。設備在接收到有效的SCSI命令后,將根據命令的不同要求為數據的發(fā)送或接收做好準備,并切換到下一個(gè)有效的工作狀態(tài),如圖5 所示。


3.5 對存儲介質(zhì)的讀寫(xiě)操作及優(yōu)化

設備固件在正確分析主機送來(lái)的SCSI命令后,可能會(huì )對存儲介質(zhì)進(jìn)行讀、寫(xiě)、擦除等操作。為進(jìn)一步提高存儲介質(zhì)的讀寫(xiě)速度,本固件方案還對存儲介質(zhì)操作進(jìn)行了有效的優(yōu)化:

(1)大批量數據讀寫(xiě)時(shí)采用了DMA方式;
(2)對寫(xiě)操作需時(shí)較長(cháng)的存儲介質(zhì)(如 FLASH)采用了中間緩沖,以減少寫(xiě)操作次數或將寫(xiě)操作移至后臺進(jìn)行;
(3)對存儲介質(zhì)上的磁盤(pán)碎片定期進(jìn)行優(yōu)化整理。

合理地組合應用這些方法可以有效地改進(jìn)介質(zhì)訪(fǎng)問(wèn)的效率。

4 結論

上述大容量存儲設備的IP核固件已成功實(shí)現,其硬件基礎是具有自主版權的、含MCU51核的USB設備接口IP核,固件采用Keil51C語(yǔ)言和51匯編語(yǔ)言混合完成。該固件采用分層設計,可以較容易地根據具體應用環(huán)境替換其中某些層次的代碼模塊,具有較強的移植性和實(shí)用性。為保證IP核固件具有一定的"健壯性",實(shí)現過(guò)程中還需要注意仔細設計其中的錯誤檢測和錯誤恢復機制,包括如何合理安排眾多的中斷源、如何充分考慮協(xié)議中規定的操作時(shí)間限制、如何處理Watch Dog溢出等等。

本文討論的USB2.0設備固件方案不僅有效改進(jìn)和提高了USB設備的設計開(kāi)發(fā)水平,還可廣泛應用于USB2.0設備接口的實(shí)際應用設計,具有良好的理論和應用價(jià)值。
本文地址:http://selenalain.com/thread-14812-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页