


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在OpenBus系统基础上的FPGA嵌入式设计方案详解现场可编程门阵列FPGA(FieldProgrammableGateArray)是美国Xilinx公司于1984年首先开发的一种通用型用户可编程器件。FPGA内部由可绾程逻辑单元阵列、布线资源和可编程的I/O单元阵列构成,包含丰富的逻辑门、寄存器和I/O资源。目前,面向大规模可编程器件附的广泛应用,正在不断地加速电子设计技术从硬件电路设计向“软”设计的过渡。AltiumDesigner是传统电路设计软件Protel的高端设计版本,除了具备基本的电路原理图设计和PCB设计功能外,它的特色主要在于增强了FPGA开发功能,将电子产品的板级设计、可缩程逻辑设计和嵌入式设计开发融合在一起。传统的FPGA系统设计多是基于硬件描述语言VHDL或者Verilog来完成的,需要开发者具备一定的硬件描述语言知识,而且这种方式的设计就可读性而言具有一定的复杂度。AltiumDesigner提出了一种系统级的设计概念——OpenBus系统,这是一种全新的系统级的FPGA设计方法。这种设计方法避开了传统的FPGA设计中用硬件描述语言来编程、仿真和验证等步骤,以更加抽象的方式表示了处理器与外围设备间的互联,降低了FPGA设计的复杂度,简化了FPGA设计。AltiumDesigner的创新电子设计平台NanoBoard3000提供了将嵌入式智能作为设计核心的设计环境,在这个平台上可以调试、下载FPGA嵌入式设计,实现电路硬件设计和基于“软核”处理器的嵌入式软件设计。1基于OpenBus系统的设计要素1.1OpenBus瞄系统“OpenBus系统”是一个描述一种使用普通总线实现整个系统内逻辑功能性“模块”连接的术语。通过这种方法,用户能够很快地装配一个包含满足应用需求的各种功能在内的系统。具体来说,OpenBus系统是AltiumDesigner软件自带的高端IP模块,包含Connectors(连接器)、Processors(处理器)、Memories(存储器)、Peripherals(外围设备)等,如图1的OpenBusPalette面板所示。设计时可以根据设计需求,直接在OpenBusPalette面板调用相关的IP模块,即OpenBus器件,连接构成设计系统。但要注意的是,这些IP模块在调用后,还需要进行相应的参数配置才能使用。这种OpenBus系统的设计方法与传统的将处理器和外围电路作为元件放置在电路板上不同,它移除了所有低级别的走线和互连细节,能够快速地构建系统。1.2FPGA设计元件库与软件平台搭建器除了OpenBusPalette面板中的OpenBus器件,要完成FPGA嵌入式设计,还需要使用AltiumDesigner软件中的FPGA设计元件库。这些元件库提供了FPGA设计中所需的外围器件。AltiumDesigner软件提供的常用的FPGA设计元件库有:FPGANB3000Port-Plugin.IntLib、FPGAPeripherial.IntLib、FPGAGeneric.IntLib、FPGAConfigumbleGeneric.IntLib、FPGAInstruments.IntLib等。与OpenBus系统配合进行FPGA嵌入式设计的,还有软件平台搭建器SwPlatform。因为进行FPGA嵌入式设计时,FPGA器件的外围引脚常需要驱动如LED、触摸屏、扬声器等硬件设备。而要使这些硬件设备能正常工作,就要在设计中包含相应的驱动代码。这些硬件的驱动代码无需自行编写,AltiumDesigner的软件平台搭建器SwPlatform可以把所有连接外设所需的低阶驱动代码整合一起。软件平台搭建器SwPlatform采用图形化方式连接用户的应用程序与底层硬件。在进行FPGA设计时,软件平台搭建器SwPlatform可以自动地由FPGA设计的硬件部分获取底层硬件的信息。如图2所示,软件平台搭建器SwPlatform自动根据底层信息(Wrapper,栈层中的HARDWARE部分)提供对于硬件的驱动(Driver,栈层中的SOFTWAREPLATFORM部分)以及服务程序(Context,栈层中的APPLICATIONCODE部分)。设计时只需关注构建设计本身的应用程序代码,不需要考虑过多的底层驱动代码。1.3创新电子设计平台NanoBoard3000AltiumDesigner的创新电子设计平台NanoBoard3000,板载Xilinx公司的FPGA芯片SpartamXC3S1400AN。通过USB接口,将装有AltiumDesigner软件的PC机与NanoBoard3000连接,AltiumDesigner软件就可以与NanoBoard3000直接通信,下载并交互地开发和调试程序。设计过程中无需仿真环境,加快了开发流程。NanoBoard3000板上资源丰富,含高级的I2S立体声系统,有板载放大器、混音器及立体声扬声器。全面的视频输出,包括S-Video、混合视频的输入输出及VGA输出。标准的存储器接口,包括IDE、Compactflash及SD内存卡。各种标准通信接口,包括USB、Ethemet、RS-232串口、CAN、pS/2miniDIN。另外,还有各种通用开关和LED。FPGA设计下载前需要配置管脚约束文件,目的是让设计输入输出端口与目标FPGA器件的管脚对应起来。在AltiumDesigner软件中进行FPGA嵌入式设计,下载程序时,选择自动配置约束文件功能,就可为FPGA设计自动添加管脚约束文件。2基于OpenBus系统的设计与实现文中基于OpenBus系统设计实现了一个32位处理器TSK3000A控制LED的FPGA嵌入式工程。将嵌入式程序代码“嵌入”到TSK3000A处理器中,在软件平台搭建器SwPlatform提供底层驱动程序的基础上,用C语言编写应用程序代码,控制NanoBoard3000开发板上的LED。同时,自动配置FPGA约束文件,在创新电子平台NanoBoard3000上下载程序。程序下载调试成功后,可以看到LED的亮暗情况与嵌入式代码中预先设计的一样,表明设计是完全正确的。2.1OpenBus系统设计与顶层原理图设计在AltiumDesigner中新建一个FPGA工程,为工程添加原理图文件和OpenBus文件。打开OpenBusPalette面板,调用LEDController、连接器Interconnect、32-bitRISCProcessorTSK3000A、SBAMController等元件,合理配置OpenBus器件参数,完成OpenBus文件的设计,如图3所示。将图3的OpenBus文件生成原理图符号,在设计的顶层原理图中调用。调用FPGA设计元件库中的其他外围组成电路的元器件,连线完成顶层原理图的设计,如图4所示。2.2软件平台搭建器SwPlatform与嵌入式代码设计本设计中要用32-bitRISCProcessorTSK3000A处理器来控制LED,需要添加LED的驱动程序,如图5所示。在器件栈中选择ImportfromFPGA按钮,AltiumDesigner将自动检查FPGA工程,添加LEDController和LEDControllerDrive,这样就为LED器件完成了硬件驱动程序的添加。在软件平台搭建器SwPlatform完成LED器件底层硬件驱动代码的基础上,用C语言设计应用程序代码,实现32—bitRISCProcessorTSK3000A处理器控制LED器件的功能。NanoBoard3000上有一组共8个LED(RGBUSERLEDS)。程序代码拟控制LED7的亮度值为最大值的一半,LED0的亮度每隔一定的时间,逐渐增强然后熄灭。程序代码清单如下:上述程序中的led_open函数、led_set_intensity函数都可以在AltiumDesigner软件的知识中心面板查看到其具体含义和调用方法。2.3FPGA管脚映射与设计下载FPGA设计必不可少的一步是通过约束文件,建立设计端口与实际目标FPGA器件真实引脚之间的连接关系。约束文件中详细列出了端口到引脚的映射及其它相关的设计特性,如时钟分配等。配置管理器会自动打开,显示检测到的约束文件并添加到工程中,约束配置文件就创建完成了。连接NanoBoard3000与装有AltiumDesigner软件的电脑,成功下载设计后,占用的资源情况,如图6所示。在NanoBoard3000开发板上可以看到,最左侧的LED7的亮度是程序中设定的数值,而最右侧的LED0亮度则是逐渐变化的,LED的亮暗变化情况与设计意图一致。3结论基于OpenBus系统的FPGA嵌
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- YY/T 1284-2024牙科学牙科镊
- 销售公司业务员劳动合同协议
- 房屋按揭共同还款合同样本2025
- 生态养殖基地租赁合同
- 特许经营合同示范文本
- 新能源货车租赁合同
- 采购合同管理:风险防范与应对措施
- 合作建房借款合同(单位集体住房)
- 度产品试用合同协议
- 金属冶炼安全管理课件
- 2025包头青山宾馆有限公司面向社会公开招聘18人笔试参考题库附带答案详解
- 课件-DeepSeek从入门到精通
- 2025至2030年中国毛绒卡通玩具数据监测研究报告
- 2025年度智能充电桩场地租赁合同范本3篇
- 2024年芜湖职业技术学院高职单招语文历年参考题库含答案解析
- 心电监护仪的操作及注意事项 课件
- GB/T 718-2024铸造用生铁
- 细胞生物学(全套1047张课件)
- CFM56-7发动机滑油系统及其常见故障分析(共41页)
- 《嵌入式技术》课程标准(STM32版)
- tplink-mr11u刷openwrt教程
评论
0/150
提交评论