關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于s3c44b0和COS-II的嵌入式USB主機(SL811)設計與

        基于s3c44b0和COS-II的嵌入式USB主機(SL811)設計與

        作者: 時間:2009-09-15 來源:網絡 收藏

        3 嵌入式主機的軟件設計

        3.1 嵌入式主機的軟件總體框架

        系統的軟件平臺核心為micro;C/OS-II,它是一個源碼公開的、占先式多任務管理的實時操作系統內核,其性能完全可與許多商業產品競爭,已在相當多的系統中得到成功應用,是一個經實踐證明穩定可靠的內核,且其核心代碼短小精悍,簡單易學。

        主機為USB系統提供的功能有:(1) 檢測USB 外設的接入和移出;(2) 管理主機和外設之間進行的USB 標準流量控制;(3) 枚舉外設; (4) 管理主機和外設之間的數據流; (5) 搜集系統狀態和性能的統計信息;(6) 主機與外設之間的電氣接口,包括供電。

        USB協議規定了人機接口設備HID 類、MassStorage 類、音頻類和打印類等一系列的設備類型, 用于支持不同的設備。根據實際需要,我們開發了USB接口的海量存儲類設備和基于ESC/P打印語言的EPSON打印機嵌入式驅動程序。具體驅動程序棧如圖2所示。該系統支持熱插拔,可以知道識別插上是哪種設備,并調用對應的驅動。

        圖2:USB驅動程序棧

         
        3.2 USB Mass Storage 類協議框架的實現

        USB Mass Storage 類是USB 協議所定義的用來磁盤管理及大容量數據傳輸的。USB定義了兩種海量存儲傳輸協議,它們分別是Buck-only Transport 和Control/Bulk/Interrupt(CBI) Transport。由于目前市場上所出現的海量存儲設備基本上都采用前者傳輸協議,即讀寫數據都是通過塊傳輸來實現通訊。在命令包CBW (Command Block Wrapper)中包含了標志信息,數據長度以及UFI命令等信息。其中UFI命令含有格式化磁盤、讀磁盤、寫磁盤和讀磁盤容量等一系列磁盤管理命令。

        大部分移動存儲設備都采用FAT文件系統來管理文件。整個文件系統通過Mass Storage 的UFI 命令與外設的磁盤建立聯系。FAT文件系統將海量存儲設備上的數據大致分成5個部分:MBR區(主引導區)、DBR區(系統引導區)、FAT區(文件分配表)、FDT區(文件目錄表)和DATA區(數據區)。當有USB接口的海量存儲設備插上后,系統讀取MBR區和DBR區來獲得每扇區字節數,每簇扇區數,FAT表個數等文件系統基本信息。獲取這些基本信息后從海量存儲設備讀取一個文件的流程如圖3示。因寫文件和讀文件的流程沒有很大的差別,在此就不累述了。

        圖3讀文件流程圖

        3.3 基于ESC/ P打印控制語言的打印機驅動設計

        EPSON公司的打印機基本上都是基于ESC/ P打印控制語言的,不同系列的打印機的控制語言沒有太大的差別。因此,我們開發的驅動程序具有比較強的通用性,針對EPSON的C63系列打印機開發的驅動完全適用C65系列和ME1打印機。

        各種型號打印機的編程手冊可以到EPSON的開發網站上下載。編程手冊對各種控制命令作了詳細介紹,如初始化打印機(ESC @)、選擇圖形方式( ESC (C nL nH m )、設置單元大小(ESC (U nL nH m )、打印光柵圖像命令(ESC . c v h m N1 Nh d1 #8943;dk)等。



        關鍵詞: s3c44b0 COS-II 811 USB

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阿荣旗| 文昌市| 裕民县| 敦煌市| 盈江县| 新乐市| 富民县| 托里县| 抚远县| 苍山县| 天全县| 江北区| 神池县| 无棣县| 夏津县| 盘锦市| 维西| 丰台区| 玛沁县| 兴海县| 连州市| 富锦市| 绥德县| 钟祥市| 阳曲县| 乐山市| 安丘市| 台东县| 广饶县| 峨眉山市| 丰县| 渑池县| 延川县| 阳高县| 胶州市| 乐平市| 黎平县| 织金县| 昂仁县| 桐梓县| 临澧县|