转载 在XILINX中差分输入信号到单端信号的转换

在XILINX中差分输入信号到单端信号的转换

一 理论基础:

1理论:

差分传输是一种信号传输技术,区别于传统的一根信号线一根地线的做法,差分传输如图所示,在这两根线上都传输信号,这两个信号的振幅相等,相位相反,在这两根线上的传输的信号就是差分信号。信号的接收端比较这两个电压的差值来判断发送端发送的是0还是1。在电路板上,差分走线必须是等长、等宽、紧密靠近,且在同一层面的两根线。

      2好处:

1) 能够很容易地识别小信号,从差分信号恢复信号值在很大程度上与“地”的精确值无关,而在某一范围内。

2) 差分信号对外部电磁干扰是高度免疫。一个干扰源几乎相同程度地影响差分信号的每一端,电压差异决定信号值,将忽略在两个导体上出现的任何同样干扰。

3) 在一个单电源系统中能够精确地处理‘双极’信号。

在fpga中采用的差分信号应用的比较多。

二 XILINX FPGA中差分信号的使用方法

   在一个module模块中讲述差分信号转换到单端信号的方法

   1 在代码中的定义

   module chafen(

                                  clk_p,

                                  clk_n

                                  iin_p,

                                  iin_n,

                                  qin_p,

                                  qin_n,

                                   …

                      );

Input clk_p;

Input clk_n;

Input [2:0] iin_p;

Input [2:0] iin_n;

Input [2:0] qin_p;

Input [2:0] qin_n;

Wire [1:0]iin;

Wire [1:0]qin;

Wire clk;

//对差分时钟采用IBUFGDS IP核去转换

IBUFGDS CLK_U(

             .I(clk_p),

             .IB(clk_n),

             .O(clk)

);

//对差分信号采用IBUFDS IP核去转换

IBUFDS Iin_u0 (

                .I(iin_p[0]),

                  .IB(iin_n[0]),

                  .O(iin[0])

                  );

 IBUFDS Iin_u1 (

                  .I(iin_p[0]),

                  .IB(iin_n[0]),

                  .O(iin[0])

                  );

 IBUFDS Qin_u0 (

                  .I(qin_p[0]),

                  .IB(qin_n[0]),

                  .O(qin[0])

                  );

 IBUFDS Qin_u1 (

                 .I(qin_p[1]),

                 .IB(qin_n[1]),

                 .O(qin[1])

                  );

Endmodule

这个模块的时钟差分信号和数据差分信号在xilinx提供的IP下转换成单端信号以供后面的数据处理使用。

三 XILINX FPGA中差分信号在planAhead使用方法

  在工程中编译完代码后,对管脚进行约束,点击

后进入planAhead界面,你会发现这些差分信号和普通的信号有一定差异的,差分信号的输入是成对分配的,并且I/O标准是默认LVDS模式,(注意:要是不对差分信号进行IP核的差分信号转化,I/O标准下拉框是没有LVDS模式),如下图所示;

在对iin_p[13], iin_n[13]在同一行中,根据自己板子的原理图对iin_p[13]进行管脚分配,分配完后发现iin_n[13]也自动按照原理图分配了引脚,所以只需要对iin_p[13]进行分配就可以了,差分的管脚分配是成对分配的,只要分配好了一个,另一个会自动分配好,所以不用担心另一个信号iin_n[13]怎么分配的问题。

在分配好三个管脚后,在package界面看到下图的样子,显示已经分配了这留个引脚。

 

               

在这里就讲述完差分信号的在ISE软件中的转换问题,生成单端信号可供使用,信号的抗干扰性能也提高了,所以FPGA中使用差分信号也增多了,这些是在项目实践遇到的问题,在网上的可供查阅的资料也不多,借此机会将自己的遇到的问题和解决的方法 记录下来可供后续遇到这类问题的学习者参考,能够快速解决此类问题,快速进步。有什么好的建议请回信[email protected].

发布了0 篇原创文章 · 获赞 3 · 访问量 3134

猜你喜欢

转载自blog.csdn.net/Lynrxl/article/details/100145765