lvds在FPGA中的使用3- lvds_tx核与lvds_rx核的使用
2017-08-22 22:32
267 查看
我的开发环境:quartus13.1
altlvds_tx/ altlvds_rx核实际上是个并串/串并转换器,在使用altlvds_tx/ altlvds_rx核时,一定要先在quartus ii中新建工程,编译并分配管脚,看编译能否通过,如果通过了再投板,否则可能要更改电路设计了。
我在电路中使用lvds接口发送数据,以前的设计中使用的是DS90CR287完成数据串化,对于base模式,有4对数据和1对时钟,共5对lvds信号。使用FPGA的true lvds transmitters发送数据,需使用altera IP,在quartus中添加altlvds_tx核。
这里选择LVDS transmitter,然后设置4个LVDS通道(channels);每个通道对应7个解串因子,即7并1串处理。最下面的Use External PLL如果勾选上,则这个IP核内的其他两个配置页面不可设置,用户的时序频率方面的配置主要在外部的PLL时钟上下文章了;若不勾选上,则会使用一个PLL,如果资源够用的话,可以不用勾选,我们接着来看后面两个配置页面。
在Frequency/PLL settings中,需要配置好LVDS串行数据传输速率,在我的设计中,并行数据时钟频率为25MHz,对应串行数据频率为25*7=245Mbps,。其他几个选项一般使用默认设置,大家可以参考altlvds_tx Megafunction User Guide中有详细说明。
Transmitter settings中有多个Transmitter outclock配置选项,主要是LVDS输出时钟与输出差分信号的时钟以及相位设置,具体如何配置还是需要根据用户本身这个LVDS信号的传输需求而定。
reg [6:0] datain3;
reg [6:0] datain2;
reg [6:0] datain1;
reg [6:0] datain0;
lvds_tx1 lvds_tx1_inst (
.tx_in ( {datain3 , datain2 , datain1 , datain0} ),
.tx_inclock ( clk ),
.tx_out ( cameralinkData ),
.tx_outclock ( cameralinkClk )
);
最后,在管脚分配时,需要选择I/O Standard为LVDS,然后会自动参数另一个*(n)的配对差分管脚
编译,如果编译通过,则说明设计ok。
另外,板子画完了,等待投完板回来调试,调试后再补充实验结果。
参考文章
LVDS SERDES Transmitter/Receiver IP Cores User Guide
http://bbs.ednchina.com/BLOG_ARTICLE_2116687.HTM
altlvds_tx/ altlvds_rx核实际上是个并串/串并转换器,在使用altlvds_tx/ altlvds_rx核时,一定要先在quartus ii中新建工程,编译并分配管脚,看编译能否通过,如果通过了再投板,否则可能要更改电路设计了。
我在电路中使用lvds接口发送数据,以前的设计中使用的是DS90CR287完成数据串化,对于base模式,有4对数据和1对时钟,共5对lvds信号。使用FPGA的true lvds transmitters发送数据,需使用altera IP,在quartus中添加altlvds_tx核。
这里选择LVDS transmitter,然后设置4个LVDS通道(channels);每个通道对应7个解串因子,即7并1串处理。最下面的Use External PLL如果勾选上,则这个IP核内的其他两个配置页面不可设置,用户的时序频率方面的配置主要在外部的PLL时钟上下文章了;若不勾选上,则会使用一个PLL,如果资源够用的话,可以不用勾选,我们接着来看后面两个配置页面。
在Frequency/PLL settings中,需要配置好LVDS串行数据传输速率,在我的设计中,并行数据时钟频率为25MHz,对应串行数据频率为25*7=245Mbps,。其他几个选项一般使用默认设置,大家可以参考altlvds_tx Megafunction User Guide中有详细说明。
Transmitter settings中有多个Transmitter outclock配置选项,主要是LVDS输出时钟与输出差分信号的时钟以及相位设置,具体如何配置还是需要根据用户本身这个LVDS信号的传输需求而定。
reg [6:0] datain3;
reg [6:0] datain2;
reg [6:0] datain1;
reg [6:0] datain0;
lvds_tx1 lvds_tx1_inst (
.tx_in ( {datain3 , datain2 , datain1 , datain0} ),
.tx_inclock ( clk ),
.tx_out ( cameralinkData ),
.tx_outclock ( cameralinkClk )
);
最后,在管脚分配时,需要选择I/O Standard为LVDS,然后会自动参数另一个*(n)的配对差分管脚
编译,如果编译通过,则说明设计ok。
另外,板子画完了,等待投完板回来调试,调试后再补充实验结果。
参考文章
LVDS SERDES Transmitter/Receiver IP Cores User Guide
http://bbs.ednchina.com/BLOG_ARTICLE_2116687.HTM
相关文章推荐
- [笔记]ALTLVDS_TX和ALTLVDS_RX及Modelsim使用技巧
- [原创][FPGA][IP-Core]altlvds_tx & altlvds_rx
- lvds在FPGA中的使用5 - ALTLVDS_TX核外部pll模式调试
- 怎样使用万用表来测试板子上的TX和RX引脚
- lvds在FPGA中的使用1 - lvds介绍
- [笔记]8组LVDS_TX和LVDS_RX的调试心得
- lvds在FPGA中的使用2 - lvds传输在c4器件上的实现
- Xilinx-7Series-FPGA高速收发器使用学习—RX接收端介绍
- lvds在FPGA中的使用4 - 板级调试
- Xilinx-7Series-FPGA高速收发器使用学习—TX发送端介绍
- Xilinx-7Series-FPGA高速收发器使用学习—RX接收端介绍
- 【iCore3 双核心板_FPGA】例程六:计数器实验——计数器使用
- retrofit网络访问使用call.enqueue修改为retrofit+rxjava+rxandroid
- 使用RxAndroid处理异步任务
- RxJava 和 RxAndroid 四(RxBinding的使用)
- [FPGA]如何使用SignalTap观察wire与reg值
- RxJava & RxAndroid简单使用(3)
- TX Text Control文字处理教程(1)- 使用Visual Studio 2008开发产品
- 【iCore1S 双核心板_FPGA】例程八:触发器实验——触发器的使用
- 统计网卡TX(发送)RX(接受)流量脚本