新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > USBN9604及其在USB接口設計中的應用

        USBN9604及其在USB接口設計中的應用

        作者: 時間:2012-03-13 來源:網絡 收藏
        引言

        USB通用串行總線是近年興起的一種通信方式。USB協議1.1版規定了低速(1.5Mb/s)和全速(12Mb/s)兩種速率,目前大部分USB器件支持該協議。2000年USB2.0白皮書出臺后,其速度最高可達480Mb/s。該總線是由Compaq、Intel、Microsoft、NEC四公司共同提出,并得到了眾多廠商的支持。具有安裝方便、高速、靈活、低成本、易擴展,支持熱插拔等優點,已經逐漸成為現代數據傳輸的發展趨勢。

        2

        是NatiONalSemiconductor公司設計生產的一款較新型的專用USB通信控制芯片,是US-BN9602的改進產品,同時在時鐘產生電路的復位機制上又較USBN9603有所改進。支持全速傳輸,可滿足USBl.0和1.1協議。它具有8位并行接口,可支持DMA、MICROWIRE/PLUS。圖1是US-BN9604的結構框圖。其主要特點如下:

      1. 工作頻率為48MHz,但外部只需接24MHz晶振,因為芯片內部有倍頻電路,因而可得到48MHz時鐘。
      2. 可由編程時鐘發生器編程產生不同的頻率時鐘,以作為外部器件(如CPU)的時鐘信號。
      3. 帶有串行引擎接口(SⅢ),可實現USB物理層和信號層協議的轉換,主要有CRC校驗/產生、PID校驗/產生、位填充/解除填充、地址識別、握手評估/產生、并串轉換等。
      4. 帶有7個端點的USB功能控制器,每個端點對應一個FIFO。其中端點0是雙向控制端點(FIFO 8字節深),另有3個發送端點:EPl(16)、EP3(16)和EP5(64)以及3個接收端點EP2(16)、EP4(16)和EP6(64)。

        USBN9604內部有64個映射到內存的寄存器,主要有主控制寄存器(MCNTRL)、時鐘配置寄存器(CCONF)、主事件寄存器(MAEV)、轉換事件寄存器ALteV)、接收發送事件寄存器(RXEV、TXEV)以及各端點的控制寄存器和收發數據及狀態寄存器等。固件的大部分功能就是完成對此寄存器組的讀寫,實現對接口的配置、接口狀態的轉換以及數據在外設和計算機之間的傳輸等。


        3 的硬件實現

        51單片機與USBN9604的并行連接有兩種方式,即非復用方式和復用方式。它們可通過設置引腳MODE0、MODEl來選擇。在非復用方式時,可用控制引腳CS、RD、WR、地址引腳A0和雙向數據線D[7:0]實現相應的地址讀寫。而在復用方式時,則使用控制引腳CS、RD、WR、地址鎖存信號ALE和雙向數據線D[7:01實現其地址讀寫。本設計采用復用方式進行數據交換。

        圖2所示是89C51單片機和USBN9604的接口電路,該電路由一片89C51單片機、USBN9604、時鐘振蕩電路以及相應的外圍電路組成。其中USBN9604通過外部中斷INT0與89C51單片機進行通信。

        4 的軟件實現

        設備固件是設備運行的核心,可采用C語言設計。其主要功能是控制USBN9604接受并處理USB驅動程序的請求(如各種標準請求)、接收/_k傳數據。當主程序完成CPU和USBN9604的初始化后,可用while循環等待外部中斷。中斷處理程序可在給出中斷人口后跳出中斷。所有的USB事物處理都在函數USB-ISR中完成。圖3所示是USB-ISR程序框圖。在USB-ISR中,通過程序可讀取USBN9604中的主事件寄存器(MAEV),并判斷中斷原因,包括收發事件的發生、總線狀態的改變以及握手信號的產生等,同時可根據不同原因進入相應函數。另外也可通過函數具體實現各種USB標準的請求、端點0的接收和發送以及其它端點的收發和總線狀態的改變等。


        上一頁 1 2 下一頁

        關鍵詞: USBN9604 USB接口

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 龙游县| 民权县| 锦屏县| 镶黄旗| 城市| 且末县| 监利县| 高碑店市| 大城县| 宜黄县| 盖州市| 临沭县| 康马县| 个旧市| 海兴县| 汾西县| 阜城县| 周至县| 连州市| 雅江县| 茂名市| 中山市| 富阳市| 静宁县| 临潭县| 通海县| 孙吴县| 霍城县| 治县。| 望江县| 沙湾县| 连云港市| 伊通| 五大连池市| 正蓝旗| 姜堰市| 湛江市| 云龙县| 永年县| 长泰县| 缙云县|