北京赛车PK10不定位计划_北京赛车PK10不定位计划软件歡迎您的到來!

  
測·控領域專業互動媒體平臺
推動測試測量,檢測診斷,傳感物聯,遙測自控智能化發展
當前位置:CK365測控網 > 論文 > 設計技術 >

基于I2C總線技術的USB接口設計

空 2005-12-25 00:00:00

  摘 要:當速度要求不太高時采用帶I2C總線的USB接口控制芯片開發U SB接口,可以減少對單片機的引腳使用,簡化連接電路。本文介紹了Philips公司的一款帶I 2C接口的USB接口芯片PDIUSBD11,以及他的外圍電路連接和固件程序的設計方法。
  關鍵詞:USB;I2C總線;PDIUSBD11;固件程序
Design of USB Interface Base on I2C Bus
LIANG Lei
(Automation Department,Tsinghua UNIversity,Beijing,100084,China )
  AbstractUsing USB interface control chip with I2C Bus to implement a USB interface when the speed is not required very high It will red uce the using of microcontroller′s pins and simplify the circuit This paper i ntroduces the Philips PDIUSBD11, a USB interface control chip with I2C Bus, an d its peripheral circuit and the design of firmware
  Keywords:USB;I2C Bus;PDIUSBD11;firmware program
1前言
  
USB(Universal Serial Bus)通用串行總線是在1994年底由康柏、IBM、Microsoft等多家 公司聯合制訂的,但是直到1999年,USB才真正被廣泛應用。同時,他也得到了各PC廠商、芯片制造商和PC外設廠商的廣泛支持,USB外設在國內外以驚人的速度發展,迄今為止,各種USB的外設已經有數千種。為PC外圍設備設計USB接口已成為大勢所趨。
  隨著單片機技術的發展,單片機的功能日益強大,外圍電路日益復雜,其有限的管腳也就顯 得捉襟見肘。目前采用普通單片機外加USB接口芯片開發USB外設時,USB接口器件大都是采 用并行接口與單片機相連接,這樣再加上一些控制信號線,總共需要占用單片機十余個管腳 ,對于一般對傳輸速度要求不是很高的設備顯得有些浪費,特別是對于為產品轉型而 進行的USB接口開發,勢必會影響原來的電路連接和功能設置。因此,采用一種既能保持較 高的傳輸速度,又能減少單片機引腳使用的USB接口開發方法很有必要。本文介紹一種 采用Philips公司帶I2C接口的USB接口芯片PDIUSBD11進行USB接口開發的方法,他使用高速通用I2C接口與單片機相連接。
2背景介紹
2.1USB
背景介紹
  USB是一些PC廠商為解決日益增加的PC外設與有限的主板插槽和端口間的矛盾制定的一種 串行通信標準。他傳輸速度快,能提供3種傳輸方式:低速模式(速率為1.5 Mb/s);中速模 式(速率為12 Mb/s);高速模式(速率為360 Mb/s以上)。數據傳輸可靠,USB設備在發送 數據時支持 數據偵錯和糾錯功能,增強了數據傳輸的可靠性。設備安裝和配置容易,安裝USB設備不必 再打開機箱,增減設備不用關閉計算機,所有USB設備支持熱插拔,系統對他進行自動配置 。易于擴展,外設接口之間采用菊花鏈形式連接通過使用Hub擴展可連接多達127個外設。能 夠采用總線供電,USB總線提供最大達5 V電壓,500 mA電流,可為小型設備供電。使用靈活,USB共有4種傳輸模式:控制傳輸(control)、同步傳輸(synchronization)、中斷傳輸 (interrupt)、批量傳輸(bulk),以適應不同設備需要。
2.2I2C總線技術介紹
  I2C總線技術是Philips公司研制出來的串行擴展技術。他是一種簡單、雙向二線制同步串 行總線,他只需要2根線(串行時鐘線SCL和串行數據線SDA)即可在連接于總線上的器件之 間傳送信息。對于并不要求很高的數據傳輸速度的外設,I2C總線的使用無疑簡化了系統 ,增加了硬件構成的靈活性,是一種高效、方便的串行擴展總線。
  使用I2C傳輸數據有2種基本方法。第一種是采用I2C總線標準的單片機或IC器件,其內 部含有I2C接口電路,使用這種方法可直接從接口讀寫數據。第二種是采用軟件程序模擬I2C總線的時序來完成接口功能,使用這種方法可任意從單片機中選取2個I/O口,作為串 行時鐘線SCL和串行數據線SDA,使用靈活。
