www84811.com-国产区一区二区三区,亚洲第一中文字幕在线观看,91精品久久香蕉国产线看观看,国产精品欧美久久

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 嵌入式系統 >> ARM >> 正文

32 位ARM 嵌入式系統擴展USB 接口設計

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2008-11-3

    常用的主機與嵌入式外設的高速通信接口有LPT 并行口、USB、1394 及10/100M 以太網等接口。RS232 不適合高速數據傳送,1394 接口需要專門的適配器接口成本過高,一般較少使用,USB 接口被廣泛用于高、中、低不同速度設備與主機通信,USB2.0 的最高速度可達480Mb/s, 可傳送高清晰數字視頻碼流,完全可以替代1394 接口,USB 與以太網接口相比,采用主從結構,有即插即用特性,驅動程序豐富,互操作性好等優點。
    USB(Universal Serial Bus,通用串行總線)接口是1994 年Intel、Microsoft 等多家公司聯合推出的計算機外設互連總線協議。USB 接口支持1.5Mb/s、12Mb/s 和480Mb/s 的數據傳輸速率,支持控制、中斷、批量與實時4 種數據傳輸模式,讓外圍設備可以有彈性的選擇。不管是交換少量或是大量的數據,還是有無時效的限制,都有合適的傳輸類型。USB的實時同步數據傳輸模式適合于高速實時音視頻數據流的傳送。
    基于ARM(Advanced RISC Machines)處理器的32 位嵌入系統具有極高運算速度和大容量的數據處理能力,常需要設計高速接口與其他設備通信,為此本文討論基于S3C44B0XARM7 處理器的嵌入式統擴展USB 接口(設備端)的技術方案。

1 USB 接口原理
    USB1.1 規范將USB 分為5 部分:控制器、控制器驅動程序、USB 芯片驅動程序、USB設備以及針對不同USB 設備的客戶端驅動程序。
(1) 控制器(Host Controller)主要負責執行由控制器驅動程序發出的命令。
(2) 控制器驅動程序(Host Controller Driver), 在控制器與USB 設備間建立通信管道(Pipe)。
(3) USB 驅動程序(USB Driver),提供對不同USB 設備及芯片的支持。
(4) USB 設備(USB Device), 有兩類USB 設備:一類稱為功能設備(Function),另一類是稱為USB 集線器(HUB),可以連接多個USB 設備。
(5) USB 設備驅動程序(Client Driver Software)及特定應用程序。
 
    主控制器的驅動軟件由操作系統支持,USB 設備開發人員一般只需編寫客戶驅動程序,實現特定功能,設備端所有功能軟件需要全面設計。
    USB 的四種數據傳輸模式分別是:控制型傳輸、中斷型傳輸、批量型傳輸、實時型傳輸。第一種在缺省通道中傳輸USB 接口本身的配置等控制信息,后面三種用于功能部件傳輸數據。中斷型用于鍵盤等的異步輸入輸出少量數據傳輸,批量傳輸主要用于象硬盤等塊設備的數據傳輸,在中斷和批量的傳輸過程中要傳遞交互握手信號,確保數據準確無誤。
    實時傳輸對帶寬有嚴格要求,但允許有一定誤碼,省去了交互握手信號的傳遞,常用于音視頻碼流數據傳輸。四種類型數據都按帶寬要求分配在1ms 一幀的數據幀內進行傳輸,USB1.0 實時傳輸可得到的最大帶寬10.24Mbps。

2 嵌入式系統USB 接口設計
    要滿足高性能ARM嵌入式系統的要求,擴展USB接口必須選擇高性能USB控制器芯片,Philips公司的PDISUBD12 USB器件,是與微處理器配合使用的高性能USB接口器件,性價比很高。PDIUSBD12主要特性有:
(1) 符合USB 1.1 技術規范;
(2) USB控制器并行接口與處理器間的數據傳輸速度高達2M 字節/秒;
(3) 在批量模式和同步模式下均可實現1M 字節/秒的數據傳輸速率;
(4) 集成了FIFO存儲收發器,支持DMA 操作;
(5) 內置時鐘倍頻PLL電路,可編程時鐘頻率輸出;
(6) 多中斷模式實現批量和同步傳輸;
    采用PDIUSBD12 USB標準組件與S3C44B0X接口,減小了開發的時間、風險以及費用,是最快捷、最經濟的方法實現ARM嵌入式系統擴展USB的解決方案之一。PDIUSBD12與S3C44B0X ARM7處理器的電路圖見圖2。因ARM7用存儲器影射方法擴展I/O接口,一般按16bit方式尋址,所以U2的A0連到U1的Addr1引腳, 片選信號nGCS1的基地址是0x0200_0000。
 

3 ARM 端USB 設備程序
    設備端程序主要完成:ARM BIOS 和ucLinux 的加載、啟動通信進程、USB 控制器初始化、響應主控制器標準PnP 及其他命令、建立USB 端點(End point)邏輯通道、數據傳輸操作等功能,圖3 是基于ARM 的USB 設備與PC 間音頻通信的程序功能結構圖。
 
