国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

用CBI協(xié)議的USB軟驅讀取繡花機花版文件

發(fā)布時間:2010-2-26 17:39    發(fā)布者:李寬
關鍵詞: CBI , USB , 軟驅 , 文件 , 協(xié)議
引言

繡花機廣泛用于紡織行業(yè),基本原理為讀取繡花花版文件到主控設備,進行固定算法的花版解釋,控制繡花機機頭進行繡花動作,目前廣泛利用USB接口讀取花版文件。USB協(xié)議對所有USB設備進行分類,同類型的設備擁有一些共同的行為特征和傳輸協(xié)議,在此基礎之上USB協(xié)議又劃分了子類設備,進一步區(qū)分相同類設備的屬性,以利于設計主機與設備的數(shù)據(jù)傳輸。對于USB大容量存儲設備(mass storage device)設計,普遍采用兩種基本傳輸方式:CBI和BULKONLY。使用較多的是BULKONLY協(xié)議,主要應用在U盤存儲設備;而CBI協(xié)議由于具有中斷傳輸?shù)奶匦裕饕獞迷赨SB硬盤及工業(yè)上普遍使用的USB軟盤驅動器,目前,在繡花機的使用過程中也需要磁盤讀寫花版文件,這樣的好處是保密性強、可隨時更換,可以作為U盤的很好補充。

1 M8SS storage CBI協(xié)議介紹

在CBI協(xié)議的描述中,必須采用4種傳輸方式和通道進行主機和設備的數(shù)據(jù)交換,這4種方式稱為端口,按順序為:O,控制傳輸;1,塊輸入 (bulkin);2,塊輸出(bulk-out);3,中斷傳輸。這與普通U盤設備采用2個傳輸端口有明顯區(qū)別。控制端口0主要用來在主機和設備間傳送 USB標準命令和對硬盤的控制命令集,批量輸入端口1和批量輸出端口2用來傳輸大量塊數(shù)據(jù),中斷端口3用來返回命令的發(fā)送狀態(tài)用于主機產(chǎn)生中斷。

1.1 數(shù)據(jù)傳輸過程

在對設備進行任何操作前,主機都必須發(fā)送mass_storage_ufi協(xié)議中定義的相關UFI命令塊(USB FloppyInterface Command)。從控制端口0傳送到設備,命令塊被分為無數(shù)據(jù)、數(shù)據(jù)進、數(shù)據(jù)出3種類型。主機將以指定類請求ADSC開始命令傳輸,接著在控制傳輸?shù)臄?shù)據(jù)階段傳輸命令塊。指定類請求命令包如表1所列。



對于CBI設備來說,主機每次發(fā)送UFI命令塊前都必須由指定類請求ADSC引導,否則設備不識別。以下是發(fā)送一組UFI命令響應的過程舉例:



在主機命令發(fā)送得到接收正確響應ACK(確認接收)后,設備會從端口3自動返回2字節(jié)狀態(tài)碼,用于主機產(chǎn)生中斷(中斷不是必須),數(shù)據(jù)傳輸狀態(tài)如下:


   
命令發(fā)送全過程完畢,當需要數(shù)據(jù)輸入/輸出時,設置主機發(fā)送IN/OUT PID請求,設備按照請求通過BULK-IN/OUT端口傳輸數(shù)據(jù),每次發(fā)送的字節(jié)數(shù)根據(jù)設備描述符所定義的端口最大吞吐量。

1.2 CBI設備描述符及枚舉過程

按照USB協(xié)議,所有USB設備接入主機后,主機進行設備枚舉,識別此設備屬于USB范疇的哪一類,以及該類型中的哪一子類;然后對此設備進行配置,直到該設備能進行正確讀寫。這些枚舉信息都已固化在USB設備中,主機只進行提取操作。

CBI協(xié)議存儲設備支持很多描述符,主要且必須支持下列USB描述符:

    ①設備描述符(device descriptor)
    ②配置描述符(configuration descriptor)
    ③接口描述符(interface descriptor) CBI存儲設備至少應支持1個數(shù)據(jù)接口。
    ④端點描述符(endpoint descriptor) 除用作初始化和命令傳輸?shù)目刂贫丝贓ndpoint 0外,CBI存儲設備還必須支持批量輸入、批量輸出、中斷3種端點,配置、接口、端口描述符是在主機一次請求時接收的。

當某設備描述符被識別為mass storage device類CBI設備子類后,主機進行第2次枚舉,對設備進行相關配置和初始化。具體枚舉過程通過第1次枚舉所配置的端口,發(fā)送相關請求命令,進行初始化的數(shù)據(jù)輸入/輸出。具體函數(shù)及功能如下:



2 USB 軟驅主機程序設計

2.1 開發(fā)平臺介紹

開發(fā)平臺主要包括:

    ①MCU S3C24IOA(繡花機主芯片)
    ②USB芯片 SL811HS
    ③開發(fā)語言 嵌入式C語言
    ④編譯環(huán)境 CodeWarrior for ARM Developer SuiteVl.2
    ⑤仿真器 Magic-ICE
    ⑥USB軟驅類型 SONY MPF82E-U1磁盤驅動器

2.2.1 USB設備的枚舉

