音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

32 位ARM 嵌入式系統(tǒng)擴(kuò)展USB 接口設(shè)計(jì)

出處:davina 發(fā)布于:2008-09-02 09:38:30

  常用的主機(jī)與嵌入式外設(shè)的高速通信接口有LPT 并行口、USB、1394 及10/100M 以太網(wǎng)等接口。RS232 不適合高速數(shù)據(jù)傳送,1394 接口需要專門的適配器接口成本過高,一般較少使用,USB 接口被廣泛用于高、中、低不同速度設(shè)備與主機(jī)通信,USB2.0 的速度可達(dá)480Mb/s, 可傳送高清晰數(shù)字視頻碼流,完全可以替代1394 接口,USB 與以太網(wǎng)接口相比,采用主從結(jié)構(gòu),有即插即用特性,驅(qū)動(dòng)程序豐富,互操作性好等優(yōu)點(diǎn)。

 ?。眨樱拢ǎ眨睿椋觯澹颍螅幔臁。樱澹颍椋幔臁。拢酰?,通用串行總線)接口是1994 年Intel、Microsoft 等多家公司聯(lián)合推出的計(jì)算機(jī)外設(shè)互連總線協(xié)議。USB 接口支持1.5Mb/s、12Mb/s 和480Mb/s 的數(shù)據(jù)傳輸速率,支持控制、中斷、批量與實(shí)時(shí)4 種數(shù)據(jù)傳輸模式,讓外圍設(shè)備可以有彈性的選擇。不管是交換少量或是大量的數(shù)據(jù),還是有無時(shí)效的限制,都有合適的傳輸類型。USB的實(shí)時(shí)同步數(shù)據(jù)傳輸模式適合于高速實(shí)時(shí)音視頻數(shù)據(jù)流的傳送。

  基于ARM(Advanced RISC?。停幔悖瑁椋睿澹螅┨幚砥鞯模常病∥磺度胂到y(tǒng)具有極高運(yùn)算速度和大容量的數(shù)據(jù)處理能力,常需要設(shè)計(jì)高速接口與其他設(shè)備通信,為此本文討論基于S3C44B0XARM7 處理器的嵌入式統(tǒng)擴(kuò)展USB 接口(設(shè)備端)的技術(shù)方案。

 ?。薄。眨樱隆〗涌谠?/FONT>

 ?。眨樱拢保薄∫?guī)范將USB 分為5 部分:控制器、控制器驅(qū)動(dòng)程序、USB 芯片驅(qū)動(dòng)程序、USB設(shè)備以及針對(duì)不同USB 設(shè)備的客戶端驅(qū)動(dòng)程序。

 ?。ǎ保】刂破鳎ǎ龋铮螅簟。茫铮睿簦颍铮欤欤澹颍┲饕?fù)責(zé)執(zhí)行由控制器驅(qū)動(dòng)程序發(fā)出的命令。

 ?。ǎ玻】刂破黩?qū)動(dòng)程序(Host?。茫铮睿簦颍铮欤欤澹颉。模颍椋觯澹颍?, 在控制器與USB 設(shè)備間建立通信管道(Pipe)。

 ?。ǎ常。眨樱隆◎?qū)動(dòng)程序(USB?。模颍椋觯澹颍?,提供對(duì)不同USB 設(shè)備及芯片的支持。

 ?。ǎ矗。眨樱隆≡O(shè)備(USB Device), 有兩類USB 設(shè)備:一類稱為功能設(shè)備(Function),另一類是稱為USB 集線器(HUB),可以連接多個(gè)USB 設(shè)備。

 ?。ǎ担。眨樱隆≡O(shè)備驅(qū)動(dòng)程序(Client?。模颍椋觯澹颉。樱铮妫簦鳎幔颍澹┘疤囟☉?yīng)用程序。

  主控制器的驅(qū)動(dòng)軟件由操作系統(tǒng)支持,USB 設(shè)備開發(fā)人員一般只需編寫客戶驅(qū)動(dòng)程序,實(shí)現(xiàn)特定功能,設(shè)備端所有功能軟件需要全面設(shè)計(jì)。

 ?。眨樱隆〉乃姆N數(shù)據(jù)傳輸模式分別是:控制型傳輸、中斷型傳輸、批量型傳輸、實(shí)時(shí)型傳輸。種在缺省通道中傳輸USB 接口本身的配置等控制信息,后面三種用于功能部件傳輸數(shù)據(jù)。中斷型用于鍵盤等的異步輸入輸出少量數(shù)據(jù)傳輸,批量傳輸主要用于象硬盤等塊設(shè)備的數(shù)據(jù)傳輸,在中斷和批量的傳輸過程中要傳遞交互握手信號(hào),確保數(shù)據(jù)準(zhǔn)確無誤。

  實(shí)時(shí)傳輸對(duì)帶寬有嚴(yán)格要求,但允許有一定誤碼,省去了交互握手信號(hào)的傳遞,常用于音視頻碼流數(shù)據(jù)傳輸。四種類型數(shù)據(jù)都按帶寬要求分配在1ms 一幀的數(shù)據(jù)幀內(nèi)進(jìn)行傳輸,USB1.0 實(shí)時(shí)傳輸可得到的帶寬10.24Mbps。

 ?。病∏度胧较到y(tǒng)USB 接口設(shè)計(jì)

  要滿足高性能ARM嵌入式系統(tǒng)的要求,擴(kuò)展USB接口必須選擇高性能USB控制器芯片,Philips公司的PDISUBD12?。眨樱缕骷?,是與微處理器配合使用的高性能USB接口器件,性價(jià)比很高。PDIUSBD12主要特性有:

 ?。ǎ保》希眨樱隆。保薄〖夹g(shù)規(guī)范;

 ?。ǎ玻。眨樱驴刂破鞑⑿薪涌谂c處理器間的數(shù)據(jù)傳輸速度高達(dá)2M 字節(jié)/秒;

  (3) 在批量模式和同步模式下均可實(shí)現(xiàn)1M 字節(jié)/秒的數(shù)據(jù)傳輸速率;

 ?。ǎ矗〖闪耍疲桑疲洗鎯?chǔ)收發(fā)器,支持DMA 操作;

 ?。ǎ担?nèi)置時(shí)鐘倍頻PLL電路,可編程時(shí)鐘頻率輸出;

 ?。ǎ叮《嘀袛嗄J綄?shí)現(xiàn)批量和同步傳輸;

  采用PDIUSBD12 USB標(biāo)準(zhǔn)組件與S3C44B0X接口,減小了開發(fā)的時(shí)間、風(fēng)險(xiǎn)以及費(fèi)用,是快捷、經(jīng)濟(jì)的方法實(shí)現(xiàn)ARM嵌入式系統(tǒng)擴(kuò)展USB的解決方案之一。PDIUSBD12與S3C44B0X?。粒遥停诽幚砥鞯碾娐穲D見圖2。因ARM7用存儲(chǔ)器影射方法擴(kuò)展I/O接口,一般按16bit方式尋址,所以U2的A0連到U1的Addr1引腳, 片選信號(hào)nGCS1的基地址是0x0200_0000。

 ?。场。粒遥汀《耍眨樱隆≡O(shè)備程序

  設(shè)備端程序主要完成:ARM?。拢桑希印『停酰悖蹋椋睿酰〉募虞d、啟動(dòng)通信進(jìn)程、USB 控制器初始化、響應(yīng)主控制器標(biāo)準(zhǔn)PnP 及其他命令、建立USB 端點(diǎn)(End point)邏輯通道、數(shù)據(jù)傳輸操作等功能,圖3 是基于ARM 的USB 設(shè)備與PC 間音頻通信的程序功能結(jié)構(gòu)圖。

  操作USB 芯片的接口函數(shù)的宏定義為:

  typedef?。酰睿螅椋纾睿澹洹。螅瑁铮颍簟。椋睿簟。眨保丁。?/FONT>

 ?。#洌澹妫椋睿濉。穑模保玻撸茫停摹。ā。ā。眨保丁。。埃埃玻埃埃埃埃埃病。。赶颍模保病∶罴拇嫫髦羔?/FONT>

 ?。#洌澹妫椋睿濉。穑模保玻撸模粒浴。ā。ā。眨保丁。。埃埃玻埃埃埃埃埃啊。。赶颍模保病?shù)據(jù)寄存器指針

 ?。#洌澹妫椋睿濉。模保玻祝颍椋簦澹茫恚洌ā。洌幔簦帷。。ǎ稹。模保玻撸茫停摹。健。ǎ眨保叮ǎ洌幔簦幔。Α。埃妫妗。?/FONT>

 ?。#洌澹妫椋睿濉。模保玻祝颍椋簦澹模幔簦幔ā。洌幔簦帷。。ǎ。穑模保玻撸模粒浴。健。ǎ眨保叮ǎ洌幔簦幔。Α。埃妫妗。?/FONT>

  #define?。模保玻遥澹幔洌模幔簦幔ǎ。ǎ。穑模保玻撸模粒浴。Α。埃妫妗。?/FONT>

  4 音頻碼流USB 設(shè)備驅(qū)動(dòng)程序

 ?。祝椋睿洌铮鳎螅玻埃埃啊≈懈鞣NUSB 設(shè)備客戶驅(qū)動(dòng)程序結(jié)構(gòu)框架基本相同,可以從Windows2000DDK 中獲得USB 設(shè)備驅(qū)動(dòng)程序范例代碼,對(duì)范例代碼作少量修改就可以滿足特定功能需要。圖1 顯示了驅(qū)動(dòng)程序各層間的數(shù)據(jù)傳遞關(guān)系,底層USB 主控制器驅(qū)動(dòng)程序(USB?。龋铮螅簟。模颍椋觯澹颍┯刹僮飨到y(tǒng)提供支持,設(shè)備驅(qū)動(dòng)程序只需要對(duì)USB?。龋铮螅簟。模颍椋觯澹颉∩蟼鞯模桑稀?shù)據(jù)包IRP 作出響應(yīng),并把要輸出數(shù)據(jù)以IRP 形式下傳給USB Host?。模颍椋觯澹颉〖纯伞?/FONT>

  在ISO(實(shí)時(shí)型)模式下傳輸音頻碼流,USB 客戶程序除了WDM(Windows?。模颍椋觯澹颉。停铮洌澹欤?qū)動(dòng)常規(guī)處理外,必須計(jì)算好帶寬,并為驅(qū)動(dòng)程序在非分頁存儲(chǔ)區(qū)內(nèi)分配好環(huán)行緩沖區(qū)(Ringbuffer),以便USB 主控制器可以不間斷輸出實(shí)時(shí)數(shù)據(jù)。RingBuffer 的大小按下式

  計(jì)算:

  每幀字節(jié)數(shù) × 每緩沖幀數(shù) × 緩沖區(qū)數(shù)?。?/FONT>

  每傳完一緩沖區(qū),USB Host?。模颍椋觯澹颉』卣{(diào)(CallBack)客戶驅(qū)動(dòng)程序,USB 帶寬按每1ms 傳送1 幀數(shù)據(jù)來分配,要實(shí)現(xiàn)8kHz 采樣頻率、8bits 編碼的音頻PCM 碼流傳輸,幀數(shù)據(jù)包大小必須設(shè)為8Bytes,若設(shè)置4 個(gè)緩沖區(qū)交替工作,每緩沖區(qū)分20 幀傳送, 則RingBuffer 的大小為640Bytes,那么USB 主控制器每20ms 的頻率中斷回調(diào)客戶驅(qū)動(dòng)程序是合適的。

  驅(qū)動(dòng)程序通過IoSetCompletionRoutine()函數(shù)給每個(gè)IRP 設(shè)置回調(diào)函數(shù)入口地址,每完成一個(gè)IRP 緩沖區(qū)數(shù)據(jù)傳送操作,回調(diào)該地址指向的函數(shù),以便把下一緩沖包數(shù)據(jù)壓入到IRP 棧,直到全部數(shù)據(jù)流傳送完畢或人為終止傳送。

 ?。怠〗Y(jié)束語

  擴(kuò)展USB 接口,大幅提升了32 位ARM 嵌入式系統(tǒng)數(shù)據(jù)通信的吞吐能力,有即插即用特性和多種數(shù)據(jù)傳輸模式,方案適合于嵌入式系統(tǒng)的多種應(yīng)用。文章具體闡述了方案硬件、軟件設(shè)計(jì)的關(guān)鍵問題,并討論了如何分配USB 總線帶寬,實(shí)現(xiàn)恒速音頻PCM 碼流傳送,實(shí)驗(yàn)結(jié)果表明該方案能流暢地接收Windows2000 通過USB 接口輸出話音編碼信號(hào),方案可行,具有較高參考價(jià)值。

  請(qǐng)登陸: 維庫電子市場網(wǎng)(m.58mhw.cn) 瀏覽更多信息


  
關(guān)鍵詞:32 位ARM 嵌入式系統(tǒng)擴(kuò)展USB 接口設(shè)計(jì)USB接口

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

SI3050-EI-FT USB接口芯片
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!