一.原理图
1. RS485接口6KV防雷电路设计方案

图1  RS485接口防雷电路
图1 RS485接口防雷电路

接口电路设计概述:

RS485用于设备与计算机或其它设备之间通讯,在产品应用中其走线多与电源、功率信号等混合在一起,存在EMC隐患。

本方案从EMC原理上,进行了相关的抑制干扰和抗敏感度的设计,从设计层次解决EMC问题。
电路EMC设计说明:

(1) 电路滤波设计要点:

L1为共模电感,共模电感能够对衰减共模干扰,对单板内部的干扰以及外部的干扰都能抑制,能提高产品的抗干扰能力,同时也能减小通过429信号线对外的辐射,共模电感阻抗选择范围为120Ω/100MHz ~2200Ω/100MHz,典型值选取1000Ω/100MHz;

C1、C2为滤波电容,给干扰提供低阻抗的回流路径,能有效减小对外的共模电流以同时对外界干扰能够滤波;电容容值选取范围为22PF~1000pF,典型值选取100pF;若信号线对金属外壳有绝缘耐压要求,那么差分线对地的两个滤波电容需要考虑耐压;

当电路上有多个节点时要考虑降低或去掉滤波电容的值。C3为接口地和数字地之间的跨接电容,典型取值为1000pF, C3容值可根据测试情况进行调整;

(2) 电路防雷设计要点:

为了达到IEC61000-4-5或GB17626.5标准,共模6KV,差摸2KV的防雷测试要求,D4为三端气体放电管组成第一级防护电路,用于抑制线路上的共模以及差模浪涌干扰,防止干扰通过信号线影响下一级电路;

气体放电管标称电压VBRW要求大于13V,峰值电流IPP要求大于等于143A;

峰值功率WPP要求大于等于1859W;

PTC1、PTC2为热敏电阻组成第二级防护电路,典型取值为10Ω/2W;

为保证气体放电管能顺利的导通,泄放大能量必须增加此电阻进行分压,确保大部分能量通过气体放电管走掉;

D1~D3为TSS管(半导体放电管)组成第三级防护电路,TSS管标称电压VBRW要求大于8V,峰值电流IPP要求大于等于143A;峰值功率WPP要求大于等于1144W;

接口电路设计备注:

如果设备为金属外壳,同时单板可以独立的划分出接口地,那么金属外壳与接口地直接电气连接,且单板地与接口地通过1000pF电容相连;

如果设备为非金属外壳,那么接口地PGND与单板数字地GND直接电气连接。

二. PCB设计

1. RS485接口电路布局

图1  RS485接口滤波及防护电路布局
图1 RS485接口滤波及防护电路布局

方案特点:

(1)防护器件及滤波器件要靠近接口位置处摆放且要求摆放紧凑整齐,按照先防护后滤波的规则,走线时要尽量避免走线曲折的情况;

(2) 共模电感与跨接电容要置于隔离带中。

方案分析:

(1)接口及接口滤波防护电路周边不能走线且不能放置高速或敏感的器件;
(2) 隔离带下面投影层要做掏空处理,禁止走线。

2. RS485接口电路分地设计

方案特点:

(1)为了抑制内部单板噪声通过RS485接口向外传导辐射,也为了增强单板对外部干扰的抗扰能力,在RS485接口处增加滤波器件进行抑制,以滤波器件位置大小为界,划分出接口地;

(2)隔离带中可以选择性的增加电容作为两者地之间的连接,电容C4、C5取值建议为1000pF,信号线上串联共模电感CM与电容滤波,并与接口地并联GDT和TVS管进行防护;且所有防护器件都靠近接口放置,共模电感CM置于隔离带内,具体布局如图示。

方案分析:

(1)当接口与单板存在相容性较差或不相容的电路时,需要在接口与单板之间进行“分地”处理,即根据不同的端口电压、电平信号和传输速率来分别设置地线。“分地”,可以防止不相容电路的回流信号的叠加,防止公共地线阻抗耦合;
(2)“分地”现象会导致回流信号跨越隔离带时阻抗变大,从而引起极大的EMC风险,因此在隔离带间通过电容来给信号提供回流路径。

