當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]引 言 繡花機(jī)廣泛用于紡織行業(yè),基本原理為讀取繡花花版文件到主控設(shè)備,進(jìn)行固定算法的花版解釋,控制繡花機(jī)機(jī)頭進(jìn)行繡花動作,目前廣泛利用USB接口讀取花版文件。USB協(xié)議對所有USB設(shè)備進(jìn)行分類,同類型的設(shè)備

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


1 M8SS storage CBI協(xié)議介紹
    在CBI協(xié)議的描述中,必須采用4種傳輸方式和通道進(jìn)行主機(jī)和設(shè)備的數(shù)據(jù)交換,這4種方式稱為端口,按順序?yàn)椋篛,控制傳輸;1,塊輸入(bulkin);2,塊輸出(bulk-out);3,中斷傳輸。這與普通U盤設(shè)備采用2個傳輸端口有明顯區(qū)別??刂贫丝?主要用來在主機(jī)和設(shè)備間傳送USB標(biāo)準(zhǔn)命令和對硬盤的控制命令集,批量輸入端口1和批量輸出端口2用來傳輸大量塊數(shù)據(jù),中斷端口3用來返回命令的發(fā)送狀態(tài)用于主機(jī)產(chǎn)生中斷。
1.1 數(shù)據(jù)傳輸過程
    在對設(shè)備進(jìn)行任何操作前,主機(jī)都必須發(fā)送mass_storage_ufi協(xié)議中定義的相關(guān)UFI命令塊(USB FloppyInterface Command)。從控制端口0傳送到設(shè)備,命令塊被分為無數(shù)據(jù)、數(shù)據(jù)進(jìn)、數(shù)據(jù)出3種類型。主機(jī)將以指定類請求ADSC開始命令傳輸,接著在控制傳輸?shù)臄?shù)據(jù)階段傳輸命令塊。指定類請求命令包如表1所列。

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

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

    
    命令發(fā)送全過程完畢,當(dāng)需要數(shù)據(jù)輸入/輸出時,設(shè)置主機(jī)發(fā)送IN/OUT PID請求,設(shè)備按照請求通過BULK-IN/OUT端口傳輸數(shù)據(jù),每次發(fā)送的字節(jié)數(shù)根據(jù)設(shè)備描述符所定義的端口最大吞吐量。
1.2 CBI設(shè)備描述符及枚舉過程
    按照USB協(xié)議,所有USB設(shè)備接入主機(jī)后,主機(jī)進(jìn)行設(shè)備枚舉,識別此設(shè)備屬于USB范疇的哪一類,以及該類型中的哪一子類;然后對此設(shè)備進(jìn)行配置,直到該設(shè)備能進(jìn)行正確讀寫。這些枚舉信息都已固化在USB設(shè)備中,主機(jī)只進(jìn)行提取操作。
    CBI協(xié)議存儲設(shè)備支持很多描述符,主要且必須支持下列USB描述符:
    ①設(shè)備描述符(device descriptor)
    ②配置描述符(configuration descriptor)
    ③接口描述符(interface descriptor) CBI存儲設(shè)備至少應(yīng)支持1個數(shù)據(jù)接口。
    ④端點(diǎn)描述符(endpoint descriptor) 除用作初始化和命令傳輸?shù)目刂贫丝贓ndpoint 0外,CBI存儲設(shè)備還必須支持批量輸入、批量輸出、中斷3種端點(diǎn),配置、接口、端口描述符是在主機(jī)一次請求時接收的。
    當(dāng)某設(shè)備描述符被識別為mass storage device類CBI設(shè)備子類后,主機(jī)進(jìn)行第2次枚舉,對設(shè)備進(jìn)行相關(guān)配置和初始化。具體枚舉過程通過第1次枚舉所配置的端口,發(fā)送相關(guān)請求命令,進(jìn)行初始化的數(shù)據(jù)輸入/輸出。具體函數(shù)及功能如下:
   

2 USB 軟驅(qū)主機(jī)程序設(shè)計(jì)
2.1 開發(fā)平臺介紹
    開發(fā)平臺主要包括:
    ①M(fèi)CU S3C24IOA(繡花機(jī)主芯片)
    ②USB芯片 SL811HS
    ③開發(fā)語言 嵌入式C語言
    ④編譯環(huán)境 CodeWarrior for ARM Developer SuiteVl.2
    ⑤仿真器 Magic-ICE
    ⑥USB軟驅(qū)類型 SONY MPF82E-U1磁盤驅(qū)動器
2.2.1 USB設(shè)備的枚舉
    USB軟驅(qū)首先要進(jìn)行設(shè)備枚舉,主機(jī)通過控制端口0向設(shè)備發(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ù)不同的請求命令,配置相應(yīng)的協(xié)議棧。以下是配置接收描述符的部分參數(shù),以設(shè)備描述符為例:

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

2.2.2 大容量存儲設(shè)備的枚舉
    此階段任務(wù)的中心是對主機(jī)發(fā)送UFI命令的處理。ADSC請求是UFI命令的前導(dǎo),通過控制端口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ù)實(shí)現(xiàn)基本原理相同。CBI_Read()函數(shù)讀取扇區(qū)數(shù)據(jù)到指定數(shù)組,源程序如下:


    該程序段成功返回標(biāo)志著所發(fā)指令執(zhí)行正常,且最后讀寫USB軟驅(qū)首扇區(qū)數(shù)據(jù)正確。
2.3 繡花機(jī)花版文件讀取
    實(shí)現(xiàn)讀寫磁盤首扇區(qū)數(shù)據(jù)功能,可以結(jié)合上層FAT文件系統(tǒng)讀取磁盤中的花版文件。FAT文件系統(tǒng)中所有文件都作為鏈表存在,在文件系統(tǒng)的文件目錄項(xiàng)中標(biāo)明了文件的一些相關(guān)信息,如文件名、擴(kuò)展名、文件屬性、修改時間、起始簇號(簇是文件系統(tǒng)中的最小讀寫單位,一般為32字節(jié)),如表2所列。

                          

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


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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