这个东西其实是在上一个冬天就做完了,而且似乎已经产业化了,当时是为一位朋友做的,这个朋友再卖给产业化的人,就像流于俗套的故事一样,这个朋友拿到了钱,不过不像项目开始时说的那样与我有关。想想多年前一起吃喝拉撒的场景,叹了一口气抹去那些记忆,也只能算了。现在把这个设计写在博文博文中,一方面可以回忆回忆当时的设计思路,也希望可以为其他设计FPGA的兄弟姐妹们提供一点参考。

当时的写的ppt文档可在下列地址下载:

http://blogimg.chinaunix.net/blog/upfile2/101222213657.pdf

这个板子其实就是在烂大街的S3C2410的板子上加一片FPGA EP2C5,SDRAM和ADV7123。由于2410有LCD控制器,在LCD接口的外面加一片Video DAC,这个板子上的ADV7123就可以输出VGA信号,就可以接显示器了。但是当输出的分辨率过高,比如1024x768甚至更高的时候,LCD接口要求的带宽过高,这样就会影响2410上面的应用的运行速度。

因此就产生了这个设计,这个设计的目的就是让2410输出高分辨率低帧率的信号,比如1024x768@20HZ,通过FPGA把输出的图像保存在其控制的SDRAM中,然后FPGA中的图像产生部分再把这些数据读出来,按照1024x768@60HZ的速度输出到ADV7123上。

这个设计对于心电监护这样的设备已经够用了,因为心电信号的更新低于20HZ,其实它适用于所有刷新率要求不高但是要接VGA显示器的场合。

系统的框架大概就是上面这个样子的了,LCD Receiver是从2410LCD接口接收数据的了,其实就是检测到HSYNC,VSYNC,VDEN后通过CLK将数据采集进来,然后存储到FIFO中,这部分的逻辑需要根据2410的LCD时序进行设计。使用FIFO有两个用处,一方面是匹配读写的速度,一方面是转换数据宽度,因为只是用2410 LCD输出数据中的8bit数据,即RGB332, 而SDRAM和RW Control 模块都是按照16bit进行操作的,因此可以通过一个8bit输入16bit输出的FIFO进行转换。

RW Control模块顾名思义,主要是进行SDRAM读写控制了,当收到dcfifo2的Almost Full的时候读取dcfifo2将其写入SRAM,当收到dcfifo1的Almost Empty的时候,读取SDRAM中的数据将其写入dcfifo1供VGA模块转换。dcfifo1是一个16bit输入8bit输出的FIFO,其功能和dcfifo2 正好相反。

其中的PLL、FIFO模块用的就是Altera Quartus中的现成模块,SDRAM用的也是altera的开源模块,就是ref-sdr-sdram-verilog.zip,在google搜索有一大堆,只要把其中定义总线宽度的地方改一改就差不多可以用了,其它的关于刷新时间之类的SDRAM的初始化参数则是在RW Control模块启动的时候发出命令,再让SDRAM控制模块传给SDRAM芯片的。

VGA产生模块从dcfifo1读取图像数据,产生相应的信号控制Video DAC。主要是要搞清楚前肩,后肩的概率,其实就是每一行(或一帧)后面和前面的间隙时间。输出的时钟频率尽量符合标准的规范。

就像所有的开发一样,设计只是其中很小的一部分,最大的一部分是调试。Altera SignalTrap相当于是一个免费的逻辑分析仪,虽然其存储深度和芯片内部的存储器大小相关,但是还是相当方便的。如何使用可以参考altera的application note。

参考资料

http://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-2613737244.20.P9tQJG&id=43634840829

