振弦采集模块的通讯协议
振弦采集模块的通讯协议
通讯协议是上位机通过 VMXXX 模块支持的数字接口完成信息交互的数据格式、 传输步骤、通讯速率等的一系列预先约定。 上位机必须按照本章描述的通讯协议规则来完成与 VMXXX 的数据交互工作。
寄存器机制
VMXXX 内部维护有若干寄存器, 模块在寄存器参数值的控制下完成振弦传感器的测量工作。寄存器的值总是以整数形式存在, 基本操作单位为“ 字” ( 2 字节整数, 大端模式), 有掉电保存和掉电丢失两种类型(对应“ 读/写” 和“ 只读” 两种属性)。 通过模块的数字接口可完成对寄存器的读取和写入(修改)操作。 寄存器写(修改)寿命典型值为 10 万次, 读取次数没有限制。
数据模式
寄存器数据值采用大端模式, 数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,数据帧传输时先传输低地址字节后传输高字节。每个寄存器对应两个字节,则单个寄存器的值=低字节值*256+高字节值。
使用握手协议
在读写寄存器时,建议使用 VMXXX 模块的握手协议(非必须),当检测到模块空闲时发起寄存器操作(硬件握手详见“ 2.3.2 硬件握手” ,软件握手详见“ 3.7.2 软件握手” )。
冲突解决
当模块收到上位机指令时原则上会立即处理并返回应答信息,若模块“正忙” 时, VMXXX 采用测量优先的原则,等待当前测量周期结束才会响应。 不同的工作参数会有不同的“ 忙” 时长(详见“3.15 测量时长与优化” ),在发送指令后,若模块未能及时回复,应继续等待其响应并返回响应信息。 在模块未回复前,向模块发送多条指令没有意义,模块仅会响应最先收到的一条指令。
注:数字接口通讯会在一定程度上影响振弦传感器频率采集精度,不要过于频繁的对数字接口发送指令。