新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于μC/OS-Ⅱ的嵌入式USB控制軟件的實(shí)現(xiàn)

基于μC/OS-Ⅱ的嵌入式USB控制軟件的實(shí)現(xiàn)

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

摘要:在此以杭州中天32位RISC CPU CK510為內(nèi)核的HMl521_B芯片上,μC/Ⅱ操作系統(tǒng),對(duì)設(shè)備的讀寫(xiě)。系統(tǒng)采用主機(jī)的分層結(jié)構(gòu),著重闡述FAT32文件系統(tǒng)、設(shè)備枚舉和BULK-ONLY傳輸?shù)木唧w過(guò)程。為了節(jié)省硬件資源,放棄了USB協(xié)議中的繁文縟節(jié),抓住協(xié)議核心,設(shè)計(jì)了精簡(jiǎn)高效的驅(qū)動(dòng)程序??紤]到各種U盤(pán)的不同特性,增強(qiáng)了驅(qū)動(dòng)兼容性方面的設(shè)計(jì)。整個(gè)階段都由邏輯分析儀給出實(shí)測(cè)數(shù)據(jù)抓包截圖。
關(guān)鍵詞:USB;FAT32文件系統(tǒng);USB設(shè)備枚舉;Bulk-only傳輸

0 引言
2010年USB 3.0的正式推出象征USB傳輸極速時(shí)代的到來(lái),但是領(lǐng)域由于考慮成本等各方面因素很多仍采用USB 1.1協(xié)議。同時(shí)USB協(xié)議的主體框架并沒(méi)有改變,因此研究USB 1.1協(xié)議在嵌入式系統(tǒng)上的對(duì)于USB 3.0協(xié)議的應(yīng)用也是很好的鋪墊。本文在以杭州中天32位RISC CPU CK510為內(nèi)核的摩托羅拉HM1521_B芯片上,μC/Ⅱ操作系統(tǒng),實(shí)現(xiàn)對(duì)USB設(shè)備的讀寫(xiě)控制。由于HM1521_B芯片只支持USB 1.1協(xié)議,所以本文實(shí)現(xiàn)的只是USB 1.1協(xié)議。USB是一種主從結(jié)構(gòu):主機(jī)Host和從機(jī)Device。所有的數(shù)據(jù)傳輸都由Host主動(dòng)發(fā)起,而Device只是被動(dòng)的負(fù)責(zé)應(yīng)答。在USB OTG中,一個(gè)設(shè)備可以在Device和Host之間切換,用以實(shí)現(xiàn)設(shè)備與設(shè)備之間的連接,大大增加了USB的使用范圍。但USBOTG依然沒(méi)有脫離主從關(guān)系,設(shè)備之間必然有一個(gè)作為Host,另一個(gè)作為Device。標(biāo)準(zhǔn)的USB使用4根線,分別是5 V電源、差分?jǐn)?shù)據(jù)線負(fù)(D-)、差分?jǐn)?shù)據(jù)線正(D+)、地(GND)。USB的低速和全速模式采用電壓傳輸,高速模式則采用電流傳輸。

1 USB控制的分層結(jié)構(gòu)
按照USB協(xié)議規(guī)范,USB運(yùn)行首先是USB Host通過(guò)D+數(shù)據(jù)線上的電平變化檢測(cè)USB Device的插入和拔出,Host和Device依據(jù)協(xié)議規(guī)定的順序執(zhí)行一系列信息交換,這稱(chēng)為枚舉部分,也是所有USB主機(jī)都必須支持的功能。Host根據(jù)獲得的Device信息判斷該Device屬于哪一類(lèi)USB設(shè)備,并確定下一步選用哪個(gè)特定的程序加以支持。
USB協(xié)議規(guī)定了HID(人機(jī)接口設(shè)備)類(lèi)、Mass Storage(大容量存儲(chǔ)設(shè)備,如U盤(pán))類(lèi)、音頻類(lèi)等各種設(shè)備類(lèi)型。在嵌入式系統(tǒng)中,由于受系統(tǒng)性能和存儲(chǔ)空間的限制,一般只能支持某幾個(gè)類(lèi)型。本文只支持Mass Storage類(lèi)。

本文引用地址:http://butianyuan.cn/article/150349.htm

b.jpg


圖1是本文實(shí)現(xiàn)的USB Host控制的分層結(jié)構(gòu):應(yīng)用層調(diào)用FAT32文件系統(tǒng)層的函數(shù);文件系統(tǒng)層通過(guò)MassStorage UFI命令與存儲(chǔ)設(shè)備建立聯(lián)系,實(shí)現(xiàn)U盤(pán)上文件的建立和讀寫(xiě)等一系列操作;最底層的是Mass Storage驅(qū)動(dòng)模塊,實(shí)現(xiàn)對(duì)U盤(pán)數(shù)據(jù)的讀寫(xiě)功能。其主要函數(shù)包括:
a.jpg
本文軟件用C語(yǔ)言編程,并依賴(lài)μC/Ⅱ操作系統(tǒng)提供的中斷函數(shù)來(lái)調(diào)度各個(gè)函數(shù)的運(yùn)行。

linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁(yè) 1 2 3 4 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