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
posted @ 2016-09-17 21:36  JeffreyCheung  阅读(42305)  评论(0编辑  收藏  举报