基于FPGA的SOC系统中的串口设计与优化
118 浏览量
更新于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 上传
2022-11-07 上传
weixin_38695751
- 粉丝: 7
- 资源: 961
最新资源
- TypeScript组件化应用实践挑战解析
- 微信小程序药店管理系统的设计与实现
- OB2PluginSample 插件开发:依赖项管理技巧
- 图像处理技术详解与实践应用
- IML++ v.1.2a:C++现代迭代方法库更新
- 开源软件实现手机GPRS连接Linux网络
- 雷达数据解析:CSV操作提取408 ARS目标物理信息
- myStudies:探索后端开发与TypeScript实践
- Matlab源代码实现DFT的cefine程序指南
- 基于用户协作过滤的推荐系统实践入门
- 童心党史系统微信小程序设计与开发
- Salesforce Markdown工作簿:掌握技术细节指南
- 高效库存管理系统的开发与应用
- Kafka与Zeebe集成新工具:Kafka-Connect-Zeebe介绍与实践
- LiteLoaderBDS:轻量级Bedrock服务器插件加载器
- Linux环境下aarch64架构ACPI表格处理工具