易灵思T35 FPGA驱动LVDS显示屏

本文详细介绍了如何使用易灵思Trion T35 FPGA驱动1024*600的7寸LVDS屏幕,包括LVDS接口原理、设计流程和关键配置步骤。通过Efinity软件配置时钟、引脚、PLL,并生成约束文件,最终实现LVDS信号的正确输出,成功点亮屏幕。
摘要由CSDN通过智能技术生成

易灵思FPGA,天生适合MIPI/LVDS等相关应用,加上硬核DDR3控制器,简直就是完美。
T35F324开发板支持LVDS LCD显示与HDMI显示,具体框图如下。这里,我将就花一定的篇幅,讲讲Trion系列FPGA T35的LVDS TX Hard IP如何使用,并且实战驱动我设计的1024*600的7寸 LVDS屏幕。
在这里插入图片描述

1.硬件介绍

如下图所示,为1024*600 LVDS LCD接口,这里直接与FPGA的LVDS IO对接驱动,其中相关Bank使用了3.3V电平。由于我在LCD驱动板侧已经处理好了所有的电源驱动,因此用户接口驱动,只需要给PWM与LVDS数据即可。

在这里插入图片描述

其中LVDS为1对差分时钟,4对差分数据线,查阅LCD手册(群创),相关的驱动协议如下所示(8bit DE模式,其中时钟采用了3:4占空比)
在这里插入图片描述

另外,1024*600的驱动时序,如下所示。这里时钟范围为 40.8~67.2MHz,并且时序与VGA Timing完全一样。我曾详细的介绍过如何驱动VGA显示器,这里在LVDS之前的RGB时序,是完全一样的。

在这里插入图片描述

所以我们的整体的Pipeline应该是这样的:lcd_driver <–> lcd_display --> LVDS Interface

在这里插入图片描述

2.Trion FPGA LVDS原理

在这里插入图片描述

打开Efinity软件,点击Help-Document,在Interface Designer中找到LVDS Interface,查询Trion系列FPGA的LVDS Interface,如下图所示:

在这里插入图片描述

可见LVDS是硬核心,并且支持800MHz LVDS速率,兼容2:1 ~ 8:1,并且FPGA片上已经集成了100R终端电阻,如下所示:

在这里插入图片描述

另外,如果LVDS bank用于GPIO,要求必须相邻2对unassigned LVDS pins,否则软件会报错

在这里插入图片描述

接着,以LVDS TX为例,我们打开相关的小节,可见文档给出的框图:

在这里插入图片描述

这里,由PLL产生fastclk与slowclk,供给Serializer,随后进行串行数据的输出。以n=7为例,help给出了如下时序图,即按照3:4,输出7bit的数据。

在这里插入图片描述

另外,需要注意的是在Using the Trion LVDS Block中,可见fastclk0与slowclk的关系。首先fastclk就是serial clock, slowclk就是parallel cock;其次,在Trion系列FPGA中,fastclk=slowclkn/2,那么当n=7时,fastclk=3.5slowclk。

在这里插入图片描述

3.LVDS TX设计流程

分析完Trion FPGA的LVDS TX特性,我们有米可炊,直接上刀,如下:

1)首先,File→Create Project,创建工程,选择对应的器件

在这里插入图片描述

在这里插入图片描述

2)接着加入已有的代码(99.9%的人都是移植,不会在国产上初学吧)

在这里插入图片描述

3)然后,打开Interface,配置时钟、引脚、PLL,以及锁相环等

在这里插入图片描述

a.Create Block创建IO,包括clk、lcd_pwm控制信号
在这里插入图片描述

这如果是GPIO,选择输入或者输出;如果是clk,则还得哪一类时钟,如下所示:
在这里插入图片描述

这里我们定义pll_clkin,硬件上已经连接到PLL_CLKIN引脚,不可当作其他用途,如下:

在这里插入图片描述

b.然后配置引脚,对着原理图操作,这里会显示Resource,如下所示:

在这里插入图片描述

c.接着设置PLL,在PLL处Create Block,创建tx_pll如下。这里需要选择PLL_BR0,对应clk输入的引脚,硬件固定是GPIOR_138。

在这里插入图片描述

d.打开Automated Clock Calculation,配置时钟输入为24MHz,输出慢时钟48MHz,快时钟=慢时钟*3.5=168MHz(lvds=7bit),并且快时钟需要90度phase,以及txpll_locked,GUI配置如下(与前面分析一致):
在这里插入图片描述

e.最后,配置LVDS IO,如下所示,其中要注意LVDS Resource的选择,以及Serialization Width=7,并且选择tx_fastclk的名字,软件会自动根据该Name进行wire:

