基于FPGA的SOC系统中的串口设计与优化

1 下载量 101 浏览量 更新于2024-08-30 收藏 199KB PDF 举报
EDA/PLD中的基于FPGA的SOC系统中的串口设计 在基于FPGA的SOC设计中,常使用串口作为通信接口,但直接用FPGA进行串口通信数据的处理是比较繁杂的,特别是直接使用FPGA进行串口通信的协议的解释和数据打包等处理, shall会消耗大量的FPGA硬件资源。为简化设计,降低硬件资源开销,可以在FPGA中利用IP核实现的嵌入式微处理器来对串口数据进行处理。 嵌入式微处理器PicoBlaze适用于Spartan-II/E、CoolRunner-II和Virtex系列FPGA,运行速度可达到40MIPS以上,提供49个不同的指令,16个寄存器,256个地址端口,1个可屏蔽的中断。其性能超过了传统的8bit微处理器。 在FPGA中设计串口接收和发送模块,并通过总线结构与Picoblaze连接。串口接收和发送模块的设计可采用成熟的IP核。实际设计中采用了XLINX的串口收发IP核,其特点是串口波特率、符号规则都可以灵活地定制,同时具有16字节的接收FIFO和16字节的发送FIFO。 使用Picoblaze和串口收发IP核构成的串口设计可以简化设计,降低硬件资源开销。同时,为了满足实际需要,本文也提出了使用片外SDRAM器件对其存储能力进行扩展的设计方法。 Picoblaze的功能、原理见参考文献[1]。 Picoblaze使用灵活,但其缺点是可寻址的存储空间非常有限,因此为满足实际需要,需要使用片外SDRAM器件对其存储能力进行扩展。 在基于FPGA的SOC设计中,使用串口作为通信接口,可以使用FPGA进行串口通信数据的处理,但这将消耗大量的FPGA硬件资源。为简化设计,降低硬件资源开销,可以在FPGA中利用IP核实现的嵌入式微处理器来对串口数据进行处理。 本文中的设计采用了XILINX的FPGA,可选用的嵌入式微处理器IP核种类繁多,但基于对硬件资源开销最少的考虑,最后选用了Picoblaze。Picoblaze适用于Spartan-II/E、CoolRunner-II和Virtex系列FPGA,运行速度可达到40MIPS以上,提供49个不同的指令,16个寄存器,256个地址端口,1个可屏蔽的中断。 在设计中,串口收发接口的设计非常重要,需要在FPGA中设计串口接收和发送模块,并通过总线结构与Picoblaze连接。串口接收和发送模块的设计可采用成熟的IP核。实际设计中采用了XLINX的串口收发IP核,其特点是串口波特率、符号规则都可以灵活地定制,同时具有16字节的接收FIFO和16字节的发送FIFO。 使用Picoblaze和串口收发IP核构成的串口设计可以简化设计,降低硬件资源开销。同时,为了满足实际需要,本文也提出了使用片外SDRAM器件对其存储能力进行扩展的设计方法。 本文中提出的基于FPGA的SOC系统中的串口设计,使用Picoblaze和串口收发IP核构成,可以简化设计,降低硬件资源开销,并且可以满足实际需要,具有很高的实用价值。