新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式USB主機(jī)擴(kuò)展應(yīng)用

嵌入式USB主機(jī)擴(kuò)展應(yīng)用

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


  可以說(shuō),嵌入式,是整個(gè)USB系統(tǒng)發(fā)展的未來(lái)和趨勢(shì)。
  
5設(shè)計(jì)嵌入式
  
  傳統(tǒng)意義的USB開(kāi)發(fā),僅僅是對(duì)USB外設(shè)的開(kāi)發(fā),USB底層驅(qū)動(dòng)程序和USB主控制器驅(qū)動(dòng)程序都由Windows等操作系統(tǒng)提供,有關(guān)這些驅(qū)動(dòng)程序的細(xì)節(jié)過(guò)程都蒙著一層神秘的面紗。所以,要設(shè)計(jì),就須設(shè)計(jì)這兩部分驅(qū)動(dòng)程序,Windows源碼不公開(kāi),這些細(xì)節(jié)資料就無(wú)從得到。

  因此,設(shè)計(jì)就要遵循USB主機(jī)的協(xié)議規(guī)范。可以閱覽參考文獻(xiàn)。具體的設(shè)計(jì)就要包括固件Firmware和硬件兩大部分。

  硬件上首先要選擇USB主機(jī)的接口芯片?,F(xiàn)在比較成熟的有Cypress公司的SL811HS和Philips公司的ISP1161。并且選用一款合適的MCU和MPU來(lái)控制。那么這款MCU的選用需要比較講究。因?yàn)?,整個(gè)USB協(xié)議框架是非常復(fù)雜的。那么這就需要MCU具有足夠的RAM,用以處理大量的數(shù)據(jù)緩沖區(qū)、大量的變量、數(shù)據(jù)存儲(chǔ)等等。一般8KB的RAM是最最基本的要求,而且越大越好,當(dāng)然,小到2K,也可以實(shí)現(xiàn)基本功能,但是已經(jīng)非常捉襟見(jiàn)肘了。其次系統(tǒng)要有大量的程序存儲(chǔ)區(qū),一般Flash的需求大概在10~60KB左右。之所以有如此大的范圍,這是因?yàn)閁SB定義很多的類,用以支持不同類型的USB外設(shè)。每一類就有其不同的驅(qū)動(dòng)程序,因此,設(shè)計(jì)的嵌入式USB主機(jī)支持的類越多,那么需要的程序空間就越大。有個(gè)例子就是,要實(shí)現(xiàn)MassStorage類就需要10K所有的Flash空間。

  固件方面,就是要實(shí)現(xiàn)完整的USB主機(jī)協(xié)議類,包括設(shè)備的上電檢測(cè)、設(shè)備重起、分配地址、讀取設(shè)備的各種描述符等基本的操作,更重要的是要實(shí)現(xiàn)每一類USB設(shè)備的協(xié)議棧。簡(jiǎn)單來(lái)說(shuō),每一類設(shè)備的協(xié)議棧,就是一個(gè)特定的驅(qū)動(dòng)程序,傳統(tǒng)的做法,我們是在PC上使用WDM來(lái)編制驅(qū)動(dòng)程序。這里,在我們的嵌入式系統(tǒng)的開(kāi)發(fā)環(huán)境里,我們就要像開(kāi)發(fā)嵌入式的軟件一樣,可以用C語(yǔ)言、可以用匯編語(yǔ)言等來(lái)實(shí)現(xiàn)。限于篇幅所限,這里,無(wú)法進(jìn)一步展開(kāi)。筆者將在以后進(jìn)一步展開(kāi)討論。

  筆者目前就已經(jīng)設(shè)計(jì)出了一款USB主機(jī)的演示系統(tǒng),選用的USB主機(jī)接口芯片是Cypress公司的SL811HS,MCU選用的是Motorola公司的16位單片機(jī)MC68HC912D60A。整個(gè)USB主機(jī)系統(tǒng)支持的是USB的MassStorage類,也就是海量存儲(chǔ)類,這一類是USB專門為支持磁盤(pán)存儲(chǔ)功能設(shè)計(jì)的。因此,現(xiàn)在的結(jié)果是,這個(gè)嵌入式的USB主機(jī)能夠具有同裝有Windows2000操作系統(tǒng)的PC一樣的功能,能夠直接對(duì)USB的設(shè)備進(jìn)行讀取,能夠自動(dòng)識(shí)別設(shè)備并把設(shè)備配置為標(biāo)準(zhǔn)的磁盤(pán)驅(qū)動(dòng)器,因此能夠直接進(jìn)行文件的讀取、格式化等一系列操作。為了通用,選用了朗科公司的USB優(yōu)盤(pán)作為外設(shè)。目前整個(gè)系統(tǒng)可以直接對(duì)優(yōu)盤(pán)進(jìn)行操作,讀取優(yōu)盤(pán)中的文件、寫(xiě)文件到優(yōu)盤(pán)中,等等。
  
  6嵌入式USB主機(jī)的其他應(yīng)用前景分析

  1.以嵌入式USB主機(jī)做為核心的數(shù)據(jù)采集系統(tǒng),可以應(yīng)用在大量工業(yè)和民用領(lǐng)域中,比如城市輕軌鐵路的數(shù)據(jù)采集黑匣子中。中國(guó)幅員遼闊,鐵路線縱橫馳騁,如果每輛機(jī)車上都安裝一套這樣的“黑匣子”系統(tǒng),那么需求量將是非常大的,同時(shí)將帶來(lái)很大的經(jīng)濟(jì)效益和市場(chǎng)前景。

  2.嵌入式USB主機(jī)作為USB的延伸,國(guó)外處于剛剛起步的階段,僅有不多的半導(dǎo)體公司提供接口芯片,還沒(méi)有完整的嵌入式USB主機(jī)產(chǎn)品上市。廠家和USB論壇所能提供的Demo也限于依靠嵌入式操作系統(tǒng)WinCE和Linux等。國(guó)內(nèi)的研究也剛開(kāi)始起步。因此,項(xiàng)目研究具有一定的領(lǐng)先和前瞻性。

  3.在開(kāi)發(fā)USB主機(jī),編寫(xiě)底層驅(qū)動(dòng)程序的同時(shí),注意整個(gè)系統(tǒng)的可移植性,使得有關(guān)USB通信的各個(gè)任務(wù)模塊化,盡量編寫(xiě)API。這樣,就可以在不同的操作系統(tǒng)、不同的