操作USB 芯片的接口函數的宏定義為:
typedef unsigned short int U16 ;
#define pD12_CMD ( ( U16 *) 0x02000002 ) //指向D12 命令寄存器指針
#define pD12_DAT ( ( U16 *) 0x02000000 ) //指向D12 數據寄存器指針
#define D12WriteCmd( data ) (*p D12_CMD = (U16)(data) & 0xff )
#define D12WriteData( data ) (* pD12_DAT = (U16)(data) & 0xff )
#define D12ReadData() (* pD12_DAT & 0xff )

4 音頻碼流USB 設備驅動程序
    Windows2000 中各種USB 設備客戶驅動程序結構框架基本相同,可以從Windows2000DDK 中獲得USB 設備驅動程序范例代碼,對范例代碼作少量修改就可以滿足特定功能需要。圖1 顯示了驅動程序各層間的數據傳遞關系,底層USB 主控制器驅動程序(USB Host Driver)由操作系統提供支持,設備驅動程序只需要對USB Host Driver 上傳的I/O 數據包IRP 作出響應,并把要輸出數據以IRP 形式下傳給USB Host Driver 即可。
    在ISO(實時型)模式下傳輸音頻碼流,USB 客戶程序除了WDM(Windows Driver Model)驅動常規處理外,必須計算好帶寬,并為驅動程序在非分頁存儲區內分配好環行緩沖區(Ringbuffer),以便USB 主控制器可以不間斷輸出實時數據。RingBuffer 的大小按下式
計算:
每幀字節數 × 每緩沖幀數 × 緩沖區數 ;
    每傳完一緩沖區,USB Host Driver 回調(CallBack)一次客戶驅動程序,USB 帶寬按每1ms 傳送1 幀數據來分配,要實現8kHz 采樣頻率、8bits 編碼的音頻PCM 碼流傳輸,幀數據包大小必須設為8Bytes,若設置4 個緩沖區交替工作,每緩沖區分20 幀傳送, 則RingBuffer 的大小為640Bytes,那么USB 主控制器每20ms 的頻率中斷回調一次客戶驅動程序是合適的。
    驅動程序通過IoSetCompletionRoutine()函數給每個IRP 設置回調函數入口地址,每完成一個IRP 緩沖區數據傳送操作,回調一次該地址指向的函數,以便把下一緩沖包數據壓入到IRP 棧,直到全部數據流傳送完畢或人為終止傳送。

5 結束語
    擴展USB 接口,大幅提升了32 位ARM 嵌入式系統數據通信的吞吐能力,有即插即用特性和多種數據傳輸模式,方案適合于嵌入式系統的多種應用。文章具體闡述了方案硬件、軟件設計的關鍵問題,并討論了如何分配USB 總線帶寬,實現恒速音頻PCM 碼流傳送,實驗結果表明該方案能流暢地接收Windows2000 通過USB 接口輸出話音編碼信號,方案可行,具有較高參考價值。

