如何實現(xiàn)USB轉(zhuǎn)串口?
UART,通用異步串行總線,就是我們常說的串口。作為最常用的調(diào)試接口,廣泛應(yīng)用在各類硬件平臺當(dāng)中。簡單如單片機,復(fù)雜如手機主控,最先接觸到的可能都是調(diào)試串口。系統(tǒng)硬件準(zhǔn)備好以后,首先通過串口發(fā)送指令,打印系統(tǒng)信息,什么時候串口調(diào)試通過了后面的工作才能正常開展。
串口在PC上是一個DB9接口,一個完整的串口協(xié)議由DTR,TXD,RXD,DCD,DELL,CTS,RTS,DSR等信號組成。但在實際使用中,通常只需要發(fā)送數(shù)據(jù)TXD和接收數(shù)據(jù)RXD兩根信號。PC機都會帶有串口,但是筆記本電腦的空間有限很少會保留串口。那么筆記本電腦沒有串口就沒法調(diào)試了么?當(dāng)然不是。我們只需要做一個USB轉(zhuǎn)串口的小工具就可以解決調(diào)試問題。
由于無論是AE,F(xiàn)AE,軟件組,還是固件組都會用到串口調(diào)試,所以筆者決定做一個專用的USB轉(zhuǎn)串口工具,方便所有同事使用。在眾多的USB轉(zhuǎn)串口方案中,最終選定了Silicon Labs的CP2102芯片。CP2102采用QFN封裝,封裝尺寸只有5*5mm,同時芯片集成了完整的USB控制器,晶振,EEPROM和UART控制器,因此只需要很少的外圍電路就可以完成設(shè)計。除了硬件設(shè)計簡單以外,還有十分重要的一點,Silicon Labs原廠為我們提供了完善的驅(qū)動解決方案,對各個版本的操作系統(tǒng)都做到了很好的支持。我們只需要將硬件設(shè)計好,不用擔(dān)心驅(qū)動和操作系統(tǒng)的兼容問題。
CP2102有兩種供電方式,一種是由USB接口直接供電,另外一種方式是外部3V供電。顯然第一種方案使用起來更方便。第一種方案除了設(shè)計方便以外,由于芯片內(nèi)部還集成了5V轉(zhuǎn)3V轉(zhuǎn)換器,在芯片正常工作的同時,還可以向外部電路提供3V電源,滿足外部供電需求。采用第一種方案的電路原理圖如下圖所示:
圖1:電路原理圖
該串口采用簡化設(shè)計,只用了TXD,RXD兩根信號線。芯片外圍電路簡單,只在芯片復(fù)位管腳處增加了RC復(fù)位電路,在電源位置增加了電源指示燈。另一個需要注意的地方是,在USB接口靠近管腳位置上添加ESD保護器件,防止插拔USB接口的時候ESD造成芯片意外損壞。
本設(shè)計的PCB采用雙面板布線,板上的高速信號就是USB接口的數(shù)據(jù)線,按照差分走線控制等長和等間距,雙面板控制阻抗比較困難,所以在布板的時候芯片盡量靠近接口,使走線盡量短。其他信號基本都走在PCB的頂層,底層留下完整地層。QFN封裝底部的Epad設(shè)計時需注意,Epad上面過孔的孔徑不要太大,否則焊接過程中容易漏錫造成虛焊。芯片接地不好會影響工作穩(wěn)定性和散熱。
整個的PCB設(shè)計完成,尺寸只有16*14mm,比一個無線鼠標(biāo)接收器的尺寸大不了多少,非常的小巧方便,甚至比串口線接頭還要小很多。
圖2:正面
圖3:背面
最后,串口的連接也是需要注意的一點。由于串口是點對點連接方式,沒有主從之分,所以TXD和RXD都是芯片自身的定義,調(diào)試器和調(diào)試接口在連接時,要把TXD和RXD交叉連接,這樣才能正確的發(fā)送和接收數(shù)據(jù)。有了這個調(diào)試神器,我們再也不怕筆記本沒有串口了。出差帶上這么一個小巧的調(diào)試工具,給我們的工作帶來很大方便。