在SOPC上实现的波形发生器

发布者:BlissfulJourney最新更新时间:2006-09-27 来源: 单片机及嵌入式系统应用关键字:总线  波形  模块  寄存 手机看文章 扫描二维码
随时随地手机看文章

引 言

  SoPc可编程片上系统是一种特殊的嵌入式微处理器系统。首先,它是片上系统(SoC),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,以FPGA为硬件基础,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件系统在线可编程的功能。

  IP(Intellectual Property)知识产权是SoC设计中非常重要的内容。资源复用(IP Reuse)是指在集成电路设计过程中,通过继承、共享或购买所需的部分或全部知识产权内核(IP Core)进行设计、综合和验证,从而加速流片设计过程的设计方法。IP技术包含两个方面的内容:IP核的生成和IP核的重用。本设计中采用VHDL语言,构建一个功能强大的完整DDS模块,并根据IBM CoreCon-nect总线连接规范,在DDS模块外面添加OPB(On-chipPeripheral Bus)片上外设总线接口,封装为自定义IP,添加到硬件系统中。

  对于本设计来说,利用SoPc和IP的优势是可以利用最少的元器件,创建一个易配置、易扩展、易修改并且易于继承使用的集成系统。该系统的创建是基于Xilinx公司提供的嵌入式开发工具包EDK(Embedded DevelopmentKit)来实现的。EDK自带了MicroBlaze软核和PowerPC硬核微处理器及大量免费IP,有利于构建简易系统。针对MicroBlaze及PowerPC提供的C语言编译器,可使系统的功能实现更加简易。对基于MicroBlaze的系统,Mi-croBlaze通过OPB总线与外设IP及外部存储器控制接口相连接,通过LMB(Local Memory Bus)总线与FPGA片上块存储器BRAM(BlOCk RAM)相连接,还可以通过EMC(External Memory control)等存储器控制IP扩展片外RAM或ROM。

1 系统的架构

  本设计采用SoPC可编程片上系统的思想,利用Xil-inx的spartan3系列XC3S400 FPGA,通过EDK开发工具包的集成开发环境XPS(xilinx Platform studio)完成了FPGA硬件系统设计及基于此硬件系统的软件开发。图1是基于EDK的系统开发设计流程图,设计分为硬件设计和软件设计两部分。硬件设计符合基于HDL硬件描述语言的EDA开发流程,是根据硬件系统合理使用总线IP和外设IP,并为各个实例定义地址范围以及输出端口和时钟,经过综合及布线后形成硬件配置文件。软件设计与传统的嵌入式软件开发设计类似,是在硬件设计的基础上根据处理器所支持的指令集以及编译环境编写程序代码,然后对代码编译烧写及调试。

  该设计通过FPGA实现所有数字部分。系统的示意图如图2所示。

  在FPGA内部,以MicroBlaze为控制核心,以DDSIP为波形发生功能实现核心,同时加入了其他的IP核,诸如调试用的 MDM(Microprocessor Debug Module),用于与PC进行通信的UART(Universal AsynchronousReceiver&Transmitter)通用异步传输模块,以及LCD显示和4×4按键控制模块,实现了系统的高度集成。FPGA硬件系统为数字系统产生数字量,外围电路加上高速数模转换器件DAC902,把波形数据转换为模拟波形,即实现了完整的可编程片上系统的波形发生器。

2 硬件系统的具体实现

  本设计以32位MicroBlaze软核处理器为系统的核心部分,负责指令的执行。各种IP包括自主编写的以及EDK自带的,使用XPS下的ADD/Edit Cores工具,通过相应类型的总线连接到MicroBlaze上。其中UART、LCD、GPIO和自主编写的DDS的IP都是通过OPB(On-chipPeripheral Bus)片上外设总线连接到处理器上的。程序存储器RAM则是由FPGA内部的BRAM实现,并通过LMB(Local Memory Bus)本地存储器总线与MicroBlaze相连接。自主编写的IP与总线间的接口符合CoreConnect规范,实现了IP间的无缝结合,方便了数据的读写及时序控制。图3给出了在FPGA内部由各种IP组合成的可编程硬件系统。

  硬件系统所包含的器件如图3右部分所示。Microb-laze_0是该系统的CPU,其中的debug—module为调试模块,dimb_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软核处理器


  MieroBlaze是Xilinx提供的32位微处理器IP核,是哈佛结构的RISC微处理器,有较高的性能。它可以在性价比很高的SpartanIII系列FPGA上实现。EDK为其提供了MB-GCC,支持C及C++语言。MicroBlaze架构如图4所示。

  该处理器含有32个32位的通用寄存器,2个专用寄存器,独立的32位数据和指令总线,并与IBM的OPB总线完全兼容,具有32位的指令宽度支持三个操作数和两种寻址模式,以及可选的硬件乘除法及浮点运算单元。

