国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于PDIUSBD12的USB控制器的設計

發(fā)布時間:2010-7-28 12:44    發(fā)布者:lavida
關(guān)鍵詞: PDIUSBD12 , USB , 控制器
USB是一種新型的通用串行總線,它具有即插即用、可熱插拔和傳輸速率高的特點,在工業(yè)界已經(jīng)獲得了廣泛的支持和應用。迄今為止,各種USB的外設已有上千種,除了象顯卡這種需要極高數(shù)據(jù)量和實時性要求特別高的控制設備,幾乎所有的PC外設都可以移植到USB上來。

一般的USB設備都使用一片微控制器作為其核心部件,通過微控制器強火的控制和運算功能,開發(fā)者可以很容易地實現(xiàn)USB設備的智能化。而嵌入式設備的實時、小巧等特性使得USB的協(xié)議棧和總線驅(qū)動的開發(fā)設計顯得尤為重要,因為它的好壞會直接對USB主機產(chǎn)生影響,從而會對嵌入式系統(tǒng)性能和穩(wěn)定產(chǎn)生較大影響。本文以PDIUSBD12為USB接口芯片,以AT89C52為控制器,給出了一種USB接口的設計方法。

1 PDIUSBD12芯片介紹  

PHILIPS公司生產(chǎn)PDIUSBD12接口芯片是一款性價比很高的USB器件,它通常通過其高速并行接口進行和微控制器通信,支持本地的DMA傳輸,支持3個USB端點,其中一個端點128B容量,另外2個端點具有256B容量。該器件允許在眾多可用的微控制器中選擇最合適的系統(tǒng)控制器可,允許使用現(xiàn)存的體系結(jié)構(gòu)并使設備軟件投資成本減少,是開發(fā)低成本,高效率的USB外圍設備的最佳途徑。  

PDIUSBD12特性:  

(1) 符合通用串行總線USB1.1版規(guī)范  
(2)高性能USB接口器件集成了SIE FIFO存儲器收發(fā)器以及電壓調(diào)整器  
(3) 符合大多數(shù)器件的分類規(guī)格  
(4) 可與任何外部微控制器/微處理實現(xiàn)高速并行接口2M字節(jié)/秒  
(5) 完全自治的直接內(nèi)存存取DMA操作  
(6) 集成320字節(jié)多結(jié)構(gòu)FIFO存儲器  
(7) 主端點的雙緩沖配置增加了數(shù)據(jù)吞吐量并輕松實現(xiàn)實時數(shù)據(jù)傳輸  
(8) 在批量模式和同步模式下均可實現(xiàn)1M字節(jié)/秒的數(shù)據(jù)傳輸速率  
(9) 具有良好EMI特性的總線供電能力  
(10) 在掛起時可控制LazyClock輸出  
(11) 可通過軟件控制與USB的連接  
(12) 采用GoodLink技術(shù)的連接指示器,在通信時使LED閃爍  
(13) 可編程的時鐘頻率輸出  
(14) 符合ACPI OnNOW和USB電源管理的要求   
(15) 內(nèi)部上電復位和低電壓復位電路  
(16) 有SO28和TSSOP28兩種封裝  
(17) 工業(yè)級操作溫度-40~+85℃  
(18) 高于8kV的在片靜電防護電路減少了額外元件的費用  
(19) 具有高錯誤恢復率(>99%)的全掃描設計確保了高品質(zhì)  
(20) 雙電源操作3.3V或擴展的5V電源,范圍為3.6~5.5V  
(21) 多中斷模式實現(xiàn)批量和同步傳輸  

2 USB通信模塊的硬件電路的設計  

本系統(tǒng)設計采用PDIUSBD12和AT89C52配合完成通信設計。其連線圖如圖1所示。  



