新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于USB接口的ARM9微控制器外部存儲器下載工具— MOLY-DO

        基于USB接口的ARM9微控制器外部存儲器下載工具— MOLY-DO

        —— ARM9 MCU External Memory Download Tool Based on USB Interface — MOLY-DO
        作者:深圳懋科科技有限公司 林鴻飛 時間:2011-02-18 來源:電子產品世界 收藏
                USB Device 子系統

          1. USB 設備控制器

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

          USB 是一種 4 線總線,它支持一個主機同時與多個外設(最多可達 127 個)之間的通信。主機控制器通過基于令牌的協議給相應的設備分配 USB 帶寬。USB 總線支持設備的熱插撥和動態配置。所有傳輸都由主機控制器來啟動。主機定義 1ms 幀的數據傳輸。每幀包含 SoF 標記和與設備端點之間傳輸的數據處理。每個設備最多包含有 16 個邏輯或 32 個物理端點。定義了 4 種類型的端點傳輸方式。控制傳輸主要用于在設備連接時對設備進行枚舉以及其他因設備而已的特定操作。中斷傳輸用于對延遲要求嚴格、小量數據的可靠傳輸,如鍵盤、游戲手柄等。批量傳輸用于對延遲要求寬松,大量數據的可靠傳輸,如U 盤等。同步傳輸用于對可靠性要求不高的實時數據傳輸,如攝像頭、USB 音響等。

          設備控制器使能與 USB 主機控制器之間的 12 Mb/s 的數據傳輸。它由寄存器接口、串行接口引擎、端點緩沖存儲器和 DMA 控制器組成。串行接口引擎對 USB 數據流進行譯碼,并將數據寫入相應的端點緩沖存儲器。結束后的 USB 傳輸或錯誤條件的狀態由狀態寄存器來指示,產生中斷(如果能中斷使能)。使能時,DMA 控制器將控制端點緩沖區和 USB RAM 之間的數據傳輸。

           下位機 USB

           采用 USB Full Speed 協議。邏輯端口 0 用于初始化 USB Device,在 USB 設備描述符中,我們采用自定義設備。選用邏輯端口 1、2 用于數據傳輸;其中邏輯端口 1 發送命令字,邏輯端口 2 用于數據傳輸。

          使用 DMA 模式傳輸,有關 DMA 模式傳輸,詳情請見 LPC32x0 用戶手冊。

          通過 USB 能夠對 SDRAM、SRAM、NANDFlash、NORFlash、SPIFlash 等存儲器外設進行操作,下面將對 NANDFlash 操作進行簡單介紹。

          1.NANDFlash 操作

           有兩個 NAND Flash 控制器,一個用于 multi level NAND Flash 設備而另外一個用于 single level NAND Flash 設備。

          在 下位機中,完全實現 SLC、MLC NAND 設備驅動程序,以供 application() 程序所調用。例如使用nand_write_sector() 函數燒寫 kickstart.bin 至 NANDFlash 中。

          目前,下位機系統已支持三星 K9F2808、K9F5608等小頁和 K9F1G08、K9F2G08等大頁以及 ST NAND128-A、NAND256-A、NAND512-A、NAND01G-A等多種 NANDFlash。

          同時,下位機還支持 SST 39VF6401B 等 NORFlash 以及 MX25L1605D 等 SPIFlash。

          2.USB Device 驅動程序

          開發工具:

          ○ DDK或WDK、BusHound 5.0、DriverStudio_3.0 和 VC++ 6.0

          原理:

          實現 USB Device自定義設備類型驅動,開辟兩個邏輯端點分別用于指令和數據的傳輸。API 如下:Usb_Link_Data_Write、Usb_Link_Data_Read、Usb_Link_CMD_Write、Usb_Link_CMD_Read。

          生成:

          MOLY_DO_LIB.dll、MOLY_DO_LIB.lib、usb_link.inf、usb_link.sys



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阿坝| 资溪县| 南雄市| 惠水县| 宝兴县| 宁国市| 新兴县| 林芝县| 建昌县| 太湖县| 津市市| 堆龙德庆县| 印江| 宜都市| 淄博市| 上栗县| 七台河市| 信丰县| 宿迁市| 黑河市| 囊谦县| 巴南区| 旌德县| 磴口县| 高雄县| 巫山县| 辛集市| 桐梓县| 黑龙江省| 汶川县| 沭阳县| 中山市| 阜阳市| 南雄市| 江川县| 洛川县| 辽中县| 陈巴尔虎旗| 玛曲县| 女性| 买车|