资料介绍
在SoPC上实现的波形发生器:可编程片上系统(SoPC)设计是一个崭新的、富有生机的嵌入式系统设计方向。嵌入式集成化设计已成为电子领域发展的一个重要方向。Xilinx提供的EDK正是用于创建基于FPGA的嵌入式系统的开发工具包。本文介绍基于SoPC的波形发生器在EDK工具包下的设计与实现。本设计采用嵌入式软处理器核 MicroBlaze以及自主编写的包括实现DDS在内的多种IP Core,最大限度地实现系统的集成化。
关键词:SoPC IPCore EDK MicroBlaze DDS 波形发生器
引 言
SoPC可编程片上系统是一种特殊的嵌入式微处理器系统。首先,它是片上系统(SoC),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,以FPGA为硬件基础,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件系统在线可编程的功能。
IP(Intellectual Property)知识产权是SoC设计中非常重要的内容。资源复用(IP Reuse)是指在集成电路设计过程中,通过继承、共享或购买所需的部分或全部知识产权内核(IP Core)进行设计、综合和验证,从而加速流片设计过程的设计方法。IP技术包含两个方面的内容:IP核的生成和IP核的重用。本设计中采用VHDL语言,构建一个功能强大的完整DDS模块,并根据IBM CoreConnect总线连接规范,在DDS模块外面添加OPB(On?chip Peripheral Bus)片上外设总线接口,封装为自定义IP,添加到硬件系统中。
对于本设计来说,利用SoPC和IP的优势是可以利用最少的元器件,创建一个易配置、易扩展、易修改并且易于继承使用的集成系统。该系统的创建是基于Xilinx公司提供的嵌入式开发工具包EDK(Embedded Development Kit)来实现的。EDK自带了MicroBlaze软核和PowerPC硬核微处理器及大量免费IP,有利于构建简易系统。针对MicroBlaze及PowerPC提供的C语言编译器,可使系统的功能实现更加简易。对基于MicroBlaze的系统,MicroBlaze通过OPB总线与外设IP及外部存储器控制接口相连接,通过LMB(Local Memory Bus)总线与FPGA片上块存储器BRAM(Block RAM)相连接,还可以通过EMC(External Memory Control)等存储器控制IP扩展片外RAM或ROM。
1 系统的架构
本设计采用SoPC可编程片上系统的思想,利用Xilinx的Spartan3系列XC3S400 FPGA,通过EDK开发工具包的集成开发环境XPS(Xilinx Platform Studio)完成了FPGA硬件系统设计及基于此硬件系统的软件开发。图1是基于EDK的系统开发设计流程图,设计分为硬件设计和软件设计两部分。硬件设计符合基于HDL硬件描述语言的EDA开发流程,是根据硬件系统合理使用总线IP和外设IP,并为各个实例定义地址范围以及输出端口和时钟,经过综合及布线后形成硬件配置文件。软件设计与传统的嵌入式软件开发设计类似,是在硬件设计的基础上根据处理器所支持的指令集以及编译环境编写程序代码,然后对代码编译烧写及调试。
图1EDK系统开发流程图
该设计通过FPGA实现所有数字部分。系统的示意图如图2所示。
图2系统示意图
图3FPGA内部的硬件系统
图4MicroBlaze处理器架构图
在FPGA内部,以MicroBlaze为控制核心,以DDS IP为波形发生功能实现核心,同时加入了其他的IP核,诸如调试用的MDM(Microprocessor Debug Module),用于与PC进行通信的UART(Universal Asynchronous Receiver & Transmitter)通用异步传输模块,以及LCD显示和4×4按键控制模块,实现了系统的高度集成。FPGA硬件系统为数字系统产生数字量,外围电路加上高速数模转换器件DAC902,把波形数据转换为模拟波形,即实现了完整的可编程片上系统的波形发生器。
2 硬件系统的具体实现
本设计以32位MicroBlaze软核处理器为系统的核心部分,负责指令的执行。各种IP包括自主编写的以及EDK自带的,使用XPS下的ADD/Edit Cores工具,通过相应类型的总线连接到MicroBlaze上。其中UART、LCD、GPIO和自主编写的DDS的IP都是通过OPB(On?chip Peripheral Bus)片上外设总线连接到处理器上的。程序存储器RAM则是由FPGA内部的BRAM实现,并通过LMB(Local Memory Bus)本地存储器总线与MicroBlaze相连接。自主编写的IP与总线间的接口符合CoreConnect规范,实现了IP间的无缝结合,方便了数据的读写及时序控制。图3给出了在FPGA内部由各种IP组合成的可编程硬件系统。
硬件系统所包含的器件如图3右部分所示。Microblaze_0是该系统的CPU,其中的debug_module为调试模块,dlmb_cntlr和 ilmb_cntlr为片上BRAM控制器。Lmb_bram为片上BRAM,它通过LMB总线与 BRAM控制器相连,接受CPU的读写访问。DDFS是为实现DDS编写的IP模块。RS232为UART模块,用于与其他设备的通信以及程序调试。LCD IP负责128×64点阵液晶的显示控制。 COL和ROW是例化后的GPIO接口,用于连接4×4键盘。
2.1 MicroBlaze软核处理器
MicroBlaze是Xilinx提供的32位微处理器IP核,是哈佛结构的RISC微处理器,有较高的性能。它可以在性价比很高的SpartanIII系列FPGA上实现。EDK为其提供了MBGCC,支持C及C++语言。 MicroBlaze架构如图4所示。
该处理器含有32个32位的通用寄存器,2个专用寄存器,独立的32位数据和指令总线,并与IBM的OPB总线完全兼容,具有32位的指令宽度支持三个操作数和两种寻址模式,以及可选的硬件乘除法及浮点运算单元。
- 基于dac0832的波形发生器设计与实现 40次下载
- 基于USB的任意波形发生器 14次下载
- 波形发生器的PCB原理图免费下载 49次下载
- 关于波形发生器的设计 120次下载
- 波形发生器应用的测量 1次下载
- 波形发生器 175次下载
- 简易波形发生器 28次下载
- 波形发生器软件 4次下载
- 波形发生器的设计 29次下载
- 波形发生器电路的设计与制作 0次下载
- 波形发生器设计简述 0次下载
- 基于声卡的数据采集及波形发生器设计 33次下载
- FPGA实现智能函数发生器设计 55次下载
- 波形发生器设计指导教材 84次下载
- 基于USB2.0的任意波形发生器设计 52次下载
- 5分钟内将Raspberry Pi Pico变成简单的示波器+波形发生器 454次阅读
- proteus波形发生器频率怎么调 348次阅读
- 基于STM32的波形发生器设计 824次阅读
- 详解方波发生器电路图和应用 1w次阅读
- DDS信号发生器的理解与实现 1973次阅读
- 脉冲发生器是干嘛用的_脉冲发生器工作原理 2.2w次阅读
- 使用施密特触发反相器搭建简易方波发生器案例展示 9929次阅读
- 基于DDS的任意波形/ 函数发生器之间的差别 2312次阅读
- 使用pwm波形发生器 首先要掌握以下知识 4111次阅读
- 脉冲信号发生器原理_脉冲信号发生器应用领域 1.3w次阅读
- 高速任意波形发生器的原理及硬件设计方案 6886次阅读
- 函数信号发生器的介绍和任意波形发生器为什么是仿真实验的最佳仪器 6840次阅读
- 浅析任意波形发生器的工作原理 6257次阅读
- 基于FPGA和PWM的多路信号发生器设计 6338次阅读
- 什么是信号发生器?信号发生器的使用方法,信号发生器各种干货知识 2.7w次阅读
下载排行
本周
- 1东芝BiCD集成电路硅单片TB67S109AFNAG数据手册
- 1.93 MB | 5次下载 | 免费
- 2SP3060A/30120A/30160A/30320A/30520A系列数字合成扫频仪使用说明书
- 4.16 MB | 3次下载 | 1 积分
- 3具有双通道 DC-DC转换器、由串行接口控制的9通道电机驱动器TPIC2010数据表
- 1.15MB | 2次下载 | 免费
- 4USB Type-C PD快充协议智能触发芯片FS312B数据手册
- 0.75 MB | 1次下载 | 免费
- 5USB Type_C PD快充协议智能触发芯片FS8025B数据手册
- 1.29 MB | 1次下载 | 免费
- 6触摸按键PCB 设计要点V01
- 1.42 MB | 1次下载 | 免费
- 7超低噪声、高 PSRR、低压降线性稳压器 (LDO)TPS7H1111-SP和TPS111-SEP数据表
- 4.05MB | 1次下载 | 免费
- 8DC-DC电路(Buck)的设计与仿真
- 0.60 MB | 1次下载 | 2 积分
本月
- 1DCDC原理详解
- 0.98 MB | 65次下载 | 免费
- 2allegro快速入门教程
- 1.98 MB | 36次下载 | 免费
- 3FU-7(807)胆机原理图
- 11.93 MB | 25次下载 | 1 积分
- 4用于汽车应用的高压电源管理IC TPS65311-Q1数据表
- 1.05MB | 22次下载 | 免费
- 5电子元件基础知识介绍
- 8.76 MB | 15次下载 | 2 积分
- 6华为海思Ascend 310芯片的资料说明
- 0.12 MB | 10次下载 | 10 积分
- 7GD32F10x系列MCU用户手册
- 11.5MB | 9次下载 | 免费
- 86A 输出电流同步降压稳压器TPS65286数据表
- 2.05MB | 6次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935083次下载 | 免费
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420045次下载 | 免费
- 3Altium DXP2002下载入口
- 未知 | 233067次下载 | 免费
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191308次下载 | 免费
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183308次下载 | 免费
- 6labview8.5下载
- 未知 | 81567次下载 | 免费
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73785次下载 | 免费
- 8NI LabVIEW中实现3D视觉的工具和技术
- 未知 | 70088次下载 | 免费
评论
查看更多