ch340g芯片資料
在串口方式下,CH340 提供常用的MODEM聯(lián)絡(luò)信號(hào),用于為計(jì)算機(jī)擴(kuò)展異步串口,或者將普通的串口設(shè)備直接升級(jí)到USB 總線。有關(guān)USB 轉(zhuǎn)打印口的說(shuō)明請(qǐng)參考手冊(cè)(二)CH340DS2。
在紅外方式下,CH340 外加紅外收發(fā)器即可構(gòu)成USB 紅外線適配器,實(shí)現(xiàn)SIR 紅外線通訊。
特點(diǎn):
● 全速USB 設(shè)備接口,兼容USB V2.0,外圍元器件只需要晶體和電容。
● 仿真標(biāo)準(zhǔn)串口,用于升級(jí)原串口外圍設(shè)備,或者通過(guò)USB 增加額外串口。
● 計(jì)算機(jī)端Windows 操作系統(tǒng)下的串口應(yīng)用程序完全兼容,無(wú)需修改。
● 硬件全雙工串口,內(nèi)置收發(fā)緩沖區(qū),支持通訊波特率50bps~2Mbps。
● 支持常用的MODEM 聯(lián)絡(luò)信號(hào)RTS、DTR、DCD、RI、DSR、CTS。
● 通過(guò)外加電平轉(zhuǎn)換器件,提供RS232、RS485、RS422 等接口。
● 支持IrDA 規(guī)范SIR 紅外線通訊,支持波特率2400bps 到115200bps。
● 由于是通過(guò)USB 轉(zhuǎn)換的串口,所以只能做到應(yīng)用層兼容,而無(wú)法絕對(duì)相同。
● 軟件兼容CH341,可以直接使用CH341 的驅(qū)動(dòng)程序。
● 提供SSOP-20 無(wú)鉛封裝,兼容RoHS。
STM32的程序下載方式
因?yàn)槲覀儸F(xiàn)在的電腦上,已經(jīng)不存在串口,所以我們一般使用USB轉(zhuǎn)串口芯片,目的只有一個(gè),把電腦的USB口映射為串口用。常用的USB轉(zhuǎn)串口芯片有CH340、CP2102、PL2303、FT232等。我們選擇哪一個(gè)呢?CH340是國(guó)產(chǎn)芯片,其他的是進(jìn)口芯片。CH340批量?jī)r(jià)1.5元每個(gè),一般應(yīng)用方面,性能已經(jīng)足夠,我使用這么多年,就沒(méi)有出現(xiàn)過(guò)問(wèn)題。PL2303山寨貨太多,買的不放心。CP2102批量?jī)r(jià)5.2元,它是QFN封裝,對(duì)于新手不易焊接。FT232批量?jī)r(jià)在10元以上,一般用在工業(yè)級(jí)環(huán)境。經(jīng)過(guò)綜合的比較,我們選擇CH340作為我們開(kāi)發(fā)板上使用的USB轉(zhuǎn)串口芯片。
串口下載程序的過(guò)程:上電后,先把STM32的BOOT0拉高,然后就可以通過(guò)RXD和TXD引腳把要下載的程序下載到單片機(jī),下載完程序以后,然后復(fù)位,就會(huì)運(yùn)行下載到單片機(jī)中的程序。
下面再說(shuō)說(shuō)JTAG下載接口,JTAG下載接口長(zhǎng)這樣:
這是一個(gè)10PX2的牛角座。
雖然是20個(gè)引腳,不過(guò)JTAG引腳只用了6個(gè)引腳,剩下的是3.3V和GND。同時(shí),STM32還支持SWD下載方式,也是在JTAG接口上,只用到了2個(gè)引腳。無(wú)需硬件改動(dòng),只需要在程序編寫軟件上配置即可切換。
JTAG接口用來(lái)連接仿真器,仿真器可以是JLINK或者ULINK。
ISP和JTAG的區(qū)別:
由于我們使用了USB轉(zhuǎn)串口芯片,所以開(kāi)發(fā)板可以直接用數(shù)據(jù)線連接電腦USB后就可以下載程序。而JTAG,需要另外購(gòu)買仿真器。仿真器除了能夠下載程序,還可以控制單片機(jī)單步運(yùn)行程序或停在程序的某一條語(yǔ)句處,還可以隨時(shí)觀察單片機(jī)內(nèi)部寄存器的值。
好了,下載方式就介紹完了。下面是定好了電源和下載接口的方案后,畫出的原理圖:
STM32有兩種程序下載方式,一種是通過(guò)串口下載,一種是通過(guò)仿真器下載。串口下載又叫做ISP,通過(guò)仿真器下載又可以叫做通過(guò)JTAG口下載。
PLC通過(guò)485線控制變頻器調(diào)速,電腦用USB轉(zhuǎn)串口連接PLC。用CH340的話,變頻器一旦啟動(dòng),電腦端和PLC的通訊就很容易中斷,用FT232則無(wú)此問(wèn)題。
個(gè)人認(rèn)為,穩(wěn)定性:FT232>PL2303>CH340,這也反映在價(jià)格上。
請(qǐng)問(wèn)用ch340下載器給stm32下載程序,如圖,boot0拉高,boot1接GND,怎么不行?
隨筆- 38 文章- 0 評(píng)論- 2
CH340在STM32實(shí)現(xiàn)一鍵下載電路
在做基于STM32的多功能MP3播放器的課題時(shí),在程序下載這部分時(shí)借鑒了正點(diǎn)原子開(kāi)發(fā)板上的一鍵下載電路,采用CH340G這款芯片設(shè)計(jì)。
在畫PCB初期原理圖部分,對(duì)采用CH340G設(shè)計(jì)的一鍵下載電路不甚了解,于是花了一些時(shí)間來(lái)研究一下這個(gè)電路。
引用正點(diǎn)原子的一鍵下載電路:
我們通過(guò)RTS#和DTR#兩個(gè)輸出信號(hào)來(lái)控制STM32 IC的BOOT0和BOOT1兩引腳來(lái)選擇啟動(dòng)模式,如下表:
當(dāng)燒寫程序時(shí),我們希望BOOT0=1,BOOT1=0。當(dāng)燒寫完成后我們希望BOOT0=0,BOOT1=0(這個(gè)模式BOOT1可以是0可以是1,這里我們讓BOOT1拉低,即整個(gè)過(guò)程BOOT1都為L(zhǎng)接地,簡(jiǎn)化電路設(shè)計(jì))。
這里我們只需考慮BOOT0的高低。
查看STM32的參考手冊(cè),如下圖:
注意表6下方第一句話:“在系統(tǒng)復(fù)位后,SYSCLK的第4個(gè)上升沿,BOOT引腳的值將被鎖存?!?
OK,綜上所訴,我們可以得到: 1、系統(tǒng)上電,BOOT0需為L(zhǎng),進(jìn)入模式一。上電復(fù)位后,在SYSCLK的第4個(gè)上升沿,BOOT引腳的值將被鎖存,進(jìn)入主閃存存儲(chǔ)器,執(zhí)行我們燒寫的代碼。
2、當(dāng)我們編譯好程序,生成HEX文件。在燒寫HEX文件時(shí),BOOT0需為H,進(jìn)入模式二。然后,系統(tǒng)必須復(fù)位一次(因?yàn)橛?知道,系統(tǒng)上電后默認(rèn)執(zhí)行代碼,即模式一),讓系統(tǒng)重新鎖存BOOT引腳。系統(tǒng)進(jìn)入模式二,開(kāi)始燒寫HEX文件。
3、燒寫完成后,我們希望系統(tǒng)再次進(jìn)入模式一,執(zhí)行代碼。但正點(diǎn)原子的一鍵下載電路并沒(méi)有讓系統(tǒng)完成燒寫程序后再次復(fù)位重新鎖存BOOT引腳進(jìn)入模式一。這個(gè)原因應(yīng)該是MCUISP軟件幫我們配置好了,在燒寫完成后會(huì)有報(bào)告:“成功從08000000開(kāi)始運(yùn)行”。
在參考手冊(cè)中有這樣一段話:
從另一個(gè)方向來(lái)理解它,可以這么說(shuō):主閃存存儲(chǔ)器從地址(0x0800 0000)訪問(wèn),不管是系統(tǒng)自動(dòng)的還是軟件配置的,只要系統(tǒng)指針跳到 主閃存存儲(chǔ)器的地址(0x0800 0000)處開(kāi)始執(zhí)行代碼,就可以了,結(jié)果是我們想要的。
以上就是一鍵下載電路需要實(shí)現(xiàn)的功能,原子兄幫我們?cè)O(shè)計(jì)出來(lái)了。如果看不懂的話,可以參考我下面的解釋。
我們需要注意一點(diǎn):CH340G上電后DTR#和RTS#都為高電平,在用MCUISP燒寫軟件時(shí),我們?cè)谲浖路竭x擇“DTR的低電平復(fù)位,RTS高電平進(jìn)BootLoader”,CH340G IC在實(shí)際操作時(shí)引腳的變化為“DTR#拉高,RTS#拉低”,即軟件設(shè)置和實(shí)際情況是取非的,相反的。
畫個(gè)時(shí)序圖,直觀一些: