在这一讲中,Kevin先带着大家了解一下我们这一套视频教程《SDRAM那些事儿 第一季—轻松设计SDRAM控制器》中所要讲的这个项目。
这个项目总的来讲,就是设计一个简单的SDRAM控制器,PC机通过串口发送指令和数据来控制SDRAM芯片实现任意读写操作。
OK,下边进入到我们的项目演示环节,先将编译好的文件下载到FPGA上,然后再打开串口调试助手,输入6个字节的数据:55 AB CD EF 12 AA。 其中55表示写SDRAM的命令,AB CD EF 12这四个字节为将要写入到SDRAM中的数据,AA则表示读SDRAM的指令。好了,点击发送,看下收到的是什么呢?
点击发送之后,接收到了也是AB CD EF 12,也就是将写入到SDRAM的数据正确的读出来了。这就是我们这套视频教程中所要教的这个项目了。
下面先来看一下这个项目的整体框图:
[url=https://file.elecfans.com/web2/M00/65/E6/pYYBAGMJ-TWAUZvHAABYpOIcpV0066.png] 接着,我们来简单介绍一下这个项目的工作原理:
1.PC端通过串口发送指令和数据给FPGA开发板,发送的指令总共只有两条指令,一个是写指令,即将串口发送的数据写入到SDRAM,一个是读指令,将之前写入到SDRAM的数据读出来,并将读出来的数据让FPGA通过串口返回到PC端; 2.FPGA内部有串口接收模块UART_RX,主要的作用是将串口的数据进行一个串转并的操作,并将接收到的数据或指令传送给CMD_ENCODE命令解析模块;
3.命令解析模块的作用则是将接收到的指令和数据进行分离,待写入的数据先存到wfifo中,命令则通过另一个通道直接送到Sdram_top模块;
4.Sdram_top模块接收到写指令后,则会将wfifo中的数据读出,并写入到SDRAM芯片中,而Sdram_top模块其实就是一个SDRAM控制器;
5.当接收到读指令后,则Sdram_top模块将会执行读SDRAM的操作,将前一次写入到SDRAM的数据读出,将其存入rfifo中;
6.当串口发送模块UART_TX检测到rfifo中不为空时,则会读取rfifo中的数据,并将其发送到PC端。
这就是整个项目的一个完整思路了。
大家看完是不是觉得还是挺简单的哦。
啊,什么,觉得不简单,为什么不讲讲SDRAM_TOP 这个模块是怎么控制SDRAM读写的呀??????????
大家先别急,我们先一步一步来,在后续章节中,我们会一点一点的给大家讲清楚。
欲知后事如何,请听下回分解!!!!!!!
本套视频教程有【开源骚客】团队录制,欢迎关注开源骚客公众号获取本套视频教程最新录制进度。。。
特别提醒#1
0