驱动模块

立即采购

产品简介

  驱动模块是一款6路10A继电器直流控制、6路1A继电器直流控制、4路10A继电器220V交流控制的汽车级驱动控制模块。

​ 驱动模块具有1路RS232、1路485通讯接口,系统可同时支持RS232和RS485接口通信;系统预留CAN总线,可升级为CAN总线通信接口。

​ 车载驱动模块支持宽范围(8-30V)电源输入,驱动器采用Ti高性能MCU,可实时处理控制响应,板载RTC实时时钟,可精确查询设备当前时间和状态。硬件整体采用铁壳设计,具有超强的抗干扰能力。

​ 车载驱动模块可选配交流电能计量模块,实时统计负载的电压、电流、功率和电能等多个交流电量参数,信息全。

​ 车载驱动模块可以通过串口和计算机相连,根据用户需要及时升级系统固件以支持客户的新需求。

TY_Driver_12V车载驱动模块采用通讯协议:标准的Modbus RTU协议,兼容性好,方便客户使用计算机、PLC、组态屏等编程。

资源地址及通信协议

1.1 通信协议

​ 驱动模块都使用标准的MODBUS协议通信,MODBUS协议格式为MB-RTU。协议参考modbus协议规范文档。通信过程采用主机主动的方式,主机设置或者查询,从机应答,通信中设置从机超时时间3秒。主机指令按执行顺序下发,等待应答,再下发下一条,等待应答方式。

1.1.1 MODBUS协议

​ 驱动模块采用标准的MODBUS协议进行通信时,只支持该模块具备的功能码。Modbus协议的报文格式如表所示:

表 Modbus协议报文格式

设备ID地址 功能码 协议命令 CRC校验

对于每个模块具备的资源地址,分配一个对应的MODBUS功能码进行操作,具体参考MODBUS RTU协议规范

1.1 驱动模块资源地址

驱动模块的资源地址分配如表所示:

表 驱动模块资源地址分配表

资源地址 功能说明 功能码 备注
继电器控制 0x0000-0x0000 继电器输出控制(0--15) 0x0F 每个地址单元的数据长度为2个字节(16bit)
继电器状态 0x0000-0x000F 继电器状态寄存器 0x01
通信配置 0x0100-0x0102 通信配置寄存器查询 0x03
0x0100-0x0102 通信配置寄存器设置 0x10
时钟 0x0200-0x0204 时钟寄存器查询 0x03
0x0200-0x0204 时钟寄存器设置 0x10
电压 0x0300-0x030A 电压状态寄存器 0x03

继电器控制:设备支持16路继电器直接或者驱动输出,其中4路12VDC 10A信号驱动,8路12VDC1A信号驱动,1路220VAC30A信号驱动,3路220VAC10A信号驱动;

继电器状态,主机可通过查询继电器状态寄存器,获取1-16路继电器的状态0表示断开,1表示连通;

通信配置,主机通过通信配置寄存器,可以查询和设置485及232通信参数;

时钟,当驱动模块配备RTC时钟功能时,主机通过查询和设置RTC时钟寄存器,可以查询和设置驱动模块的时钟;

电压,主机可通过查询电压寄存器的值,获取12V供电电压,220V供电电压的值;

1.1.1 端口资源说明

1. 继电器资源

驱动模块具有16路继电器直接或者驱动输出,占用2个资源寄存器,其资源地址映射如下所示。主机需一次将1-16路继电器,通过0x03指令码,按顺序设置能ON或者OFF,对应的bit值为1或者0。主机也可以一次将1-16路的继电器当前状态值,通过0x01指令码,一次性读入,读入值对应bit为1或者0代表继电器状态是ON或OFF

表 继电器资源地址

端口地址 通道号 说明
0x0000 继电器资源1-8 1-8路继电器按顺序排列 低位
继电器资源9-16 9-16路继电器按顺序排列 高位

注: 每个地址单元的数据长度为2个字节(16bit),低位(低8bit)在前,高位(高8bit)在后。

继电器资源1-8:

​ bit0 ---》 继电器1 0:断开 1:导通

​ bit1 ---》 继电器2 0:断开 1:导通

​ bit2 ---》 继电器3 0:断开 1:导通

​ bit3 ---》 继电器4 0:断开 1:导通

​ bit4 ---》 继电器5 0:断开 1:导通

​ bit5 ---》 继电器6 0:断开 1:导通