本文转载自: 电子发烧友---张飞实战电子
转载地址:http://m.elecfans.com/article/633648.html
声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有,如涉及侵权,请联系小编邮箱:cathy@eetrend.com 进行处理。

围观 3

RS485通信想必大家都知道,在学习RS232时,都会拿485(RS485下文就用485代替)和其作对比。485优缺点不说,网上有。

我用的是STM32库函数学的485通信,所以接下来就讲讲STM32串口实现485双机通信的原理:

485和232都是基于串口的通讯接口,在数据的收发操作上都是一致的。但是他两的通讯模式却大不相同~!232是全双工(例:A->B的同时B->A,瞬时同步)工作模式,而485是半双工(发时不能收,收时不能发)工作模式。在232通信中,主机在发送数据的同时可以收到从机发过来的数据;但在485通信中,收发要经过模式位的切换来进行,譬如,发送数据时,会把模式为置‘1’,表示为发送模式,此时不能接收;当接收数据时,会把模式位置‘0’,表示为接收模式,此时不能发送。

在讲STM32串口实现485双机通信的原理之前,先来复习一下串口中的中断知识点:

串口的中断类型有很多种。这里主要讲两种:接收到数据中断和发送数据完成中断。这两个中断跟两个标志位有密切关系:RXNE(读数据寄存器非空)和TC(发送完成)。譬如在接收到数据的时候(RXNE,读数据寄存器非空),我们要产生中断。在发送数据结束的时候(TC,发送完成)要产生中断。这两种中断的产生方法都是在开启串口中断函数(USART_ITConfig();)中配置。并在获取中断状态函数(USART_ITStatus();)中判断是发送中断还是接受中断。

注意:1、有人问当产生接收中断时,没看到程序中清除中断标志啊,那不就一直中断下去了吗?这里官方规定有两种方法清除中断标志(书里面也有):1、尽快读取USART_DR(数据寄存器),通过读USART_DR可以将该位清零;2、可以直接向该位写‘0’,直接清零。

2、两块板子的串口波特率一定要相同,否则将得不到想要的数据。

STM32串口实现485双机通信的原理(库函数):
1、在主函数中,扫描按键。一旦key0按下,首先将5个字节的数据存入rs485buf[]数组中,然后调用RS485_Send_Data(rs485buf,5);函数将5个字节的数据发送到串口。

“”

2、进入RS485_Send_Data();函数中,先通过标志位将485设置为发送模式(RS485_TX_EN=1),然后循环5次,将这5个字节数据,通过库函数:USART_Send_Data();发送到USART_DR寄存器(自动发送),最后通过标志位将485设置为接收模式(RS485_TX_EN=0)。

“”

 
3、前两个是发送。现在是接收了。主函数中通过RS485_Receive_Data();不停的接收。

4、进入RS485_Receive_Data();函数中,

如果一直没有按按键,则不会发送数据,也就不会产生接收中断,也就不会往我们定义的接收缓冲区(RS485_RX_BUF[64])里写数据。RS485_RX_CNT计数器的值也就是‘0’,对应在RS485_Receive_Data();函数中就不会进入里面的if语句(下图中红框)

“”

如果按键按下了,就会发送数据,就会产生接收中断,就会往我们定义的接收缓冲区(RS485_RX_BUF[64])里写数据,RS485_RX_CNT计数器的值也就开始自增,对应在RS485_Receive_Data();函数中就会进入里面的if语句,从之前定义的接收缓冲区(RS485_RX_BUF[64])里面取数据。

5、最后就将取出来的数据(接收到的数据)显示出来。

本文转载自与非网
转载地址:http://www.eefocus.com/mcu-dsp/m/393577
声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有,如涉及侵权,请联系小编进行处理。

围观 8