这里的LVDS TX或者CLK,与硬件原理图中的分配必须一致,如下:

图片

f.最后,Generate Efinity约束文件,如果有错误此时会报出,比如没有90°,或者倍率不对,IO分配不对等。这一步完成后生成了工程的约束文件,包括顶层空壳等。

在这里插入图片描述

生成的文件,可在Result中的Interface查看,如下,其中特别关注sdc与template.v
在这里插入图片描述

4)LCD_LVDS_Test_1024600.v顶层代码的修改

上一步中,软件帮我们生成了顶层的template.v,如下所示:

在这里插入图片描述

可见PLL的输出时钟,直接作为我们逻辑的输入时钟使用;另外,LVDS我们只需要输处配置好的7bit串行化的时钟与数据,此外我们并不需要例化PLL、LVDS IP等。这个初次见面,真的就非常奇特了。

a.于是乎,我们顶层的接口就变成了这样。这里像素时钟自然是慢时钟,clk和fast时钟不需要用我们注释掉即可:

在这里插入图片描述

b.正常例化rgb lcd驱动代码,如下:

在这里插入图片描述

c.将rgb及de数据送给lvds port,这里就有点坑了,一开始没有研究时序,如下:

在这里插入图片描述

这里7bit并转串传输时,先发送的是lsb,然后才是msb,因此rgb驱动的代码还需要转一下,操作如下(最初的时候想当然以为是msb,浪费了好多宝贵的时间):
在这里插入图片描述

5)最后,在dashboard中双击图标,进行一系列的编译、综合、布局布线,并最终生成目标bit文件。

在这里插入图片描述

关于设计占用的资源,可以在左侧的Result中查看,如下所示,占用了一个PLL,5个LVDS:

在这里插入图片描述

6)上板验证,打开Programmer,选择bit文件,下载到FPGA后,终于点亮了LVDS屏幕,万事开头难就,如下:
在这里插入图片描述

在这里插入图片描述

4.Trion FPGA LVDS总结

最终总结一下,易灵思Trion FPGA的LVDS TX IP相关注意事项:

1)首先fastclk = n/2 * slowclk;

2)其次一定要记得fastclk 有90deg的相位

3)再者串行数据是先发LSB,再发MSB的。

4)最后LVDS TX Hard IP配置好后,直接在代码顶层使用,无需再例化。

版权声明,本文来自于网络:《易灵思T35 FPGA驱动LVDS显示屏》

赛灵思FPGA (Field-Programmable Gate Array) 的LVDS IP (Low Voltage Differential Signaling Interface) 是一种集成在FPGA内部的低电压差分信号接口,它用于高速数据传输,尤其适用于需要长距离传输、高可靠性和低电磁干扰的应用场景。 ### LVDS IP的特点: 1. **低功耗**:LVDS信号采用较低的工作电压,通常在3.3V至5V之间,这有助于降低电源需求并减少发热量。 2. **抗电磁干扰能力**:由于LVDS采用了差分信号技术,即通过一对导线传输信号和返回信号,能够有效抑制外部噪声对信号的影响,提高传输质量。 3. **高速传输**:虽然工作电压较低,但LVDS可以支持高速的数据传输速率,从几MHz到几百MHz不等,甚至更高,满足了现代高速通信的需求。 4. **节省空间**:LVDS信号线通常占用的物理空间较少,这对于需要紧密排列大量电路板连接点的设计尤为重要。 5. **兼容性强**:LVDS接口在很多系统中都广泛使用,如PCIe、USB、HDMI等,因此便于与其他设备和标准进行互连。 ### 应用领域: - **通信系统**:用于高速数据链路、无线通信模块和其他高速数据交换场景。 - **存储设备**:如硬盘驱动器控制器、固态存储器接口等。 - **计算机外设**:例如显卡和显示器之间的视频信号传输(如DisplayPort,其底层协议也经常使用LVDS)。 - **嵌入式系统**:在需要高带宽和可靠性数据交换的小型电子设备中应用。 ### 实现过程: 在赛灵思FPGA上配置LVDS IP通常涉及以下几个步骤: 1. **IP选择**:从赛灵思提供的库中选择合适的LVDS IP核。 2. **配置参数**:设置输入和输出信号的数量、速度等级以及所需的电气特性(如信号偏置、阻抗匹配等)。 3. **综合与布局布线**:将选定的IP模块综合进设计,并根据系统要求调整布局布线,以优化性能和成本。 4. **验证测试**:使用仿真工具和硬件测试平台对设计进行功能和性能测试,确保符合规格要求。 总之,赛灵思FPGALVDS IP是构建高性能、高效能通信系统的理想选择,特别适合于追求高带宽、低延迟和高可靠性的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ltqshs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值