USB軟驅首先要進行設備枚舉,主機通過控制端口0向設備發(fā)送DeviceRequest命令。DeviceRequest命令主要有 Get_Descriptor,Set_Address,Set_Config,Set_Interface等,而Get_Descriptor描述符又可分為Device_Descriptor、Configuration_Descriptor、Interface_Descrip-tor、 Endpoint_Descriptor,枚舉階段所有的請求都是基于setup ID。根據(jù)不同的請求命令,配置相應的協(xié)議棧。以下是配置接收描述符的部分參數(shù),以設備描述符為例:



配置請求參數(shù)完成以后,利用USB數(shù)據(jù)傳輸函數(shù)usbXfer()來傳輸該請求。usbXfer()必須完全遵循USBl.1協(xié)議。該函數(shù)具體算法流程如圖1所示。



2.2.2 大容量存儲設備的枚舉

此階段任務的中心是對主機發(fā)送UFI命令的處理。ADSC請求是UFI命令的前導,通過控制端口0以setup數(shù)據(jù)包發(fā)送,接著仍通過端口0以數(shù)據(jù)包的形式發(fā)送UFI命令包。命令包均為12字節(jié),發(fā)送前暫存在ufi[]數(shù)組中。以CBI_Read(unsigned long lba,unsigned charlen,unsigned char* pBuffer)函數(shù)為例敘述命令發(fā)送過程,其他枚舉函數(shù)實現(xiàn)基本原理相同。CBI_Read()函數(shù)讀取扇區(qū)數(shù)據(jù)到指定數(shù)組,源程序如下:



該程序段成功返回標志著所發(fā)指令執(zhí)行正常,且最后讀寫USB軟驅首扇區(qū)數(shù)據(jù)正確。

2.3 繡花機花版文件讀取

實現(xiàn)讀寫磁盤首扇區(qū)數(shù)據(jù)功能,可以結合上層FAT文件系統(tǒng)讀取磁盤中的花版文件。FAT文件系統(tǒng)中所有文件都作為鏈表存在,在文件系統(tǒng)的文件目錄項中標明了文件的一些相關信息,如文件名、擴展名、文件屬性、修改時間、起始簇號(簇是文件系統(tǒng)中的最小讀寫單位,一般為32字節(jié)),如表2所列。

                        

由于文件是以簇鏈的形式存在,所以可以根據(jù)起始簇號設計程序來讀取磁盤中該文件的所有簇數(shù)據(jù),進而抓取所需花版文件。

結語

CBI協(xié)議和BULKONLY協(xié)議是當今USB大容量存儲設備使用最多的傳輸方式。兩種方式各有特點,本文只詳細講解了CBI傳輸應用到USB軟驅上的實現(xiàn)方法和原理。這方面內容屬于USB協(xié)議中很重要的子協(xié)議,可應用到USB通信設計中。開發(fā)人員可以借鑒CBI傳輸模式的諸多優(yōu)點實施高質量高速率的數(shù)據(jù)傳輸。

參考文獻

   1. Stevens Curtis E USB Mass Storage Class CBI Transport Specification 1998
   2. 周立功 ARM 嵌入式系統(tǒng)軟件開發(fā)實例(二) 2006
   3. Compag Computer Corporation Universal Serial Bus Specification:Revision 1.1 1998
   4. 尹勇.王洪成 單片機開發(fā)環(huán)境μVision2使用指南及USB固件編程與調試 2004
   5. 郭佑民.王杰.孫啟國 基于嵌入式微處理器S3C44B0X的USB通信 2008(1-2)

作者:中國地質大學 王子鑒 張莉君 來源:單片機與嵌入式系統(tǒng)應用 2009(5)
本文地址:http://m.qingdxww.cn/thread-8558-1-1.html     【打印本頁】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據(jù)著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發(fā)培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區(qū)

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 婷婷综合五月中文字幕欧美| 日韩欧美一区二区三区不卡| 亚洲视频在线免费| 日韩一本在线| 中文字幕人成人乱码亚洲影视S| 日韩精品福利片午夜免费| 欧美精品久久| 色综合久久久久| 一级十八以 下岁女子毛片| 亚洲国产精品一区二区不卡| 最新伦理片免费观看在线观看 | 蜜臀亚洲AV永久无码精品老司机| 亚洲理论片在线中文字幕| 亚洲网站视频在线观看| 青青青免费高清视频在线| 无码免费一区二区三区免费播放| 亚洲精品国产字幕久久vr| 99re8久久热在线视频| 久久强奷乱码老熟女| 亚洲 自拍 欧洲 视频二区| 一级毛片一级毛片一级级毛片| 欧美一区二区亚洲| 午夜视频免费 成人| 息孑性教育中文字幕影音先锋| 中国性别自由业余18| 国产亚洲欧美在线中文BT天堂网 | 日本理论免费高清在线视频| 青青草好| 伊人2233| 尤物精品国产第一福利三区| 国产一区二区不卡老阿姨| 孕妇bbwbbwbbwbbw超清| 亚洲综合欧美日本另类激情 | 亚洲欧美中文日韩在线v日本| 五月婷婷丁香花| 亚洲国产自| 精品国产乱码久久久久久下载| 亚洲m男在线中文字幕| 亚洲国产成人久久精品动漫| 日韩欧美一区二区不卡看片| 深夜成人在线|