1
电子说
1 载波检测 DCD Received Line Signal Detector (Data Carrier Detect)
2 接收数据 RXD Received Data
3 发送数据 TXD Transmit Data
4 数据终端准备好 DTR Data Terminal Ready
5 信号地 SG Signal Ground
6 数据准备好 DSR Data Set
7 请求发送 RTS Request To Send
8 清除发送 CTS Clear To Send
9 振铃提示 RI Ring Indicator
串行通信接口标准经过使用和发展,目前已经有几种。但都是在RS-232标准的基础上经过改进而形成的。所以,以RS-232C为主来讨论。RS-232C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在0~20000b/s范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电气特性都作了明确规定。由于通信设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。
在讨论RS-232C接口标准的内容之前,先说明两点:
终端
首先,RS-232-C标准最初是远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communicate Equipment)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了。
收发
其次,RS-232C标准中所提到的“发送”和“接收”,都是站在DTE立场上,而不是站在DCE的立场来定义的。由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。
图1 AT90S2313 MAX232 AVR微控制器串口电路图
图2 RS232接口电路图
单片机的串口是TTL电平,在实际应用时,需要将TTL电平转换成RS232电平。RS232的接口芯片很多,最著名的当然是maxim公司的max232;跟这个芯片完全兼容的芯片很多,象LINEAR公司的LT1081、LT1181,HARRIS的ICL232等,都是十分著名且常用的芯片,LINEAR的串行接口转换芯片在早期的电路设计中经常可以见到,但是近来好像比较少见了。ICL232比MAX232便宜。
看MAX232的原理框图,需要注意到2点:
1)需要外接电容0.1u电容,或者1u的胆电解电容或电解电容,有一款232芯片不需要外接电容,但是因为在芯片中做一个达到电容效果的电路是比较难,所以也比较贵;所以一般都选用外接电容的;之所以需要电容,是因为RS232电平是工作在大约-9V~+9V之间,需要电容将5V电压转换成Rs232电平所需要的+10V和-10V;电路上叫电荷泵,很形象;
2)Rs232的逻辑和TTL是正好相反的。在框图上,输入和输出之间的逻辑是反的;对于TTL电平,当没有232信号发出时,是高电平;对于RS232来说,这时,TX端是-8~9V电压,相对于0V来说;如果有了信号,那就是从+9V~-9V交错变化的一系列信号,使用示波器可以看到信号的变化。
利用以上的特点,我们可以测试RS232接口电路的好坏。
1)判断芯片是否正常,参见MAX232的框图,使用万用表测量2和6脚,只要2脚的电压在+8V~+9V之间、6脚在-8V~-9V之间,就基本上可以断定这个芯片是好的;
2)在Rs232没有发信号时,看TX端电压为Rs232的高电平,也就是-8V~-9V之间,当发信号时,数据在变化,这说明这个Rs232的端口是好的;这个方法也适用于测量本地的串口。
早起的RS232接口芯片是MC1488(发送)、MC1489。MC1489因为只有接收,所以是单5V电源工作;MC1488则需要正负12V电源;但是在工控机的板卡中,正负电源不是问题,所以在moxaC168等多串口卡中,仍然使用MC1488、MC1489,价格便宜成本低。这种芯片,motorola的居多。
RS232的驱动能力是比较强的,至少在10几米以上,比较胆子大的,用在20~30米甚至更远;这时,最好使用屏蔽线效果会更好一些。
由于RS232接口电路是PC机和用户开发系统的唯一通路,因此,它是在线调试和下载功能实现的关键。在用户系统的开发研制过程中,经常会出现在线通信故障问题。导致该现象发生的原因有很多,但最有可能的是接口电路工作异常所产生。要判断RS232接口电路工作是否正常,可按以下步骤逐一检查RS232通信是否正常。
①V+和V-引脚电压是否足够高(分别超过+8V和-8V)。若电压较低,则可能ADM202芯片已损坏。
②R1IN脚是否存在±12V的脉冲信号。若存在,则说明PC机方面通信发送信号正常。
③R1OUT脚是否存在+5V信号。若存在,则说明ADM202接收PC机信号工作正常。
④T1IN脚是否存在+5V信号。若存在,则说明ADμC812对PC机的通信产生响应;否则是ADμC812通信存在问题,说明ADμC812工作不正常。
⑤T1OUT脚是否存在±12V的脉冲信号。若存在,但ADμC812还无法进入在线调试状态,则说明DB9与PC机之间的串行接口电缆有问题。
1、用示波器观察MAX232的TXD的波形是规则的0,1变化的波形,只是幅度很大;而RXD不是很规则的0,1变化,上升沿出现割角,斜边电压稍微有大小起伏。可是TTL输出都是规则的0,1变化波形!!
2、用万用表测量电压(VCC=5V):
第2脚有8.7V-9.3V的变化,
第6脚有-8.4--(-9.0V)变化;
1-3脚为4.9V-4.9V;
4-5脚为0.02V-3.9V
串口通讯的硬件电路如上图所示,我们可以采用以下方法来判断串口是否存在硬件问题,将MAX232的第9脚接地,测量一下串口的第3脚和第5脚之间是否输出10V左右的直流电压?将MAX232的第9脚接正5V,测量一下串口的第3脚和第5脚之间是否输出-10V左右的直流电压?这样可以判断MAX232是否完好和串口线的排线压接处是否有接触不良。
全部0条评论
快来发表一下你的评论吧 !