[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 |