Tags:arm,usb,接口設計  
責任編輯:admin
相關文章列表
沒有相關文章
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
www84811.com-国产区一区二区三区,亚洲第一中文字幕在线观看,91精品久久香蕉国产线看观看,国产精品欧美久久
av不卡免费在线观看| 欧美久久一二区| 亚洲一区二区不卡免费| 91精品国产全国免费观看| 激情综合网最新| 中文字幕一区二区三区在线观看 | 欧美一区二区三区在| 精品一区二区三区欧美| 国产精品伦理在线| 欧美日韩一区在线| 国产原创一区二区| 一区二区在线观看av| 日韩欧美一级精品久久| www.视频一区| 日韩福利视频网| 欧美激情一区二区在线| 欧美三级电影在线看| 国产一区二区免费在线| 亚洲精品中文在线影院| 精品免费视频一区二区| 一本大道久久a久久精品综合| 日本三级亚洲精品| 中文字幕一区二区在线播放| 91精品婷婷国产综合久久性色 | 韩国精品一区二区| 亚洲精品视频在线| 精品播放一区二区| 色综合视频在线观看| 久久99国产精品久久99果冻传媒| 亚洲天堂成人网| 精品国产a毛片| 在线亚洲欧美专区二区| 国产一区二区主播在线| 亚洲国产精品麻豆| 中文字幕第一页久久| 91精选在线观看| 91网上在线视频| 极品尤物av久久免费看| 亚洲国产毛片aaaaa无费看| 国产午夜三级一区二区三| 欧美男男青年gay1069videost| 国产高清久久久| 日韩精品乱码av一区二区| 国产精品国产三级国产三级人妇 | 久久精品视频免费观看| 91精品国产乱| 91豆麻精品91久久久久久| 国产成人鲁色资源国产91色综| 五月天亚洲精品| 亚洲欧洲www| 久久久精品免费网站| 欧美片在线播放| 一本色道综合亚洲| 成人综合婷婷国产精品久久免费| 日韩av电影免费观看高清完整版| 亚洲欧美激情小说另类| 欧美激情艳妇裸体舞| 日韩欧美资源站| 欧美三区免费完整视频在线观看| 成人a免费在线看| 国产一区高清在线| 另类人妖一区二区av| 视频一区二区中文字幕| 亚洲精品成人悠悠色影视| 国产精品乱码妇女bbbb| 久久久久久亚洲综合影院红桃| 欧美一区二区三区思思人| 欧美性一区二区| 91蝌蚪porny九色| 成人精品一区二区三区四区 | 国产乱码精品一区二区三区忘忧草| 日产国产高清一区二区三区| 亚洲国产综合人成综合网站| 亚洲女与黑人做爰| 国产精品久久久久久久久果冻传媒 | 国产精品中文字幕日韩精品| 久久99九九99精品| 另类人妖一区二区av| 蜜桃精品视频在线观看| 日韩专区在线视频| 无码av免费一区二区三区试看| 亚洲精品成人少妇| 亚洲欧美日韩国产一区二区三区| 中文字幕 久热精品 视频在线| 久久麻豆一区二区| 2021中文字幕一区亚洲| 久久蜜桃av一区精品变态类天堂 | 顶级嫩模精品视频在线看| 国产精品主播直播| 丰满放荡岳乱妇91ww| 国产成人综合亚洲网站| 国产精品456| 成人午夜在线播放| 成人一区在线看| 成人av在线播放网址| 99在线精品视频| 91麻豆国产福利精品| 色婷婷综合中文久久一本| 一本大道久久a久久综合| 在线观看网站黄不卡| 欧美亚洲综合久久| 欧美日韩精品一区二区天天拍小说 | 欧美男生操女生| 欧美一区二区福利在线| 精品美女在线播放| 国产欧美一区二区精品忘忧草| 国产网站一区二区| 国产精品热久久久久夜色精品三区| 国产精品久久免费看| 亚洲欧美电影院| 亚洲第一二三四区| 蜜桃久久久久久| 国产高清成人在线| 91在线免费看| 欧美三级视频在线观看| 欧美一区二区三区喷汁尤物| 久久影音资源网| 亚洲欧洲成人自拍| 亚洲a一区二区| 狠狠色综合色综合网络| 成人午夜在线视频| 欧美亚洲精品一区| 日韩一区二区在线播放| 精品1区2区在线观看| 国产精品久线观看视频| 又紧又大又爽精品一区二区| 日韩精品亚洲一区二区三区免费| 韩国女主播成人在线观看| 成人影视亚洲图片在线| 欧美性生活久久| 精品少妇一区二区| 国产精品女上位| 亚洲国产aⅴ成人精品无吗| 久久激情五月婷婷| 99久精品国产| 7777精品伊人久久久大香线蕉的| 久久亚洲春色中文字幕久久久| 亚洲三级在线看| 天天影视色香欲综合网老头| 国产乱人伦偷精品视频免下载 | 91成人国产精品| 日韩欧美一区二区不卡| 中文字幕在线观看一区| 五月天欧美精品| 成人免费毛片app| 欧美久久久久久蜜桃| 国产婷婷色一区二区三区四区| 亚洲精品中文字幕在线观看| 麻豆精品久久精品色综合| 99久久99久久精品国产片果冻| 91精品国产欧美一区二区| 欧美国产精品专区| 婷婷一区二区三区| 大美女一区二区三区| 欧美日韩成人综合天天影院| 国产性色一区二区| 视频在线观看一区| 成人激情视频网站| 欧美一区二区美女| 1024成人网色www| 韩国午夜理伦三级不卡影院| 欧美视频第二页| 国产日本欧洲亚洲| 日韩二区在线观看| 91蝌蚪porny| 久久久久国产精品厨房| 午夜欧美2019年伦理| www.亚洲在线| 久久只精品国产| 首页国产丝袜综合| 97se亚洲国产综合自在线不卡| 日韩女优毛片在线| 亚洲人吸女人奶水| 国产精品自拍在线| 91精品麻豆日日躁夜夜躁| 最近日韩中文字幕| 国产精品一区在线观看乱码| 7777精品伊人久久久大香线蕉经典版下载 | 久久99久久久久| 欧美三级电影网| 亚洲欧洲国产专区| 国产乱码精品一区二区三区av| 8x福利精品第一导航| 亚洲精选视频免费看| 成人综合婷婷国产精品久久免费| 欧美不卡一区二区三区四区| 亚洲成人av一区| 91亚洲精品一区二区乱码| 久久久精品天堂| 久久69国产一区二区蜜臀 | 欧美福利电影网| 亚洲综合小说图片| 不卡视频在线观看| 久久久亚洲综合| 麻豆一区二区三区| 欧美久久免费观看| 亚洲高清免费一级二级三级| 91视频观看免费| 国产精品久久久久毛片软件| 国产麻豆91精品|