3PDIUSBD11芯片介紹
3.1PDIUSBD11
芯片特點
  PDIUSBD11 是一款性價比很高的USB 器件,他通常用作微控制器系統中實現與微控制器進行 通 信的高速通用I2C接口。這種實現USB 接口的標準組件使得設計者可以在各種不同類型微 控制器中選擇出最合適的微控制器。這種靈活性減小了開發的時間風險以及費用,通過使用 已 有的結構減少固件上的投資。從而用最快捷的方法實現最經濟的USB 外設的解決方案。PD IUSBD11適用于電腦監視器、操縱桿、鍵盤和其他一些使用I2C或SMBUS結構的器件 。PDIUSBD11符合USB 11協議規范、I2C串行接口和SMBUS協議規范。他完全符合人機接 口設備和監視控制類協議規范。PDIUSBD11所具有的低掛起功耗連同LazyClock 輸出可以滿 足使用ACPI,OnNOW 和USB 電源管理的要求。低的操作功耗可以執行總線供電功能。此外他 還集成了許多特性包括SoftConnetTM,GoodLinkTM,可編程時鐘輸出、低頻晶振、多重功能 終端和終止寄存器集合。所有這些特性都為系統顯著節約了成本,同時使USB 功能在外設上 的應用變得容易。
3.2PDIUSBD11內部結構
  PDIUSBD11芯片的內部結構如圖1所示。
  模擬收發器收發器接口可通過終端電阻直接與USB電纜相連,他們能以全速(12 Mb/s)傳送和接收數據。
  PLL片內集成了12~48 M時鐘乘法器PLL。這樣就可使用低成本的12 M晶振 ,EMI也隨之降低。PLL的工作不需要外部元件。
  Philips串行接口引擎PSIEPhilips SIE實現了全部的USB協議層。完全由 硬件實現而不需要固件的參與。該模塊的功能包括:同步模式的識別、并行/串行轉換、位 填充/解除填充、CRC校驗/產生、PID校驗/產生、地址識別和握手評估/產生。
  存儲器管理單元MMU和集成RAM當USB接口以12 Mb/s的速率傳輸并且I2C接口以1 Mb/s與微控制器相連時,MMU和集成RAM被用來處理這種極大的速率差異。這就允許 微控制器以他自己的速率通過I2C接口對USB信息包進行讀寫。
  I2C控制接口這個模塊執行必要的I2C接口協議。一個I2C控制器執行簡單的編碼。一個中斷信號,當PDIUSBD11需引起注意時,用來向微控制器發出 警告。作為一個控制I2C的器件,PDIUSBD11的時鐘輸入SCL由微控制器控制。I2C接口的 傳輸速率能夠達到1 Mb/s。
  SoftConnectTM與USB的連接是通過1.5 kΩ上拉電阻將D+(用于 高速USB器件)置為高實現的。1.5 kΩ上拉電阻集成在PDIUSBD11片內,默認狀態下不與VC C相連。連接的建立通過外部/系統微控制器發送命令來實現。這就允許系統微控制器在決定 與USB建立連接之前完成初始化時序。USB總線連接可以重新初始化而不需要拔出電纜。
3.3PDIUSBD11芯片的典型應用
  PDIUSBD11芯片的應用示意圖如圖2所示。

  其外圍電路典型連接如圖3所示。
  
VBUS是USB的總線電源感知引腳,通過他USB接口控制芯片判斷USB設備是否接到了P C機上。外部復位引腳Reset上電復位,但PDIUSBD11芯片內部提供復位電路,因此可以將他 接到3.3V上,屏蔽其外部復位功能。Suspend引腳,他的作用是當USB設備進入掛起模式時,輸出 高電平提醒主機,主機可通過拉低該引腳的電壓來喚醒USB設備,使用中也可以直接將該引 腳接地,來屏蔽USB設備的掛起功能。INT_N引腳與單片機的連接是必不可少的,當 主機需 要與USB設備通信時,該引腳變成低電平,通知USB設備進入中斷服務程序,中斷請求結束后 他又重新變回高電平。因此他通過上拉電阻接正電源,當空閑時處于高電平狀態。
4固件程序設計
  單片機與PDIUSBD11的通信主要是靠單片機給PDIUSBD11發命令和數據來實現的。 PDI USBD11的命令字分為3種:初始化命令字、數據流命令字 和通用命令字。PDIUSBD11給出了各種命 令的代碼和地址。單片機先給PDIUSBD11的命令地址發命令,根據不同命令的要求再 發送或讀出不同的數據。
  當單片機使用專門的I2C接口與PDIUSBD11芯片連接時,可以直接進行輸入、輸出通信。但 如果只使用2個普通的I/O口連接時,需要用軟件模擬I2C接口與PDIUSBD11芯片進行通信 ,可將模擬I2C傳輸部分編成子程序,使用時直接調用即可。具體編程方法可參照I2C總 線規范。
  USB單片機控制程序通常由3部分組成:
  (1) 初始化單片機和所有的外圍電路(包括PDIUSBD11芯片);
  (2) 主循環部分,其任務是可以中斷的;
  (3) 中斷服務程序,其任務是對時間敏感的,必須馬上執行。
