laoki8888 发表于 2007-12-22 18:57:31

FPGA模拟SPI接口驱动3310液晶屏

keyword:

为了检验SPI接口协议是否掌握,这次拿3310液晶屏做实验

程序很基本,没有清屏,就显示了“PH”两个字母(datasheet上的例子,综合了网站的c程序)。

主要分为两个模块(还有一个把40MHz时钟分频到1MHz)

1 main模块,利用状态机,一个状态送一条指令或者数据

2 SPI模块,将并行数据转换为串行SPI协议数据

写的比上次93c46好了一点点,至少把并行数据转SPI协议做成了单独的模块

main模块里用了一个寄存器i计数来控制时序,起到状态延时的作用,比如这个状态要延时10个周期,那个状态要延时15个周期等等,实在没有更好的办法了,只有这一招不生成latch,泪。

结论:FPGA真是无所不能,比起单片机用c编程,写verilog更有一种设计SPI模块的感觉。
我不准备为3310再完善程序,下面的学习任务还有很多,I2c的24c02、PS/2、VGA、320240、PSP液晶,不知道能不能学的完,希望毕业设计能用上verilog

http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_192092.jpg
http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_192093.JPG
http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_192094.jpg


时序仿真,如果用默认的100MHz时钟周期,是要考虑门延时的!

笨,我以前都没考虑过,刚发现这个问题

程序在Cyclone2+Quartus2 6.1sp下调试通过
过几天我自己可能都看不懂了。。。。。
点击此处下载ourdev_192095.rar(文件大小:542K)

soulmate 发表于 2007-12-22 21:16:54

ding~./emotion/em009.gif

ppa2001 发表于 2007-12-22 22:11:23

楼住加油了~

Fpang 发表于 2008-1-3 20:39:10

不错,要是有详细的资料就好了

seldom 发表于 2009-8-21 16:41:38

看了后,真的无语了

qjy_chess 发表于 2009-9-2 12:06:24

FPGA不是“模拟”SPI,那是真正的“硬件”SPI

zxs115523805 发表于 2009-11-12 23:27:02

ngzhang 发表于 2009-11-13 03:39:25

FPGA实现的是硬件,对于跑时序或者逻辑这些实在是太合适了。

hwdpaley 发表于 2010-1-4 09:51:23

学习了,强

野火 发表于 2013-5-27 18:49:22

不错!学习了!      
页: [1]
查看完整版本: FPGA模拟SPI接口驱动3310液晶屏