從上圖分析知道,AT89C52和PDIUSBD12采用總線方式連接,對AT89C52來說,PDIUSBD12是一個具有8位數(shù)據(jù)總線的存儲設備。PDIUSBD12獲取USB總線數(shù)據(jù),并對數(shù)據(jù)作相應協(xié)議處理之后以中斷的方式通知AT89C52,MCU根據(jù)相應的中斷請求往PDIUSBD12發(fā)送不同請求數(shù)據(jù),協(xié)同實現(xiàn)USB設備列舉和數(shù)據(jù)傳輸。當外設經(jīng)過PDIUSBD12連接到集線器后,集線器就會檢測外設的連接狀態(tài)并向主機報告,一但發(fā)現(xiàn)該設備,主機就會發(fā)送一系列請求給集線器,以使得集線器在主機和設備之間建立一個通信通道。然后主機試圖列舉該設備,發(fā)送設備描述符等請求可,列舉成功后,主機即可以從外設能夠被主機識別并能和主機進行通信。之后,USB總線進入數(shù)據(jù)傳輸階段。  

3 USB固件程序的設計  

固件是FireWare的中文意思,它實際上足單片機的程序文件,可以采用C語言或是匯編語言編寫。它的操作方式與硬件聯(lián)系緊密,包括USB設備的連接、USB協(xié)議、中斷處理等,它不是單純的軟件,而是軟件和硬件的結(jié)合,開發(fā)者需要對端口、中斷和硬件結(jié)構(gòu)非常熟悉。在本系統(tǒng)中,當PDIUSBD12從USB接受到一個數(shù)據(jù)包,就對CPU產(chǎn)生一個中斷請求,CPU立即響應中斷。在ISR(中斷服務程序)中,固件讀取數(shù)據(jù),并將數(shù)據(jù)保存值到循環(huán)數(shù)據(jù)緩沖區(qū),隨后置柏應事件的標志位,CPU繼續(xù)前臺程序,檢測事件標志,執(zhí)行完成相應的事件任務。固件程序一般放入MCU中,當把設備連接到主機上時,上位機可以發(fā)現(xiàn)新設備,然后建立連接。因此,編寫固件程序的一個最主要的目的就是讓Windows可以檢測和識別設備。  

3.1 固件功能需求  

在本系統(tǒng)設計中,固件程序不僅要協(xié)助USB控制芯片PDIUSBD12完成USB通信的任務,而且還要控制采集模塊和標準信號源的工作,具體包括:  

(1) 應答主機列舉設備的所有請求,完成設備的列舉和重列舉過程。其中包括用軟件來模擬USB設備的斷開與從新連接,對接收到的設備包進行分析和判斷,對主機的設備請求作出適當?shù)捻憫ぷ鳎钡街鳈C對設備的配制完成。  
(2) 初始化工作,這項工作有兩個方面,一是對采集模塊和信號源模塊的硬件進行初始化工作;二是對USB芯片進行初始化,設置一些特殊功能寄存器的初值,例如開或關(guān)中斷,配制I/O端口等。  
(3) 當主機發(fā)送數(shù)據(jù)時,要接收數(shù)據(jù)包并解析數(shù)據(jù)包的含義,根據(jù)事先約定的協(xié)議進行相應的操作。對于采集模塊具體包括:寫入波形數(shù)據(jù),選擇頻率,選擇幅度,選擇波形類型等。  
(4) 當主機要求回傳采集到的數(shù)據(jù)時,根據(jù)設備狀態(tài)回傳數(shù)據(jù),或者應答數(shù)據(jù)未準備好。回傳數(shù)據(jù)后,自動按照原先保存的設置初始化采集參數(shù)并啟動下一次采集,從而使采集繼續(xù)下去。  
(5) 響應硬件產(chǎn)生的中斷,并作出相應的處理。  

單片機與PDIUSBD12的通信主要是靠單片機給PDIUSBD12發(fā)命令和數(shù)據(jù)來實現(xiàn)的。PDIUSBD12的命令字分為三種:初始化命令字、數(shù)據(jù)流命令字和通用命令字。PDIUSBD12數(shù)據(jù)手冊給出了各種命令的代碼和地址。單片機先給PDIUSBD12的命令地址發(fā)命令,根據(jù)不同命令的要求再發(fā)送或讀出不同的數(shù)據(jù)。  

因此,可以將每種命令做成函數(shù),用函數(shù)實現(xiàn)各個命令,直接調(diào)用函數(shù)即可。  

固件程序流程圖如圖2所示。  



