<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PDIUSBD12的USB控制器的設(shè)計(jì)

          基于PDIUSBD12的USB控制器的設(shè)計(jì)

          作者: 時(shí)間:2013-10-26 來(lái)源:網(wǎng)絡(luò) 收藏
          USB是一種新型的通用串行總線,它具有即插即用、可熱插拔和傳輸速率高的特點(diǎn),在工業(yè)界已經(jīng)獲得了廣泛的支持和應(yīng)用。迄今為止,各種USB的外設(shè)已有上千種,除了象顯卡這種需要極高數(shù)據(jù)量和實(shí)時(shí)性要求特別高的控制設(shè)備,幾乎所有的PC外設(shè)都可以移植到USB上來(lái)。

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

          1 芯片介紹

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

          PDIUSBD12特性:

            (1) 符合通用串行總線USB1.1版規(guī)范

            (2)高性能USB接口器件集成了SIE FIFO存儲(chǔ)器收發(fā)器以及電壓調(diào)整器

            (3) 符合大多數(shù)器件的分類規(guī)格

            (4) 可與任何外部微控制器/微處理實(shí)現(xiàn)高速并行接口2M字節(jié)/秒

            (5) 完全自治的直接內(nèi)存存取DMA操作

            (6) 集成320字節(jié)多結(jié)構(gòu)FIFO存儲(chǔ)器

            (7) 主端點(diǎn)的雙緩沖配置增加了數(shù)據(jù)吞吐量并輕松實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)傳輸

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

            (9) 具有良好EMI特性的總線供電能力

            (10) 在掛起時(shí)可控制LazyClock輸出

            (11) 可通過(guò)軟件控制與USB的連接

            (12) 采用GoodLink技術(shù)的連接指示器,在通信時(shí)使LED閃爍

            (13) 可編程的時(shí)鐘頻率輸出

            (14) 符合ACPI OnNOW和USB電源管理的要求

            (15) 內(nèi)部上電復(fù)位和低電壓復(fù)位電路

            (16) 有SO28和TSSOP28兩種封裝

            (17) 工業(yè)級(jí)操作溫度-40~+85℃

            (18) 高于8kV的在片靜電防護(hù)電路減少了額外元件的費(fèi)用

            (19) 具有高錯(cuò)誤恢復(fù)率(>99%)的全掃描設(shè)計(jì)確保了高品質(zhì)

            (20) 雙電源操作3.3V或擴(kuò)展的5V電源,范圍為3.6~5.5V

            (21) 多中斷模式實(shí)現(xiàn)批量和同步傳輸

          2 USB通信模塊的硬件電路的設(shè)計(jì)

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

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

          3 USB固件程序的設(shè)計(jì)

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

          3.1 固件功能需求

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

            (1) 應(yīng)答主機(jī)列舉設(shè)備的所有請(qǐng)求,完成設(shè)備的列舉和重列舉過(guò)程。其中包括用軟件來(lái)模擬USB設(shè)備的斷開與從新連接,對(duì)接收到的設(shè)備包進(jìn)行分析和判斷,對(duì)主機(jī)的設(shè)備請(qǐng)求作出適當(dāng)?shù)捻憫?yīng)工作,直到主機(jī)對(duì)設(shè)備的配制完成。

            (2) 初始化工作,這項(xiàng)工作有兩個(gè)方面,一是對(duì)采集模塊和信號(hào)源模塊的硬件進(jìn)行初始化工作;二是對(duì)USB芯片進(jìn)行初始化,設(shè)置一些特殊功能寄存器的初值,例如開或關(guān)中斷,配制I/O端口等。

            (3) 當(dāng)主機(jī)發(fā)送數(shù)據(jù)時(shí),要接收數(shù)據(jù)包并解析數(shù)據(jù)包的含義,根據(jù)事先約定的協(xié)議進(jìn)行相應(yīng)的操作。對(duì)于采集模塊具體包括:寫入波形數(shù)據(jù),選擇頻率,選擇幅度,選擇波形類型等。

            (4) 當(dāng)主機(jī)要求回傳采集到的數(shù)據(jù)時(shí),根據(jù)設(shè)備狀態(tài)回傳數(shù)據(jù),或者應(yīng)答數(shù)據(jù)未準(zhǔn)備好?;貍鲾?shù)據(jù)后,自動(dòng)按照原先保存的設(shè)置初始化采集參數(shù)并啟動(dòng)下一次采集,從而使采集繼續(xù)下去。

            (5) 響應(yīng)硬件產(chǎn)生的中斷,并作出相應(yīng)的處理。

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


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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();