採用PDIUSBD12晶片和ADuC812晶片實現串行總線接口設計

2020-11-29 電子發燒友

採用PDIUSBD12晶片和ADuC812晶片實現串行總線接口設計

王澤兵 齊和平 發表於 2020-04-04 10:45:00

隨著計算機技術和信息技術的飛速發展,計算機外設種類的增多與有限的主板插槽和埠之間的矛盾日益突出,由Intel,Microsoft等公司聯合制定的總線接口規範即通用串行總線(Universal Serial Bus, USB)的出現,為解決這一矛盾提出了最好的解決方案。USB具有以下特點:

(1)有較高的傳輸速率USB 1.1支持全速和低速2種方式。全速速率為12 Mb/s,低速速率為1.5 Mb/s;USB 2.0除支持USB 1.1的2種速度方式外,還增加了速率可達480 Mb/s的高速方式。

(2)他的使用方便靈活USB支持即插即用和熱插拔,他允許在任何時候連接和斷開外設,當外設被連接時,系統會自動檢測到外設並準備使用。

(3)他易於擴展通過根集線器可攜帶127個設備,真正實現多個外設共用一個接口。

此外,USB還有可靠性高、成本低、功耗小等優點而倍受歡迎。

目前供於開發USB設備的晶片很多,但主要有2類:一類是帶USB接口的微控制器(MCU),這些微控制器有些是從底層專用於USB控制的,比如Cypress半導體公司的CY7C63xxx(低速)、CY7C64013(全速),這類微控制器有自己的系統結構和指令;有些微控制器只是增加了USB接口的通用晶片(基於8051內核),比如Intel公司的8x931,8x930,Cypress半導體公司的EZUSB;另一類是純粹的USB接口晶片,他需要一個外部微控制器控制,比如朗訊公司的USS820/825,National半導體公司的USBN9602,NetChip公司的NET2888,Philips公司的PDIUSBD11(I2C)和PDIUSBD12(並行接口)。因此在USB設備開發之前必須根據具體要求選用合適的USB接口晶片,以降低開發成本、減少開發時間。本文以PDIUSBD12為USB接口晶片,以ADuC812為控制器完成了USB接口的設計。

1、PDIUSBD12晶片和ADuC812晶片簡介

1.1PDIUSBD12 簡介

PDIUSBD12是Philips公司推出的一款特點突出的USB接口晶片。該晶片使用8位並行數據線連接到MCU,1位地址線用來區分寫命令或讀寫數據,他支持3個USB端點,1個端點能保存128 B,另2個能保存256 B。

PDIUSBD12完全遵從USB 1.1協議,他內部集成有串行接口引擎(SIE)、320 b FIFO存儲器、收發器(Transceiver)和電壓調節器,其原理框圖如圖1所示。還有可編程的時鐘輸出和狀態LED輸出(GoodLinkTM),可控制的軟體連接(SoftConnectTM)以及內部上電復位和低電壓復位電路。有2種電源供電方式:內部3.3±0.3 V電源和外部電源(電壓範圍3.6~5.5 V)。溫度範圍為-40℃~+85 ℃,採用28腳SSOP封裝。

對外部微控制器沒有任何限制,開發者可以選用自己熟悉的MCU來控制。多種中斷方式方便於塊傳輸(Bulk)和同步傳輸(Isochronous),使用塊傳輸方式時的速度可達1 Mb/s,同步傳輸的速度可達1 Mb/s。他適合大多數USB設備類的設計:圖像設備類、大容量存儲設備類、通信設備類、列印設備類、人機接口設備類等。

1.2ADuC812簡介

ADuC812是美國AD公司首先投入市場的微處理器,其內部集成了完整的8052內核、1個8通道的12位ADC、2個12位的電壓輸出DAC,除了8052的256 b RAM外,還有640 b Flash數據存儲器,8 kb Flash程序存儲器。

另外該MCU還有看門狗定時器、電源監視器、ADC與數據存儲器之間的DMA功能,以及為多處理器接口和I/O擴展提供了32條可編程的I/O線、I2C兼容的SPI和標準UART串行I/O等。他採用52腳PQF封裝,大小約為1 cm2。

同時,AD公司還為ADuC812的開發提供了完整的硬體調試工具和開發仿真軟體,使得開發變得簡單方便。因此,ADuC812由於體積小、功耗低、性價比高而極具誘人的應用前景。

2、硬體電路設計

