jianqi2010 发表于 2011-7-15 09:03:45

【请教】ARM和AVR串口通信

小弟初学ARM,最近搞一个东西,想用ARM和AVR串口通信,组成一个小型的上下位机系统。初步准备两边都用MAX232进行电平转换,然后将转换后的信号线直连,不知道可不可以?各位大虾给出出意见哈,小弟现在这里谢过了

haizheng4 发表于 2011-7-15 09:14:34

为什么不可以?
Rx-Tx
Tx-Rx
就可以了吧

jianqi2010 发表于 2011-7-15 09:16:31

回复【1楼】haizheng4
-----------------------------------------------------------------------

谢谢你的回答,那我想把232都省了,AVR和ARM的对应引脚直连不知道可不可以。。。是不是太过分了,呵呵

haizheng4 发表于 2011-7-15 10:19:35

回复【2楼】jianqi2010
-----------------------------------------------------------------------

貌似可以 232只是起到一个电平转换的作用
把TTL/CMOS电平转成232电平
不过没这么玩过

即使通了那你的这个串口也别想连别的232设备
连了就烧你板子的串口
PS:通信距离和抗噪能力都是问题

hetiger 发表于 2011-7-15 10:21:43

LZ,MAX232是干啥用的搞清楚了不???

单片机上通常集成的USART的电平和MAX232转好的电平是不是一样呢?提示:TTL电平

要是近距离,高速传输,2个单片机,是可以直接连接的(注意是交叉的)。。。

要是多于3片又是主从结构,需要加些隔离(简单点的就用二极管)。。。

系统要是分散式的,而且有一定距离,就需要加些驱动。。。

唉!看看马老师的专栏或者买本马老师的书吧。。。

jianqi2010 发表于 2011-7-15 10:33:50

回复【4楼】hetiger
-----------------------------------------------------------------------

你说的这些我还是懂的,我现在准备用3.3V给Atmega32L供电,这样和s3c2440的供电电压一致了,应该可以直连吧,回头做个试验。。。

hetiger 发表于 2011-7-15 10:43:44

恩。。。好的。。。玩单片机着贵于动手。。。

请注意AVR工作于3.3V还有些事情要做的。。。

另:若是板级通讯,为啥选USART,这个速度并不快呀。。。问问而已。。呵呵

jianqi2010 发表于 2011-7-15 10:48:39

回复【6楼】hetiger
-----------------------------------------------------------------------
并不追求速度,本来准备用ARM的IO来控制电机、红外什么的,后来想想还是AVR比较熟悉,IO口多而且产生PWM波方便,ARM用来做路径算法和发送控制命令,以及带摄像头和无线网卡等等。

jianqi2010 发表于 2011-7-15 15:21:54

小弟现在决定AVR用5V供电,电平转换一下:
http://cache.amobbs.com/bbs_upload782111/files_42/ourdev_658109KFGI59.jpg
(原文件名:1.jpg)


AVR的TXD端分压得到3.3V电压接到ARM的RXD端,各位觉得可以吧?

hetiger 发表于 2011-7-17 10:56:10

回复【7楼】jianqi2010
回复【6楼】hetiger   
-----------------------------------------------------------------------
并不追求速度,本来准备用arm的io来控制电机、红外什么的,后来想想还是avr比较熟悉,io口多而且产生pwm波方便,arm用来做路径算法和发送控制命令,以及带摄像头和无线网卡等等。

-----------------------------------------------------------------------

虽不知道是在做什么样的系统,但比较赞同分布式系统设计来处理复杂的系统。各干各的,又统筹协调,互相监督又可冗余。。。

hetiger 发表于 2011-7-17 11:14:48

回复【8楼】jianqi2010
小弟现在决定avr用5v供电,电平转换一下:

avr的txd端分压得到3.3v电压接到arm的rxd端,各位觉得可以吧?
-----------------------------------------------------------------------

单向的?二极管隔离,I/O端上拉,可以一试。。。

我记得AVR是“在正常情况下,接收器的时钟定位复原电路以16倍波特率的采样频率扫描采样RXD引脚信号(倍速模式以8倍波特率)。当时钟定位复原电路在RXD上检测到一个由高至低的下降沿时,便开始一个数据帧的起始位探测系列,并初始化(同步)第一个检测到低电平的采样点为序列1.......”---摘至马老师的书。

我认为AVR端的RXD端是一直在检测低电平,用个二极管隔离一下,不会对ARM端的I/O产生影响。上拉是为了RXD端高电平不至于低于逻辑高电平。当然AVR内部上拉电路有效的话,可去掉。。。

反之亦然。。。。

未经测试仅供参考。。。

soter 发表于 2011-10-29 21:21:47

我也在做一个类似的上下位机系统 mega16和S3C6410不知道能不能用485通信..

hglove 发表于 2011-12-12 20:58:17

回复【8楼】jianqi2010
-----------------------------------------------------------------------

你这个电路测试成功了吗?我也在想这个电路怎么弄,我是想把5V供电的单片机与3.3V供电的ARM通过串口连接,不知道可不可以参考你得电路?

jianqi2010 发表于 2012-2-3 16:04:03

回复【12楼】hglove
-----------------------------------------------------------------------

用专用的电压转换芯片可能更好,TI的SN74LCV4245考虑下。
页: [1]
查看完整版本: 【请教】ARM和AVR串口通信