芯片型號與功能劃分
芯片功能芯片型號USB轉串口
CH340C/N/K/E/X/B/G/T
CH341F/B/C/T/A
USB轉打印口
CH340H/S
CH341F/B/A
USB轉I2CCH341F/B/C/T/AUSB轉SPICH341F/B/A/HUSB轉并口/GPIOCH341F/B/A
芯片供電注意事項
CH340/CH341等 USB 芯片都支持 5V 和 3.3V 電源電壓,5V 供電時(shí)芯片 V3 引腳需要接一個(gè) 104 電容到地,3.3V? 供電時(shí)需要注意以下幾點(diǎn):
1. 與 USB 芯片相連接的所有電路的電源電壓都必須不高于 3.3V。
2. USB 芯片的 VCC 引腳與 V3 引腳必須短接,必須同時(shí)輸入 3.3V 電源電壓。
3. 如果使用 ESD 保護器件/瞬變電壓抑制器件,那么其正電壓應該是 3.3V。
芯片電平匹配問(wèn)題
CH340/CH341 芯片支持 5V與 3.3V 供電,轉換的接口為 TTL 電平,輸出高電平與供電電壓保持一致。因此在實(shí)際使用的時(shí)候,和相連的對端設備間要注意電壓匹配的問(wèn)題。
1. 與芯片相連的 IO 引腳電壓不得超過(guò)芯片供電電壓,否則可能會(huì )損壞芯片;
2. 在 5V 供電模式下,兼容 3.3V 系統,可以直接與 5V 或 3.3V 系統連接,與 1.8V 系統連接時(shí)需要外加電平轉換電路;
3. 在 3.3V 供電模式下,可以與 3.3V 系統連接,與 1.8V 系統連接時(shí)需要外加電平轉換電路;
4. 降壓電路可以使用簡(jiǎn)單的電阻分壓法,如串聯(lián)1.6K與3.3K電阻可以得到接近3.3V電壓;升壓電路可以參考 boost 升壓電路原理進(jìn)行搭建;當然除了上面的方法,也可以直接采用升降壓芯片;
對于電平匹配的需求,建議采用自帶VIO獨立電源的第三代USB轉串口芯片CH343、CH342、CH910X等。
防止電流倒灌問(wèn)題
在串口應用中,當 CH340/CH341 與其他 IC 譬如 MCU 等芯片相互連接時(shí),若有一方不需要供電工作時(shí),要注意電流倒灌導致未供電的芯片開(kāi)始工作或工作異常的情況,或者是通過(guò)串口下載程序時(shí),MCU 需要復位以實(shí)現下載時(shí),發(fā)現復位不成功,原因可能相同。解決辦法:可在 CH340/CH341芯片的 發(fā)送引腳 TXD 上接一個(gè)反向二極管,然后再連接到對端 IC。在接收引腳上加一個(gè)限流電阻來(lái)防止對端 IC 對CH340/CH341倒灌電。
晶體以及電容的選用
對于 CH340/CH341系列需要外接晶振的芯片,在選用晶振時(shí)如果選擇 12MHz 的石英晶體,那么旁路電容一般選擇 33pF 的獨石或高頻瓷片電容。如果選用的低成本陶瓷晶體,那么旁路電路的容量必須用該晶體廠(chǎng)家的推薦值,一般情況下是 47pF。對起振困難或者起振不穩定的晶體可以適當調整旁路電容值進(jìn)行測試。
芯片CH340的V3引腳作用
V3 的引腳除了在不同電壓供電模式下接法不同,對于電容數值選用也是需要注意的。V3 引腳的電容用于內部電源節點(diǎn)退耦,來(lái)改善 USB 傳輸過(guò)程中的 EMI,通常容量在 4700pF 到 0.1uF 范圍,建議容量為 0.1uF,即 104 電容。
如何提高工作穩定性和抗干擾能力
USB 信號屬于模擬信號,所以在 CH340/CH341 等 USB 芯片內部包含數字電路和一些模擬電路,另外,USB 芯片中還包含時(shí)鐘震蕩及 PLL 倍頻電路,電路的公共地端在芯片內部已經(jīng)連接在一起并連接到芯片的 GND 引腳。
如果 USB 芯片有時(shí)工作不正常、或者 USB 數據傳輸隨機性失敗、或者抗干擾能力差,那么就應該考慮 USB 芯片是否穩定工作。影響 USB 芯片工作穩定性的幾大因素及解決辦法如下:
1. 時(shí)鐘信號不穩定
時(shí)鐘信號不穩定通常是 PCB 布線(xiàn)中 GND 走線(xiàn)不佳。參考下圖,該圖適用于 USB 類(lèi)芯片,圖中有 6個(gè)接地點(diǎn),分別是 A、B、C、D、E、F,設計電路及 PCB 時(shí)應該盡量避免這 6 個(gè) GND 點(diǎn)之間存在電壓差(主要是指數字電路中的高頻毛刺電壓,也就是數字噪聲)。
1. 盡量縮短這 6 個(gè)點(diǎn)之間的距離;
2. 類(lèi)似模擬電路設計中的單點(diǎn)接地;
3. 大面積 GND 鋪銅及 GND 多點(diǎn)過(guò)孔 VIA 降低高頻信號阻抗。圖中最關(guān)鍵的是 E 點(diǎn)、F 點(diǎn)與 D 點(diǎn)之間不能存在高頻毛刺電壓差,可以用示波器探頭接 D 點(diǎn)測量時(shí)鐘輸入端 XI 引腳的 12MHz 時(shí)鐘波形是否有抖動(dòng)。
2. 時(shí)鐘信號受干擾
1. PCB 設計時(shí)盡量不在晶體及震蕩電容附近走線(xiàn),尤其是不要走繼電器、電動(dòng)機等帶有瞬時(shí)沖擊電流的電源線(xiàn)和強信號線(xiàn)、時(shí)鐘信號線(xiàn)、頻率較高的開(kāi)關(guān)信號線(xiàn)等;
2. 使晶振、外部電容與IC之間的信號線(xiàn)盡可能保持最短;
3. 在晶體及震蕩電容周邊布置 GND 鋪銅屏蔽干擾;
4. 將晶體外殼接地(任何需要晶體工作的電路都可以這樣設計);
5. 使用有源晶振等。
3. USB信號受干擾
1. USB 信號線(xiàn) D+ 與 D- 盡量對稱(chēng)平行布線(xiàn),保證兩根差分線(xiàn)緊耦合,避免 90度走線(xiàn),弧形或45度走線(xiàn)均可;
2. 在元件布局時(shí),盡量使差分線(xiàn)路最短,布線(xiàn)優(yōu)先繪制差分線(xiàn),一對差分線(xiàn)上盡量不要超過(guò)兩對過(guò)孔,且過(guò)孔需對稱(chēng)放置;
3. 最好在兩側布置 GND 鋪銅,減少干擾,在空間允許情況下,其他信號網(wǎng)絡(luò )及地離差分線(xiàn)的間距至少 20mil,距離過(guò)近會(huì )對差分線(xiàn)阻抗產(chǎn)生影響;
4. 可以在 USB 信號線(xiàn) D+ 和 D- 上串接共模電感以抑制EMI;
5. USB 外殼地串接一個(gè) 100K 到 1M 級的電阻到地,同時(shí)電阻上并聯(lián)一個(gè)0.01uF電容;
6. 使用符合 USB 規范的帶屏蔽層的傳輸線(xiàn),不能使用普通排線(xiàn)或者非 USB 線(xiàn)纜。
除以上幾種原因與解決方法外,還可以通過(guò)使用屏蔽罩在復雜應用環(huán)境中減小EMI干擾。
接入主機無(wú)反應或者出現無(wú)法識別的USB設備
1. 首先需要檢查芯片供電是否正常,3.3V和5V供電注意事項參考上面說(shuō)明;
2. 查看芯片是否為內置晶振版本,若為外置晶振版本,用示波器測量晶振是否起振,晶振與旁路電容參數是否匹配;
3. 檢查電路原理圖設計是否正確無(wú)誤且滿(mǎn)足規范;
4. 檢查使用的線(xiàn)纜是否符合 USB 規范,線(xiàn)纜是否過(guò)長(cháng)以及有無(wú)屏蔽層;
5. 檢查電路板是否存在焊接問(wèn)題,導致局部電路短路;
6. 控制芯片焊接最高溫度與持續時(shí)間,務(wù)必控制低于 300 攝氏度且高溫持續時(shí)間低于 2 分鐘;
Windows 設備管理器出現感嘆號設備
設備管理器出現感嘆號設備說(shuō)明硬件已經(jīng)被系統枚舉到了,但是驅動(dòng)未安裝或者驅動(dòng)不匹配,此時(shí)需要做以下操作:
1. 從沁恒官網(wǎng)上下載最新的芯片驅動(dòng),鏈接地址為:http://www.fszrt.cn/download/CH341SER_EXE.html,安裝時(shí)先點(diǎn)擊卸載將可能存在的老版本驅動(dòng)卸載刪除,之后再點(diǎn)擊安裝新驅動(dòng);
2. 如果使用新驅動(dòng)后問(wèn)題仍然無(wú)法解決,那么查看系統驅動(dòng)安裝日志查看具體報錯原因。日志系統路徑為:C:\Windows\inf\setupapi.dev.log。打開(kāi)日志,查找CH341 字樣可以看到失敗原因,之后再進(jìn)行對應問(wèn)題的解決;
不同系統下面如何使用和判斷設備是否正常工作
在不同的系統環(huán)境下要分別使用相應的芯片驅動(dòng),所有驅動(dòng)可以從沁恒官網(wǎng)搜索下載到。
1. Linux 系統下面使用首先需要確保系統中沒(méi)有老驅動(dòng)存在,系統的默認驅動(dòng)目錄為:/lib/modules/$(uname -r)/kernel/drivers,老驅動(dòng)完整路徑為 /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko。如果存在該文件,那么需要手動(dòng)刪除。之后編譯下載的 Linux 驅動(dòng)源碼,將生成的新驅動(dòng)文件 ch34x.ko 拷貝到原驅動(dòng)路徑下,然后執行 depmod 重啟即可。插入設備后,可以通過(guò) dmesg 查看設備是否枚舉成功,以及驅動(dòng)加載是否正常,成功會(huì )在 /dev 路徑下產(chǎn)生 ttyUSB 開(kāi)頭的設備文件。
2. Android 系統下直接使用免驅APP就可以了,官網(wǎng)提供了芯片操作庫以及 demo 工程源碼方便二次開(kāi)發(fā),設備連接 Android 設備時(shí),要使用 OTG 線(xiàn)并確保 Android 系統的 host 權限已經(jīng)打開(kāi);
3. MacOS 下使用時(shí)首先要從官網(wǎng)下載最新芯片驅動(dòng),在系統上雙擊安裝。當設備插入后,如果在系統 /dev 路徑下產(chǎn)生 /dev/tty.wchusbserial 關(guān)鍵字說(shuō)明設備正常工作;
Windows 系統下如何確定 COM 口為 CH340/CH341 設備
1. 使用軟件查詢(xún)法,依次打開(kāi)系統的 COM 口,并以 300bps 向 COM 口發(fā)送特殊字符串 "$CH341Ser?",如果回復字符 'W'那么表明為 CH340/CH341 設備;
2. 使用CH341PT.DLL動(dòng)態(tài)庫,應用程序可以直接調用DLL中相應的API識別 CH340/CH341 串口,識別速度快,效率高。注意,CH341PT.DLL在INF中定義為可選安裝,默認是安裝的;
串口通訊亂碼
如果 CH340/CH341 在與其他器件進(jìn)行串口通訊時(shí)出現亂碼,首先需要確保雙方串口設置完全相同,包括波特率、數據位、停止位、校驗位等。其次需要明確雙方收發(fā)誤差率允許范圍以及實(shí)際通訊時(shí)波特率誤差。CH340/CH341 串口接收信號的允許波特率誤差不小于 2%,CH340G/CH340T/CH340R 串口發(fā)送信號的波特率誤差小于 0.3%,CH340C/CH340E/CH340B 小于 1%,明確范圍后測量實(shí)際通訊波特率誤差是否滿(mǎn)足此條件。另外需要注意,如果實(shí)際通訊模型是 TTL 轉 RS232 通訊,那么需要測量最終通訊接口誤差,因為信號經(jīng)過(guò)電平轉換芯片后誤差會(huì )放大。
USB轉串口芯片選型參考
如果有支持更高波特率、免驅串口應用、串口IO獨立供電(5V/3.3V/2.5V/1.8V)等需求,可以選用新一代USB轉串口芯片CH343/CH342/CH9344等。選型方案:http://www.fszrt.cn/application/357.html?