基于Altera FPGA的LVDS配置应用一例

在特权同学发表博文《Cyclone III的LVDS接口注意事项》后,不少网友发邮件询问LVDS具体应用的一些问题。这些网友,归根到底,估计是文档看得太少了,或许还缺少动手实践的摸索。做原型开发的知识储备,无外乎两种方式,要么理论,要么实践。理论上前面说的文档是一方面,但是说理论不要被文档框住了,以为理论就是书本和文字。其实换一个角度来理解理论,你也可以认为是间接获得知识的手段,包括一些可用的论坛资源、博文资源,甚至FAE资源等等。不要金口难开,发个邮件打个电话,可能那些吃这个饭的FAE们一句话就帮你搞定问题了。当然了,在你什么都没搞明白前,还是不建议你一通瞎问。比较合适的方式是先自己去消化官方提供的文档,然后动手实践过程中实在是遇到百思不得其解的问题时再通过请教他人的方式得以解决。

而可能很多“菜鸟”百思不得其解的是文档到底从哪里找,茫茫网络浩如烟海,找个对口文档岂非易事?呵呵,其实,这个文档正可谓“众里寻他千百度,蓦然回首,那人却在灯火阑珊处”。瞧,有心的朋友早已发现这个不是秘密的秘密了。当我们使用Quartus II的MegaWizard选择并进入某个IP核的配置界面后,如图1所示,我们总能够在右上角看到一个名为“Documentation”的按钮,他就是传说中的“灯火阑珊处”了,点击后有两个二级子按钮,“On the Web”指向三级菜单的两个网络链接,“altlvds_tx Megafunction User Guide”则直接链接打开本地的帮助文档。

图1

关于文档,除此以外,特权同学比较习惯的做法是在Quartus II handbook或Help中搜索关键词,如这里的altlvds_tx或LVDS,从而找到相关内容的介绍说明。在实践前,这些理论知识的储备是必须的,否则咱的“高楼”很可能就是建立在“空穴”之上,指不定哪天就像咱上海前些年那座莲花河畔景苑一样在风雨过后居然楼体完整的“体面”倒下了。

这里的altlvds_tx/ altlvds_rx实际上不过是一个并串/串并转换器而已,但由于LVDS速度比较高,而且接口上使用了差分信号,所以不是用户随便用逻辑就能“模拟”出来的,因此势必要有官方在FPGA器件上硬件级和Quartus II上软件级的双重支持。那么到用户这边,一切都变得“傻瓜”化配置操作了,而用户真正要关心的,只是要实现的LVDS接口的时序需求,并把这些需求都转化为IP核配置上的参数。

下面简单的说一下整个IP核的配置和例化使用。具体的配置说明还望大家仔细研究官方的User Guider,特权同学这里的一些内容充其量不过是一个简化版的快速入门教程。

如图2所示,先创建一个新的ALTLVDS核,然后进入相关配置页面。

图2

参数设置共有3个配置页面,分别如图3、图4和图5所示。

如图3所示,这里选择LVDS transmitter,然后设置3个LVDS通道(channels);每个通道对应7个解串因子,即7并1串处理。最下面的Use External PLL如果勾选上,则这个IP核内的其他两个配置页面不可设置,用户的时序频率方面的配置主要在外部的PLL时钟上下文章了;若不勾选上,我们接着来看后面两个配置页面。

图3

如图4所示,在Frequency/PLL settings中,需要配置好LVDS串行数据传输速率(此处为245Mbps),而输入时钟速率通常为LVDS串行传输速率除以解串因子得到(245/7=35)。其他几个选项一般使用默认设置,大家可以参考altlvds_tx Megafunction User Guide中有详细说明。

图4

如图5所示,Transmitter settings中有多个Transmitter outclock配置选项,主要是LVDS输出时钟与输出差分信号的时钟以及相位设置,具体如何配置还是需要根据用户本身这个LVDS信号的传输需求而定。

图5

配置完成后,可以在工程目录下的*_inst.v中找到新配置IP核的例化模板,本实例如下:

lcdlvds      lcdlvds_inst (

.pll_areset ( pll_areset_sig ),

.tx_in ( tx_in_sig ),

.tx_inclock ( tx_inclock_sig ),

.tx_out ( tx_out_sig ),

.tx_outclock ( tx_outclock_sig )

);

这些信号接口的简单说明如下,方向为相对于LVDS内部模块而言。

信号名

方向

位宽

描述

pll_areset

Input

1

异步复位信号,复位LVDS内部所有计数器

tx_in

input

21

待解串的数据,3个通道的7bit即21bit

tx_inclock

Input

1

传输PLL的输入参考时钟,即设置好的35MHz

tx_out

Output

3

LVDS输出数据

tx_outclock

Output

1

LVDS输出时钟

最后,在管脚分配时,需要选择I/O Standard为LVDS,然后会自动参数另一个*(n)的配对差分管脚,如图6所示。

