<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

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

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

作者: 時(shí)間:2009-09-15 來(lái)源:網(wǎng)絡(luò ) 收藏

3 嵌入式主機的軟件設計

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

系統的軟件平臺核心為micro;C/OS-II,它是一個(gè)源碼公開(kāi)的、占先式多任務(wù)管理的實(shí)時(shí)操作系統內核,其性能完全可與許多商業(yè)產(chǎn)品競爭,已在相當多的系統中得到成功應用,是一個(gè)經(jīng)實(shí)踐證明穩定可靠的內核,且其核心代碼短小精悍,簡(jiǎn)單易學(xué)。

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

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

圖2:USB驅動(dòng)程序棧

 
3.2 USB Mass Storage 類(lèi)協(xié)議框架的實(shí)現

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

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

圖3讀文件流程圖

3.3 基于ESC/ P打印控制語(yǔ)言的打印機驅動(dòng)設計

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

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



關(guān)鍵詞: s3c44b0 COS-II 811 USB

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>