其中:  
TD_Init():此函數(shù)用于初始化全局狀態(tài)變量。  
TD_Poll():此函數(shù)在操作外設時反復調(diào)用,用于外設功能程序代碼的執(zhí)行。  
TD Suspend():此函數(shù)使外設進入低功耗掛起狀態(tài)。  
TD_Resume():次函數(shù)用于對外部恢復事件作出反應,并恢復處理器的正常工作狀態(tài)。  

3.2 驅(qū)動程序設計  

驅(qū)動程序介于硬件與上層應用軟件之間,為它們之間的通信提供橋梁。應用程序可以不必知道它想要或者正在與之通信的硬件設備的屬性,包括電氣連接,物理地址,信號種類。通信協(xié)議等,甚至應用程序可以不知道與之通信的是何種接口。這些工作全部是由各個層次的驅(qū)動程序來完成的,應用程序只需要知道設備的名稱,或是功能就可以了。在Windows中,應用程序可以通過驅(qū)動程序像操作一般文件一樣來訪問硬件設備,以實現(xiàn)應用層與設備的交互。與傳統(tǒng)PC總線(如PCI總線)設備的驅(qū)動程序相比,USB設備驅(qū)動程序從不直接與硬件對話。相反,它僅靠創(chuàng)建URB(USB請求塊)并把URB提交到總線驅(qū)動程序就可完成硬件操作。  

USB驅(qū)動程序現(xiàn)在已經(jīng)具有工業(yè)標準化,一般生產(chǎn)USB芯片的廠家已經(jīng)設計好其驅(qū)動程序,在本設計中,使用了由PHILIPS公司提供的PDIUSBD12通用驅(qū)動程序D12usb.sys,即功能驅(qū)動程序。  

4 結(jié)束語  

PHILIPS公司的PDIUSBD12芯片及其開發(fā)環(huán)境提供了一個快速有效的開發(fā)手段,本文對USB設備端的固件和硬件設計過程以及在主機端的驅(qū)動程序和應用程序開發(fā)都作了全面詳細的介紹。給出了一個快速實現(xiàn)USB控制器的方法與技術(shù),也是開發(fā)其他類似設備的參考范例。
本文地址:http://m.qingdxww.cn/thread-17415-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
ricky321 發(fā)表于 2014-7-30 10:43:47
FTDI 推出的FT120T可以pin to pin替換D12,直接使用原先D12代碼和驅(qū)動。歡迎來電咨詢13651499393
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 安靜高效的電機控制——這才是正確的方向!
  • 無線充電基礎(chǔ)知識及應用培訓教程2
  • 了解一下Microchip強大的PIC18-Q24 MCU系列
  • 無線充電基礎(chǔ)知識及應用培訓教程3
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 麻豆视频播放 | 亚洲欧美中文日韩在线v日本 | 一本卡二卡三乱码最近更新版 | 欧美一级日韩一级 | 日韩欧美中文字幕在线播放 | 91精品久久 | eeuss影院在线奇兵区1页 | 久久激情网 | 女老师免费观看 | 黑人又大又粗好爽好猛视频 | 岛国免费v片在线播放 | 亚洲国产精品自产在线播放 | 亚洲成网站www久久九 | 亚洲国产精品综合久久网络 | 日本最新免费不卡二区在线 | 国产福利久久青青草原下载 | 国产色综合天天综合网 | 久久久久国产精品美女毛片 | 欧美va在线视频 | 亚洲国产精品成人综合色在线婷婷 | 亚洲第一色在线 | 欧洲免费在线视频 | 日韩午夜在线视频不卡片 | 久久久久久久国产 | 精品久久久久久久久久久 | 日本久久道一区二区三区 | 国产精在线 | 毛片免费高清免费 | 我不卡神马 | 精品国产香蕉伊思人在线又爽又黄 | 日本高清在线观看视频www | 嫩草影院成人 | 一区二区三区欧美 | 三级在线网站 | 国产精品伦理一二三区伦理 | 国产一区国产二区国产三区 | 免费一级毛片 | 久久久久久免费视频 | 四虎永久地址4hu2019 | 天天操天天摸天天爽 | 日韩在线第一区 |