RS-485/232远程I/O,数据采集/开关量采集
产品概述:
产品包括电源调理,开关量采集、开关量输出和RS-485串行通信。每个串口***多可接255只IBF60系列模块,通讯方式采用ASCII码通讯协议或MODBUS RTU通讯协议,波特率可由代码设置,能与其他厂家的控制模块挂在同一RS-485总线上,便于计算机编程。
IBF60产品实现传感器和主机之间的信号采集与控制,用来检测开关量信号,或者控制设备运行。IBF60系列产品可应用在 RS-232/485总线工业自动化控制系统,开关量信号测量和控制,高低电平信号的测量与输出以及工业现场信号隔离及长线传输等等。

IBF60系列产品按工业标准设计、制造,信号输入 / 输出之间不隔离,抗干扰能力强,可靠性高。工作温度范围- 45℃~+85℃。
IBF60系列产品是基于单片机的智能监测和控制系统,所有的用户设定的地址,波特率,数据格式,校验和状态等配置信息都储存在非易失性存储器EEPROM里。
产品特点:
● 可靠性高,编程方便,易于应用
● 标准DIN35导轨安装,方便集中布线
● 八路开关量输入,八路开关量输出
● 通过RS-485/232接口可以设定输出状态
● 宽电源供电范围:8 ~ 32VDC
● 用户可编程设置模块地址、波特率等
● 信号输入,输出及电源之间不隔离
● 支持Modbus RTU 通讯协议,自动识别协议
● 低成本、小体积、模块化设计
● 通过RS-485/232接口可以读取输入的电平状态
● 外形尺寸:120 x 70 x 43mm
典型应用:
● 电平信号测量、监测和控制
● RS-232/485总线工业自动化控制系统
● 传感器信号的测量
● 工业现场数据的获取与记录
● 工业现场信号隔离及长线传输
● RS-485远程I/O,数据采集
● 智能楼宇控制、安防工程等应用系统
● 设备运行监测与控制
● 开关量信号采集
功能简介:
IBF60 远程I/O模块,可以用来测量八路开关量信号,并有八路开关量输出。
1、 开关量信号输入与输出
8路开关量信号输入,可接干接点和湿接点,详细请参考接线图部分;8路开关量信号输出集电极开路输出。
2、 抗干扰
可根据需要设置校验和。模块内部有瞬态***二极管,可以有效***各种浪涌脉冲,保护模块。
3、 通讯协议
通讯接口: 1路标准的RS-485通讯接口或1路标准的RS-232通讯接口,订货选型时注明。
通讯协议:支持两种协议,命令集定义的字符协议和MODBUS RTU通讯协议。模块自动识别通讯协议,能实现与多种品牌的PLC、RTU或计算机监控系统进行网络通讯。
数据格式:10位。1位起始位,8位数据位,1位停止位。
通讯地址(0~255)和波特率(2400、4800、9600、19200、38400、57600 、115200bps)均可设定;通讯网络***长距离可达1200米,通过双绞屏蔽电缆连接。
通讯接口高抗干扰设计,&plu***n;15KV ESD保护,通信响应时间小于100mS。
产品选型:

