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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PDIUSBDl2芯片的USB接口設(shè)計(jì)

          基于PDIUSBDl2芯片的USB接口設(shè)計(jì)

          作者: 時(shí)間:2012-03-09 來源:網(wǎng)絡(luò) 收藏

          2 硬件電路設(shè)計(jì)

          構(gòu)成的電路如圖2所示。的8位并行數(shù)據(jù)接人的PO口,地址線A15(P2.7)作為的片選,地址線A14(P2.6)作為PDIUSBDl2的命令或數(shù)據(jù)的選擇線。在片選信號有效的前提下(P2.7=0),當(dāng)P2.6=1時(shí),給PDIUSBDl2發(fā)命令;當(dāng)P2.6=0時(shí),給PDIUSBDl2寫數(shù)據(jù)或從PDIUSBDl2的Buffer中讀數(shù)據(jù);因此,地址0x7FFF發(fā)命令,地址0x3FFF讀寫數(shù)據(jù)。PDIUSBDl2與的數(shù)據(jù)交換采用中斷方式(外部中斷0)。他的一個(gè)輸出(GL_N)接LED對其狀態(tài)進(jìn)行監(jiān)控,這個(gè)LED在USB被連接時(shí)會(huì)發(fā)光,在進(jìn)行數(shù)據(jù)傳輸時(shí)會(huì)閃爍,LED常亮或一直不亮說明有問題。


          USB設(shè)備通過4線電纜接入主機(jī)或USB Hub,這4線分別是:Vcc(總線電源),GND(地線),D+和D一(數(shù)據(jù)線)。主機(jī)通過D+和D一上的電壓變化來檢測到設(shè)備的狀態(tài),當(dāng)沒有設(shè)備連接到USB端口時(shí),D+和D一線上的下拉電阻就將2條數(shù)據(jù)線拉到近地,當(dāng)檢測到任一條數(shù)據(jù)線電壓接近Vcc,而其他保持近地電壓,那么主機(jī)就知道該設(shè)備已經(jīng)準(zhǔn)備好了。

          主機(jī)通過檢測是哪一條數(shù)據(jù)線電壓變高來確定設(shè)備是全速或低速,當(dāng)D+數(shù)據(jù)線高時(shí),就為全速;當(dāng)D一數(shù)據(jù)線低時(shí),就為低速。PDIUSBBDl2的全速模式通過軟連接(SoftConnectTM)在D十上接1個(gè)1.5k12的上拉電阻。

          3 固件設(shè)計(jì)

          當(dāng)設(shè)備連接到主機(jī)以后,主機(jī)通過給PDIUSBDl2的端點(diǎn)0發(fā)送包含標(biāo)準(zhǔn)USB請求的控制傳輸(即Setup包),PDIUSBDl2產(chǎn)生一個(gè)中斷給MCU(INT0),MCU通過讀PDIUSBDl2的中斷寄存器和最后一次傳輸狀態(tài)寄存器來對每一個(gè)請求作出響應(yīng),并通過PDIUSBDl2的端點(diǎn)0回送請求信息。主機(jī)從返回的信息中讀取描述數(shù)據(jù),分配和載人一個(gè)設(shè)備驅(qū)動(dòng)程序并對設(shè)備進(jìn)行配置。設(shè)備被配置好后,就可以使用配置中支持的端點(diǎn)來傳輸數(shù)據(jù)。這一部分工作由MCU來控制完成,并且該控制程序需要固化在ADuC812的內(nèi)部ROM中,稱之為固件(firmware)。

          PDIUSBDl2的端點(diǎn)0有3個(gè)狀態(tài),其變化關(guān)系如圖3所示,固件程序必須利用這3種狀態(tài)關(guān)系來正確地處理控制傳輸。把主機(jī)通過PDIUSBDl2的端點(diǎn)0給設(shè)備發(fā)USB請求設(shè)為OUTs,通過端點(diǎn)0接收數(shù)據(jù)設(shè)為INs。MCU處理來自主機(jī)的Setup包(Control Out)的軟件流程圖如圖4所示,MCU通過PDIUSBDl2的控制端點(diǎn)。給主機(jī)發(fā)送描述符數(shù)據(jù)(Control In)的軟件流程圖如圖5所示。PDIUSBDl2的描述符數(shù)據(jù)必須嚴(yán)格遵循USBl.1協(xié)議第九章(Chap9)的規(guī)定,描述符數(shù)據(jù)包括設(shè)備描述符、配置描述符、接口描述符、端點(diǎn)描述符、字符串描述符。

          完成PDIUSBDl2的固件(Firmware)程序后,在USB設(shè)備驅(qū)動(dòng)程序的開發(fā)中筆者使用了Jungo公司的WinDriver 5.03,應(yīng)用程序的開發(fā)使用的是VC 6.0。

          4 結(jié) 語
          適合于高速數(shù)據(jù)采集系統(tǒng)與主機(jī)進(jìn)行數(shù)據(jù)通信,同時(shí),他也為便攜式系統(tǒng)提供了方便、快捷和可靠的接口解決方案。目前,USB已經(jīng)廣泛地應(yīng)用在PC的外設(shè)上,特別是USB 2.0協(xié)議推出后,數(shù)據(jù)傳輸能力和速度大大提高,使得USB數(shù)碼相機(jī)、數(shù)碼攝像機(jī)能在短時(shí)間內(nèi)完成大容量的圖像傳輸。此外,USB的突出特點(diǎn)使得他必將在更廣闊的領(lǐng)域得到應(yīng)用。


          上一頁 1 2 下一頁

          關(guān)鍵詞: PDIUSBDl2 USB接口 ADuC812

          評論


          相關(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); })();