99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于M8SS storage CBI協(xié)議在繡花機(jī)上實(shí)現(xiàn)高質(zhì)量高速率的數(shù)據(jù)傳輸

電子設(shè)計(jì) ? 來(lái)源:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)應(yīng)用 ? 作者:王子鑒;張莉君 ? 2021-03-19 14:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

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

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

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

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

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

基于M8SS storage CBI協(xié)議在繡花機(jī)上實(shí)現(xiàn)高質(zhì)量高速率的數(shù)據(jù)傳輸

對(duì)于CBI設(shè)備來(lái)說(shuō),主機(jī)每次發(fā)送UFI命令塊前都必須由指定類(lèi)請(qǐng)求ADSC引導(dǎo),否則設(shè)備不識(shí)別。以下是發(fā)送一組UFI命令響應(yīng)的過(guò)程舉例:

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

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

1.2 CBI設(shè)備描述符及枚舉過(guò)程

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

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

①設(shè)備描述符(device descriptor)

②配置描述符(configuration descriptor)

③接口描述符(interface descriptor) CBI存儲(chǔ)設(shè)備至少應(yīng)支持1個(gè)數(shù)據(jù)接口。

④端點(diǎn)描述符(endpoint descriptor) 除用作初始化和命令傳輸?shù)目刂贫丝贓ndpoint 0外,CBI存儲(chǔ)設(shè)備還必須支持批量輸入、批量輸出、中斷3種端點(diǎn),配置、接口、端口描述符是在主機(jī)一次請(qǐng)求時(shí)接收的。

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

2 USB 軟驅(qū)主機(jī)程序設(shè)計(jì)

2.1 開(kāi)發(fā)平臺(tái)介紹

開(kāi)發(fā)平臺(tái)主要包括:

MCU S3C24IOA(繡花機(jī)主芯片)

USB芯片 SL811HS

③開(kāi)發(fā)語(yǔ)言 嵌入式C語(yǔ)言

④編譯環(huán)境 CodeWarrior for ARM Developer SuiteVl.2

仿真器 Magic-ICE

⑥USB軟驅(qū)類(lèi)型 SONY MPF82E-U1磁盤(pán)驅(qū)動(dòng)器

2.2.1 USB設(shè)備的枚舉

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

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

2.2.2 大容量存儲(chǔ)設(shè)備的枚舉

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

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

2.3 繡花機(jī)花版文件讀取

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

由于文件是以簇鏈的形式存在,所以可以根據(jù)起始簇號(hào)設(shè)計(jì)程序來(lái)讀取磁盤(pán)中該文件的所有簇?cái)?shù)據(jù),進(jìn)而抓取所需花版文件。