​ bit6 ---》 继电器7 0:断开 1:导通

​ bit7 ---》 继电器8 0:断开 1:导通

继电器资源9-16:

​ bit0 ---》 继电器9 0:断开 1:导通

​ bit1 ---》 继电器10 0:断开 1:导通

​ bit2 ---》 继电器11 0:断开 1:导通

​ bit3 ---》 继电器12 0:断开 1:导通

​ bit4 ---》 继电器13 0:断开 1:导通

​ bit5 ---》 继电器14 0:断开 1:导通

​ bit6 ---》 继电器15 0:断开 1:导通

​ bit7 ---》 继电器16 0:断开 1:导通

设置多线圈数据格式为:

设备ID地址 0x01 功能码 0x0F 起始地址 0x0000 继电器数量 0x0010 字节数 0x02 继电器值 0x0000 CRC校验 0xE220

模块应答数据:

设备ID地址 0x01 功能码 0x0F 起始地址 0x0000 继电器数量 0x0010 CRC校验 0x5407

读取多线圈数据格式为:

设备ID地址 0x01 功能码 0x01 起始地址 0x0000 继电器数量 0x0010 CRC校验 0x3DC6

模块应答数据:

设备ID地址 0x01 功能码 0x01 字节数 0x02 继电器值 0xFFFF CRC校验 0xB84C

设置单线圈数据格式为:

设备ID地址 0x01 功能码 0x05 起始地址 0x000C 继电器值 0xFF00 CRC校验 0x4C39

模块应答数据:

设备ID地址 0x01 功能码 0x05 起始地址 0x000C 继电器值 0xFF00 CRC校验 0x4C39

ON

Tx:342-01 05 00 0C FF 00 4C 39

Rx:343-01 05 00 0C FF 00 4C 39

OFF:

Tx:344-01 05 00 0C 00 00 0D C9

Rx:345-01 05 00 0C 00 00 0D C9

继电器驱动模式如下:

2. 通信参数资源

​ 驱动模块具有RS485和RS232两种通信模式,可同时支持两个通道的通信。通信参数资源占用2个资源寄存器,其资源地址映射如下所示。

表 通信参数资源地址

端口地址 资源内容 说明
0x0100 485地址 485通信的地址码资源
485串口参数 通信波特率和奇偶校验
0x0101 不使用 预留字节
232串口参数 通信波特率和奇偶校验

注:

1、232串口通信没有地址信息,默认填00

2、RS485和RS232通信,通信波特率和奇偶校验的具体定义如下

​ 高4位:代表奇偶校验模式

​ 00:偶校验

​ 01:奇校验

​ 02:不校验

​ 低四位:代表波特率

​ 0:1200

​ 1:2400

​ 2:4800

​ 3:9600

​ 4:19200

​ 5:38400

​ 6:57600

​ 7:115200

设置数据格式为:

设备ID地址 0x01 功能码 0x10 起始地址 0x0100 寄存器数量 0x0002 字节数 0x04 参数值 01 27 01 27 CRC校验 0x0E42

模块应答数据:

设备ID地址 0x01 功能码 0x10 起始地址 0x0000 寄存器数量 0x0002 CRC校验 0x4034

读取数据格式为:

设备ID地址 0x01 功能码 0x03 起始地址 0x0100 寄存器数量 0x0002 CRC校验 0xC5F7

模块应答数据:

设备ID地址 0x01 功能码 0x03 字节数 0x04 参数值 01 27 01 27 CRC校验 0xB84C

3. RTC时钟资源

​ 驱动模块可以配置RTC实时时钟资源,当硬件资源配置有RTC时,主机可通过RTC时钟资源设置和查询RTC时钟信息。RTC时钟资源占用4个资源寄存器,其资源地址映射如下所示。

表 RTC时钟资源地址

端口地址 资源内容 说明(HEX格式)
0x0200 00-59秒
00-59分
0x0201 0-23时
星期 0-6星期
0x0202 01-31日
00-11 对应1-12月
0x0203 年数 1900年开始
保留 填00

注:

设置数据格式为:

设备ID地址 0x01 功能码 0x10 起始地址 0x0200 寄存器数量 0x0004 字节数 0x08 参数值 01 00 0A 01 01 01 0D 14 CRC校验 0x193D

模块应答数据:

设备ID地址 0x01 功能码 0x10 起始地址 0x0200 寄存器数量 0x.0004 CRC校验 0xC072

读取数据格式为:

设备ID地址 0x01 功能码 0x03 起始地址 0x0200 寄存器数量 0x0004 CRC校验 0x45B1

模块应答数据:

设备ID地址 0x01 功能码 0x03 字节数 0x08 寄存器值 26 05 0A 05 01 01 71 14 CRC校验 0xFA23

4. 电压测量资源

​ 驱动模块内部会实时监测设备的电源供电信息以及接入220V控制路继电器的220V电压信息,主机可以通过查询电压测量保持寄存器来查询当前值。模块具备内部板上温度测量功能的,测量的温度也在此资源里可查询。

表 电压测量资源地址

端口地址 资源内容 说明
0x0300 220V电源电压 单精度浮点数 低位15--8 Float原值ABCD modbus按 CD AB
单精度浮点数 低位7--0
单精度浮点数 高位15--8
单精度浮点数 高位7--0
0x0304 220V负载电压 单精度浮点数 低位15--8
单精度浮点数 低位7--0
单精度浮点数 高位15--8
单精度浮点数 高位7--0
0x0308 12V车辆电源电压 单精度浮点数 低位15--8
单精度浮点数 低位7--0
单精度浮点数 高位15--8
单精度浮点数 高位7--0
0x030C PCB主板工作电压 单精度浮点数 低位15--8
单精度浮点数 低位7--0
单精度浮点数 高位15--8
单精度浮点数 高位7--0
0x0312 板上温度 单精度浮点数 低位15--8
单精度浮点数 低位7--0
单精度浮点数 高位15--8
单精度浮点数 高位7--0

注:

1、电压测量值为浮点数表示,即4byte表示一个浮点数,协议规定每个寄存器为short型,因此,需要2个寄存器值表达一个电压的浮点数值。此时2寄存器的值也遵循低位在前,高位在后的规则,如:

寄存器0x0300-0x0301的值为

0x0300 80 33

0x0301 41 E6

根据ModBus的低位在先,高位在后规则,首先要把高16byte和低位16byte交换,

应该为浮点数41 E6 80 33 ,

变为32位二进制数:0100 0001 1110 0110 1000 0000 0011 0011

其中最高位为0,代表是正数

接下来的八位:100 0001 1变成十进制是131,根据IEEE规范应减去127得4,这是小数点右移的位数;

剩下的23位是纯二进制小数即:0.110 0110 1000 0000 0011 0011

底数左边省略存储了一个1,加1后得1. 110 0110 1000 0000 0011 0011

小数点右移4位后得11100.110 10000000 00110011

整数部分:

​ =12^4+12^3+12^2+02^1 +0*2^0=28

小数部分: =12^-1+12^-2+02^-3+12^-4+02^-4+02^-5+02^-6+02^-7+

02^-8+02^-9+02^-10+02^-11+02^-12+12^-13+12^-14+02^-15+02^-16+12^-17+1*2^-18

​ =0. 8125972

表示IEEE754标准的32位浮点数单精度浮点数值28.8125972。

3、温度值为PCB IC内部温度值,仅供设备过温状态监测使用,不能表示当前室温。

ModBus tools float CD AB 格式显示

寄存器地址768 数量 10 Tx:01 03 03 00 00 0A C5 89

Rx:1873-01 03 14 00 00 00 00 00 00 00 00 85 1F 41 3F CC CD 41 40 33 33 41 A3 1E 54

0 ,0 ,11.97,12.05,20.4

读取数据格式为:

设备ID地址 0x01 功能码 0x03 起始地址 0x0300 寄存器数量 0x000A CRC校验 0xC589

模块应答数据:

设备ID地址 0x01 功能码 0x03 字节数 0x14 寄存器值 33 80 41 E6 A1 89 41 3A 64 4A 43 3C B9 5D 41 2F 87 ED 3E 1D CRC校验 0xFA23

接线方式:

1、 电源由9.5mm端子输入

2、 RS232、RS485通信线由5557连接,12V输出信号可以给开关盒供电

3、 1—12对应继电器1-12输出,导通时输出12V.(1-6路为10A输出 7-12路为1A输出)

4、 L1—L4对应13 14 15 16继电器输出,导通时输出220V

5、 本驱动模块采用的是总线输出,因此外部负载重时,尽量采用外部扩展继电器输出方式驱动。