由PDIUSBD12和ADuC812構成的USB接口電路如圖2所示。PDIUSBD12的8位並行數據接入ADuC812 的P0口,地址線A15(P27)作為PDIUSBD12的片選,地址線A14(P2.6)作為PDIUSBD12的命令或數據的選擇線。在片選信號有效的前提下(P2.7=0),當P2.6=1時,給PDIUSBD12發命令;當P2.6=0時,給PDIUSBD12寫數據或從PDIUSBD12的 Buffer中讀數據;因此,地址0x7FFF發命令,地址0x3FFF讀寫數據。PDIUSBD12與ADuC812的數據交換採用中斷方式(外部中斷0)。他的一個輸出(GL-N)接LED對其狀態進行監控,這個LED在USB被連接時會發光,在進行數據傳輸時會閃爍,LED常亮或一直不亮說明USB接口有問題。

USB設備通過4線電纜接入主機或USB Hub,這4線分別是:VCC(總線電源),GND(地線),D+和D-(數據線)。主機通過D+和D-上的電壓變化來檢測到設備的狀態,當沒有設備連接到USB埠時,D+和D-線上的下拉電阻就將2條數據線拉到近地,當檢測到任一條數據線電壓接近VCC,而其他保持近地電壓,那麼主機就知道該設備已經準備好了。

主機通過檢測是哪一條數據線電壓變高來確定設備是全速或低速,當D+數據線高時,就為全速;當D-數據線低時,就為低速。PDIUSBBD12的全速模式通過軟連接(SoftConnectTM)在D+上接1個1.5kΩ的上拉電阻。

3、固件設計

當設備連接到主機以後,主機通過給PDIUSBD12的端點0發送包含標準USB請求的控制傳輸(即Setup包),PDIUSBD12產生一個中斷給MCU(INT0),MCU通過讀PDIUSBD12的中斷寄存器和最後一次傳輸狀態寄存器來對每一個請求作出響應,並通過PDIUSBD12的端點0回送請求信息。主機從返回的信息中讀取描述數據,分配和載入一個設備驅動程序並對設備進行配置。設備被配置好後,就可以使用配置中支持的端點來傳輸數據。這一部分工作由MCU來控制完成,並且該控制程序需要固化在ADuC812的內部ROM中,稱之為固件(firmware)。

PDIUSBD12的端點0有3個狀態,其變化關係如圖3所示,固件程序必須利用這3種狀態關係來正確地處理控制傳輸。把主機通過PDIUSBD12的端點0給設備發USB請求設為OUTs,通過端點0接收數據設為INs。MCU處理來自主機的Setup包(Control Out)的軟體流程圖如圖4所示,MCU通過PDIUSBD12的控制端點0給主機發送描述符數據(Control In)的軟體流程圖如圖5所示。PDIUSBD12的描述符數據必須嚴格遵循USB 1.1協議第九章(Chap9)的規定,描述符數據包括設備描述符、配置描述符、接口描述符、端點描述符、字符串描述符。

完成PDIUSBD12的固件(Firmware)程序後,在USB設備驅動程序的開發中使用了Jungo公司的WinDriver 5.03,應用程式的開發使用的是VC 6.0。

4、結語

該USB接口適合於高速數據採集系統與主機進行數據通信,同時,他也為可攜式系統提供了方便、快捷和可靠的接口解決方案。目前,USB已經廣泛地應用在PC的外設上,特別是USB 2.0協議推出後,數據傳輸能力和速度大大提高,使得USB數位相機、數碼攝像機能在短時間內完成大容量的圖像傳輸。此外,USB的突出特點使得他必將在更廣闊的領域得到應用。

