專利名稱:一種usb轉i2c適配器的制作方法
技術領域:
本發(fā)明涉及一種USB轉I2C適配器。
背景技術:
I2C(Inter 一 Integrated Circuit)總線是一種由PHILIPS公司開發(fā)的兩線式串行總線,包括數(shù)據(jù)線SDA和時鐘線SCL,用于連接微控制器及其外圍高備。I2C總線產(chǎn)生于80年代,最初為音頻和視頻設備開發(fā),如令主要在服務器管理中使用,其中包括單個組件狀態(tài)的通信。它的主要優(yōu)點是其簡單性和有效性。由于接口直接在組件之上,因此,I2C總線使用的空間非常小,減少了電路板的空間和芯片管腳的數(shù)量,降低了互聯(lián)成本。他的另一個優(yōu)點是,它支持多主控,其中任何能夠進行發(fā)送和接收的設備都可以成為主控。一個主控能夠控制信號的傳輸和時鐘頻率。如今I2C通迅方式在嵌入式系統(tǒng)技術領域應用越來越多,越來越廣。在工業(yè)生產(chǎn)的自動控制,儀器設備及產(chǎn)品的自動測試等方面也離不開通迅,即主計算機與各設備,設備之間的通迅。而在科學技術快速發(fā)展的今天,與主計算機進行通迅的設備不再是單個或幾個,而是數(shù)十上百甚至更多。那么如何實現(xiàn)主計算機與大規(guī)模數(shù)量的設備進行可靠通訊,而且不至于成本過高,這是目前在自動化控制與自動化測試等領域所面臨的一個重要問題。
發(fā)明內(nèi)容
本發(fā)明要解決的技術問題是提供一種廣泛用于自動化控制、自動化測試的USB轉I2C適配器。為解決上述技術問題,本發(fā)明采用如下技術方案包括USB接口部分、USB轉串口控制部分、I2C控制部分和I2C總線接口部分;其中,USB接口部分實現(xiàn)了通過USB通用串行數(shù)據(jù)線與計算機進行通迅,能通過與計算相相連的USB通用串行數(shù)據(jù)線對該USB轉I2C適配器提供電源;USB轉串口控制部分使該USB轉I2C適配器作為主計算機上的普通串口設備使用,使該USB轉I2C適配器成為一種即插即用器件;I2C控制部分為I2C總線通迅的主機;所述I2C總線接口是I2C總線上的主機與I2C總線上的從機進行通迅的接口,其中包括SDA信號線接口與SCL信號線接口,還包括公共接地線接口。進一步地,所述USB轉串口控制部分包括USB轉串口主芯片、晶振電路和外圍電路。進一步地,所述的USB轉串口主芯片即為USB轉串口的單片機。進一步地,所述I2C控制部分包括一主芯片、晶振電路、復位電路、I2C總線電路及外圍電路。進一步地,所述主芯片是能實現(xiàn)I2C通迅的單片機;所述I2C總線電路包括數(shù)據(jù)信號SDA線與時鐘信號SCL線,分別采用了上拉電阻。進一步地,所述I2C控制部分的實現(xiàn)還受控于主計算機,即I2C讀寫時序可通過軟件及主計算機加以控制與實現(xiàn)。
進一步地,所述軟件目的在于實現(xiàn)I2C讀寫時序,所述讀寫時序主要包括1、起始信號,通過在時鐘信號SCL為高電平時,數(shù)據(jù)信號SDA產(chǎn)生一個下降沿,即SDA由高電平向低電平的轉變;2、地址數(shù)據(jù)信號,8字節(jié),其中最后一位是讀/寫信,所謂讀即為訪問I2C總線上的從機,向從機讀取數(shù)據(jù),寫即為向從機傳輸數(shù)據(jù)或命令;3、應答信號,其實現(xiàn)方式為從機輸出低電平為應答信號,輸出高電平為非應答信號;4、終止信號,其實現(xiàn)方式為當時鐘信號為高電平時,數(shù)據(jù)信號由低電平向高電平跳變,出現(xiàn)一個上升沿。本發(fā)明的USB轉I2C適配器,具有較高的性價比,較強的接口可擴展性,方便的可操作性,適用的多樣性等。因此,該發(fā)明的USB轉I2C適配器可廣泛用自于自動化控制、自動化測試等領域,實現(xiàn)通過一主計算機能對大批設備儀器的控制與通迅。本發(fā)明USB轉I2C適配器適用于儀器設備之間及與主計算機之間的通迅,主計算機對儀器設備的控制,數(shù)據(jù)的采集等。
附圖1是本發(fā)明的總體框其中101是USB接口部分;102是USB轉串口控制部分;103是I2C控制部分;104是I2C總線接口部分。附圖2是本發(fā)明的USB轉串口控制部分電路其中201是USB轉串口主芯片部分;202是工作晶振部分;203是USB接口部分。附圖3是本發(fā)明的I2C控制部分電路其中301是I2C主芯片部分;302是復位電路部分;303是晶振部分;304是I2C總線部分。附圖4是I2C讀寫時序圖。其中401是SDA數(shù)據(jù)信號;402是SCL時鐘信號;403是產(chǎn)生開始信號;404是地址數(shù)據(jù)信號;405是讀/寫信號;406/408/410是應答信號;407/409是數(shù)據(jù)信號;411是終
止信號。
具體實施例方式本實施例中,參照圖1所示,該USB轉I2C適配器,主要由四部分組成,分別是USB接口部分、USB轉串口控制部分、I2C控制部分和I2C總線接口部分。其中第一部分是USB接口,如附圖1中的101,其作用是用于與計算機交互,即是主計算機與本發(fā)明的USB轉I2C適配器的訪問及對之控制的通道接口。此外USB接口還可為該發(fā)明的USB轉I2C適配器接供工作電源。第二部分是USB轉串口控制部分,如附圖所示的102,其作用在于實現(xiàn)該發(fā)明的USB轉I2C適配器可作為主計算機上一普通串口設備,從而方便于主計算機對本發(fā)明的USB轉I2C適配器的自動化控制。而且USB通用串行總線憑借其傳輸速度快、接口靈活、支持熱插熱拔以及具有很強的擴展性等特點在計算機接口以及終端電子產(chǎn)品中占據(jù)著主導地位,也使本發(fā)明的USB轉I2C適配器成為一即插即用器件。作為一個具體實施例,控制器芯片采用了 PL2303,該器件內(nèi)置USB功能控制器、USB收發(fā)器、振蕩器和帶有全部調(diào)制解調(diào)器控制信號的UART,能夠方便嵌入到各種設備。PL2303的高兼容驅動可在大多操作系統(tǒng)上模擬成傳統(tǒng)COM端口,并允許基于COM端口應用可方便地轉換成USB接口應用,通訊波特率高達6 Mb/s。在工作模式和休眠模式時都具有功耗低,是嵌入式系統(tǒng)手持設備的理想選擇。該器件具有以下特征完全兼容USB協(xié)議;可調(diào)節(jié)3 5 V輸出電壓,滿足3V、3.3V和5V不同應用需求;可編程設置的波特率 6 Mb/s,并為外部串行接口提供電源;512字節(jié)可調(diào)的雙向數(shù)據(jù)緩存;支持默認的ROM和外部EEPROM存儲設備配置信息,具有I2C總線接口,支持從外部MODEM信號遠程喚醒;支持Windows98,Windows2000, WindowsXP等操作系統(tǒng)。第三部分是I2C控制部分,如附圖所示的103部分。I2C控制部分是本發(fā)明USB轉I2C適配器的核心部分,該部分的的主要功能是實現(xiàn)了 I2C通信,按預設軟件及主計算機控制命令的要求產(chǎn)生I2C通迅信號,即SAD (數(shù)據(jù)信號)與SCL (時鐘信號)。作為一個具體的實施例,I2C控制部分的主芯片采用STC89C58。STC89C58是一具有超強抗干擾/高速/低功耗的單片機,指令代碼完全兼容傳統(tǒng)8051單片機,具有EEPROM功能,內(nèi)置看門狗,工作電壓5V (3. 4 5V),最高時鐘頻率80M,F(xiàn)lash程序存儲器字節(jié)32K,RAM數(shù)據(jù)存儲器字節(jié)1280,EEPROM字節(jié)16K。第四部分是I2C總線接口部分,如附圖1所示出的104部分。該部分是本發(fā)明USB轉I2C適配器的I2C控制部分(主機)與I2C總線上的設備(從機)進行交互的接口,I2C總線有數(shù)據(jù)信號(SDA)線與時鐘線號(SCL)線,此外要實現(xiàn)通信,還必須有一公共電源地線。圖2示出了 USB轉串口控制部分電路圖。如附圖所示,USB轉串口部分主要由以下幾部分組成。第一部分是USB轉串口的主芯片,如附圖所示201。正如前所述,作為一個具體實施例,主芯片采用了 PL2303,其基本功能在于該器件內(nèi)置USB功能控制器、USB收發(fā)器、振蕩器和帶有全部調(diào)制解調(diào)器控制信號的UART。第二部分工作晶振部分,如附圖所示202。作為一個具體實施例,采用如圖所示的電路,其中晶振采用了 12MHz的晶振。電容采用了兩個27PF的電容,電容的在該電路中起到了是助振的作用,該晶振電路部分通過如圖所示的OSCl與0SC2端口接入電路。第三部分就是其它外圍元件與電路,其中包括供電部分,電源采用5V供電,可是外接電源,也可是由USB接口直接供電,如圖所示,由芯片所標示的VDD端口輸入,此外為了提高其工作的穩(wěn)定性,將電源與地之間接上了低頻濾波電容與高頻去偶電容,如圖所示的IOUF電容與IOOnF電容,芯片所標示的GND端口與接相接。外圍電路還包括與I2C控制部分進行通信的RXD端口與T)(D端口,所述的RXD即為數(shù)據(jù)接收端(串口輸入),其作用便是接收由I2C所發(fā)送的數(shù)據(jù);而T)(D即為數(shù)據(jù)發(fā)送端(串口輸出),其作用便是向I2C控制器發(fā)送數(shù)據(jù)。外圍電路還包括與USB接口通信的電路,相應地由芯片所標示的DM與DP腳引出,如附圖所示,在芯片接口與USB接口之間分別接入18歐的小電阻,其作用在于有效的抑制浪涌。這是因為當進行插拔USB時,若沒有加小電阻,便可能因產(chǎn)生的浪涌而損壞芯片。另外,如附圖2所標示的203是USB接口部分,主要有三部分,分別是USB接頭部分,USB供電部分,USB數(shù)據(jù)收發(fā)部分。圖3示出了 I2C控制部分的電路圖。主要包括以下幾個部分第一部分是I2C控制部分的主芯片部分,如附圖所示的301。正如前所述,作為一個具體實施例,主芯片采用了 STC89C58D,其基本功能在于實現(xiàn)I2C的讀寫時序,為I2C總線提供數(shù)據(jù)信號與時鐘信號。同時通過USB轉串口控制部分及USB接口部分,而受控于計算機。也即為,產(chǎn)生的I2C總線的數(shù)據(jù)信號與時鐘信號也受控于計算機。從而方便地實現(xiàn)了接于I2C總線上的從設備能通過I2C總線受控于計算機,而實現(xiàn)自動化控制的目的。并且如前所述,USB轉I2C總線適配器可擴展接口數(shù)百上千,也即是通過USB轉I2C適配器能很方便地控制大量的設備與儀
5器。第二部分為復位部分,如圖所標示的302。作為一個具體實施例,復位電路通過復位端口 RST (如附圖所示)接入電路。復位電路部分采用典型的阻容式微分上電復位電路,當電源接通的瞬間,電容器瞬間導通,復位端也就相應的處于高電平,由于滿足在對個系統(tǒng)振蕩周期以上的高電平,因此單片機進入復位狀態(tài)。之后由于電容器逐漸充電飽和,復位端的電壓也趨于低電平。第三部分為晶振電路部分,如圖所標示的303。作為一具體實施例,晶振電路采用如圖所示的電路,其中晶振采用22. 1184MHz,電容采用27pF,為系統(tǒng)提供系統(tǒng)時鐘信號。第四部分為總線部分,總線包括數(shù)據(jù)總線(SDA)與時鐘總線(SCL)。由于單片機采用了開漏極,所以必須給總線加上拉電阻,即將SDA數(shù)據(jù)信號線與SCL時鐘信號分別加上拉電阻,在該具體實施例中上拉電阻采用阻值分別IjkQ電阻。在該具體實施例中共有四組SDA與SCL信號線,如附圖所示,從而實現(xiàn)了 I2C多路輸出,有效地增加了本發(fā)明的USB轉I2C適配器的功用。其它外圍電路包括有供電部分,作為一具體實施例,電源由USB接口提供或者外電路提供,供電壓為5V,電源的輸入由單片機所示的VDD端口輸入,單片機所示的VSS為公共端接地端口。附圖所示出的接入電源高電平,其作用是讀取單片機內(nèi)的存儲器程序。該附圖所示的RXD (數(shù)據(jù)接收端)端口與本發(fā)明所述的USB轉串口控制部分所標示的T)(D (數(shù)據(jù)發(fā)送端/串口輸出)端口相電連接;該附圖所示的T)(D (數(shù)據(jù)發(fā)送端)端口與本發(fā)明所述的USB轉串口控制部分所標示的RXD (數(shù)據(jù)輸入端/串口輸入)端口相電連接。應當理解,附圖所示的電路并不代表實施例中該發(fā)明USB轉I2C適配器的完整電路,正如在該具體實施例中,附圖所示出的P0、P1、P3、P4的I/O接口,附圖中并沒示出用于其它功能的具體電路,但并不影響對USB轉I2C適配器的說明。G圖4示出了 I2C讀寫時序的I2C字節(jié)傳輸格式圖。如附圖所示出的401為數(shù)據(jù)信號(SDA),402為時鐘信號(SCL),當空閑時都為高電平。附圖所示出的403為開始信號,其實現(xiàn)方式為當SCL為高電平時,SDA開始出現(xiàn)下降沿,即SDA由高電平向低電平跳變,表示發(fā)送信號的開始。附圖所示的404示出了地址數(shù)據(jù)信號,由7位組成。405示出了讀/寫數(shù)據(jù)信號,所謂讀便是讀取從機數(shù)據(jù),而寫便是主機向從機傳輸數(shù)據(jù),讀/寫數(shù)據(jù)共占一位。406示出了數(shù)據(jù)傳輸?shù)膽鹦盘?,具體實現(xiàn)方式是當從機輸出低電平為應答信號,輸出高電平為非應答信號。407/409示出了數(shù)據(jù)信號,共8位;408/410示出了應答信號(1位)。也就是說I2C字節(jié)傳輸格式為每一個字節(jié)8位長度,每一個被傳送的字節(jié)后面都必須跟隨一位應答位,即一帖共9位。411示出了停上信號,具體實現(xiàn)方式為當SCL為高電平時,SDA開始出現(xiàn)上升沿,即SDA由低電平向高電平跳變,表示數(shù)據(jù)傳輸終止。作為具體實施例,以方便對I2C讀寫時序具體實現(xiàn)的理解。一、I2C時鐘信號的實現(xiàn)可通過如下的步驟1、時鐘控制寄存器置1,從而相應電路輸出高電平;2、延時η ms ;3、時鐘控制寄存器清0,從而相應電路輸出低電平;4、延時η ms后,重新進行步驟一,如此循環(huán)。二、開始信號通過以下步驟實現(xiàn)1、把數(shù)據(jù)控制寄存器置1,數(shù)據(jù)線上輸出高電平;2、延時n/2 ms ;3、時鐘控制寄存器置1,從而相應電路輸出高電平;4、延時n/2 ms ;5、數(shù)據(jù)控制寄存器清0,數(shù)據(jù)線上輸出低電平;6、延時n/2 ms;7、時鐘控制寄存器清0,從而相應電路輸出低電平;8、延時n/2 ms,從而利實現(xiàn)了時鐘為高電平時檢測到數(shù)據(jù)線從高電平到低電平的一次跳變。三、終止信號通過以下步驟實現(xiàn)1、數(shù)據(jù)控制寄存器清0,數(shù)據(jù)線上輸出低電平;2、時鐘控制寄存器清0,相應電路輸出低電平;3、延時n/2 ms ;4、時鐘控制寄存器置1,相應電路輸出高電平;5、延時n/2 ms ;6、數(shù)據(jù)控制寄存器置1,數(shù)據(jù)線上輸出高電平;7、延時n/2 ms,從而實現(xiàn)了時鐘為高電平是檢測到數(shù)據(jù)線從低電平到高電平的一次跳變。四、獲取應答信號實現(xiàn)步驟如下1、數(shù)據(jù)控制寄存器置1,數(shù)據(jù)線上輸出高電平;2、延時1 ms;3、時鐘控制寄存器置1,相應電路輸出高電平;4、延時1 ms ;5、讀數(shù)據(jù)控制寄存器;6、判斷數(shù)據(jù)控制寄存器的最低位是一否為1,如是是,執(zhí)行步驟7,如果不是,則執(zhí)行步驟4 ;7、時鐘控制寄存器清0,從而實現(xiàn)I2C主設備接收到應答信號在數(shù)據(jù)線為高電平時,從設備輸出也為高電平。五、發(fā)關應答信號的步驟為1、數(shù)據(jù)控制寄存器清0,數(shù)據(jù)線上輸出低電平;2、延時n/2 ms ;3、時鐘控制寄存器置1,相應電路輸出高電平;4、延時n/2 ms;5、時鐘控制寄存器清0,從而實現(xiàn)了數(shù)據(jù)線為低電平是產(chǎn)生半個時鐘周期的高時鐘信號。六、寫字節(jié)操作步驟1、發(fā)送Mart信號;2、發(fā)送一個特定的控制字0x86 ;3、等待從設備響應信號;4、發(fā)送地址偏聽偏移;5、等待從設備響應信號;6、發(fā)送要寫入的值;等待從設備響應信號;8、發(fā)送停止信號,從而實現(xiàn)了向指定地址定一個字節(jié)。七、執(zhí)行讀操作是通過以下步驟實現(xiàn)1、發(fā)送Start信號;2、發(fā)送一個特定控制字0x86 ;3、等待從設備響應信號;4、發(fā)送地址偏移;5、等待從設備響應信號、6、發(fā)送Mart信號;7、發(fā)送一個特定控制字0x87 ;8、等待從設備響應信號;9、讀取I2C傳回值;10、發(fā)送終止信號,從而實現(xiàn)了從指定一址讀取字節(jié)。如上所述,本發(fā)明的USB轉I2C適配器,其核心思想在于通過I2C總線與設備或儀器的通信,從而實現(xiàn)了計算機與設備或儀器的通迅與控制,為自動化控制帶來了方便。根據(jù)以上所述,該發(fā)明的USB轉I2C適配器,其有益效果在于
1、高性價比。該發(fā)明的USB轉I2C適配器大大地降地了成本;同時,根據(jù)大量的實踐證明,該發(fā)明的USB轉I2C適配器還具有可靠性高,性能好的特點。2、使用方便。該發(fā)明的USB轉12C適配器,由于采用了 USB接口,使之成為即插即用件。由于一般的臺式計算機,筆記本電腦以及工業(yè)專用電腦計算機都有USB接口,因此,使用本發(fā)明的USB轉I2C適配器極為方便。而且USB能為I2C適配器提供電源,無需進行電壓轉化或外接電源,也為該發(fā)明的USB轉I2C適配器的使用帶來了方便。3、有利于接口的擴展。該發(fā)明的USB轉I2C適配器能方便地擴展I2C總線的串行接口與并行接口,使得該發(fā)明的USB轉I2C適配器能對數(shù)百個設備進行通迅。4、使用的多樣性。該發(fā)明的USB轉I2C適配器具有使用的多樣。在繼電器控制方面有著完美的表現(xiàn),當然通過控制繼電器也就實現(xiàn)了對相應設備的控制;在數(shù)據(jù)采集方面也有優(yōu)越的表現(xiàn),能成功用于視聽系統(tǒng),視頻圖象采集系統(tǒng)等。以上已將本發(fā)明做一詳細說明,以上所述,僅為本發(fā)明之較佳實施例而已,當不能限定本發(fā)明實施范圍,即凡依本申請范圍所作均等變化與修飾,皆應仍屬本發(fā)明涵蓋范圍內(nèi)。
權利要求
1.一種USB轉I2C適配器,其特征在于包括USB接口部分、USB轉串口控制部分、I2C控制部分和I2C總線接口部分;其中,USB接口部分實現(xiàn)了通過USB通用串行數(shù)據(jù)線與計算機進行通迅,能通過與計算相相連的USB通用串行數(shù)據(jù)線對該USB轉I2C適配器提供電源;USB轉串口控制部分使該USB轉I2C適配器作為主計算機上的普通串口設備使用,使該USB轉I2C適配器成為一種即插即用器件;I2C控制部分為I2C總線通迅的主機;所述I2C總線接口是I2C總線上的主機與I2C總線上的從機進行通迅的接口,其中包括SDA信號線接口與SCL信號線接口,還包括公共接地線接口。
2.根據(jù)權利要求1所述的USB轉I2C適配器,其特征在于所述USB轉串口控制部分包括USB轉串口主芯片、晶振電路和外圍電路。
3.根據(jù)權利要求2所述的USB轉I2C適配器,其特征在于所述的USB轉串口主芯片即為USB轉串口的單片機。
4.根據(jù)權利要求1所述的USB轉I2C適配器,其特征在于所述I2C控制部分包括一主芯片、晶振電路、復位電路、I2C總線電路及外圍電路。
5.根據(jù)權利要求4所述的USB轉I2C適配器,其特征在于所述主芯片是能實現(xiàn)I2C通迅的單片機;所述I2C總線電路包括數(shù)據(jù)信號SDA線與時鐘信號SCL線,分別采用了上拉電阻。
6.根據(jù)權利要求1所述的USB轉I2C適配器,其特征在于所述I2C控制部分的實現(xiàn)還受控于主計算機,即I2C讀寫時序可通過軟件及主計算機加以控制與實現(xiàn)。
7.根據(jù)權利要求6所述的USB轉I2C適配器,其特征在于所述軟件目的在于實現(xiàn)I2C讀寫時序,所述讀寫時序主要包括1、起始信號,通過在時鐘信號SCL為高電平時,數(shù)據(jù)信號SDA產(chǎn)生一個下降沿,即SDA由高電平向低電平的轉變;2、地址數(shù)據(jù)信號,8字節(jié),其中最后一位是讀/寫信,所謂讀即為訪問I2C總線上的從機,向從機讀取數(shù)據(jù),寫即為向從機傳輸數(shù)據(jù)或命令;3、應答信號,其實現(xiàn)方式為從機輸出低電平為應答信號,輸出高電平為非應答信號;4、終止信號,其實現(xiàn)方式為當時鐘信號為高電平時,數(shù)據(jù)信號由低電平向高電平跳變,出現(xiàn)一個上升沿。
全文摘要
本發(fā)明的USB轉I2C適配器,主要包括USB接口部分、USB轉串口控制部分、I2C控制部分和I2C總線接口部分共四個部分。該發(fā)明USB轉I2C適配器受控于計算機,按計算機所發(fā)指令的要求產(chǎn)生I2C通迅信號,與I2C總線上的從機設備進行通迅,從而實現(xiàn)計算機與設備或儀器的通迅,以及計算機對從機設備的控制。本發(fā)明的USB轉I2C適配器具有性價比高,接口可擴展性強,即能與大規(guī)模數(shù)量的設備或儀器進行通迅的特點;此外由于該發(fā)明的USB轉I2C適配器自帶USB接口,使之成為一即插即用件,因此,本發(fā)明的USB轉I2C適配器在還具有使用的方便性。
文檔編號G06F13/40GK102567270SQ20111039652
公開日2012年7月11日 申請日期2011年12月5日 優(yōu)先權日2011年12月5日
發(fā)明者段海 申請人:深圳市金凱博自動化測試有限公司