IBF60 - □
通讯接口
485: 输出为RS-485接口
232: 输出为RS-232接口
选型举例1: 型号:IBF60 -232 表示通讯接口为RS-232
选型举例2: 型号:IBF60 -485 表示通讯接口为RS-485
IBF60通用参数:
(typical @ +25℃,Vs为24VDC)
功率消耗: 小于0.5W
工作湿度: 10 ~ 90% (无凝露)
输入类型: 开关量输入,8通道(DI0~DI7)。
低电平: 输入 < 1V
高电平: 输入 3.5 ~ 30V
输入电阻: 大于10KΩ
隔离耐压: 非隔离
输出类型: 集电极开路输出,电压0~30V,***大负载电流30mA,8通道(DO0~DO7)。
通 讯: 协议 RS-485 或 RS-232 标准字符协议 和 MODBUS RTU通讯协议
波特率(2400、4800、9600、19200、38400、57600 、115200bps)可软件选择
地址(0~255)可软件选择
通讯响应时间:100 ms ***大
存储湿度: 10 ~ 95% (无凝露)
外形尺寸: 120 mm x 70 mm x 43mm
工作电源: +8 ~ 32VDC宽供电范围,内部有防反接和过压保护电路
存储温度: - 45 ~ +80℃
工作温度: - 45 ~ +80℃
引脚定义:
|
引脚 |
名 称 |
描 述 |
引脚 |
名 称 |
描 述 |
|
1 |
DO7 |
通道7开关量信号输出端 |
11 |
DO1 |
通道1开关量信号输出端 |
|
2 |
DO6 |
通道6开关量信号输出端 |
12 |
DO0 |
通道0开关量信号输出端 |
|
3 |
DO5 |
通道5开关量信号输出端 |
13 |
DI0 |
通道0开关量信号输入端 |
|
4 |
DO4 |
通道4开关量信号输出端 |
14 |
DI1 |
通道1开关量信号输入端 |
|
5 |
DO3 |
通道3开关量信号输出端 |
15 |
DI2 |
通道2开关量信号输入端 |
|
6 |
DO2 |
通道2开关量信号输出端 |
16 |
DI3 |
通道3开关量信号输入端 |
|
7 |
DATA+ |
RS-485信号正端 |
17 |
DI4 |
通道4开关量信号输入端 |
|
8 |
DATA- |
RS-485信号负端 |
18 |
DI5 |
通道5开关量信号输入端 |
|
9 |
PW+ |
电源正端 |
19 |
DI6 |
通道6开关量信号输入端 |
|
10 |
GND |
电源负端,信号地 |
20 |
DI7 |
通道7开关量信号输入端 |
表1 引脚定义
IBF60字符协议命令集:
模块的出厂初始设置,如下所示:
地址代码为01
波特率9600 bps
禁止校验和
如果使用 RS-485网络,必须分配一个***的地址代码,地址代码取值为16进制数在00和FF之间,由于新模块的地址代码都是一样的,他们的地址将会和其他模块矛盾,所以当你组建系统时,你必须重新配置每一个IBF60模块地址。可以在接好IBF60模块电源线和RS485通讯线后,通过配置命令来修改IBF60模块的地址。波特率,校验和状态也需要根据用户的要求而调整。而在修改波特率,校验和状态之前,必须让模块***入缺省状态,否则无法修改。
让模块进入缺省状态的方法:
IBF60模块边上都有一个INIT的开关,在模块的侧面位置。将INIT开关拨到INIT位置,再接通电源,此时模块进入缺省状态。在这个状态时,模块的配置如下:
地址代码为00
波特率9600 bps
禁止校验和
这时,可以通过配置命令来修改IBF60模块的波特率,校验和状态等参数。在不确定某个模块的具体配置时,也可以将INIT开关拨到INIT位置,使模块进入缺省状态,再对模块进行重新配置。
注: 正常使用时请将INIT开关拨到NORMAL位置。
字符协议命令由一系列字符组成,如首码、地址ID,变量、可选校验和字节和一个用以显示命令结束符(cr)。主机除了带通配符地址“**”的同步的命令之外,一次只指挥一个IBF60模块。
命令格式:(Leading Code)(Addr)(Command)[data][checksum](cr)
(Leading code) 首码是命令中的***个字母。所有命令都需要一个命令首码,如%,$,#,@,...等。 1- 字符
(Addr) 模块的地址代码, 如果下面没有指定,取值范围从 00~FF (十六进制)。 2- 字符
(Command) 显示的是命令代码或变量值。 变量长度
[data] 一些输出命令需要的数据。 变量长度
[checksum] 括号中的Checksum(校验和)显示的是可选参数,只有在启用校验和时,才需要此选项。 2- 字符
(cr) 识别用的一个控制代码符,(cr)作为回车结束符,它的值为0x0D。 1- 字符
当启用校验和(checksum)时,就需要[Checksum]。它占2-字符。命令和应答都必须附加校验和特性。校验和用来检查所有输入命令,来帮助你发现主机到模块命令错误和模块到主机响应的错误。校验和字符放置在命令或响应字符之后,回车符之前。
计算方法:两个字符,十六进制数,为之前所发所有字符的ASCII码数值之和,然后与十六进制数0xFF相与所得。
应用举例:禁止校验和(checksum)
用户命令 $002(cr)
模块应答 !00020600 (cr)
启用校验和(checksum)
用户命令 $002B6 (cr)
模块应答 !00020600 A9 (cr)
‘$’ = 0x24 ‘0’ = 0x30 ‘2’ = 0x32
B6=(0x24+0x30+0x30+0x32) AND 0xFF
‘!’ = 0x21 ‘0’ = 0x30 ‘2’ = 0x32 ‘6’ = 0x36
A9=(0x21+0x30+0x30+0x30+0x32+0x30+0x36+0x30+0x30) AND 0xFF
命令的应答 :
应答信息取决于各种各样的命令。应答也由几个字符组成,包括首代码,变量和结束标识符。应答信号的首代码有两种, ‘!’或 ‘>’表示有效的命令而‘?’ 则代表无效。通过检查应答信息,可以监测命令是否有效
注意:1、在一些情况下,许多命令用相同的命令格式。要确保你用的地址在一个命令中是正确的,假如你用错误的地址,而这个地址代表着另一个模块,那么命令会在另一个模块生效,因此产生错误。
2、必须用大写字母输入命令。
3、(cr)代表键盘上的回车符,不要直接写出来,应该是敲一下回车键(Enter键)。
1、读取开关状态命令
说 明:从模块中读回所有输出通道开关量状态和输入通道开关量状态。
命令格式:$AA6(cr)
参数说明:$ 分界符。十六进制为24H
AA 模块地址,取值范围 00~FF(十六进制)。出厂地址为01,转换成十六进制为每个字符的ASCII码。如地址01换成十六进制为30H和31H。
(cr) 结束符,上位机回车键,十六进制为0DH。
应答格式:! (dataOutput) (dataInput)00(cr) 命令有效。
?AA(cr) 命令无效或***操作。
参数说明:! 分界符。十六进制为21H
(dataOutput) 代表读取到的输出开关状态,两个16进制数,
|
DO7 |
DO6 |
DO5 |
DO4 |
DO3 |
DO2 |
DO1 |
DO0 |
|
Bit7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit2 |
Bit 1 |
Bit 0 |
|
dataOutput |
|||||||
***个数代表7~4通道
第二个数代表3~0通道
位值为 0:
输出三极管不导通
位值为 1:
输出三极管导通
十六进制为每个字符的ASCII码。
(dataInput) 代表读取到的开关状态,两个16进制数,
|
DI7 |
DI6 |
DI5 |
DI4 |
DI3 |
DI2 |
DI1 |
DI0 |
|
Bit7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit2 |
Bit 1 |
Bit 0 |
|
dataInput |
|||||||
***个数代表7~4通道
第二个数代表3~0通道
位值为 0:输入为低电平
位值为 1:输入为高电平。
十六进制为每个字符的ASCII码。
? 分界符,表示命令无效。
AA 代表输入模块地址
(cr) 结束符,上位机回车键,十六进制为0DH。
其他说明:假如格式错误或通讯错误或地址不存在,模块不响应。
如果你使用的串口通讯软件输入不了回车键字符,请切换到十六进制格式进行通讯。
应用举例: 用户命令(字符格式) $016(cr)
(十六进制格式) 243031360D
模块应答(字符格式) !221100 (cr)
(十六进制格式):213232313130300D
说 明:读取到输出的数据是22,转成2进制是0010 0010,那么地址01H模块上输出开关状态是:
通道0:三极管不导通 通道1:三极管导通 通道2:三极管不导通 通道3:三极管不导通
通道4:三极管不导通 通道5:三极管导通 通道6:三极管不导通 通道7:三极管不导通
读取到输入的数据是11,转成2进制是0001 0001,那么地址01H模块上输入开关状态是:
通道0:高电平 通道1:低电平 通道2:低电平 通道3:低电平
通道4:高电平 通道5:低电平 通道6:低电平 通道7:低电平
2、设置开关量输出命令
说 明:设置所有输出通道开关量状态。
命令格式:#AABB(data) (cr)
参数说明:# 分界符。十六进制为24H
AA 模块地址,取值范围 00~FF(十六进制)。出厂地址为01,转换成十六进制为每个字符的ASCII码。如地址01换成十六进制为30H和31H。
|
DO7 |
DO6 |
DO5 |
DO4 |
DO3 |
DO2 |
DO1 |
DO0 |
|
Bit7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit2 |
Bit 1 |
Bit 0 |
|
dataOutput |
|||||||
BB 通道选择,可选择全部输出通道或单个输出通道。设置BB为00,则表示对全部输出通道进行设置。如对单个通道进行设置,则***个字符B必须设置为1,第二个字符B可设为0-7,代表8个DO输出通道。
(data) 输出值。
1, 如果是对所有通道设置(BB=00),
则为两个16进制数,
***个数代表7~4通道
第二个数代表3~0 通道
位值为 0:
设置输出三极管不导通
位值为 1:
设置输出三极管导通
2, 如果是对单个通道设置(BB=1X, X表示要设定的通道),则只能设置为00或01,
00:设置X通道输出三极管不导通
01:设置X通道输出三极管导通
(cr) 结束符,上位机回车键,十六进制为0DH。
应答格式:>(cr) 命令有效。
?AA(cr) 命令无效或***操作。
参数说明:> 分界符。十六进制为3EH。
? 分界符,表示命令无效。
AA 代表输入模块地址
(cr) 结束符,上位机回车键,十六进制为0DH。
其他说明:假如格式错误或通讯错误或地址不存在,模块不响应。
如果你使用的串口通讯软件输入不了回车键字符,请切换到十六进制格式进行通讯。
应用举例1: 用户命令(字符格式) #010022(cr)
(十六进制格式) 233031303032320D
模块应答(字符格式) >(cr)
(十六进制格式):3E0D
说 明:模块地址01H,设置所有通道(BB=00)的输出为22H,转成2进制是0010 0010,那么地址01H模块上输出的开关状态是:
通道0:三极管不导通 通道1:三极管导通 通道2:三极管不导通 通道3:三极管不导通
通道4:三极管不导通 通道5:三极管导通 通道6:三极管不导通 通道7:三极管不导通
应用举例2:用户命令(字符格式) #011201(cr)
(十六进制格式) 233031313230310D
模块应答(字符格式) >(cr)
(十六进制格式):3E0D
说 明:模块地址01H,设置通道2的三极管导通。
3、配置IBF60模块命令
说 明:对一个IBF60模块设置地址,波特率,校验和状态。配置信息储存在非易失性存储器EEPROM里。
命令格式:%AANNTTCCFF(cr)
参数说明:% 分界符。
AA 模块地址,取值范围 00~FF(十六进制)。出厂地址为01,转换成十六进制为每个字符的ASCII码。如地址01换成十六进制为30H和31H。
NN 代表新的模块16进制地址,数值NN的范围从00到FF。转换成十六进制为每个字符的ASCII码。如地址18换成十六进制为31H和38H。
TT 用16进制代表类型编码。IBF60产品必须设置为00。
CC 用16进制代表波特率编码。
|
波特率代码 |
波特率 |
|
04 |
2400 baud |
|
05 |
4800 baud |
|
06 |
9600 baud |
|
07 |
19200 baud |
|
08 |
38400 baud |
|
09 |
57600 baud |
|
0A |
115200 baud |
表2 波特率代码
FF 用16进制的8位代表数据格式,校验和。注意从bits0 到bits5不用必须设置为零。
|
Bit7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit2 |
Bit 1 |
Bit 0 |
表3 数据格式,校验和代码
Bit7:保留位,必须设置为零
Bit6:校验和状态,为0:禁止; 为1:允许
Bit5-bit0:不用,必须设置为零。
(cr) 结束符,上位机回车键,十六进制为0DH。
应答格式:!AA(cr) 命令有效。
?AA(cr) 命令无效或***操作,或在改变波特率或校验和前,没有将INIT开关拨到INIT位置。
参数说明:! 分界符,表示命令有效。
? 分界符,表示命令无效。
AA 代表输入模块地址
(cr) 结束符,上位机回车键,十六进制为0DH。
其他说明:假如你***次配置模块,AA=01H,NN等于新的地址。假如重新配置模块改变地址、输入范围、数据格式,AA等于当前已配置的地址,NN等于当前的或新的地址。假如要重新配置模块改变波特率或校验和状态,则必须将INIT开关拨到INIT位置,使模块进入缺省状态,此时模块地址为00H,即 AA=00H,NN等于当前的或新的地址。
假如格式错误或通讯错误或地址不存在,模块不响应。
应用举例: 用户命令 %0111000600(cr)
模块应答 !11(cr)
说 明:% 分界符。
01 表示你想配置的IBF60模块原始地址为01H。
11 表示新的模块16进制地址为11H。
00 类型代码,IBF60产品必须设置为00。
06 表示波特率9600 baud。
00 表示禁止校验和。
4、读配置状态命令
说 明: 对指定一个IBF60模块读配置。
命令格式:$AA2(cr)
参数说明:$ 分界符。
AA 模块地址,取值范围 00~FF(十六进制)。
2 表示读配置状态命令
(cr) 结束符,上位机回车键,十六进制为0DH。
应答格式:!AATTCCFF(cr) 命令有效。
?AA(cr) 命令无效或***操作。
参数说明:! 分界符。
AA 代表输入模块地址。
TT 代表类型编码。
CC 代表波特率编码。见表2
FF 见表3
(cr) 结束符,上位机回车键,十六进制为0DH。
其他说明:假如格式错误或通讯错误或地址不存在,模块不响应。
应用举例: 用户命令 $302(cr)
模块应答 !300F0600(cr)
说 明:! 分界符。
30 表示IBF60模块地址为30H 。
00 表示输入类型代码。
06 表示波特率9600 baud。
00 表示禁止校验和。
5、读模块名称命令
说明:对指定一个IBF60模块读模块名称。
命令格式:$AAM(cr)
参数说明:$ 分界符。
AA 模块地址,取值范围 00~FF(十六进制)。
M 表示读模块名称命令
(cr) 结束符,上位机回车键,十六进制为0DH。
应答格式:!AA(ModuleName)(cr) 命令有效。
?AA(cr) 命令无效或***操作
参数说明:! 分界符,表示命令有效。
? 分界符,表示命令无效。
AA 代表输入模块地址。
(ModuleName) 模块名称IBF60
(cr) 结束符,上位机回车键,十六进制为0DH。
其他说明:假如格式错误或通讯错误或地址不存在,模块不响应。
应用举例: 用户命令 $08M(cr)
模块应答 !08IBF60 (cr)
说 明:在地址08H模块为IBF60。
6、设定复位输出命令
说明:设置指定模块的复位输出状态。
命令语法:$AA7VV(cr)
参数说明:$ 分界符。
AA 模块地址,取值范围 00~FF(十六进制)。
7 表示启动或禁止模块的数据采集通道命令
VV 两个16进制数。
***个数代表7~4通道
第二个数代表3~0 通道
位值为 0:
设置输出三极管不导通
位值为 1:
设置输出三极管导通
|
DO7 |
DO6 |
DO5 |
DO4 |
DO3 |
DO2 |
DO1 |
DO0 |
|
Bit7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit2 |
Bit 1 |
Bit 0 |
|
VV |
|||||||
(cr) 结束符,上位机回车键(0DH)。
响应语法:!AA(cr) 命令有效。
?AA(cr) 命令无效或***操作
参数说明:! 分界符,表示命令有效。
? 分界符,表示命令无效。
AA 代表输入模块地址。
(cr) 结束符,上位机回车键(0DH)。
其他说明:假如语法错误或通讯错误或地址不存在,模块不响应。
应用举例: 用户命令 $017FF(cr)
模块应答 !01 (cr)
说 明: 设置通道值为0xFF。
设置所有输出三极管导通
1)数字接口电路
ADC的数字接口电路部分与微控制器相连,可以分为并行接口形式和串行接口形式。
大多数ADC的数据输出具备并行接口,能方便地与微控制器的数据总线连接,且其数据传输速度饮。ADC的数据总线宽度以8位、16位居多,许多10位至16位的ADC既能以16位接口方式与16位微控制器直接相连,也能以8位接口方式与8位的微控制器相连,分高8位和低8位两字节传送。并行接口除了并行的数据线外,还需要若干控制信号线和状态信号线,如启动转换信号线、转换结束信号线、读信号线、写信号线、片选信号线等。各种ADC的芯片各不相同,因此在设计接口电路时,必须针对具体型号的芯片仔细阅读各信号的定义和时序及所用微控制器的总线时序,以设计出满足时序要求的接口电路。
串行接口只需要一根双向数据线或两条数据传输方向相反的数据线和***的控制线
这就能大大减少芯片的引脚数目,使芯片的封装小型化,进一步简化整机布线。多数微控制器都带有串行接口,这为串行数据输出的ADC使用带来了极大的方便。由于数据传输是以串行的方式进行的,所以数据传输率较低,但随着芯片工作频率的提升,串行传输速率已有很大提高。常见的串行接口有通用异步接受/发送器UART (Universal AsynchronousReceiver/Tran***itter),串性外围接口SPI (Serial Peripheral Interface ), IC总线(Inter ICBus)。
Modbus RTU 通讯协议:
模块的出厂初始设置,如下所示:
Modbus地址为01
波特率9600 bps
让模块进入缺省状态的方法:
IBF60模块边上都有一个INIT的开关,在模块的侧面位置。将INIT开关拨到INIT位置,再接通电源,此时模块进入缺省状态。在这个状态时,模块暂时***为默认的状态:地址为01,波特率为9600。在不确定某个模块的具体配置时,用户可以查询地址和波特率的寄存器40201-40202,得到模块的实际地址和波特率,也可以跟据需要修改地址和波特率。
注: 正常使用时请将INIT开关拨到NORMAL位置。
支持Modbus RTU通讯协议,命令格式按照标准Modbus RTU通讯协议。
支持功能码01,读线圈状态。1表示高电平, 0表示低电平。
支持功能码05,设置单个线圈。1表示三极管导通, 0表示三极管断开。
支持功能码03(读保持寄存器)和功能码06(写单个寄存器),
Modbus RTU 通讯协议应用举例:
1,支持Modbus RTU通讯协议功能码01(读线圈状态),命令格式按照标准Modbus RTU通讯协议。
通讯举例:假如模块地址为01,以16进制发送:0101000000083DCC ,即可取得寄存器的数据。
|
01 |
01 |
00 |
00 |
00 |
08 |
3D |
CC |
|
模块地址 |
读线圈状态 |
线圈地址高位 |
线圈地址低位 |
线圈数量高位 |
线圈数量低位 |
CRC校验低位 |
CRC校验高位 |
假如模块回复:010101031189即读到的数据为0x03, ***后一位换成2进制即 0000 0011。
即表明现在输出三极管通道2~7断开,通道1和0接通。
|
01 |
01 |
01 |
03 |
11 |
89 |
|
模块地址 |
读线圈状态 |
数据的字节数 |
数据 |
CRC校验低位 |
CRC校验高位 |
2,支持Modbus RTU通讯协议功能码05(设置单个线圈),命令格式按照标准Modbus RTU通讯协议。
通讯举例:假如模块地址为01,以16进制发送:01050000FF008C3A ,数据为0xFF00表示设置三极管导通。如果数据为0x0000则表示断开三极管(命令:010500000000CDCA)
|
01 |
05 |
00 |
00 |
FF |
00 |
8C |
3A |
|
模块地址 |
设置单个线圈 |
线圈地址高位 |
线圈地址低位 |
数据高位 |
数据低位 |
CRC校验低位 |
CRC校验高位 |
假如模块回复:01050000FF008C3A即设置成功
|
01 |
05 |
00 |
00 |
FF |
00 |
8C |
3A |
|
模块地址 |
设置单个线圈 |
线圈地址高位 |
线圈地址低位 |
数据高位 |
数据低位 |
CRC校验低位 |
CRC校验高位 |
2)电源和接地
ADC是模拟信号和数字信号混合的电路。模拟信号部分是精密的信号处理部分,如分辨率为12位的5V量程的ADC所对应1LSB的模拟电压为1.22mV。数字信号部分是与,统的其他逻辑电路连接在一起的,以脉冲信号工作,信号幅度大,频谱宽,对于模拟信号来说是一个重要的干扰源,地线噪声高到几+ mV甚至几百mV,如果接地不当,布线不良,数字噪声会严重影响模拟信号部分的精度或产生乱码(即模拟输入电压不变,但数字输出低位值随机性跳动),因此高分变率或高速模数转换系统要特别重视印制电路板的布线(优其是地线)和电源的去耦。
不良的地线连接方式如图3.8.1所示,图中地线上的电感和电阻是印制电路上的地线分
布电感和分布电阻,而且该电路中的数字地线电流所产生的地线噪声会严重干扰模拟电
路,因此该方式是一种不良的接地方式。
改进的接地连接方式如图3.8.2所示,该电路中则采取了以下措施,有利于降低地线噪声的干扰。
(1)将模拟地和数字地分开,并建立一个模拟参考点,所有模拟部分的地都接到这个考点上。在实际布线中做到理想的一点接地是很困难的,但也应尽量合理布局,尽量缩地线长度,同时加大地线的截面积。
(2)多数ADC都有两个接地端:一个是模拟地(AGND),应接模拟参考点或它本身
为模拟参考点:另一个是数字地(DGND),应与数字电路和数字电源地相连.AGND
GND之间只应有一处相连,通常应靠近ADC的引脚连接。
(3)许多ADC需要几种电源电压,一般来说+5V是供数字部分使用的, +15V是供模
分使用的。这两组电源应分别接到数字地和模拟地上。并且要注意这两组电源的变压
H之间应具有良好的绝缘和良好的静电隔离。
4)模数转换的电源应加去糯电容,去耦电容应尽量靠近ADC的电源端。电容一般可
-10uF担电容和0.01~0.1F高频瓷介电容并联。