2.2 DDS IP的实现

  数字直接频率合成技术(Direct Digital Frequemy Syn-thesls,简称DDS或DDFS)的基本原理是利用采样定理,通过查表法产生波形,其基本电路原理如图5所示。

  DDS的频率及步进容易控制,且合成的频率取决于累加器及查找表的速度,采用FPGA可以很好的发挥这项优势,获得精细的步进及宽频带。使用HDL硬件描述语言,可以很方便的描述出DDS的FPGA硬件实例。在基本的DDS模块上,添加相应的控制寄存器,通过向不同的寄存器内写人相应的控制字,实现频率以及幅度的可控性。最后通过IBM CoreConnect技术,在DDS模块外面添加总线接口,作为自定义IP,成功地将其挂载到系统总线上,便可以方便的对其进行读写操作,实现DDS模块与MicroBlaze的通信。图6是从用户逻辑到成为符合IBM CoreCormect技术规范的DDS IP的实现过程。

  DDS的VHDL代码作为子模块与opb_core_ssp0_ref.vhd模块共同构成opb_DDS IP Core,其中ipif(IP InterFace)符合IBM CoreConnect规范,负责DDS逻辑与OPB总线之间的通信。在EDK中,通过Create/ImpottIP工具把opb_DDS添加到系统中,并为其分配地址,建立端口连接,之后就可以使用该IP了。DDS IP配合控制程序可产生各种波形,并对频率、幅度进行精确的控制。

2.3 其余部分

  系统所需要的LCD显示、DAC控制等模块,均通过与生成DDS IP相同的方式,编写为符合IBM CoreConnect总线规范的IP,以供使用。

  在硬件系统构建完毕之后,使用Platgen工具生成网表文件和Bitgen工具生成相应的硬件配置文件。若将工程导入到ISE软件中,可以进行优化设置,还可以将工程导人到其他的综合工具如Synplify Pro进行实现。IP核的编写是在ISE中完成的。无论对于整个系统还是一个单独的IP,都可以利用Modelsim工具进行行为及时序仿真。最后,为此系统描写XBD(Xilinx Board Description)板级描述文件,通过此文件,EDK可以通过BSB(Base System Builder)模式自动生成基本的硬件系统,并对所添加的端口进行约束,这样可以实现资源的继承性使用。

3 软件系统的实现

  EDK提供了免费的GNU C Compiler,可以支持标准C。同时,EDK为多种IP以API的形式提供了驱动函数,有利于程序的开发。XPS所集成的软件工程管理工具允许在一个硬件平台上同时开发多个软件工程。完成软件代码的编写后,使用EDK集成的XMD和GDB调试器对代码进行仿真和调试,也可以配合ChipScope(片内逻辑分析仪)进行硬件及软件的协同调试。XMD通过MDM模块和JTAG口连接目标板上的CPU,GDB可以对程序进行单步调试或断点设置。针对本设计及应用,编写了系统控制及晶显示程序。程序编译后生成为elf文件,通过Update bitstream工具把程序同硬件配置文件合成为Download.bit文件,把此文件下载到目标板后,FPGA首先根据硬件配置信息建立硬件系统,并把程序代码映射到片内BRAM中,最后启动.MicroBlaze,运行程序。

4 总结

  本系统基于FPGA,以MicroBlaze为核心,加入具有良好特性的DDSIP,并辅以必要的外围电路,构成了高度集成化的系统。另外,SoPC系统的柔性配置,使得可以基于此系统扩展片外存储器,并可以实现RTOS操作系统的移植,以实现更丰富的功能和完成更复杂的任务。

关键字:总线  波形  模块  寄存 引用地址:在SOPC上实现的波形发生器

上一篇:基于嵌入式Linux的智能手机系统设计
下一篇:嵌入式MPEG-2远程网络视频监控系统的实现

推荐阅读最新更新时间:2024-05-02 20:26

