御风逍遥Fly 发表于 2013-2-25 12:29:06

5V单片机如何和3.3V RF模块通过串口通信??

现在用5V的AVR单片机和一个 RF无线模块通过 UART通信,但是电平不兼容,资料上说RF接5V会烧掉的,我知道74LVC4245可以在3.3V和5V转换,但是串口TX和RX是双向通信的,而74LVC4245每次只能单向数据传输。不确定UART是如何通信的,如果单片机发送的时候只用TX,接受的时候只用RX 的话,倒是可以控制74LVC4245的DIR来选择数据传输方向。

aviator 发表于 2013-2-25 12:39:28

1.串口的两条线都是单向传输,所以电平转换不难解决。
2.如果是I2C等需要双向传输的可以用PC9306做电平转换,或者用mos管组成双向电平转换电路。

御风逍遥Fly 发表于 2013-2-25 12:49:40

我想了一个电路,不知道行不行,我用9600的波特率通信。三极管会不会有影响。

三春虫 发表于 2013-2-25 13:07:11

一般将与单片机RF无线模块的通信I/O接3.3v的上拉电阻即可,但不知你的模块对电压有多严格

御风逍遥Fly 发表于 2013-2-25 13:23:54

三春虫 发表于 2013-2-25 13:07 static/image/common/back.gif
一般将与单片机RF无线模块的通信I/O接3.3v的上拉电阻即可,但不知你的模块对电压有多严格
...

要求的工作电压为 2.1V~3.6V

御风逍遥Fly 发表于 2013-2-25 13:48:21

aviator 发表于 2013-2-25 12:39 static/image/common/back.gif
1.串口的两条线都是单向传输,所以电平转换不难解决。
2.如果是I2C等需要双向传输的可以用PC9306做电平转换 ...

我知道是单向传输,但是我有个疑问,单片机向芯片发数据是,用的TX管脚,但是发送的过程是不是还要从芯片接受什么确认信号啊什么的,会不会也要用到RX的管脚。 或者如果我只是用单片机 读 来自 RF 的数据,那我用一根RX就可了??还有,MOS管的话用那个型号的元件?

aasf3 发表于 2013-2-25 14:12:25

E:\电平转换.jpg

guowanling8061 发表于 2013-2-25 15:02:29

这个芯片SN74LVCC3245ADBR,是双向的,我的电路采用的!一端接3.3V,一端接5V。

guowanling8061 发表于 2013-2-25 15:05:04

你的悬赏也太吝啬了,这个芯片SN74LVCC3245ADBR,是双向的,我的电路采用的!一端接3.3V,一端接5V。

御风逍遥Fly 发表于 2013-2-25 15:24:04

guowanling8061 发表于 2013-2-25 15:05 static/image/common/back.gif
你的悬赏也太吝啬了,这个芯片SN74LVCC3245ADBR,是双向的,我的电路采用的!一端接3.3V,一端接5V。 ...

谢谢啊,我是新手,嘿嘿,力量有限啊

御风逍遥Fly 发表于 2013-2-25 15:25:47

guowanling8061 发表于 2013-2-25 15:05 static/image/common/back.gif
你的悬赏也太吝啬了,这个芯片SN74LVCC3245ADBR,是双向的,我的电路采用的!一端接3.3V,一端接5V。 ...

我有个疑问,单片机向芯片发数据是,用的TX管脚,但是发送的过程是不是还要从芯片接受什么确认信号啊什么的,会不会也要用到RX的管脚。 或者如果我只是用单片机 读 来自 RF 的数据,那我用一根RX就可了??还有,MOS管的话用那个型号的元件?

yelong98 发表于 2013-2-25 15:31:42

我来给点建议吧。
将5V单片机的通信口设定为开漏输出,然后在通信线上外挂上拉电阻到3.3V就行了

lalapunk1983 发表于 2013-2-25 15:51:22

2个电阻就可以了。以前都有人问过了。别老想着往复杂的整。

guowanling8061 发表于 2013-2-25 15:59:34

御风逍遥Fly 发表于 2013-2-25 15:25 static/image/common/back.gif
我有个疑问,单片机向芯片发数据是,用的TX管脚,但是发送的过程是不是还要从芯片接受什么确认信号啊什么 ...

不能同时收发,同一时间只能发或收。

三春虫 发表于 2013-2-25 16:32:02

就用上啦3.3v好了

wajlh 发表于 2013-2-25 16:38:33

guowanling8061 发表于 2013-2-25 15:59 static/image/common/back.gif
不能同时收发,同一时间只能发或收。

楼主你也真是够笨的了。假设74hc245 设置成只能由A口传到B口,那么单片机的TX接A1,经过电平转换后B1接到模块的RX。然后模块的TX接A2,经过电平转换后的B2接到单片机的RX就行了,跟什么方向有什么关系啊。

william_rain 发表于 2013-2-25 16:47:51

我用51和SD(3.3v)通信时电平转换电路

两个电阻,

但是写信号IO口最好是推挽输出,读信号可以不用电平转换。

御风逍遥Fly 发表于 2013-2-25 19:07:04

yelong98 发表于 2013-2-25 15:31 static/image/common/back.gif
我来给点建议吧。
将5V单片机的通信口设定为开漏输出,然后在通信线上外挂上拉电阻到3.3V就行了 ...

AVR的不能设置成开漏吧

御风逍遥Fly 发表于 2013-2-25 19:09:34

wajlh 发表于 2013-2-25 16:38 static/image/common/back.gif
楼主你也真是够笨的了。假设74hc245 设置成只能由A口传到B口,那么单片机的TX接A1,经过电平转换后B1接到 ...

谢谢提醒,思维一时没转过来~~~就这样整了。

wajlh 发表于 2013-2-25 19:25:48

御风逍遥Fly 发表于 2013-2-25 19:09 static/image/common/back.gif
谢谢提醒,思维一时没转过来~~~就这样整了。

哈哈不客气,我一直这样用的,没问题。

御风逍遥Fly 发表于 2013-2-25 19:30:04

lalapunk1983 发表于 2013-2-25 15:51 static/image/common/back.gif
2个电阻就可以了。以前都有人问过了。别老想着往复杂的整。

请教3.3V怎么转成5V,用两个电阻???

LingYi 发表于 2013-2-25 19:50:51

御风逍遥Fly 发表于 2013-2-25 19:30 static/image/common/back.gif
请教3.3V怎么转成5V,用两个电阻???

直接连接就OK了,不需要处理

御风逍遥Fly 发表于 2013-2-25 20:23:57

三春虫 发表于 2013-2-25 16:32 static/image/common/back.gif
就用上啦3.3v好了

5V输出接上拉3.3V时,输出不还是5V么??

god-father 发表于 2013-2-25 12:29:07

RF模块TX------》单片机RX,直接相连。
RF模块RX《-----单片机TX,用两个电阻对单片机输出作分压,分压后输入RF模块即可。

feifei1986 发表于 2013-2-25 22:07:04

御风逍遥Fly 发表于 2013-2-26 09:23:44

god-father 发表于 2013-2-25 20:33 static/image/common/back.gif
RF模块TX------》单片机RX,直接相连。
RF模块RX《-----单片机TX,用两个电阻对单片机输出作分压,分压后输 ...

这个最好,我昨天也决定这样连了,AVR 输入高电平 最低为3V, 3.3V输入无压力。 5V 输出用 1.6K 3.3K分压。

lcw_swust 发表于 2013-2-26 09:33:08

http://www.amobbs.com/forum.php?mod=viewthread&tid=1789750&highlight=5v%2B%E4%BA%92%E8%81%94

god-father 发表于 2013-2-27 15:55:40

feifei1986 发表于 2013-2-25 22:07 static/image/common/back.gif
串两K电阻进去。我就这样弄的。
不过直接连用了半年。也没有烧坏。

有些3V端口明示能承受5V输入,是可以直接连的。

reflecter 发表于 2013-2-27 16:00:13

Microchip有个经典文档,"3V-5V",坛内可以搜到
http://www.amobbs.com/forum.php?mod=viewthread&tid=5490384&highlight=microchip%2B3v
电平接口的问题,咱嵌入式工程师必备知识~

xueyoujin 发表于 2013-2-27 17:21:39

lZ如果是实验的话 可以串联一个330的电阻   在5V和3.3V之间串联      或者用两片74LV4245

axia2008 发表于 2013-2-27 18:03:22

太简单了

feifei1986 发表于 2013-2-27 19:28:31

Gost 发表于 2013-2-27 21:56:27

都用3.3v供电的了呢

god-father 发表于 2013-2-28 11:19:05

feifei1986 发表于 2013-2-27 19:28 static/image/common/back.gif
我用的 NRF24l01和JF24D都是可以直接连的。
说是最大接3.3V,我IO端口都直接连。一点事都没有。 ...

建议你不要这样,除非是玩的,不要等到大批量产品出去了,再出来问题,那个时候代价就大了。

feifei1986 发表于 2013-2-28 19:58:10

sky_520 发表于 2013-2-28 21:02:44

yelong98 发表于 2013-2-25 15:31 static/image/common/back.gif
我来给点建议吧。
将5V单片机的通信口设定为开漏输出,然后在通信线上外挂上拉电阻到3.3V就行了 ...

同意,简单的事不用搞得太复杂

传奇 发表于 2013-3-1 16:08:44

NLSX4372 ,2路高低电平转换

相见恨晚 发表于 2013-3-1 16:23:07

话说,3楼的图,我连过。不行。最后就一LDO。5-3.3.直接搞定。

相见恨晚 发表于 2013-3-1 16:23:31

TX.RX是232直接出来的。。。

hwc0702 发表于 2013-3-6 16:24:20

AVR单片机,你选择3.3V供电不行吗?

文句子 发表于 2013-3-6 16:34:28

vusb解决的第一个硬件问题就是这个,有三种方案,各有优缺点

cdyy777 发表于 2013-3-6 16:35:06

现在很多都是3.3的吧

49547754 发表于 2013-3-6 18:16:06

围观一下

深圳男子 发表于 2013-3-7 11:33:03

用两个单线总线缓冲器来做看看,两个缓冲器各一正一反完成双向,用3.3V供电的话输出的电平应该符合要求,5V电平输入应该无问题的,个人拙见,未作验证,仅做参考。

603133791 发表于 2014-10-23 00:58:24

好文章,学习啦。

Samzzt 发表于 2014-10-23 14:44:46

论坛元老说的对

Samzzt 发表于 2014-10-23 15:34:46

学习一下

磊磊映画 发表于 2015-2-5 12:56:43

wajlh 发表于 2013-2-25 16:38
楼主你也真是够笨的了。假设74hc245 设置成只能由A口传到B口,那么单片机的TX接A1,经过电平转换后B1接到 ...

你用的芯片跟楼主的说的芯片不一样74LVC4245 跟74HC245 使用74LVC245还是要切换方向的
因为74LVC245的A口接入5V电平会烧毁,它是3V3的电平 而74HC245是可以,所以就是你说的不用切换方向
74LVC245更好一些 3V3 5V电源两端独立供电,而且转换速度快 6ns

wangxiansen 发表于 2017-3-12 21:16:51

传奇 发表于 2013-3-1 16:08
NLSX4372 ,2路高低电平转换

很实用啊!!!{:lol:}
页: [1]
查看完整版本: 5V单片机如何和3.3V RF模块通过串口通信??