基于層次模型的USB2.0接口芯片IP核固件的設計
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所示。
評論