• <rp id="wfxtb"><acronym id="wfxtb"></acronym></rp><em id="wfxtb"></em><dd id="wfxtb"><big id="wfxtb"><video id="wfxtb"></video></big></dd>
  • <rp id="wfxtb"></rp>

    <mark id="wfxtb"><center id="wfxtb"></center></mark>

      <rp id="wfxtb"><span id="wfxtb"><u id="wfxtb"></u></span></rp>

      <rp id="wfxtb"><object id="wfxtb"></object></rp>

      注意:訪問本站需要Cookie和JavaScript支持!請設置您的瀏覽器! 打開購物車 查看留言付款方式聯系我們
      初中電子 單片機教材一 單片機教材二
      搜索上次看見的商品或文章:
      商品名、介紹 文章名、內容
      首頁 電子入門 學單片機 免費資源 下載中心 商品列表 象棋在線 在線繪圖 加盟五一 加入收藏 設為首頁
      本站推薦:
      USB接口器件PDIUSBD12的接口應用設計
      文章長度[] 加入時間[2007/6/29] 更新時間[2025/3/30 5:36:30] 級別[0] [評論] [收藏]
      USB接口器件PDIUSBD12的接口應用設計
      2007年06月21日 星期四 15:36

      摘要  USB作為一種新型的接口技術,以其簡單易用、速度快等特點而備受青睞。本文簡單介紹USB 接口的特點和PHILIPS公司的USB接口芯片PDIUSBD12,并詳細說明USB軟硬件開發過程中 應注意的問題。

      關鍵詞 USB USB調試 USB枚舉順序 接口技術

      引言

        USB是近年來應用在PC領域的新型接口技術,是一些PC大廠商,如 Microsoft、Intel等為了解決日益增加的PC外設與有限的主板插槽和端口之間 的矛盾而制定的一種串行通信的標準,自1995年在Comdex上亮相以來至今已廣泛地為各 PC廠家所支持,F在生產的PC幾乎都配備了USB接口,Microsoft 的Windows98、NT以及MacOS、Linux、FreeBSD等流行操作系統都增加了對 USB的支持。

        USB的主要優點:

       、   使用方便。連接外設不必再打開機箱;允許外設熱插拔,而不必關閉主機電源。
       、   速度快。USB接口的最高傳輸率可達12 Mb/s;提供低速方式,速率為1.5 Mb/s?鄢糜诳偩狀態控制和錯誤檢測等數據傳輸,最大理論速度也能 達到1.2 Mb/s和9.6 Mb/s。
       、   連接靈活。一個USB口理論上可以連接127個USB設備。連接的方式也十分靈活,既可以使用串行連接,也可以使用集線器Hub,把多個設備連接在一起,再同PC機的USB口相接。
       、   獨立供電。USB接口提供了內置電源。

        現在的USB生產廠商很多,幾乎所有的硬件廠商都有USB 的產品。USB控制器一般有兩種類型:一種是MCU集成在芯片里面的,如 Intel的8X930AX、CYPRESS的EZ-USB、SIEMENS的C541U以及 MOTOLORA、National Semiconductors等公司的產品;另一種就是純粹的USB接口芯片,僅處理 USB通信,如PHILIPS的PDIUSBD11(I2C接口)、 PDIUSBP11A、PDIUSBD12(并行接口),National Semiconductor的USBN9602、USBN9603、USBN9604等。前一種由于開發時需要單獨的開發系統,因此 開發成本較高;而后一種只是一個芯片與MCU接口實現USB通信功能,因此成本較低,而且可靠性高。本文主要介紹PHILIPS公司的PDIUSBD12器件。

      1 PDIUSBD12芯片特點和內部結構

        PDIUSBD12是一個性能優化的USB器件,通常用于基于微控制器的系統并與微控制器通過高速通 用并行接口進行通信,也支持本地DMA傳輸。該器件采用模塊化的方法實現一個 USB接口,允許在眾多可用的微控制器中選擇最合適的作為系統微控 制器,允許使用現存的體系結構并使固件投資減到最小。這種靈活性減少了開發時間、風險和成本, 是開發低成本且高效的USB外圍設備解決方案的一種最快途徑。 PDIUSBD12完全符合USB1.1規范,也能適應大多數設備類規范的設計,如成像類、大 容量存儲類、通信類、打印類和人工輸入設備等,因此,PDIUSBD12 非常適合做很多外圍設備,如打印機、掃描儀、外部大容量存儲器( Zip驅動器)和數碼相機等,F在用SCSI實現的很多設備如果用 USB來實現可以直接降低成本。

        PDIUSBD12掛起時的低功耗以及LazyClock輸出符合ACPI 、OnNOW和USB電源管理設備的要求。低功耗工作允許實現總線供電的外圍設備。

        PDIUSBD12還集成了像SoftConnect、GoodLink、可編程時鐘輸出、低頻晶振和終端電阻等特性。所 有這些特性都能在系統實現時節省成本,同時在外圍設備上很容易實現更高級的 USB功能。

      1.1 主要特性

        ◇ 符合USB 1.1協議規范;
        ◇ 集成了SIE、FIFO存儲器、收發器和電壓調整器的高性能USB接口芯片;
        ◇ 適應大多數設備類規范的設計;
        ◇ 與任何微控制器/微處理器有高速(2MB/s)的并行接口;
        ◇ 完全自動DMA操作;
        ◇ 集成了320 B的多配置FIFO存儲器;
        ◇ 主端點有雙緩存配置,增加吞吐量,容易實現實時數據傳輸;
        ◇ 在塊傳輸模式下有1MB/s的數據傳輸率,在同步傳輸模式下有 1Mb/s的數據傳輸率;
        ◇ 具有總線供電能力,有非常好的EMI性能;
        ◇ 在掛起時有可控制的LazyClock輸出;
        ◇ 可通過軟件控制USB總線連接SoftConnect;
        ◇ 在USB傳輸時有閃亮的USB連接指示燈GoodLink;
        ◇ 時鐘頻率輸出可編程;
        ◇ 符合ACPI、OnNOW和USB電源管理要求;
        ◇ 具有內部上電復位和低電壓復位電路;
        ◇ 有SO18和TSSOP28封裝;
        ◇ 能在-40~+85 ℃工業級工作;
        ◇ 片內8kV靜電保護;
        ◇ 雙電壓工作:(3.3±0.3)V或擴大的5 V電壓范圍(3.6~5.5 V);
        ◇ 多中斷模式,方便塊傳輸和同步傳輸。

      1.2 內部結構

        PDIUSBD12的內部框圖如 圖 1 所示。


      圖1   PDIUSBD12內部結構框圖

       、   模擬收發器。集成的收發器直接通過終端電阻與USB電纜接口。

       、   電壓調整器。片上集成的1個3.3 V電壓調整器為模擬收發器供電,也提供連接到外部1.5 kΩ上拉電阻的輸出電壓。作為選擇,PDIUSBD12提供集成1.5 kΩ上拉電阻的SoftConnect技術。

       、 PLL。片上集成1個6~48 MHz的倍頻PLL(鎖相環),允許使用6 MHz的晶振,EMI也由于使用低頻晶振而減小。PLL的工作不需要外部器件。

       、   位時鐘恢復。位時鐘恢復電路用4倍過采樣原理從輸入的USB 數據流中恢復時鐘,能跟蹤USB規范中指出的信號抖動和頻率漂移。

       、   PHILIPS串行接口引擎PSIE。PHILIPS的SIE完全實現USB協議層?紤]到速度,它是全硬件的, 不需要固件(微程序)介入。這個模塊的功能包括:同步模式識別、并 /串轉換、位填充/不填充、CRC校驗、PID確認、地址識別以及握手鑒定。

       、 SoftConnect。高速設備與USB的連接是靠把D+通過1個1.5 kΩ的上拉電阻接到高電平來建立的。在PDIUSBD12中,這個上拉電阻是集成在芯片 內的,缺省是沒有連接到VDD,這個連接是靠外部 MCU發一個命令來建立的。這使得系統微處理器可以在決定建立 USB連接之前完成初始化。重新初始化USB總線連接也可以不用拔掉電纜來完成。

       、   GoodLink。GoodLink是靠一個引腳接發光二極管實現的。在 USB設備枚舉時LED指示燈將立即閃亮;當PDIUSBD12被成功枚舉并配置時, LED指示燈將會始終亮;經過PDIUSBD12的USB數據傳輸過程中, LED將一閃一閃,傳輸成功后LED熄滅;在掛起期間,LED熄滅。這種特性可以使我們知道 PDIUSBD12的狀態,方便電路調試。

       、   存儲器管理單元MMU和集成RAM。MMU和集成RAM能緩沖USB(工作在 12Mb/s)數據傳輸和微控制器之間并行接口之間的速度差異,這允 許微控制器以自己的速度讀寫USB包。

       、   并行和DMA接口。并行接口容易使用、速度快并且能直接與主微控制器接口。對于微控制 器,PDIUSBD12可以看成是一個有8位數據總線和1位地址線的存儲設備。 PDIUSBD12支持多路復用和非多路復用的地址和數據總線。在主端點(端點 2)和局部共享存儲器之間也可使用DMA(直接存儲器存。﹤鬏。它支持單周期模式和塊傳送模式 兩種DMA傳輸。

      2   PDIUSBD12的引腳說明及典型連接

      2.1   PDIUSBD12引腳說明

        PDIUSBD12引腳如 圖 2 所示,引腳如 表 1 所列。


      圖2   PDIUSBD12的引腳圖

      表1   PDIUSBD12引腳說明

      2.2 PDIUSBD12的典型連接

        PDIUSBD1與80C51的連接電路如 圖 3 所示。在這個例子中, ALE始終接低電平,說明采用單獨地址和數據總線配置。A0 腳接80C51的任何I/O引腳,控制是命令還是數據輸入到PDIUSBD12 。80C51的P0口直接與PDIUSBD12的數據總線相連接,CLKOUT 時鐘輸出為80C51提供時鐘輸入。


      圖3   PDIUSBD12與80C51的連接電路圖

      3   軟件設計

      3.1 單片機方面軟件設計

        對于單片機控制程序,目前沒有任何廠商提供自動生成固件(firmware)的工具,因此所有程序都 要由自己手工編制。USB單片機控制程序通常由三部分組成:第一、初始化單片機和所有的外圍電路 (包括PDIUSBD12);第二、主循環部分,其任務是可以中斷的;第三、中斷服務程序,其任務是對時 間敏感的,必須馬上執行。根據USB協議,任何傳輸都是由主機(host)開始的,這樣,單片機作它 的前臺工作,等待中斷。主機首先要發令牌包給USB設備(這里是PDIUSBD12),PDIUSBD12接收 到令牌包后就給單片機發中斷,單片機進入中斷服務程序,首先讀PDIUSBD12的中斷寄存器,判斷 USB令牌包的類型,然后執行相應的操作。因此,USB單片機程序主要就是中斷服務程序的編寫。在USB單片機程序中要完成對各種令牌包的響應,其中比較難處理的是SETUP包,主要是端口0的編程。

        單片機與PDIUSBD12的通信主要是靠單片機給PDIUSBD12發命令和數據來實現的。 PDIUSBD12的命令字分為三種:初始化命令字、數據流命令字和通用命令字。PDIUSBD12給出了各種命令的代碼和地址。單片機先給PDIUSBD12的命令地址發命令,根據不同命令的要求再發送或讀出不同的數據。因此,可以將每種命令做成函數,用函數實現各個命令,以后直接調用函數即可。

        在編寫USB的單片機程序時,需要注意:

       、 單片機的中斷應設置為電平觸發;中斷后一定要讀上次傳輸狀態寄存器(命令40-45H),以清 除中斷寄存器中的中斷標志。這樣,PDIUSBD12的中斷輸出才能變回高電平,這一點非常重要。
       、 在接收到Setup包后,一定要調用ACK set up命令重新使能端口0。
       、 在向IN端點寫完數據后,一定調用Val i date Buffer(命令FAH),指明緩沖區中的數據有效,可以發送到主機。
       、   當讀完數據后,一定調用Clear Buffer(命令F2H),以保證可以接收新的包。
       、   可以通過調用Read Chip ID(命令FDH)檢查PDIUSBD12是否工作。該命令要讀兩個字節數據。

        USB初始化過程為:

       、 Set Address Enable;
       、   Set Endpoint Enable(此時LED亮);
       、 Disconnect;
       、   delay(1~2 s);
       、 Connect(即用43h參數調用Set Mode,此時LED滅);
       、 Read Interrupt Register。

        完成初始化工作后,就可作其它的前臺工作了,并在前臺判斷是否有 Setup包(通過一個變量,當中斷服務程序檢測到有Setup包時,設置該變量),然后執行響應的控制傳輸。

        在調試USB單片機程序時,還要特別注意Win dows對USB設備的枚舉順序:

       、 GetDeviceDescriptor。主機主要對Length域感興趣,發送內容一定要正確,特別是第 2字節type一定為0x01,即Device;否則,主機將不響應,或 者再重復2次后放棄?蓹z查一下對EP0的RX、TX的設置次序。

       、 SetAddress。一般為02或03。

       、 連續3次GetDeviceDescriptor,讀取全部設備描述符,一般為 18 B,分為多次傳輸。如果不正確,主機將不響應或重復2次后放棄。

       、 GetConfigDescriptor。注意第2字節一定為0x02,即config 。

       、   GetStringDescriptor(可能沒有),根據在設備描述符中是否有 String索引而定。一般先讀取LanguageID,再讀取product string。

       、   讀取全部ConfigDescriptor,次數根據描述符的大小決定(端點個數不同,描述符大小不同),如 果不正確,主機將不響應或再重復2次后放棄。

       、 如果以上步驟都正確,主機將找到新設備,提示安裝驅動程序;否則找到未知設備,不可用。 安裝驅動程序后,以后的每次PlugIn,枚舉次序與以上步驟略有不同,之后會有 SetConfiguration、GetConfiguration和GetInterface等調用。

      3.2 主機方面軟件設計

        Windows98 提供了多種USB設備的驅動程序,但好像還沒有一種是專門針對數據采集系統的,所 以必須針對特定的設備來編制驅動程序。盡管系統已經提供了很多標準接口函數,但編制驅動程序仍 然是USB開發中最困難的一件事情,通常采用Windows DDK來實現。目前有許多第三方軟件廠商提供了各種各樣的生成工具,像 Compuware的driv er works,Blue Waters的Driv er Wizard等,它們能夠很容易地在幾分鐘之內生成高質量的USB 的驅動程序。作為WIN98和WIN2K推薦的一項新技術來說,USB的驅動程序和以往的直接跟硬件打交道的 WIN95的VXD方式的驅動程序不同。它是WDM類型的。

        在調試USB設備時,可使用UsbView程序檢測設備是否能被Windows枚舉并配置,如果成功, 還可在該程序中查看設備描述符、配置描述符和端點描述符是否正確。之后可以使用Driver Wiz ard生成一個通用驅動程序,在Windows提示安裝驅動程 序時,選擇Driver Wizard生成的驅動程序。其實Driver Wizard生成的僅是一個Windows控制臺的應用程序,它會調用安裝Driver Wizard時安裝在系統中的通用USB驅動程序。使用該程序就可測試設備 是否能夠正確傳輸數據以及傳輸速度。該程序也可作為最終產品USB傳輸部分的框架;如果不能滿足 要求,也可用WDM重新編制驅動程序,用調試好的USB設備來開發、調試主機軟件。

      4 應用實例

        本文介紹一個高速數據采集系統,以AD公司的ADμC812為系統控制器。該單片機本身就是高度集 成的高精度12位數據采集系統,在其片內不僅組合了可重新編程非易失性閃速/電擦除程序存儲器的高 性能8位(與8051兼容)MCU,還包含了高性能的自校準多通道(8個輸入通道)12位ADC和兩個12位 DAC,且內核與8051指令集兼容。PDIUSBD12作為 ADμC812的存儲器外設,接口比較簡單。需要注意的地方是引腳必須接高電平,否則將不能接收任何命令和數據;EOT_N必須通過電阻接到USB 的+5 V,以正確檢測到USB連接;INT_N引腳加1個上拉電阻,+5 V接到VDD引腳;在VOUT3.3引腳加 1μF(電解電容)和0.1μF兩個退耦電容。

      結束語

        PDIUSBD12是一個性能優化的USB器件,它的SoftConnect 和GoodLink技術使開發和調試USB設備時非常方便,在性能、速度、方便性以及成本上都具有很大的優勢。因此,使用PHILIPS公司的PDIUSBD12可以快速開發出高性能的 USB設備。

      1、 本站不保證以上觀點正確,就算是本站原創作品,本站也不保證內容正確。
      2、如果您擁有本文版權,并且不想在本站轉載,請書面通知本站立即刪除并且向您公開道歉! 以上可能是本站收集或者轉載的文章,本站可能沒有文章中的元件或產品,如果您需要類似的商品請 點這里查看商品列表!
      本站協議。 版權信息。 關于我們。 本站地圖。 營業執照。 發票說明。 付款方式。 聯系方式
      深圳市寶安區西鄉五壹電子商行——粵ICP備16073394號-1;地址:深圳西鄉河西四坊183號;郵編:518102
      E-mail:51dz$163.com($改為@);Tel:(0755)27947428
      工作時間:9:30-12:00和13:30-17:30和18:30-20:30,無人接聽時可以再打手機13537585389
      91嫩草黄片动漫版