原创 CH340 USB转串 功耗

2011-1-12 17:04 4876 3 4 分类: 消费电子

在调试时,发现M20的430芯片整体处于休眠状态时的电流消耗为4MA,很不正常,功耗偏大,一般MSP430休眠时,电流为几个UA,在调试中发现,MSP430的TXD引脚与CH340的引脚电平不匹配,由于将430引脚配置为第二功能引脚,所以该引脚电平一直为高,而CH340 RXD引脚却是低电平,而且,主芯片与CH340之间横跨有电阻,所以在休眠时,电流从MSP430引脚流向CH340 RXD引脚,从而产生功耗。


解决办法:在不通信的时候,将MSP430第二功能关闭,将引脚电平置低。


同时却引发了另外一个问题:就是在功能切换或则引脚输出方向变化时,由于CH340无法识别这种模糊状态,会向串口发送00数据。对通信产生一定的印象。


2011年1月份,同样解决CH340上述的问题,经过测试发现了上述的真正原因:由于该芯片的电源端接在USB的供电端(5V),所以当拔去USB时,CH340芯片无电源供电,所以该芯片的电压被倒灌,由于通信的时候,CH340T和主芯片的TXD和RXD都是高,所以出现了,主芯片TXD端电压3.3V,而CH340的电压也是被上拉的,只不过因为没有电源供电,所以CH340的RXD引脚电平为1.2V左右,中间有电阻,所以空了电流。


所以,在1月12日的早上,本人将CH340用内部3.3V供电,而不是USB供电,所有功能都正常,也无端口不匹配的现象。当时出了一个问题,就是整个仪器在LPM3的休眠方式下,功耗却是100UA,于是我们将CH340的供电断开,发现功耗只有5UA左右。可以很明确CH340本身耗掉大概90UA,所以我们还是不能用内部电源给CH340供电。


由于通信上传历时数据(数据量大),是端口IO功能的切换,导致产生了0X00数据跟在了数据包后面,于是我们采用软件延时的方法,当历时数据上传时,通信时间较长,所以我们延时也稍微长一些。每当有上位机通信的时候,我们就开始计时,并将计时器清零,当计时30S时,我再将端口切换为IO功能,因为USB通信时整个仪器也是USB供电,不消耗内部电源,当通信一次拔去时,也已经耗费5S左右,在后25秒的时候实现切换,节省功耗。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户425047 2014-10-23 20:42

你好,看了后学到不少,我有个疑问就是CH340用3.3v供电,USB的D+及D-输入信号不能把芯片给烧了吗?

用户319049 2011-10-20 10:43

对初学者很有用!
相关推荐阅读
用户566234 2012-05-29 11:47
MSP430仿真器
  特别声明:ZT-FET430UIF为智拓科技仪器最新开发的产品,电路为原装TI电路,无进行任务删减更改,主要为了能保证产品的可靠性和完整性,现在网上有很多价格便宜的产品都经过了电路的...
用户566234 2012-05-29 11:47
MSP430 BSL编程方式
MSP430有三种编程方式,JTAG,BSL或SBW程序,这三种编程方式各有各的优点。JTAG的优势在于速度快,如果要加密就必须使用JTAG方式。一旦加密后JTAG就不能在访问芯片了,这时如果要更...
用户566234 2012-05-21 14:43
超声波测距器的设计
超声波测距器在汽车倒车,建筑工地和一些工业现场有着很广泛的用途。其测量范围0.10~4.0 m,测量精度可高达1 cm左右  本设计采用新型8051控制器c8051...
用户566234 2012-05-18 21:37
单片机MSP430F5438学习笔记
通过430一年的学习遇到的很多问题,也收获了很多,以下是学习中遇到的一些问题,和解决方法,还有很多没有整理出来,慢慢整理中。。。。 一、多源中断问题 #pragma vector = POR...
用户566234 2012-05-18 21:01
MDK中STM32无法用printf()的问题
在用MDK调试STM32板子串口时,为了方便串口调试,调用了printf()函数,但是把.hex文件烧写进板子后却发现串口接收不到任何数据。用Keil仿真是,串口可以正确的输出。有点纳闷,然后调用...
用户566234 2012-05-18 20:57
STM32 SysTick 系统时钟 超简易定时器SysTick
/** * @brief Configures the SysTick. 系统时钟配置函数   main.c * @param None * @retval None */...
我要评论
1
3
关闭 站长推荐上一条 /3 下一条