主控制器CPU上盡量方便的實(shí)現(xiàn)USB

主機(jī)的功能。這就可以為日后嵌入式USB主機(jī)的產(chǎn)品化和進(jìn)一步研究打好基礎(chǔ)。這個(gè)工作有待進(jìn)一步完善。

參考文獻(xiàn)

  1 馬偉。 OTG補(bǔ)充協(xié)議開(kāi)辟USB的新篇章,電子產(chǎn)品世界,2002年6月A版

  2 SL811HS Datasheet,Cypress,2001

  3 Open Host Controller Interface Specification for USB,Compaq,Microsoft,National Semiconductor,1999

  4 Enhanced Host Controller Interface Specification for USB, Intel, 2001

  5 USB Specification 1.1,1998

  6 2.0 datasheet http://www.dzsc.com/datasheet/2.0_1758666.html.

  7 device datasheet http://www.dzsc.com/datasheet/device_1397784.html.

  8 SL811HS datasheet http://www.dzsc.com/datasheet/SL811HS_611618.html.

  9 ISP1161 datasheet http://www.dzsc.com/datasheet/ISP1161_410194.html.

  11 MC68HC912D60A datasheet http://www.dzsc.com/datasheet/MC68HC912D60A_1021844.html.

  12 Demo datasheet http://www.dzsc.com/datasheet/Demo_2558744.html.


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

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