图6

lvds配置的更多相关文章

  1. 全志A33 lichee lvds屏幕配置

    开发平台 * 芯灵思SinlinxA33开发板 淘宝店铺: https://sinlinx.taobao.com/ 嵌入式linux 开发板交流 QQ:641395230 芯灵思SinlinxA33开 ...

  2. ZYNQ7000 LVDS接口输出配置

    xilinx 7系列芯片不再支持LVDS33电平,在VCCO电压为3.3V的情况下无法使用LVDS25接口. 有些设计者想通过在软件中配置为LVDS25,实际供电3.3V来实现LVDS33也是无效的, ...

  3. A20VGA和lvds显示的切换-

    ./fex2bin sys_config_lvds.fex /boot/script.bin sys_config_lvds.fex的作用:配置各种外设,端口,I/O针脚信息的文件 生成 script ...

  4. imx6 uboot lvds clock

    在uboot中添加logo,lvds接口的lcd显示不正常,出现波动.网上说是lvds时钟频率的问题. 使用示波器测量之后,发现频率是60M,而lcd最大频率才46.8M. 因此就需要更改uboot中 ...

  5. I.MX6 lcd lvds hdmi bootargs

    /********************************************************************* * I.MX6 lcd lvds hdmi bootarg ...

  6. 液晶常用接口“LVDS、TTL、RSDS、TMDS”技术原理介绍

    液晶常用接口“LVDS.TTL.RSDS.TMDS”技术原理介绍 1:Lvds Low-Voltage Differential Signaling 低压差分信号 1994年由美国国家半导体公司提出之 ...

  7. I.MX6 Linux kernel LVDS backlight enable

    /*************************************************************************** * I.MX6 Linux kernel LV ...

  8. lvds接口介绍

    1.项目简介 用索尼的imx264 sensor采集图像,在内部模数转换之后,由lvds接收,然后解码,最后送给后端显示 2.框图 imx264配置成从模式,由spi总线配置,需要由FPGA提供 行. ...

  9. LVDS时序分析

    LVDS时序分析 2012年05月07日 11:48:08 Walle 阅读数:3355 标签: 平台工作   最近在调试基于telechip平台的LVDS驱动,一开始对该平台的LVDS时序不是很了解 ...

随机推荐

  1. 20145217《网络对抗》 MSF基础应用

    20145217<网络对抗> MSF基础应用 MSF基础应用 1.实践任务 任务一:ms08_067渗透攻击 任务二:IE浏览器渗透攻击--MS12063安全漏洞 任务三:adobe渗透攻 ...

  2. MapReduce:汇总学生表和成绩表为----学生成绩表

    已知两张数据表,其中表一存储的是学生编号.学生姓名:表二存储的是学生编号.考试科目.考试成绩:编写mapreduce程序,汇总两张表数据为一张统一表格. 表一: A001 zhangsan A002 ...

  3. Linux内核优化项

    net.ipv4.ip_forward = #该文件内容为0,表示禁止数据包转发,1表示允许 net.ipv4.conf.default.rp_filter = #是否忽略arp请求 net.ipv4 ...

  4. grable编译spring源码并导入eclipse

    1.下载安装gradle, spring 源码构建加入了gradle支持. gradle下载: http://www.gradle.org/downloads ,下载后设置环境变量: GRADLE_H ...

  5. Activity启动的四种方式

    Activity启动方式有四种,分别是: standardsingleTopsingleTasksingleInstance 可以根据实际的需求为Activity设置对应的启动模式,从而可以避免创建大 ...

  6. WPF布局控件常用属性介绍

    WPF布局控件常用属性介绍 其它 | 作者:慧都控件网 | 2011-04-06 13:41:57| 阅读 0次 有用(0) 评论(0)   概述:WPF布局控件都是派生自System.Windows ...

  7. UVALive 4270 Discrete Square Roots

    题目描述: 在已知一个离散平方根的情况下,按照从小到大的顺序输出其他所有的离散平方根. 在模n意义下,非负整数x的离散平方根是满足0<=r<n且r2=x(mod n)的整数r. 解题思路: ...

  8. 51nod 1119 组合数,逆元

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1119 1119 机器人走方格 V2 基准时间限制:1 秒 空间限制:13 ...

  9. 服务器(Ubuntu 12.04 LTS)上编译基于OpenCV的项目遇到的问题及解决方案

    问题1:OpenCV编译安装时出错,错误信息中提到要打开-fPIC 选项重试. 解决方案:使用如下命令运行CMake cmake -DWITH_1394=OFF -DWITH_CUDA=OFF -DW ...

  10. UI- 基础控件零散知识点回归

    1.frame\center\bounds 1> frame:能修改位置和尺寸 2> center:能修改位置 3> bounds:能修改尺寸(x\y一般都是0) 2.在.m中声明的 ...