結(jié)語(yǔ)

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

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 驅(qū)動(dòng)器
    +關(guān)注

    關(guān)注

    54

    文章

    8697

    瀏覽量

    150004
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    9005

    瀏覽量

    153778
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    8190

    瀏覽量

    273053
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于FPGA的高速LVDS數(shù)據(jù)傳輸

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

    如何利用ARM和FPGA設(shè)計(jì)電腦繡花機(jī)控制器?

    方式。電腦繡花機(jī)是當(dāng)代最先進(jìn)的繡花機(jī)械,它能使傳統(tǒng)的手工繡花得到高速度、高效率的實(shí)現(xiàn),并且還能實(shí)現(xiàn)
    發(fā)表于 08-16 08:09

    高速工業(yè)繡花機(jī)人機(jī)界面的設(shè)計(jì)過(guò)程是怎么樣的?

    高速工業(yè)繡花機(jī)是機(jī)電一體化結(jié)合較為完美、自動(dòng)化程度較高的繡花專(zhuān)用設(shè)備,它能使傳統(tǒng)的手工繡花得到高速度、高效率、高可靠性的
    發(fā)表于 11-11 07:20

    ARM繡花機(jī)控制系統(tǒng)有什么應(yīng)用?

    隨著全自動(dòng)繡花機(jī)的不斷發(fā)展,機(jī)械方面的改進(jìn)對(duì)機(jī)器的性能改善已經(jīng)沒(méi)有太大的效果。因而,控制系統(tǒng)就成為了繡花機(jī)提高性能和降低成本的關(guān)鍵,也是各大繡花機(jī)廠商的競(jìng)爭(zhēng)重點(diǎn)[1,2]??刂葡到y(tǒng)的硬件決定了整個(gè)
    發(fā)表于 03-11 06:21

    可以通過(guò)微網(wǎng)格設(shè)計(jì)實(shí)現(xiàn)高速數(shù)據(jù)傳輸嗎?

    嗨,我們可以通過(guò)微網(wǎng)格設(shè)計(jì)實(shí)現(xiàn)高速數(shù)據(jù)傳輸嗎?我正在使用Microlaze連接Aurora(3.125 Gbps)。數(shù)據(jù)正在轉(zhuǎn)移,這在console和ILA上得到驗(yàn)證。但我怎樣才能確保
    發(fā)表于 08-26 14:35

    WinCE多線(xiàn)程下繡花機(jī)運(yùn)動(dòng)控制的實(shí)現(xiàn)

    提出了一種基于Windows CE5.0 多線(xiàn)程機(jī)制的繡花機(jī)運(yùn)動(dòng)控制系統(tǒng)軟件設(shè)計(jì)方案。結(jié)合硬件中斷技術(shù),運(yùn)用線(xiàn)程同步方法,實(shí)現(xiàn)繡花機(jī)運(yùn)動(dòng)控制系統(tǒng)的強(qiáng)實(shí)時(shí)性技術(shù)要求,解決了繡花機(jī)
    發(fā)表于 08-13 10:11 ?24次下載

    數(shù)據(jù)傳輸速率是什么意思

    數(shù)據(jù)傳輸速率是什么意思 數(shù)據(jù)傳輸速率是通過(guò)信道每秒可傳輸的數(shù)字信息量的量度。數(shù)據(jù)傳輸
    發(fā)表于 03-18 14:45 ?5093次閱讀

    基于ARM的電腦繡花機(jī)監(jiān)控系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)

    電腦繡花機(jī)是當(dāng)代最先進(jìn)的繡花機(jī)械,隨著人們對(duì)刺繡品質(zhì)量的追求以及刺繡品需求量的增加,高性能的電腦繡花機(jī)越來(lái)越受到市場(chǎng)的推崇,用戶(hù)對(duì)CAN(現(xiàn)場(chǎng)總線(xiàn))、遠(yuǎn)程控制、海量USB存儲(chǔ)、彩色LC
    發(fā)表于 08-30 16:31 ?11次下載
    基于ARM的電腦<b class='flag-5'>繡花機(jī)</b>監(jiān)控系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)

    基于UDP協(xié)議和FPGA的點(diǎn)到點(diǎn)數(shù)據(jù)傳輸方案

    基于提升數(shù)據(jù)傳輸速率,提高數(shù)據(jù)傳輸實(shí)時(shí)性的目的,提出了一種基于UDP協(xié)議的點(diǎn)到點(diǎn)數(shù)據(jù)傳輸方案,并采用現(xiàn)場(chǎng)可編程邏輯門(mén)整列(FPGA)和以太網(wǎng)
    發(fā)表于 06-01 09:58 ?13次下載

    如何實(shí)現(xiàn)MQTT協(xié)議數(shù)據(jù)傳輸

    如何實(shí)現(xiàn)MQTT協(xié)議數(shù)據(jù)傳輸? 隨著物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,越來(lái)越多的設(shè)備和應(yīng)用需要實(shí)現(xiàn)互聯(lián)互通。而MQTT作為一種輕量級(jí)的發(fā)布/訂閱消息傳輸
    的頭像 發(fā)表于 11-15 17:23 ?1465次閱讀

    網(wǎng)絡(luò)數(shù)據(jù)傳輸速率的單位是什么

    網(wǎng)絡(luò)數(shù)據(jù)傳輸速率的單位是 bps(bit per second) ,即比特每秒,也可以表示為b/s或bit/s。它表示的是每秒鐘傳輸的二進(jìn)制數(shù)的位數(shù)。比特(bit)是計(jì)算機(jī)中數(shù)據(jù)量的單
    的頭像 發(fā)表于 10-12 10:20 ?4734次閱讀

    LORA模塊的數(shù)據(jù)傳輸速率

    有所不同。以下是關(guān)于LoRa模塊數(shù)據(jù)傳輸速率的一些關(guān)鍵點(diǎn): 數(shù)據(jù)傳輸速率的可變性 : LoRa技術(shù)允許不同的
    的頭像 發(fā)表于 10-31 17:03 ?2809次閱讀

    PCIe數(shù)據(jù)傳輸協(xié)議詳解

    、網(wǎng)卡和聲卡等,以實(shí)現(xiàn)高效的數(shù)據(jù)傳輸。以下是對(duì)PCIe數(shù)據(jù)傳輸協(xié)議的介紹: 一、PCIe協(xié)議的基本概念 PCIe
    的頭像 發(fā)表于 11-26 16:12 ?3538次閱讀

    MPU數(shù)據(jù)傳輸協(xié)議詳解

    現(xiàn)代電子系統(tǒng)中,微控制器(MPU)扮演著核心角色,負(fù)責(zé)處理各種任務(wù)和數(shù)據(jù)。為了實(shí)現(xiàn)這些功能,MPU需要與其他設(shè)備進(jìn)行數(shù)據(jù)交換。數(shù)據(jù)傳輸
    的頭像 發(fā)表于 01-08 09:37 ?883次閱讀

    iic協(xié)議數(shù)據(jù)傳輸速率標(biāo)準(zhǔn)

    I2C協(xié)議定義了多種數(shù)據(jù)傳輸速率標(biāo)準(zhǔn),以適應(yīng)不同的應(yīng)用需求。以下是I2C協(xié)議的主要數(shù)據(jù)傳輸速率標(biāo)
    的頭像 發(fā)表于 02-05 13:40 ?2359次閱讀