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) ding~./emotion/em009.gif 楼住加油了~ 不错,要是有详细的资料就好了 看了后,真的无语了 FPGA不是“模拟”SPI,那是真正的“硬件”SPI 顶 FPGA实现的是硬件,对于跑时序或者逻辑这些实在是太合适了。 学习了,强 不错!学习了!
页:
[1]