AST 回环测试实验
实现对芯片 AST 收发的验证。 设计 AST 收发控制器,采用外部环回的方式演示 AST 的数据收发。
1.实验说明
1.1管脚说明
set_pin_assignment { I_ast_rx } { LOCATION = P59; IOSTANDARD = LVDS33; }
set_pin_assignment { O_ast_tx } { LOCATION = P50; IOSTANDARD = LVDS33; }
set_pin_assignment { O_clk0 } { LOCATION = P5; }
set_pin_assignment { S_code_error } { LOCATION = P52; }
set_pin_assignment { S_rd_error } { LOCATION = P54; }
set_pin_assignment { S_receive_state } { LOCATION = P57; }
set_pin_assignment { S_rx_word_sync } { LOCATION = P58; }
set_pin_assignment { sys_clk } { LOCATION = P128; IOSTANDARD = LVCMOS33; }
set_pin_assignment { sys_rst } { LOCATION = P56; }
- sys_clk,系统时钟,连接至PotatoPie 开发板的板载10M时钟上
- sys_rst,系统复位,高电平复位
- O_ast_tx,AST收发器的发送端
- I_ast_rx,AST收发器的接收端
- S_rd_error,AST解码极性异常
- S_receive_state,AST接收工作正常
- S_code_error,AST解码数据异常
- S_rx_word_sync,AST数据通道对齐完成
- O_clk0,PLL输出一个25M,用于观察PLL工作是否正常。
AST 管脚的电平属性需要使用 LVDS25, 引脚连接到差分管脚的 P 端, 当使用 EF2 FPGA 器件时, AST
为硬核, 需要使用固定的收发引脚, 具体引脚请参考 EF2 器件手册。
1.2实验现象
此实验本身比较简单,但是需要先了解AST IP,因此实验步骤及实验现象都放到本文后面讲解。
2.实现原理
2.1 IP介绍及IP生成
AST IP 是安路科技开发的基于 LVDS 的中低速异步收发器,该收发器支持从 100Mbps-400Mbps 的
速度配置。主要用于 20 米以内的 FPGA 器件之间的直连数据传输,无需外部专用收发器,节省用户成本
和 PCB 空间。 AST IP 使用 8B10B 编码后的数据进行传输,因此传输通道可以使用隔直通道传输,保护
FPGA 器件。 PotatoPie EF2 FPGA中包含 AST 硬 IP,每个 AST 包含两路发送通道和一路接收通道。支持从 80Mbps-400Mbps 的速度配置。
具体 AST IP 生成示意图如下所示:
2.2 AST IP 功能框图
AST IP 所示, 主要包含时钟模块、 TX 通道、 RX 通道:
2.3时钟模块
此IP总共需要4路时钟, 如果使用EF2的PLL产生时钟, 需要使用PLL特定的输出通道,时钟具体说明如下表所示:
AST 时钟说明表
时钟名称 | 频率范围 | 功能说明 |
Clk_1x | 10Mhz-50Mhz | 内部并行数据处理时钟 |
Clk_x5 | 50-250Mhz(Clk_1x 的 5 倍) | 内部串行数据处理时钟 |
Clk_12p5x | 125Mhz-625Mhz(Clk_1x 的 12.5 倍) |
接收通道串行数据的采样时钟 |
Clk_12p5x_90 | 125Mhz-625Mhz (Clk_12p5 延迟 90 度相位) |
接收通道串行数据的采样时钟 |
采用 PLL 产生时钟时需要使用特定的输出通道,具体 PLL IP 生成时钟如下图所示:
PLL时钟通道0连接clk_1x, PLL时钟通道1连接clk_12px5, PLL时钟通道2连接clk_12px5_90, PLL时钟通
道4连接clk_5x。
clk_1x: 频率从10Mhz到50Mhz, 是内部并行数据的处理时钟。
clk_x5: clk_1x 的5 倍, 范围50-250Mhz。 是内部串行数据处理时钟。
clk_12p5x: clk_1x 的12.5 倍, 范围125-625Mhz。 是接收通道串行数据的采样时钟。
clk_12p5x_90: clk_12p5x 延迟 90 度相位, 也是接收通道串行数据的采样时钟。
本实验中PotatoPie板的PLL配置如下:
2.3.1 TX 通道
TX通道内部结构较简单, 逻辑内部包含8 Bit位宽的发送数据和接收有效信号, 管脚为2对串行差分
发送ast_tx, 实际使用选取任意一对。
TX 通道会在空闲时间段, 即不发送数据时, 会自动发送对齐字节 K 码。
2.3.2 RX 通道
RX通道, 逻辑内部主要包含8Bit位宽的接收数据和接收有效信号, 管脚为1对串行差分接收ast_rx。
RX通道会根据接收到的对齐字节自动对齐。
RX 通道还包含 4 个接收状态的指示标志。
2.4 AST IP 接口描述
AST IP 中具体信号说明如下表所示:
AST IP 具体信号说明
信号 | 方向 | 描述 |
rst_n | in | 系统复位, 低有效。 |
ast_cs_n | in | ast IP片选信号, 低有效。 |
clk_1x | in | AST并行处理时钟, 最低10Mhz, 最高50Mhz。 |
clk_5x | in | AST串行处理时钟, 是clk_1x的5倍, 范围50-250Mhz。 |
clk_12p5x | in | AST接收通道采样时钟, 是clk_1x的12.5倍, 范围125Mhz-625Mhz。 |
clk_12p5x_90 | in | AST接收通道采样时钟, clk_12p5x延迟90度相位。 |
txdata[7:0] | in | AST发送并行数据, 位宽8bit。 |
txdata_vld | in | AST发送并行数据有效标志位, 置1时发送并行数据有效。 |
ast_tx | out | AST发送串行数据输出。 |
rxdata[7:0] | out | AST接收并行数据, 位宽8bit。 |
rxdata_vld | out | AST接收并行数据有效标志位, 置1时接收并行数据有效。 |
ast_rx | in | AST接收串行数据输入。 |
rx_word_sync | out | 置1, 表示接收通道数据对齐完成; 置0, 接收通道数据未对齐。 |
code_error | out | 置1, 8B/10B解码数据错误; 置0, 8B/10B解码数据正常。 |
rd_error | out | 置1, 8B/10B解码极性错误; 置0, 8B/10B解码极性正常。 |
receive_state | out | 置1, 接收通道工作正常; 置0, 接收通道工作异常。 |
其中需要注意的是当接收通道复位及片选完成,不能立即接收用户数据,需要进行通道字对齐,该
时间为 9 个 clk_1x 周期,因此前一级的发送通道需要等待至少 9 个 clk_1x 周期,才能发送数据,否
则接收通道数据无法对齐。
2.5 AST 接口时序
2.5.1 接收通道接口时序
接收通道需要用到clk_1x、 clk_5x、 clk_12p5x、 clk_12p5x_90四个时钟。 接收通道接口时序如图
2-3所示。
接收通道复位及片选完成, 不能立即接收用户数据, 需要进行通道字对齐, 该时间为9个clk_1x周
期, 因此前一级的发送通道需要等待至少9个clk_1x周期, 才能发送数据, 否则接收通道数据无法对齐。
发送通道并行数据输入到后一级接收通道并行数据正常接收, 时间约为 10 个 clk_1x 周期。
2.5.2 发送通道接口时序
发送通道只需用到clk_1x和clk_5x两个时钟, 发送通道接口时序如图2-4所示。
因为后一级接收通道需要字对齐, 所以发送通道复位及片选完成后, 需要等待至少 9 个 clk_1x 周
期才能发送数据。
3. 代码说明
功能描述
该例程通过设计 AST 控制器将数据送往 AST 硬核,并将 AST 发送串行数据输出与 AST 发送串行数
据输入端口相连,实现 AST 回环,用以测试 AST 硬核数据传输的正确性。该例程设计框图如下图所示。
演示方法
编译下载 FPGA 的位流文件,通过选取 ChipWatcher 窗口进行 AST 读写数据模块信号的抓取。 具体
读写验证信号如下图所示。
调试
硬件调试时, 需要查看 AST IP 是否正常工作, 一般查看 rx_word_sync、 code_error、 rd_error
等信号, 可加入到 CWC 调试进行观察。
首先看 rx_word_sync 信号是否为高电平, 只有为高电平, AST 接收通道数据才对齐完成, 建立链
路成功。 另外需要查看 8B10B 解码数据是否发生错误, 解码极性是否发生错误。 如解码数据发生错误,
请看线材是否屏蔽双绞, 另外 pn 端是否接反。
移植与注意事项
AST IP 是基于 8B10B 方式, 使用 LVDS 电平实现的异步收发器。 EF2 器件使用该 IP 时, 该器件支持
2 路 AST 硬核 收发, 每路均支持全双工功能。 AST 必须使用器件的固定引脚。 具体引脚请参阅 EF2 器
件手册。
通信线材, 请优先选用带屏蔽的双绞线, 在通信速度和稳定性上更好。