4.1初始化程序
  在編寫初始化程序時需要注意,由于PDIUSBD11芯片采用Philips的SoftConnectTM技術設計。與USB的連接通過1.5 kΩ上拉電阻將D+(用于高速USB器件)置為高實現。1.5kΩ上拉電阻集成在PDIUSBD11片內,默認狀態下不與VCC相連。連接的建立通過 單片機發送命令來實現。這就允許系統微控制器在決定與建立USB連接之前完成初始化時序 。USB總線連接可以重新初始化而不需要拔出電纜。所以在固件程序中需要編寫芯片初始化 程序,以確保設備能順利進行USB連接。初始化程序范例如下:
  
  
  按不同的應用方式(如遠程喚醒、掛起功能等),可在Set Mode的第一個字為PDIUS BD11芯片設置不同的模式。
4.2中斷服務程序
  根據USB協議,任何傳輸都是由主機(host)開始的,單片機作他的前臺工作,等待中斷。主機首先要發令牌包給USB設備(這里是PDIUSBD11),PDIUSBD11接收到令牌包后就給單片 機發中斷,單片機檢測到INT_N引腳變成低電平后進入中斷服務程序,首先讀PDIUSBD11的中斷寄存器,判斷USB令牌包的類型,然后執行相應的操作。因此,USB單片機程序主要就 是中斷 服務程序的編寫。中斷服務程序流程圖如圖4所示。PDIUSBD11芯片可支持4個端點(EP0~3),其中端點0用來對應缺省控制通道并初始化和操縱配置設備,同時提供設備配置信息的 讀取和支持控制傳輸。端點1~3則用于支持塊傳輸和中斷傳輸等。
  具體的固件程序內容可參考文獻[4],PDIUSBD12芯片是Philips公司的一款帶并口的USB接口芯片,目前應用較廣。
4.3測試結果
  用PDIUSBD11芯片開發的USB接口,數據的傳輸速率是由單片機的I2C接口速率決定的。經測試其傳輸速率可達500 kb/s,遠高于普通串口的傳輸速率,保持了USB接口的高速性,能滿足一般的非大容量存儲設備的需要。
5結語
  
使用單片機外加USB接口芯片開發USB接口,適用于為現有產品開發USB接口,能盡量避免對 原有電路及程序的修改,降低了開發成本和風險。在對速度要求不太高的情況下,可采用Ph ilips公司的USB接口芯片PDIUSBD11,他特有的I2C接口設計可以減少與單片機的引腳連接 ,簡化外圍電路設計。雖然只有2根數據線負責數據的雙向傳輸,但仍保證了較高的傳輸速 率,能滿足一般的對速度要求不太高的設備的需要。
參考文獻
[1]PDIUSBD11 Data Sheet[S].
[2]USB Specification V11[S].
[3]I2C總線規范[S].
[4]周立功.PDIUSBD12 USB固件編程與驅動開發[M].北京:北京航空航天大 學出版社,2003.
[整理編輯:CK365測控網]
標簽:  I2C總線,[0]    USB,[0]    固件程序[5]
 
[ 論文搜索 ]  [ ]  [ 好友分享 ]  [ 打印本文 ]  [ 關閉窗口 ]  [ 返回頂部 ]

版權與免責聲明:

①凡本網注明"來源:CK365測控網"的所有作品,版權均屬于CK365測控網,轉載請必須注明CK365測控網 www.awsabj.cn。違反者本網將追究相關法律責任。
②本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。如其他媒體、網站或個人從本網下載使用,必須保留本網注明的"稿件來源",并自負版權等法律責任。
③如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。

注冊成為CK365測控網會員

可以無需任何費用瀏覽專業技術文章

 
 
注冊CK365測控網會員以便瀏覽全文
 
 
北京赛车PK10不定位计划_北京赛车PK10不定位计划软件 全天江苏快三计划 腾讯1.5分彩怎么看计划 5分赛车精准计划 极速赛车计划网址