新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于MCU+USB的設備控制器IP核設計

        一種基于MCU+USB的設備控制器IP核設計

        作者: 時間:2014-06-12 來源:網絡 收藏

        1 引言

        本文引用地址:http://www.104case.com/article/248197.htm

        在傳統的計算機系統上常采用串口(如RS232)和并口連接外圍設備,但串口和并口都存在著通信速度 慢,接口獨占不利于擴展等無法克服的缺點,而通用串行總線(Universal Serial Bus,即)因具有傳輸 速度快、支持熱插拔、擴展方便、抗干擾強、成本低、數據傳輸質量高、節省系統資源等優點而得到了廣 泛的應用,當前它已成為計算機最常用的接口之一。

        現在控制器主要有兩種:帶接口的單片機() 和純粹的USB接口芯片。純粹的USB接口芯片僅處 理USB通信,必須有個外部微處理器來進行協議處理和數據交換。典型產品有Philips公司的PDIUSBD11(I2C 接口)、PDIUSBD12(并行接口);NS公司的USBN9603/9*(并行接口)。帶USB接口的單片機從應用上又可以 分成兩類,一類是從底層設計專用于USB控制的單片機;另一類是增加了USB接口的普通單片機,如Cypress 公司的EZ-USB(基于8051),選擇這類USB控制器的最大好處在于開發者對系統結構和指令集非常熟悉,開 發工具簡單,但價格比較高,不利于產品升級和改型。

        然而,國內產品中所用到的USB 芯片都依賴進口,主要由國外的IC 設計芯片廠商如Cypress,NEC 等 一些國際著名公司提供。鑒于USB 芯片有很好的市場前景和利潤空間,盡管國內企業或研究機構目前還只 是處于USB 芯片應用開發的技術水平,人們還是希望自主開發出有自主知識產權的USB 芯片。因此,近 年來國內也有許多單位在探索獨立設計USB 芯片。

        本論文針對USB1.1 協議規范,本著自主開發USB 控制芯片,把 和USB 設備控制器用軟核的形式集成在一塊芯片上,微控制器我們是用14 位指令字長度,且是單字節指令和單周期指令,其核心指令只有 39 條,容易掌握和設計,而且完全滿足總體設計的要求。

        2 &USB 設備控制器工作原理及總體設計

        整個設計的總體結構如圖1 所示,差分信號線D+和D-連接主機,接收時主機發送的串行數據通過收 發器和USB 設備控制器解碼和校驗等處理后存儲到相應的RAM 中;發送時由仲裁模塊控制從RAM 或 ROM 中提取相應數據經過USB 設備控制器組合和收發器串行發送給主機。MCU 主要協助USB 控制器完 成設備和主機之間的數據傳輸。

         

         

        2.1 MCU 的設計

        MCU主要完成各種中斷處理,而且協助控制器使主機檢測和識別設備;設備剛插上PC時,MCU通過讀取 ROM中的指令來初始化專用功能寄存器,使能全局中斷GIE和USB中斷USBint,使控制器能及時響應各種USB 中斷;全局中斷允許位GIE置位時,允許所有中斷;清零時,禁止所有中斷。當一個中斷被響應時,GIE 位被清零以禁止其它中斷,并裝載中斷服務程序,將中斷返回地址壓入堆棧。引起裝載中斷服務程序的中 斷標志位在重新允許GIE之前通過軟件清零,以避免重復響應中斷。在中斷服務程序中,通過檢測中斷標 志位可以判斷中斷源,各中斷標志位的置位不受GIE的影響;在設備與主機通信過程中,MCU處理setup包、 in包、out包、ack、nak、stall包等的中斷處理,我們規定了USB中斷、定時器中斷、外部中斷、GPIO中斷 的中斷入口地址分別為04H、08H、0CH、10H;MCU同時還對各功能寄存器進行相應的操作,比如寫端點0的 輸入輸出包允許的最大值,數據的觸發位DSQ(即Data Toggle機制)等。

        2.2 arbRAM、arbROM(仲裁模塊)的設計

        在設計中含有兩種存儲器:程序存儲器(ROM)和數據存儲器(SRAM),這兩種存儲器都有自己的總線, 在一個時鐘周期內,可以同時對兩種存儲器進行訪問。USB 和MCU 都可以訪問SRAM 和ROM,仲裁模塊就是 為兩者同時訪問時不起沖突而設置的;USB 訪問ROM 的地址空間100h-fffh(我們把設備的描述符存放在這 里),且USB 訪問僅取14 位寬的低8 位數據。當USB 與MCU 同時訪問ROM 時,MCU 優先。USB 與MCU 共享通 用寄存器(SRAM),當USB 的請求訪問存儲器信號到來時, USB 訪問存儲器的地址信號的高三位不等于零 時屬于USB 訪問程序存儲器的地址空間。當USB 與MCU 同時訪問通用寄存器(SRAM)時,MCU 具有優先權。

        2.3 USB 設備控制器的設計

        USB 設備控制器是設計的重點部分,是本論文介紹的重點,總體的模塊劃分如圖2 所示;

         

         

        2.3.1 收發器的設計

        USB 收發器作為USB 接口的模擬前端主要把主機發送過來的模擬信號轉換成數字信號VP、VM 傳到數字鎖相環或把協議引擎發送過來的VP0、VM0 數字信號轉換成模擬信號,并完成串并和并串的轉換;

        存儲器相關文章:存儲器原理


        鎖相環相關文章:鎖相環原理

        上一頁 1 2 下一頁

        關鍵詞: MCU USB

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 黄龙县| 云阳县| 额敏县| 乳源| 新巴尔虎左旗| 连平县| 舟曲县| 宁远县| 加查县| 桂阳县| 齐齐哈尔市| 修文县| 铁力市| 灵璧县| 惠东县| 永靖县| 新泰市| 马龙县| 呼图壁县| 鲁山县| 湖北省| 靖西县| 韶山市| 宜都市| 仙居县| 景德镇市| 辉县市| 遂川县| 舟山市| 壶关县| 安宁市| 揭东县| 庆元县| 焉耆| 万全县| 仲巴县| 望江县| 牟定县| 朔州市| 全南县| 丰原市|