ch340是什麼芯片

CH340 是一個USB 總線的轉接芯片,實現USB 轉串口、USB 轉IrDA 紅外或者USB 轉打印口。 
    在串口方式下,CH340 提供常用的MODEM聯絡信號,用於爲計算機擴展異步串口,或者將普通的串口設備直接升級到USB 總線。有關USB 轉打印口的說明請參考手冊(二)CH340DS2。 
    在紅外方式下,CH340 外加紅外收發器即可構成USB 紅外線適配器,實現SIR 紅外線通訊。
特點:   
● 全速USB 設備接口,兼容USB V2.0,外圍元器件只需要晶體和電容。
● 仿真標準串口,用於升級原串口外圍設備,或者通過USB 增加額外串口。 
● 計算機端Windows 操作系統下的串口應用程序完全兼容,無需修改。 
● 硬件全雙工串口,內置收發緩衝區,支持通訊波特率50bps~2Mbps。 
● 支持常用的MODEM 聯絡信號RTS、DTR、DCD、RI、DSR、CTS。 
● 通過外加電平轉換器件,提供RS232RS485RS422 等接口。 
● 支持IrDA 規範SIR 紅外線通訊,支持波特率2400bps 到115200bps。 
● 由於是通過USB 轉換的串口,所以只能做到應用層兼容,而無法絕對相同。
● 軟件兼容CH341,可以直接使用CH341 的驅動程序。 
● 提供SSOP-20 無鉛封裝,兼容RoHS。

 

STM32的程序下載方式 

因爲我們現在的電腦上,已經不存在串口,所以我們一般使用USB轉串口芯片,目的只有一個,把電腦的USB口映射爲串口用。常用的USB轉串口芯片有CH340、CP2102、PL2303、FT232等。我們選擇哪一個呢?CH340是國產芯片,其他的是進口芯片。CH340批量價1.5元每個,一般應用方面,性能已經足夠,我使用這麼多年,就沒有出現過問題。PL2303山寨貨太多,買的不放心。CP2102批量價5.2元,它是QFN封裝,對於新手不易焊接。FT232批量價在10元以上,一般用在工業級環境。經過綜合的比較,我們選擇CH340作爲我們開發板上使用的USB轉串口芯片。




串口下載程序的過程:上電後,先把STM32的BOOT0拉高,然後就可以通過RXD和TXD引腳把要下載的程序下載到單片機,下載完程序以後,然後復位,就會運行下載到單片機中的程序。


下面再說說JTAG下載接口,JTAG下載接口長這樣:



這是一個10PX2的牛角座。

雖然是20個引腳,不過JTAG引腳只用了6個引腳,剩下的是3.3V和GND。同時,STM32還支持SWD下載方式,也是在JTAG接口上,只用到了2個引腳。無需硬件改動,只需要在程序編寫軟件上配置即可切換。

JTAG接口用來連接仿真器,仿真器可以是JLINK或者ULINK。

ISP和JTAG的區別:

由於我們使用了USB轉串口芯片,所以開發板可以直接用數據線連接電腦USB後就可以下載程序。而JTAG,需要另外購買仿真器。仿真器除了能夠下載程序,還可以控制單片機單步運行程序或停在程序的某一條語句處,還可以隨時觀察單片機內部寄存器的值。

好了,下載方式就介紹完了。下面是定好了電源和下載接口的方案後,畫出的原理圖:



STM32有兩種程序下載方式,一種是通過串口下載,一種是通過仿真器下載。串口下載又叫做ISP,通過仿真器下載又可以叫做通過JTAG口下載。


PLC通過485線控制變頻器調速,電腦用USB轉串口連接PLC。用CH340的話,變頻器一旦啓動,電腦端和PLC的通訊就很容易中斷,用FT232則無此問題。
個人認爲,穩定性:FT232>PL2303>CH340,這也反映在價格上。

 

請問用ch340下載器給stm32下載程序,如圖,boot0拉高,boot1接GND,怎麼不行?

 

 

 

隨筆- 38  文章- 0  評論- 2 

CH340在STM32實現一鍵下載電路

 
在做基於STM32的多功能MP3播放器的課題時,在程序下載這部分時借鑑了正點原子開發板上的一鍵下載電路,採用CH340G這款芯片設計。

在畫PCB初期原理圖部分,對採用CH340G設計的一鍵下載電路不甚瞭解,於是花了一些時間來研究一下這個電路。

引用正點原子的一鍵下載電路:
我們通過RTS#和DTR#兩個輸出信號來控制STM32 IC的BOOT0和BOOT1兩引腳來選擇啓動模式,如下表:
當燒寫程序時,我們希望BOOT0=1,BOOT1=0。當燒寫完成後我們希望BOOT0=0,BOOT1=0(這個模式BOOT1可以是0可以是1,這裏我們讓BOOT1拉低,即整個過程BOOT1都爲L接地,簡化電路設計)。
這裏我們只需考慮BOOT0的高低。
查看STM32的參考手冊,如下圖:
注意表6下方第一句話:“在系統復位後,SYSCLK的第4個上升沿,BOOT引腳的值將被鎖存。”
OK,綜上所訴,我們可以得到: 1、系統上電,BOOT0需爲L,進入模式一。上電覆位後,在SYSCLK的第4個上升沿,BOOT引腳的值將被鎖存,進入主閃存存儲器,執行我們燒寫的代碼。
2、當我們編譯好程序,生成HEX文件。在燒寫HEX文件時,BOOT0需爲H,進入模式二。然後,系統必須復位一次(因爲由1知道,系統上電後默認執行代碼,即模式一),讓系統重新鎖存BOOT引腳。系統進入模式二,開始燒寫HEX文件。
3、燒寫完成後,我們希望系統再次進入模式一,執行代碼。但正點原子的一鍵下載電路並沒有讓系統完成燒寫程序後再次復位重新鎖存BOOT引腳進入模式一。這個原因應該是MCUISP軟件幫我們配置好了,在燒寫完成後會有報告:“成功從08000000開始運行”。
     在參考手冊中有這樣一段話:
 從另一個方向來理解它,可以這麼說:主閃存存儲器從地址(0x0800 0000)訪問,不管是系統自動的還是軟件配置的,只要系統指針跳到主閃存存儲器的地址(0x0800 0000)處開始執行代碼,就可以了,結果是我們想要的。
 
以上就是一鍵下載電路需要實現的功能,原子兄幫我們設計出來了。如果看不懂的話,可以參考我下面的解釋。
 
我們需要注意一點:CH340G上電後DTR#和RTS#都爲高電平,在用MCUISP燒寫軟件時,我們在軟件下方選擇“DTR的低電平復位,RTS高電平進BootLoader”,CH340G IC在實際操作時引腳的變化爲“DTR#拉高,RTS#拉低”,即軟件設置和實際情況是取非的,相反的。
畫個時序圖,直觀一些:
原文:http://www.360doc.com/content/14/0921/11/14951572_411210231.shtml
發佈了55 篇原創文章 · 獲贊 96 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章