基于MAX232实现PC机与CPU通信

控制/MCU

1813人已加入

描述

  随着单片微型计算机技术的发展,人们经常采用单片机对自动化系统的参数(如温度、压力和速度等)进行检测和控制。单片机之所以被广泛使用,是因为它具有灵活快速的控制能力,而PC机则具有强大的管理和监控功能;因此,PC机与外部设备进行串行通信在许多测控系统中得到广泛应用。鉴于此,利用MAX芯片制作串行接口实现PC机与单片机之间的信息交换方法具有十分重要的意义。

  1、硬件电路的制作

  1.1、串行通信

  串行通信是指用1条数据线,将数据依次传输,每一位数据占据1个固定的时间长度。串行通信只需要少数几条线就可以在系统间交换信息,特别适合在计算机与计算机、计算机与外设之间进行通信,具有使用线路少和成本低的优点,特别是在远程传输时,避免了多条线路特性的不一致。串行通信可以分为2种方式:同步串行通信和异步串行通信。同步串行通信一般用在传输速度较快的场合,但对硬件的要求也相对较高;而异步串行通信常用在传输速率50~115200B/S,对硬件的要求相对较低,是应用最为广泛的串行通信方式。异步通信在传输数据时是逐帧传输的,而每一帧的数据格式分为四部分:1位起始位,5~8位的数据位,1位奇偶校验位和1、1.5或2位停止位。当然,在数据传输过程中,收发双方要约定好数据格式以及数据的传输速率(波特率)。

  1.2、MAX232芯片

  MAX232芯片是美信公司专门为RS-232标准串口设计的接口电路,使用5V电源供电。内部结构基本可分为下述3个部分。

  1)电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12V和-12V2个电源,提供给RS-232串口电平的需要。

  2)数据转换通道。由7、8、9、10、11、12、13、14脚构成2个数据通道。13脚(R1in)、12脚(R1OUT)、11脚(T1in)和14脚(T1OUT)为第1数据通道。8脚(R2in)、9脚(R2OUT)、10脚(T2in)和7脚(T2OUT)为第2数据通道。

  TTL/CMOS数据从T1in、T2in输入,转换成RS-232数据,从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1in、R2in输入,转换成TTL/CMOS数据后,从R1OUT、R2OUT输出。

  3)电源部分。由15脚GND和16脚VCC(+5V)构成。

  1.3、RS-232C标准

  RS-232C总线标准设有25条信号线,包括1个主通道和1个辅助通道。在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如1条发送线、1条接收线及1条地线。RS-232C标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、19200、38400和115200B/S。

  1.4、串行接口电路

  利用MAX232芯片制作的硬件接口电路,该电路不需要驱动芯片,因为MAX232本身就具有驱动能力,所以不必再外加驱动电路。接口电路如图1所示。

  通信

  图1  RS-232接口电路

  MAX232芯片有2路数据通道,本文只用1路接受/发射让PC机与单片机进行数据通信。单片机的TD(发射)与MCU_TXD1连接,单片机的RD(接收)与MCU_TXD1连接;PC机的接收与T1OUT相连,发射与R1in相连,接口J1与芯片MAX232的连接。J1口通过连接线与PC机的RS-232串口相连。一般情况下,这样的连接方式即可满足普通通信的要求。

  1.5、RS-232交叉串口线

  通常进行串口数据通信,需要使用到RS-232交叉串口线,如图2所示,其中2脚和3脚是交叉互联的,这很容易理解,因为一个设备的发送线必须连接到另外一台设备的接收线上,反之亦然。另外,232信号的有效通信距离是15M。

  通信

  图2  RS-232交叉串口线的内部连线

  2、通信协议的制定

  通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式,还有串行通信最重要的参数:比特率、数据位、奇偶校验位和停止位。对于2个进行通信的实体,这些参数必须相匹配,从而确保数据顺利地传送到确定的地方。通信协议如下:1)串行通信的波特率设为15200B/S;2)帧格式为1位起始位,8位数据位,2位停止位;3)无奇偶校验位;4)PC机采用COM1口进行通信。

  3、PC机与单片机的通信过程

  PC机与单片机通信之前,首先要做的就是搭建硬件电路,即PC机通过COM1与上面设计的接口电路收/发口相连,接口电路的发/收口与单片机[4]的串行口相连,它们之间的连接是通过RS-232串口交叉线相连。现在单片机地址为1006里面存放的数据为04,可以通过编写相应程序将单片机地址1006里面的数据读取。最后通过串口将它们读到PC机上。读取结果如图3所示。

  通信

  图3 调试助手显示串口数据

  为了验证PC机上显示数据的正确性,再通过示波器将串口波形(见图4)输出,然后对波形进行分析。波形的周期是88US,即每传输1帧数据用时88US。由通信协议可知,1帧数据由1位起始位、8位数据位、2位停止位共11位组成,每位用时约8S。进一步对波形进行分析,第1位起始位为低电平,随后是数据位,其数据值为01111111,即十六进制7F,数据位的第1位是0,为低电平;另外7位数据位是1,为高电平,最后2位是停止位,为高电平。其中,数据位与PC机接收数据7F相同,因此读取的数据正确。

  通信

  图4  示波器显示串口数据波形

  4、结语

  串行通信方式使用线路少、成本低和适合远程传输,大多数RS-232C技术规范的目标在于提供必要的电压电平以驱动损耗较大的线路,如MC1488和MC1489组成RS-232接口,则需要±12V和+5V电源供电,以实现TTL和CMOS逻辑转换匹配。而MAX232芯片不仅可以实现RS-232C的技术指标,而且芯片的供电电源只需要+5V,这样不仅使串行通信的性能更加可靠,而且价格低廉。该通信接口电路已经在带有串口的模块、芯片和外围设备等通信系统中得到了广泛的应用,而且优点非常突出。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分