精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于M8SS storage CBI協議在繡花機上實現高質量高速率的數據傳輸

電子設計 ? 來源:單片機與嵌入式系統應用 ? 作者:王子鑒;張莉君 ? 2021-03-19 14:21 ? 次閱讀

引言

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

1 M8SS storage CBI協議介紹

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

1.1 數據傳輸過程

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

基于M8SS storage CBI協議在繡花機上實現高質量高速率的數據傳輸

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

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

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

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

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

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

①設備描述符(device descriptor)

②配置描述符(configuration descriptor)

③接口描述符(interface descriptor) CBI存儲設備至少應支持1個數據接口。

④端點描述符(endpoint descriptor) 除用作初始化和命令傳輸的控制端口Endpoint 0外,CBI存儲設備還必須支持批量輸入、批量輸出、中斷3種端點,配置、接口、端口描述符是在主機一次請求時接收的。

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

2 USB 軟驅主機程序設計

2.1 開發平臺介紹

開發平臺主要包括:

MCU S3C24IOA(繡花機主芯片

USB芯片 SL811HS

③開發語言 嵌入式C語言

④編譯環境 CodeWarrior for ARM Developer SuiteVl.2

仿真器 Magic-ICE

⑥USB軟驅類型 SONY MPF82E-U1磁盤驅動器

2.2.1 USB設備的枚舉

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

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

2.2.2 大容量存儲設備的枚舉

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

該程序段成功返回標志著所發指令執行正常,且最后讀寫USB軟驅首扇區數據正確。

2.3 繡花機花版文件讀取

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

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

結語

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

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 驅動器
    +關注

    關注

    52

    文章

    8156

    瀏覽量

    146024
  • 接口
    +關注

    關注

    33

    文章

    8498

    瀏覽量

    150837
  • usb
    usb
    +關注

    關注

    60

    文章

    7896

    瀏覽量

    264000
收藏 人收藏

    評論

    相關推薦

    MSP430實現以太網高速數據傳輸

    的可靠性保證吧)???應該使用什么協議才能夠實現可靠且速度高的數據傳輸呢!?或者,怎么樣的方式才能實現高速
    發表于 11-07 16:46

    基于FPGA的高速LVDS數據傳輸

    高速LVDS數據傳輸方案和協議基于FPGA的高速LVDS數據傳輸本人在北京工作6年,從事FPGA外圍接口設計,非常熟悉
    發表于 03-01 18:47

    請問labview如何實現高速數據傳輸

    和labview做下中轉。1,NI的哪個板卡可以實現這個功能? 只要一個通道的PT100采集2,labview接受板卡的速度可以達到或超過1ms1次吧?3,labview如何高速的將數據傳輸給執行器?執行器支持485通訊和網口通
    發表于 06-16 09:09

    如何利用ARM和FPGA設計電腦繡花機控制器?

    方式。電腦繡花機是當代最先進的繡花機械,它能使傳統的手工繡花得到高速度、高效率的實現,并且還能實現
    發表于 08-16 08:09

    高速工業繡花機人機界面的設計過程是怎么樣的?

    高速工業繡花機是機電一體化結合較為完美、自動化程度較高的繡花專用設備,它能使傳統的手工繡花得到高速度、高效率、高可靠性的
    發表于 11-11 07:20

    ARM繡花機控制系統有什么應用?

    隨著全自動繡花機的不斷發展,機械方面的改進對機器的性能改善已經沒有太大的效果。因而,控制系統就成為了繡花機提高性能和降低成本的關鍵,也是各大繡花機廠商的競爭重點[1,2]??刂葡到y的硬件決定了整個
    發表于 03-11 06:21

    可以通過微網格設計實現高速數據傳輸嗎?

    嗨,我們可以通過微網格設計實現高速數據傳輸嗎?我正在使用Microlaze連接Aurora(3.125 Gbps)。數據正在轉移,這在console和ILA上得到驗證。但我怎樣才能確保
    發表于 08-26 14:35

    WinCE多線程下繡花機運動控制的實現

    提出了一種基于Windows CE5.0 多線程機制的繡花機運動控制系統軟件設計方案。結合硬件中斷技術,運用線程同步方法,實現繡花機運動控制系統的強實時性技術要求,解決了繡花機
    發表于 08-13 10:11 ?24次下載

    基于FPDP的高速數據傳輸系統設計

    基于FPDP的高速數據傳輸系統設計 隨著電子技術的高速發展,越來越多的信號處理系統,需要高速數據采集和大吞吐量的
    發表于 12-01 09:41 ?2141次閱讀
    基于FPDP的<b class='flag-5'>高速</b><b class='flag-5'>數據傳輸</b>系統設計

    數據傳輸速率是什么意思

    數據傳輸速率是什么意思 數據傳輸速率是通過信道每秒可傳輸的數字信息量的量度。數據傳輸
    發表于 03-18 14:45 ?4986次閱讀

    基于ARM的電腦繡花機監控系統的設計與開發

    電腦繡花機是當代最先進的繡花機械,隨著人們對刺繡品質量的追求以及刺繡品需求量的增加,高性能的電腦繡花機越來越受到市場的推崇,用戶對CAN(現場總線)、遠程控制、海量USB存儲、彩色LC
    發表于 08-30 16:31 ?11次下載
    基于ARM的電腦<b class='flag-5'>繡花機</b>監控系統的設計與開發

    基于UDP協議和FPGA的點到點數據傳輸方案

    基于提升數據傳輸速率,提高數據傳輸實時性的目的,提出了一種基于UDP協議的點到點數據傳輸方案,并采用現場可編程邏輯門整列(FPGA)和以太網
    發表于 06-01 09:58 ?13次下載

    如何實現MQTT協議數據傳輸?

    如何實現MQTT協議數據傳輸? 隨著物聯網技術的不斷發展,越來越多的設備和應用需要實現互聯互通。而MQTT作為一種輕量級的發布/訂閱消息傳輸
    的頭像 發表于 11-15 17:23 ?1101次閱讀

    網絡數據傳輸速率的單位是什么

    網絡數據傳輸速率的單位是 bps(bit per second) ,即比特每秒,也可以表示為b/s或bit/s。它表示的是每秒鐘傳輸的二進制數的位數。比特(bit)是計算機中數據量的單
    的頭像 發表于 10-12 10:20 ?924次閱讀

    LORA模塊的數據傳輸速率

    有所不同。以下是關于LoRa模塊數據傳輸速率的一些關鍵點: 數據傳輸速率的可變性 : LoRa技術允許不同的
    的頭像 發表于 10-31 17:03 ?573次閱讀