基于FPGA的SOC系统中的串口设计与优化
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核构成,可以简化设计,降低硬件资源开销,并且可以满足实际需要,具有很高的实用价值。
2020-12-10 上传
点击了解资源详情
2020-11-02 上传
2013-04-23 上传
2022-04-22 上传
2022-04-22 上传
2021-12-21 上传
2021-12-01 上传
2021-10-10 上传
weixin_38695751
- 粉丝: 7
- 资源: 961
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析