微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 通用异步收发器MAX3100在单片机系统中的应用

通用异步收发器MAX3100在单片机系统中的应用

时间:12-09 来源:互联网 点击:

在MCS-51单片机应用系统中,串行数据通信通常采用同步/异步接收发送器8251,但因8251的通信波特率不高,且芯片不能应用于晶振较高的系统,这就使得要求高运行速度、高速收发数据的系统无法应用8251芯片收发数据,MAXIM公司推出的新型UART芯片MAX3100正好填补了这个空白。MAX3100具有以下几个鲜明的特点:
 l支持高速通信,最高通信波特率可达230KBPS;
 2能工作在较高频率的系统中,如可用在晶振为40MHZ的系统中;
 3支持低电压,低功耗;
 4体积小,可节省印制版空间;
 5支持红外通信。

一、引脚功能
  MAX3100有DIP和QSOP两种封装形式,以DIP封装为例,它的引脚排列如图1所示,各引脚的功能简述如下:
  1)DIN:串行数据输入端。串行时钟的上升沿锁存DIN数据。
  2)DOUT:串行数据输出端。数据由串行时钟的下降沿同步输出,当 CS为高时为高阻态。
  3)SCLK:串行时钟输入端。
  4)CS:片选控制。 IRQ、 RTS、TX的输出不受 CS的控制。
  5)IRQ:中断请求信号。低电平有效。
  6)SHDN:待机模式的硬件控制端。 SHDN =0,进入待机模式,片内振荡器立即停振。
  7)X1和X2:晶振引脚。
  8)CTS:输入端。低电平有效,用于RS-232作允许发输入端。
  9)RTS :输出端。低电平有效,用于RS-232作请求发送输出端或RS-485驱动器使能端。
  10)RX:接收输入端
  11)TX:发送输出端

二、 读写控制指令及时序


1.写控制字
  写控制字各位含义如表1所示。控制字写入后将清除FIFO寄存器以及R、T、RA/FE、D0r~ D7r、D0t~D7t、Pt、Pt等寄存器,而 CTS和 RTS 保持不变。屏蔽位 TM、RM、PM和RAM在SCLK的第16个时钟的上升沿有效,而FEN、SHDNi、IR、ST、PE、L、B0~B3在完成写配置操作后有效。

RTS的状态而不发送数据,则可通过TE禁止数据的发送。

IRQ。

RAM)进行设置,选择相应的中断方式,如图3所示。

  向MAX3100写入数据时,在DIN写入的是一个16位的字,其中高八位设置的内容是:写入标志、允许TX输出、RTS引脚设定以及传送校验位设定。低八位才是要传送的数据。  从MAX3100读出数据时,仍旧要在DIN写入一个16位的字(0000H),再从DOUT读入16位的字,其中的高八位是:接收/发送缓冲区的状态,数据错/溢出状态,接收/校验位状态和CTS的状态,低八位才是接收到的数据。
  值得注意的是:由于MAX3100采用的是全双工通信,即DIN,DOUT引脚上同时有数据传送。在SCLK时钟的下降沿,将数据从DOUT引脚发送出去,在SCLK时钟的上升沿,从DIN引脚接收数据。

四、应用实例
1.硬件设计
  图4所示为MAX3100与78E58单片机采用SPI接口方式,实现高速串行数据收发的应用实例,在电路中用MAX3100取代了以往常用的UART8251,以实现高性能的通信模式。78E58的P1.0~P1.3分别接MAX3100的DIN、DOUT、SCLK以及 CS,78E58的 INTO与 IRQ相连,SHDN连高电平,使之保持在工作模式,MAX3100的TX和RX分别和MAX232的T1I以及R1O连接,RTS与CTS相连,通过MAX232电平转换后与9针串行接口的第八脚相连用以控制计算机传送数据。
  78E58单片机接收时,上位机传过来的数据通过串行口由RS-232转换TTL电平后,MAX3100串行接收,串行输入到MCU中。78E58单片机发送时,MCU将要发送的数据串行送入MAX3100,通过RS-232转换成232电平后串行输出。

RTS的状态而不发送数据,我们可以通过软件设置TE为高电平, RTS为低电平,通过串行口通知计算机不要发送数据。在这批数据处理完之后,再设置 RTS为高,允许计算机发送数据,继续接收数据。
  同时我们还要考虑MAX3100在通知计算机不要发送数据后还有一批的数据在缓冲区内,这批数据要注意接收,而且这些数据应留有一个接收的时间余地。也就是说在通知计算机不要发送数据之后和开始执行操作之前要延时一段时间,以保证数据的全部接收。

五: 结论
  采用MAX3100作为扩展的UART,具有价格低廉,功耗小,实现容易的特点,而且比传统的UART8251占用体积小,传输速度快,工作频率高,具有比8251更优越的性能。
  前面所给程序是通过端口发送与接收数据的关键,对于任何一种基于MCS-51单片机采用MAX3100实现串行收发的应用系统来说都是非常有帮助的。经过实践证明,该系统运行效果良好,数据传送安全可靠,传送快,应用广泛。
  在实践中发现在系统晶振采用40MHZ,振荡器晶振选用1.8432MHZ时,C语言编写的MAX3100接收程序工作在115200波特率时有数据丢失的情况,最高只能到57600波特率,用汇编语言编写的程序则可以达到115200波特率。如果MAX3100晶振选用3.6864MHZ时,用汇编语言编写的程序可以达到其最高的波特率。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top