用FPGA设计LCD 转 VGA的更多相关文章

  1. FPGA驱动LCD显示红绿蓝彩条

    实验目的:先简单熟悉LCD灯的驱动和时序图的代码实现.设计功能是让LCD显示红绿蓝三种颜色,即三个彩带.本次实验比较容易实现,主要是对LCD驱动时序图的理解和时序参数的配置. 实验条件:1.LCD原理 ...

  2. 02-FPGA设计流程介绍——小梅哥FPGA设计思想与验证方法视频教程配套文档

    芯航线——普利斯队长精心奉献 课程目标: 1.了解并学会FPGA开发设计的整体流程 2.设计一个二选一选择器并进行功能仿真.时序仿真以及板级验证 实验平台:芯航线FPGA开发板.杜邦线 实验内容: 良 ...

  3. 【转】 FPGA设计的四种常用思想与技巧

    本文讨论的四种常用FPGA/CPLD设计思想与技巧:乒乓操作.串并转换.流水线操作.数据接口同步化,都是FPGA/CPLD逻辑设计的内在规律的体现,合理地采用这些设计思想能在FPGA/CPLD设计工作 ...

  4. 5.防止FPGA设计中综合后的信号被优化

    随着FPGA设计复杂程度越来越高,芯片内部逻辑分析功能显得越来越重要.硬件层次上的逻辑分析仪价格十分昂贵,而且操作比较复杂.目前,FPGA芯片的两大供应商都为自己的FPGA芯片提供了软件层面上的逻辑分 ...

  5. 【转载】如何在FPGA设计环境中添加加时序约束

    转自:http://bbs.ednchina.com/BLOG_ARTICLE_198929.HTM 如何在FPGA设计环境中加时序约束    在给FPGA做逻辑综合和布局布线时,需要在工具中设定时序 ...

  6. 至芯FPGA培训中心-1天FPGA设计集训(赠送FPGA开发板)

    至芯FPGA培训中心-1天FPGA设计集训(赠送开发板) 开课时间2014年5月3日 课程介绍 FPGA设计初级培训班是针对于FPGA设计技术初学者的课程.课程不仅是对FPGA结构资源和设计流程的描述 ...

  7. FPGA 设计流程,延迟,时间

    FPGA 设计流程,延迟,时间 流程:每个时钟周期可以传输的数据比特. 延迟:从输入到时钟周期的输出数据需要经验. 时间:两个元件之间的最大延迟,最高时钟速度. 1 採用流水线能够提高 流量: 比如计 ...

  8. FPGA设计思想与技巧(转载)

    题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢.这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一 ...

  9. 【重新发布,代码开源】FPGA设计千兆以太网MAC(1)——通过MDIO接口配置与检测PHY芯片

    原创博客,转载请注明出处:[重新发布,代码开源]FPGA设计千兆以太网MAC(1)——通过MDIO接口配置与检测PHY芯片 - 没落骑士 - 博客园 https://www.cnblogs.com/m ...

随机推荐

  1. Download-学习资源下载

    小白求关爱:链接为本人工作中学习所碰到的,如有不对之处,请及时联系加以改正,后续仍会追加新链接地址并及时更新旧链接地址 Jdk历史版本 https://www.oracle.com/technetwo ...

  2. 导入maven项目pom报错

    打开window->preferences->maven->user settings更换settings.xml即可

  3. lqb 基础练习 闰年判断

    基础练习 闰年判断 时间限制:1.0s   内存限制:256.0MB     问题描述 给定一个年份,判断这一年是不是闰年. 当以下情况之一满足时,这一年是闰年: 1. 年份是4的倍数而不是100的倍 ...

  4. pat 1011 World Cup Betting(20 分)

    1011 World Cup Betting(20 分) With the 2010 FIFA World Cup running, football fans the world over were ...

  5. ZeroC ICE的远程调用框架 class与interface

    我们在ice文件中定义的class或interface,slice都会为我们生成stub存根类和skeleton骨架类.在这里要注意slice并没有分别生成两份单独用在客户端或服务端的接口给开发分发. ...

  6. error: Unexpected console statement (no-console)

    使用console.log 报错??这个错误是Vuejs - 使用ESLint检查代码而产生的 解决办法: 1.不处理,虽然有恼人的提示,但是实际上能使用console.log的 2.关掉ESLint ...

  7. template screen

    从全局搜索主机可看到此screen

  8. kali下安装mobsf

    1.查看kali版本,安装mobsf对kali版本的要求是大于3.0并且是64位 uname -a 2.安装docker,有选择的地方直接回车就好 apt-get install docker doc ...

  9. Magicodes.IE之导入学生数据教程

    基础教程之导入学生数据 说明 本教程主要说明如果使用Magicodes.IE.Excel完成学生数据的Excel导入. 要点 本教程使用Magicodes.IE.Excel来完成Excel数据导入 需 ...

  10. 使用laravel快速构建vuepress管理器

    使用laravel快速构建vuepress管理器 介绍 刚刚学了下laravel感觉很方便,最近也在用vuepress做个人博客,但是感觉每次写文章管理文章不是特别方便,就使用laravel写了这个v ...