[TOC]
物理接口协议
管脚定义
系统的硬件连接为两块FPGA(我方为altera,底板为xilinx)直连,连接方式描述如下(以我方为参考主机设备):
|
|
SYN为数据同步信号,在本系统中为周期为50us,高电平宽度为10us的信号。一次SYN脉冲执行一次时间点的数据传送,SYN也指示了数据步长(一个周期400点)。
ADDR[7:0]和DATABUS[31:0]为地址总线与数据总线,实际使用中数据总线也是输出方向的。
WEn为写操作信号线,低电平指示写信号状态有效。
CLK为写信号脉冲,一个脉冲进行一次数据写入,同时要做地址和数据的切换。
GPIO为备用信号脚。
数据传输流程
一次完整的同步数据写入示意图如下:
|
|
实验输出时SYN以50us为周期循环控制输出。
数据协议
总线上的有效地址空间为0~143(32bit),划分为格式相同的9个采集器数据空间:
| 采集器分区 | 数据空间分区 |
|---|---|
| 采集器1 | 0~15(32bit) |
| 采集器2 | 16~31(32bit) |
| … | … |
| 采集器9 | 128~143(32bit) |
每个采集器有16*32bit的数据空间,划分为两部分:
| 数据分区 | 空间大小 |
|---|---|
| 协议类型数据 | 1*32bit |
| 通道信号数据 | 15*32bit |
协议数据类型在低地址,通道信号数据在高地址。如在采集器1的数据空间中,地址0上为协议类型数据,地址1~15上为通道信号数据。
数据总线字节排列
文档中给出的32位数据总线上的字节排列为大端格式的排列。例如,文档中有这样的自己排列顺序:
| 字节序号 | 数据内容 |
|---|---|
| 0 | 0xaa |
| 1 | 0xbb |
| 2 | 0xcc |
| 3 | 0xdd |
则这四个字节在32位总线上的排列应为0xaabbccdd,而不是0xddccbbaa。这个是要特别注意的一点。
协议类型数据说明
协议类型数据占用一个32位总线空间,具体组成为:
| 报文类型 | rsvd | rsvd | rsvd |
|---|---|---|---|
| 31 24 | 23 16 | 15 8 | 7 0 |
报文类型是一个字节的数据,指示了数据协议的厂家,可能的取值与含义为:
- 0x00:国网同步协议
- 0x01:国网异步协议
- 0x11:新宁光电协议
- 0x21:许继协议
- 0x31:南自协议
- 0x41:南瑞继保协议
- 0xff:无数据
目前支持的是这么多协议,日后还有扩展。
通道信号数据说明
每个采集器通道有15*32bit空间作为信号数据,里面包括线路数据(电压、电流)以及环境数据(温度,延时等),具体的排列方式和内容每个厂家有不同的规定。
新宁光电
每个通道数据长度为8字节,占用2个数据总线空间,具体数据格式为:
| 字节序号 | 数据内容 |
|---|---|
| 1、2 | 保护电流1/电压1 |
| 3、4 | 保护电流2/电压2 |
| 5、6 | 测量电流/保留电压 |
| 7 | 采集器状态 |
| 8 | 校验码 |
许继
每个通道数据长度为24字节,占用6个数据总线空间,具体数据格式为:
| 字节序号 | 数据内容 |
|---|---|
| 1 | 0x01 |
| 2 | 温度 |
| 3、4 | 额定延时 |
| 5、6 | 保护电流1 |
| 7、8 | 保护电流2 |
| 9、10 | 测量电流 |
| 11、12 | 电压1 |
| 13、14 | 电压2 |
| 15、16 | 状态字1 |
| 17 | 0x01 |
| 18 | CRC |
| 19、20 | 状态字2 |
| 21、22 | 采样计数值 |
| 23 | 0x01 |
| 24 | CRC |
南自
每个通道数据长度为11字节,占用3个数据总线空间,具体数据格式为:
| 字节序号 | 数据内容 |
|---|---|
| 1 | 采集器状态 |
| 2 | 温度 |
| 3、4 | 电压 |
| 5、6 | 保护电流1 |
| 7、8 | 保护电流2 |
| 9、10 | 测量电流 |
| 11 | 校验和 |
南瑞继保
每个通道数据长度为53字节,占用13个数据总线空间,具体数据格式为:
| 字节序号 | 数据内容 |
|---|---|
| 1~4 | 0x03e803e8 |
| 5~8 | 0x03e804d2 |
| 9、10 | 0x04d2 |
| 11、12 | A相电压2 |
| 13、14 | B相电压2 |
| 15、16 | C相电压2 |
| 17、18 | CRC |
| 19、20 | A相保护电流1 |
| 21、22 | B相保护电流1 |
| 23、24 | C相保护电流1 |
| 25、26 | A相保护电流2 |
| 27、28 | B相保护电流2 |
| 29、30 | C相保护电流2 |
| 31、32 | A相测量电流 |
| 33、34 | B相测量电流 |
| 35、36 | CRC |
| 37、38 | C相测量电流 |
| 39、40 | A相电压1 |
| 41、42 | B相电压1 |
| 43、44 | C相电压1 |
| 45、46 | 校验码 |
| 47、48 | 常数 |
| 49~52 | 0x001203e8 |
| 53 | CRC |