打印

自己做的一块CPLD开发板-附电路图和测试程序

[复制链接]
5628|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 qiuhanqing 于 2012-10-23 23:16 编辑

自己花了一点时间做了一款CPLD板子,现在传上来,有什么建议请大家指正!

用的是
ALTERAEPM240T100C5N,也可以换成EPM570T100C5N
,板子上有AD,DA,数码管,点阵,SPIEEPROM,I2CEEPROM,串口,VGA接口,PS/2接口,矩阵键盘,DS18B201602液晶,蜂鸣器,等等,现在接口都已经调通 QC-CPLD开发板用户手册(ALTERA版).pdf (1.68 MB)

led_twink_ok_闪烁LED.rar (247.65 KB)

bell-ok_蜂鸣器奏乐.rar (373.04 KB)

uart-ok-串口控制.rar (2.02 MB)

相关帖子

沙发
qiuhanqing|  楼主 | 2012-10-21 22:46 | 只看该作者
自己顶

使用特权

评论回复
板凳
duhemayi| | 2012-10-22 20:13 | 只看该作者
看看~

使用特权

评论回复
地板
sipangzihuan1| | 2012-10-22 20:20 | 只看该作者
下载了 ·感谢·

使用特权

评论回复
5
qiuhanqing|  楼主 | 2012-10-23 23:09 | 只看该作者
顶一下

使用特权

评论回复
6
lphaff| | 2012-10-24 09:22 | 只看该作者
CPLD做VGA是怎么实现的?能说说吗

使用特权

评论回复
7
qiuhanqing|  楼主 | 2012-10-24 18:07 | 只看该作者
整个VGA的时序操作很简单,就是形成一个具有一定占空比的电平周期。只是整个VGA的操作涉及到一些专有名词,理解上比较困难,一旦明白了这些是什么意思后,操作即将变得很简单。
VGA工作流程:
常见的彩色显示器,一般由CRT (阴极射线管)构成,彩色是由R、G、B(红、绿、蓝)三基色组成,CRT用逐行扫描或隔行扫描的方式实现图像显示,由VGA控制模块产生的水平同步信号和垂直同步信号控制阴极射线枪产生的电子束,打在涂有荧光粉的荧光屏上,产生R、G、B三基色,合成一个彩色像素。扫描从屏幕的左上方开始,由左至右,由上到下,逐行进行扫描,每扫完一行,电子束回到屏幕下一行的起始位置,在回扫期间,CRT对电子束进行消隐,每行结束是用行同步信号HS进行行同步;扫描完所有行,再由场同步信号VS进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,预备下一场的扫描。行同步信号HS 和场同步信号VS是两个重要的信号。
注意点:
        什么时候消隐?为什么要消隐?当一行扫描完毕后然后电子枪又转到下一行的这段时间或是扫描完所有的行后电子枪回到第一行的这段时间,这两段时间都要消隐。在消隐的时间内,数据是无效的。这样就保证电子枪的回扫的个动作不干扰显示,因为回扫这个动作是很频繁的,若在这个时间段内数据有效,那么就回在显示屏上出现电子枪回扫的轨迹。
        消隐的时候我们干什么?消隐这个动作是显示屏(CRT)执行的,我们在编程时只要注意有这么个东西就行。
        同步信号(包括HS和VS)是什么?这个就相当于一个数据起始信号,表明数据马上就要开始了。如果撇开具体的设备,那么这个信号和AD、DA中常用的Sync(同步)、CS(片选)信号相当。该信号一般为负电平,但对于有的显示器可不关心该信号的极性,因为它内部可自动转换正负逻辑。

        对于普通的VGA显示器,需要引出5个信号:R,G,B:三原色;HS:行同步信号;VS:场同步信。对于VGA 显示器的上述五个信号的时序驱动要严格遵循“VGA工业标准”,即640×480×60HZ模式,否则无法显示正确地图象。
  VGA工业标准要求的频率:
  时钟频率:25.175MHz(像素输出的频率)
  行频:31469Hz(即行信号HS的频率)
场频:59.94Hz(即场信号VS的频率)(每秒图像刷新频率)
行扫描时序图:

各个参数的意义和时间长度(时钟频率为25MHz)
        Ta:水平同步脉冲,这里为负电平,96个时钟周期
        Tb+Tc:行消隐后沿时间,高电平,48个时钟周期
        Td:视频数据有效时间,高电平,646个时钟周期
        Te +Tf:行消隐前沿时间,高电平,16个时钟周期
        Tg;行周期时间。Tg=Ta+ Tb+ Tc+ Td+Te+Tf=800个时钟周期。

场扫描时序图:

各个参数意义和时间长度(单位是行周期)
        Ta:垂直同步脉冲,这里为负电平,2个行周期
        Tb+Tc:列消隐后沿时间,高电平,32个行周期
        Td:视频数据有效时间,高电平,480个行周期
        Te +Tf:列消隐前沿时间,高电平,11个行周期
        Tg;场视频周期。Tg=Ta+ Tb+ Tc+ Td+Te+Tf=524个行周期。

观察电平情况,可以发现这个两个时序本质上就是由一个低电平(同步信号)加一个高电平(前沿+后沿+数据有效时间)构成。所以,编写这个时序的时候,只要按照上述的时间要求构成这么一个占空比的周期就可以。
当时钟频率不是25MHz时,我们只要把以上的参数按比例适当调整即可。我们给出不同时钟频率下的时间参数。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
lphaff + 1 用心了!
8
lphaff| | 2012-10-24 21:38 | 只看该作者
7# qiuhanqing 特别感谢你的详细回答。尤其是从原理上给我进行了扫盲
我是想问一下,CPLD本身的时钟功能不强,
如果用CPLD在VGA的控制中做精确的时间控制,
相对于FPGA来说,主要需要解决什么问题呢?

使用特权

评论回复
9
古道热肠| | 2012-10-25 16:01 | 只看该作者
谢谢共享。

使用特权

评论回复
10
DONGXU| | 2012-10-25 18:17 | 只看该作者
谢谢啦

使用特权

评论回复
11
qiuhanqing|  楼主 | 2012-10-25 21:08 | 只看该作者
在VGA驱动的时间精度上讲的话,CPLD和FPGA是足够的,这个不用担心的。FPGA来驱动VGA也很简单的,只要按VGA驱动时序去控制就OK了 。昨天有几张时序图没有传上来,现在补上:

使用特权

评论回复
12
qiuhanqing|  楼主 | 2012-10-29 20:05 | 只看该作者
自己顶一下

使用特权

评论回复
13
ic_ecore| | 2012-11-2 21:56 | 只看该作者
羡慕

使用特权

评论回复
14
xuxikfg| | 2012-11-5 08:17 | 只看该作者
支持一下。。

使用特权

评论回复
15
alvin_zhou2009| | 2012-12-4 13:23 | 只看该作者
还在学习中

使用特权

评论回复
16
shitouzdh| | 2013-8-7 11:36 | 只看该作者
AD  DA用的什么片子呀,3.3V和5V怎么转换呀? 上拉或电阻分压?

使用特权

评论回复
17
hyminzhu| | 2013-8-7 18:39 | 只看该作者
看看

使用特权

评论回复
18
mintspring| | 2016-5-5 20:09 | 只看该作者
CPLD在百度都找不到开发板卖的,看来用的人不多啊,人才稀缺。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:青创电子 http://shop60662711.taobao.com

1

主题

6

帖子

0

粉丝