• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    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的結構框圖。其主要特點如下:

  • 工作頻率為48MHz,但外部只需接24MHz晶振,因為芯片內部有倍頻電路,因而可得到48MHz時鐘。
  • 可由編程時鐘發生器編程產生不同的頻率時鐘,以作為外部器件(如CPU)的時鐘信號。
  • 帶有串行引擎接口(SⅢ),可實現USB物理層和信號層協議的轉換,主要有CRC校驗/產生、PID校驗/產生、位填充/解除填充、地址識別、握手評估/產生、并串轉換等。
  • 帶有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接口

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 陆良县| 囊谦县| 普宁市| 广元市| 江达县| 新丰县| 澎湖县| 文登市| 宜州市| 石景山区| 堆龙德庆县| 禄丰县| 白河县| 余庆县| 青岛市| 揭阳市| 交城县| 咸丰县| 大化| 呼伦贝尔市| 宣城市| 乐业县| 贵阳市| 乌恰县| 富川| 镇宁| 达日县| 大关县| 涞源县| 错那县| 太康县| 三明市| 大渡口区| 马尔康县| 时尚| 加查县| 习水县| 通海县| 泰州市| 安平县| 永宁县|