責任編輯:gt

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 基於單片機和CPLD的PLC背板總線協議接口晶片設計(一)
    摘要:設計了一組基於CPLD的PLC背板總線協議接口晶片,協議晶片可以區分PLC的背板總線的周期性數據和非周期性數據。背板總線的技術水平決定了PLC 產品的I/O 擴展能力,是PLC 設計製造的核心技術。目前,PLC 大多採用串行通信技術實現背板總線,串行總線引線少、硬體成本低,跟並行總線相比不容易受幹擾,串行總線可以提高在惡劣的工廠和工業環境下自動化設備的可靠性。用於串行通信技術的可選類型包括I2C、UART、SPI、USB 和乙太網等,一般來說,很多作為PLC 主晶片的單片機自身都集成了這些外設部件。
  • 基於ADuC812微控制器實現環境監測下位機的軟硬體電路設計
    用ADuC812代替由常規晶片構成的數據採集系統,將大大降低產品的成本、縮小設備的體積、提高系統的可靠性和電氣性能指標。 ADuC812 晶片內,不僅包含了可重新編程的非易失性閃速/電擦除程序存儲器的高性能8位(與8051兼容)MCU,還包含了高性能的自校準多通道(8個輸入通道) ADC,兩個12位DAC,32條可編程I/O接口。
  • 基於Linux系統的多種串行總線統一接口的實現
    統一接口的應用層API與底層的具體總線操作形式無關,而且便於應用系統的升級和移植。文中給出了一種多種串行總線統一接口的實現方法,並以ARM9為平臺,以I2C、1-Wire、SPI為例,驗證了新方法的可行性。
  • 通用串行總線(USB)原理及接口設計
    通用串行總線USB (Universal SerialBus)是Intel、Microsoft等大廠商為解決計算機外設種類的日益增加與有限的主板插槽和埠之間的矛盾而於1995年提出制定的。它是一種用於將適用USB的外圍設備連接到主機的外部總線結構,主要用在中速和低速的外設。
  • 基於USB總線和89C51單片機的數據採集系統設計
    而通用串行總線(Universal Serial Bus,簡稱USB)的出現能很好地解決以上這些衝突。我們利用89C51單片機設計了基於USB總線的數據採集設備,並可與MAX485結合起來實現數據的遠程採集。系統硬體設計USB數據採集系統硬體模塊主要由串行A/D轉換器、89C51晶片、USB接口晶片和多路模擬開關等組成。
  • usb接口4個引腳各是什麼功能?
    USB,是英文Universal Serial Bus(通用串行總線)的縮寫,是一個外部總線標準,用於規範電腦與外部設備的連接和通訊。是應用在PC領域的接口技術。USB接口支持設備的即插即用和熱插拔功能。USB是在1994年底由英特爾、康柏、IBM、Microsoft等多家公司聯合提出的。
  • 解決通用串行總線(USB)控制器有感嘆號
    通用串行總線控制器:由於其配置信息(註冊表中的)不完整或已損壞,Windows 無法啟動這個硬體設備開始,還以為滑鼠壞了,使用了其他的usb設備,都發現不了。然後,認為可能bios的設置問題,禁用了USB設備,重新開機進入bios觀察,並沒有關閉USB.最後進入系統,在設備管理中發現的usb設備都顯示黃色感嘆號。USB接口驅動都掛了?重新裝主板驅動,通過系統盤引導安裝驅動,都無濟於事。
  • 基於CPCI總線接口和LVDS接口的接收和傳輸測試數據實驗設計
    4 CPCI總線接口實現 目前,CPCI總線接口的實現主要有2種方法:(1)使用可編程邏輯器件自行設計;(2)使用專用的協議轉換晶片,將CPCI總線轉換為用戶自定義的本地總線[8]。第二種傻瓜式的實現方法雖然不如第一種方法靈活,但勝在省時省力,簡單易用,開發周期短,因此應用較為廣泛。
  • 基於USB接口的區域網接入適配器的設計方案
    針對這種情況,本文提出了一種多通用串行總線(USB)接口的區域網接入適配器。它將傳統意義上的多塊乙太網卡和集線器的功能集於一身,使多臺計算機可以用各自的USB接口連接到上級網絡設備的一個下行接口,並在內部採用了比集線器功能更為更強大交換控制器,對各接口的數據流量加以控制,保證可靠地運行。
  • 基於TMS320F2812和USB100的CAN-USB總線通信系統設計[圖]
    摘要:介紹了一種基於DSP的CAN控制器和USB晶片的USB總線和CAN總線的通信模塊的設計,提出了一種使用USB接口實現CAN總線網絡與計算機連接的方案。利用USB100晶片可在不了解任何USB協議的情況下,完成計算機RS 232串口升級為USB接口,同時CAN接口採用DSP片上CAN控制器,硬體設計極為簡單。
  • 多種工業應用串行總線特性及比較
    由於在消費類電子產品、計算機外設、汽車和工業應用中增加了嵌入式功能,對低成本、高速和高可靠通信介質的要求也不斷增長以滿足這些應用,其結果是越來越多的處理器和控制器用不同類型的總線集成在一起,實現與PC軟體、開發系統(如仿真器)或網絡中的其它設備進行通信。目前流行的通信一般採用串行或並行模式,而串行模式應用更廣泛。
  • FTDI推出適用於串行/並行接口的新式USB 2.0 晶片FT4232H/2232H
    FTDI推出適用於串行/並行接口的新式USB 2.0 晶片FT4232H/2232H
  • 分析研究典型USB控制器晶片性能
    但是,在2000年發表的USB 2.0規範將USB接口的速度從12 Mbps提高到480 Mbps;2001年又發表了USB OTG補充規範,使外部設備可以擺脫PC機,實現在任何兩臺設備之間直接通信。經過這兩次升級,隨著有越來越多的帶USB接口的廉價外設可供使用,有越來越多的嵌入式系統工程師想把USB接口技術應用到嵌入式系統的設計中。
  • 應用於微顯示晶片的MIPI DSI驅動接口設計
    微顯示晶片的顯示驅動接口的設計。  隨著消費級電子設備的發展,微顯示晶片應用的電子產品越來越多,顯示的解析度不斷增強,對顯示效果的要求也日益提高,需要傳輸的數據量和速率也越來越大,同時還要求設備保持高性能和低功耗,傳統的顯示接口已滿足不了諸多要求。因此,本文針對這種情況,設計了一種適用於高解析度微顯示晶片的MIPI DSI顯示驅動接口 [2] 。
  • 無線USB接口鍵盤控制器的設計方案
    摘 要:通用串行總線USB是一種嶄新的微機總線接口規範。該卡上集成了兩個主要的晶片,形成了兩大功能模塊。核心是MOTOROLA的微控制器MC68HC05JB4,它分別與無線電接收器SC2272和主機通訊。(2)MC68HC05SJB4晶片MC68HC05JB4晶片是MOTOROLA 公司的MC68HC系列的8位微控制器。通過微控制器內含的USB模塊。可以很方便地實現USB總線上的數據通訊。
  • 通用串行總線USB及其應用
    由於傳統計算機接口有上述缺點,不能滿足當前計算機發展的需要,於是,Intel,Microsoft,Compaq,NEC,IBM,Digital,Northern Telecom等7家世界著名的計算機公司和通訊公司聯合制定了一種新的通用外部設備總線規範,即通用串行總線USB(Universal Serial Bus
  • 基於Nios II的AT24C02接口電路設計與實現
    針對這種保存的數據量不大和存儲速度要求不高的特點,可採用「NiosⅡ+AT24C02"設計方案進行設計。本文在討論了I2C通信協議的基礎上,利用FPGA技術,設計了NiosⅡ與AT24C02」之間進行通信的接口電路。本接口電路能產生基於I2C通信協議的讀寫操作時序,成功實現了對AT24C02的讀寫功能。
  • 串行ATA總線應用技術
    盲匹配設計,頭部有額外的用於插拔定位和保護的凸出;支持帶外硬碟檢測,實現了完整的熱插拔支持。  ·其他技術 SATA使用字母標記來描述數據位和控制變量,使用8B/10B編碼方案把SATA未編碼的數據和控制字節翻譯成字符串。傳輸的信號採用與現有SCSI電路兼容的(偏移值為250mv)的低電壓差動(LVD)技術。
  • 基於VHDL/CPLD的I2C串行總線控制器設計及實現
    串行總線和並行總線相比具有結構簡單、佔用引腳少、成本低的優點。常見的串行總線有USB、IEEE1394、I2C等,其中I2C總線具有使用簡單的特點,在單片機、串行E2PROM、LCD等器件中具有廣泛的應用。  I2C(Inter IC BUS)是Philips公司開發的用於晶片之間連接的總線。
  • RS 發售FTDI緊湊型高速USB接口晶片
    這兩款產品還非常適合用於 USB 儀器、智慧卡閱讀器、工業控制系統、條形碼閱讀器、USB 快閃記憶體閱讀器和寫入器、MP3播放器和數位相機等可攜式電子產品的接口。同時,這兩款產品還提供迷你型號(FT2232H-56Q 和 FT4232H-56Q),即小型雙列直插式 PCB,帶有集成的微型 USB 連接器,提供與外部基礎設施的便捷接口。 FT2232H 和 FT4232H 的設計旨在儘可能地高度靈活:分別整合了兩個和四個 UART,FT2232H 的兩個信道以及 FT4232H 四個信道中的兩個均可通過廣泛的行業標準串行接口進行獨立配置。