RS的485的接线总线瞬态保护
针对低频率的共模干扰有保护作用,对于频率很高的瞬态干扰就无能为力了。由于传输线对高频信号相当于电感,因此对于高频瞬态干扰,接地线实际等同于开路。这样的瞬态干扰虽然持续时间短暂,但可能会有成百上千伏的电压。实际应用环境下还是存在高频瞬态干扰的可能。一般在切换大功率感性负载如 变压器 、 继电器 等或闪电过程中都会产生幅度很高的瞬态干扰,如果不加以适当防护就会损坏RS-485通信接口。对于这种瞬态干扰可以采用隔离或旁路的方法加以防护。主要有隔离保护、旁路保护等方法可以实现有效的瞬态保护。 隔离保护方法 这种方案实际上将瞬态高压转移到隔离接口中的电隔离层上,由于隔离层的高绝缘电阻,不会产生损害性的浪涌电流,起到保护接口的作用。通常采用高
[嵌入式]
如何用高速A/D转换器测量脉冲波形
采用脉冲信号的产品方阵不断增长,包括当前能效更高的IC、开关电源和逆变器,乃至LED模块和子组件;相应的,对于这些最终产品而言,其分立的组成部件在脉冲条件下的测量变得极为重要。仅具备DC源输出能力的测试仪器给器件施加的功率所发生的热量将足以改变器件的特性。脉冲激励信号的使用还要求仪器能够实现更快的测量。 高速与积分ADC的比较 传统上精密的SMU(信号源测量单元)均采用了积分式的模拟/数字变换器(ADC),这可以让信号在一定时间间隔(称为积分时间)内平均。图1描述了一种经过简化的双斜率积分ADC,其基本工作原理是用未知的信号对电容充电,然后在基准电压下让电容放电。充电和放电的时间的比例与未知信号与基准信号间的比例成正比。虽
[电源管理]
如何用高速A/D转换器测量脉冲<font color='red'>波形</font>
ARM9的寄存
CPSR寄存器(程序状态): T标志位:1:THUMB状态(指令16位半对齐) 0:ARM状态(指令32位对齐) I、F: 中断屏蔽位,把它们设置为1可以相应的屏蔽IRQ和FIQ中断 M4-M0: 处理器工作模式位,只能按照下列组合工作,其它的非法组合都会进入未知的状态,而导致处理器复位。
[单片机]
ARM9的<font color='red'>寄存</font>器
现场总线接线正确的方法
  现场总线系统的安装要实现既有成本效益,又能及时完成任务的目标,采用正确接线方法,在很大程度上是有利的保障。传统的点对点接线造成每台设备都有多个端接点,这会造成误差过多的现象,导致设备安装时间过长和人员投入成本过高。 现场总线系统的最佳设计必须考虑技术固有的好处,以及大量减少接线工作,安装人员投入及安装时间和蒸汽管线维护工作。   完全实现插接化的现场总线系统为网络上所有输入和输出设备提供全系统“即插即用”的便利条件。即插即用的插接化多年来一直是许多行业内的标准惯例。这些行业已经认识到,在一个连接速度和一致性被视为“至高无上”的商业环境下,竞争是必不可少的。   插接化能完美地补充现场总线系统的优化条件,因为它们的理念和目标是
[嵌入式]
模块电源与应用
模块 电源 是可以直接安装在印刷 电路 板上使用的电源模块,它可以用于数字或模拟负载的供电应用场合。 电源模块化是 开关电源 的发展趋势,其可以提高电源系统的工作可靠性、可用性、使用方便性,缩短电源的维修和维护时间,得到了越来越广泛的应用。 而与模块电源相关的技术包括 集成电路 的制造、 封装 ,高频功率变换、数字化控制、全谐振高频 软开关 、同步整流、智能化控制、电磁兼容、功率因数校正、电源保护控制、 并联 均流控制、脉宽调制等技术。 随着 半导体 工艺和封装技术的改进,高频软开关技术的大量应用,模块电源的功率密度越做越高,模块电源的功率变换效率也越来越高,体积越来越小,出现了 芯片
[电源管理]
<font color='red'>模块</font>电源与应用
Vicor将在WCX 2024上展示适用于48V区域架构的模块化电源转换解决方案
Vicor将在WCX 2024(2024年国际汽车设计工程展)上展示适用于48V区域架构的模块化电源转换解决方案 高密度、可扩展的800V和48V电源模块解决电气化电源转换挑战 随着汽车行业向48V区域架构过渡,电源系统设计工程师正在寻找具有领先功率密度、重量和可扩展性的新型高压电源转换解决方案。 Vicor将于4月16日至18日在底特律举行的2024年国际汽车设计工程展(WCX™)上发表五场演讲 ,详细介绍其使用新型高密度、可扩展的电源模块,配合专有拓扑和创新封装技术,实现800V和48V电源转换方面的创新方法。 减小尺寸,减轻重量是向新一代xEV平台发展的必经之路。Vicor模块为电动汽车提供最高的功率密度
[汽车电子]
Vicor将在WCX 2024上展示适用于48V区域架构的<font color='red'>模块</font>化电源转换解决方案
PIC单片机看门狗模块的设计思路及程序设计
1. 设计思路   首先,设置ICD Option中的WatchdogTimer为On/Enable,然后分别改变分频比为128、64、32、16、8、4、2和1,运行程序并记录PORTA 0 引脚的高低电平宽度和RSTREC寄存器值;然后,删除例程中CLRWDT指令,重复前一步操作;最后比较前两种情况下对应于不同分频比条件的高低电平宽度是否一致,并注意RSTREC值的变化情况。   2. 程序设计   程序流程如图所示。   图 程序流程   程序代码如下:
[单片机]
PIC单片机看门狗<font color='red'>模块</font>的设计思路及程序设计
Micron 宣布DDR4存储器模块研发完成
    Micron 虽然忙于 Elpida 的竞争行列中,但对于下一代存储器的开发并未停止。     Micron 透过新闻稿正式宣布该公司首个DDR4 DRAM 模块已经开发完成,同时已经开始提供样品让主要客户进行测试,预计2013年将能够开始量产。     根据 JEDEC 的规划,企业端以及服务器市场将会率先使用 DDR4 存储器模块,它将比目前的 DDR3 存储器拥有更高的工作时脉却使用较低的电压。此次 Micron 所宣布的 DDR4 存储器模块是与 Nanya 基于 30nm 制程偕同开发。在单挑存储器模块内,拥有 8 颗 4Gbit DDR4 颗粒,同时将会涵盖了 RDIMMs、LRDIMMs、3DS、SODIMMs
[手机便携]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved