基于FPGA的SOC系统中的串口设计
时间:08-05
来源:互联网
点击:
时序匹配
Picoblaze的运行速度不超过40MHz,而SDRAM的工作速度通常大于100MHz。因此为了满足SDRAM的时序要求,要增加必要的缓冲机制。
3.1存储器接口硬件设计
Picoblaze与SDRAM存储器接口的硬件原理框图见图4。
控制状态机控制的地址计数器为SDRAM控制器提供地址,同时控制状态机还控制输入数据缓冲区和输出数据缓冲区,并且根据Picoblaze的地址端口数据和读/写使能信号产生SDRAM控制器的命令字。
(1)SDRAM初始化
每次加电或复位后控制状态机执行对SDRAM控制器的初始化操作,设置SDRAM的时间参数和刷新周期等。
(2)数据写入SDRAM
输出数据缓冲区由16×8bit的FIFO构成,当Picoblaze向输出数据缓冲区写入超过8个字节后,通过“半满”信号使控制状态机进入SDRAM的长度为8的突发写模式,在写入完成后控制状态机将地址计数器增加8,以准备好下一次的写入。
(3)数据读取
数据读取时Picoblaze首先向控制状态机发送读取请求,控制状态机进入SDRAM的长度为1的突发读模式,并将读取的数据写入输入数据缓冲区,此后Picoblaze再由输入数据缓冲区中读取数据。在读取后,地址计数器做相应的增加,以实现先入先出功能。
以上的设计方法适用于需要数据连续写入后再连续读取的场合。
控制状态机状态图见图5。
3.2 存储器接口软件设计
由于在SDRAM控制器与Picoblaze之间增加了控制状态机,简化了Picoblaze的程序设计。
(1)数据写入
数据写入时Picoblaze向输出数据缓冲区直接写入数据即可。
(2)数据读取
数据读取时Picoblaze首先向控制状态机发出请求,然后等待输入数据缓冲区的数据准备就续后再读取。
4结论
本文在XILINX FPGA中采用嵌入式处理器Picoblaze进行SOC设计,以较少的硬件资源实现了对串口通信数据的处理,同时采用SDRAM器件对Picoblaze的存储能力进行扩展。所采用的设计已应用于多个产品中。经过了长期的使用和测试证明文中的设计方法稳定、可靠,并且具有资源占用少,设计灵活的优点。
Picoblaze的运行速度不超过40MHz,而SDRAM的工作速度通常大于100MHz。因此为了满足SDRAM的时序要求,要增加必要的缓冲机制。
3.1存储器接口硬件设计
Picoblaze与SDRAM存储器接口的硬件原理框图见图4。
控制状态机控制的地址计数器为SDRAM控制器提供地址,同时控制状态机还控制输入数据缓冲区和输出数据缓冲区,并且根据Picoblaze的地址端口数据和读/写使能信号产生SDRAM控制器的命令字。
(1)SDRAM初始化
每次加电或复位后控制状态机执行对SDRAM控制器的初始化操作,设置SDRAM的时间参数和刷新周期等。
(2)数据写入SDRAM
输出数据缓冲区由16×8bit的FIFO构成,当Picoblaze向输出数据缓冲区写入超过8个字节后,通过“半满”信号使控制状态机进入SDRAM的长度为8的突发写模式,在写入完成后控制状态机将地址计数器增加8,以准备好下一次的写入。
(3)数据读取
数据读取时Picoblaze首先向控制状态机发送读取请求,控制状态机进入SDRAM的长度为1的突发读模式,并将读取的数据写入输入数据缓冲区,此后Picoblaze再由输入数据缓冲区中读取数据。在读取后,地址计数器做相应的增加,以实现先入先出功能。
以上的设计方法适用于需要数据连续写入后再连续读取的场合。
控制状态机状态图见图5。
3.2 存储器接口软件设计
由于在SDRAM控制器与Picoblaze之间增加了控制状态机,简化了Picoblaze的程序设计。
(1)数据写入
数据写入时Picoblaze向输出数据缓冲区直接写入数据即可。
(2)数据读取
数据读取时Picoblaze首先向控制状态机发出请求,然后等待输入数据缓冲区的数据准备就续后再读取。
4结论
本文在XILINX FPGA中采用嵌入式处理器Picoblaze进行SOC设计,以较少的硬件资源实现了对串口通信数据的处理,同时采用SDRAM器件对Picoblaze的存储能力进行扩展。所采用的设计已应用于多个产品中。经过了长期的使用和测试证明文中的设计方法稳定、可靠,并且具有资源占用少,设计灵活的优点。
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于FPGA的DVI/HDMI接口实现(05-13)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 采用EEPROM对大容量FPGA芯片数据实现串行加载(03-18)
- 赛灵思:可编程逻辑不仅已是大势所趋,而且势不可挡(07-24)