首页 > 技术 > 内容

在OpenBus系统基础上的FPGA嵌入式设计方案详解

时间:2026-01-30  作者:Diven  阅读:0

现场可编程门阵列FPGA(Field ProgRAMmable Gate Array)是美国Xilinx公司于1984年首先开发的通用型用户可编程器件FPGA内部由可绾程逻辑单元阵列、布线资源和可编程的I/O单元阵列构成,包含丰富的逻辑门寄存器和I/O资源。目前,面向大规模可编程器件附的应用,正在不断地加速电子设计技术从硬件电路设计向“软”设计的过渡。Altium Designer是传统电路设计软件Protel的高端设计版本,除了具备基本的电路原理图设计和PCB设计功能外,特色主要在于增强了FPGA开发功能,将电子产品的板级设计、可缩程逻辑设计和嵌入式设计开发融合在一起。

传统的FPGA系统设计多是基于硬件描述语言VHDL或者Verilog来完成的,需要开发者具备一定的硬件描述语言知识,而且这种方式的设计就可读性而言具有一定的复杂度。Altium Designer提出了系统级的设计概念——OpenBus系统,这是全新的系统级的FPGA设计方法。这种设计方法避开了传统的FPGA设计中用硬件描述语言来编程、仿真和验证等步骤,以更加抽象的方式表示了处理器与外围设备间的互联,降低了FPGA设计的复杂度,简化了FPGA设计。

Altium Designer的创新电子设计平台NanoBoard 3000提供了将嵌入式智能作为设计核心的设计环境,在这个平台上可以调试、下载FPGA嵌入式设计,实现电路硬件设计和基于“软核”处理器的嵌入式软件设计。

1 基于OpenBus系统的设计要素

1.1 OpenBus瞄系统

“OpenBus系统”是一个描述使用普通总线实现整个系统内逻辑功能性“模块”连接的术语。通过这种方法,用户能够很快地装配一个包含满足应用需求的各种功能在内的系统。具体来说,OpenBus系统是Altium Designer软件自带的高端IP模块,包含Connectors(连接器)、Processors(处理器)、Memories(存储器)、Peripherals(外围设备)等,如图1的OpenBus Palette面板所示。设计时可以根据设计需求,直接在OpenBus Palette面板调用相关的IP模块,即OpenBus器件,连接构成设计系统。但要注意的是,这些IP模块在调用后,还需要进行相应的参数配置才能使用。这种OpenBus系统的设计方法与传统的将处理器和外围电路作为元件放置在电路板上不同,移除了所有低级别的走线和互连细节,能够快速地构建系统。

1.2 FPGA设计元件库与软件平台搭建器

除了OpenBus Palette面板中的OpenBus器件,要完成FPGA嵌入式设计,还需要使用Altium Designer软件中的FPGA设计元件库。这些元件库提供了FPGA设计中所需的外围器件。Altium Designer软件提供的常用的FPGA设计元件库有:FPGA NB3000 Port-Plugin.IntLib、FPGA Peripherial.IntLib、FPGA GenerIC.IntLib、FPGA Configumble GenerIC.IntLib、FPGA Instruments.IntLib等。

与OpenBus系统配合进行FPGA嵌入式设计的,还有软件平台搭建器SwPlatform。因为进行FPGA嵌入式设计时,FPGA器件的外围引脚常需要驱动如LED、触摸屏扬声器等硬件设备。而要使这些硬件设备能正常工作,就要在设计中包含相应的驱动代码。这些硬件的驱动代码无需自行编写,Altium Designer的软件平台搭建器SwPlatform可以把所有连接外设所需的低阶驱动代码整合一起。软件平台搭建器SwPlatform采用图形化方式连接用户的应用程序与底层硬件。在进行FPGA设计时,软件平台搭建器SwPlatform可以自动地由FPGA设计的硬件部分获取底层硬件的信息。如图2所示,软件平台搭建器SwPlatform自动根据底层信息(Wrapper,栈层中的HARDWARE部分)提供对于硬件的驱动(Driver,栈层中的SOFTWARE PLATFORM部分)以及服务程序(Context,栈层中的APPLICATION CODE部分)。设计时只需关注构建设计本身的应用程序代码,不需要考虑过多的底层驱动代码。

1.3 创新电子设计平台NanoBoard 3000

Altium Designer的创新电子设计平台NanoBoard 3000,板载Xilinx公司的FPGA芯片Spartam XC3S 1400AN。通过USB接口,将装有Altium Designer软件的PC机与NanoBoard3000连接,Altium Designer软件就可以与NanoBoard 3000直接通信,下载并交互地开发和调试程序。设计过程中无需仿真环境,加快了开发流程。

NanoBoard 3000板上资源丰富,含高级的I2S立体声系统,有板载放大器、混音器及立体声扬声器。全面的视频输出,包括S-Video、混合视频的输入输出及VGA输出。标准的存储器接口,包括IDE、Compact flash及SD内存卡。各种标准通信接口,包括USB、Ethemet、RS-232串口、CAN、pS/2 miniDIN。另外,还有各种通用开关和LED。FPGA设计下载前需要配置管脚约束文件,目的是让设计输入输出端口与目标FPGA器件的管脚对应起来。在Altium Designer软件中进行FPGA嵌入式设计,下载程序时,选择自动配置约束文件功能,就可为FPGA设计自动添加管脚约束文件。

2 基于OpenBus系统的设计与实现

文中基于OpenBus系统设计实现了一个32位处理器TSK3000A控制LED的FPGA嵌入式工程。将嵌入式程序代码“嵌入”到TSK3000A处理器中,在软件平台搭建器SwPlatform提供底层驱动程序的基础上,用C语言编写应用程序代码,控制NanoBoard 3000开发板上的LED。自动配置FPGA约束文件,在创新电子平台NanoBoard 3000上下载程序。程序下载调试成功后,可以看到LED的亮暗情况与嵌入式代码中预先设计的一样,表明设计是完全正确的。

2.1 OpenBus 系统设计与顶层原理图设计

在Altium Designer中新建一个FPGA工程,为工程添加原理图文件和OpenBus文件。打开OpenBus Palette面板,调用LED Controller、连接器Interconnect、32-bit RISC Processor TSK3000A、SBAM Controller等元件,合理配置OpenBus器件参数,完成OpenBus文件的设计,如图3所示。

将图3的OpenBus文件生成原理图符号,在设计的顶层原理图中调用。调用FPGA设计元件库中的其外围组成电路的元器件,连线完成顶层原理图的设计,如图4所示。

2.2 软件平台搭建器SwPlatform与嵌入式代码设计

本设计中要用32-bit RISC Processor TSK3000A处理器来控制LED,需要添加LED的驱动程序,如图5所示。在器件栈中选择Import fROM FPGA按钮,Altium Designer将自动检查FPGA工程,添加LED Controller和LED Controller Drive,这样就为LED器件完成了硬件驱动程序的添加。

在软件平台搭建器SwPlatform完成LED器件底层硬件驱动代码的基础上,用C语言设计应用程序代码,实现32—bit RISC Processor TSK3000A处理器控制LED器件的功能。NanoBoard 3000上有一组共8个LED(RGBUSERLEDS)。程序代码拟控制LED7的亮度值为最大值的一半,LED0的亮度每隔一定的时间,逐渐增强然后熄灭。程序代码清单如下:

上述程序中的led_open函数、led_set_intensity函数都可以在Altium Designer软件的知识中心面板查看到其具体含义和调用方法。

2.3 FPGA管脚映射与设计下载

FPGA设计必不可少的一步是通过约束文件,建立设计端口与实际目标FPGA器件真实引脚之间的连接关系。约束文件中详细列出了端口到引脚的映射及其相关的设计特性,如时钟分配等。配置管理器会自动打开,显示检测到的约束文件并添加到工程中,约束配置文件就创建完成了。连接NanoBoard 3000与装有Altium Designer软件的电脑,成功下载设计后,占用的资源情况,如图6所示。在NanoBoard 3000开发板上可以看到,最左侧的LED7的亮度是程序中设定的数值,而最右侧的LED0亮度则是逐渐变化的,LED的亮暗变化情况与设计意图一致。

3

基于OpenBus系统的FPGA嵌入式设计没有硬件描述语育的编程,OpenBus文件的设计像绘制原理图一样方便,软件平台搭建器SwPlatform为FPGA嵌入式设计完成了底层的驱动代码。结合Altium Designer的创新电子平台NanoBoard3000可片内在线调试,能及时发现设计中的问题,节约项目的研发与设计时间。这种设计方法相对传统的FPGA设计开发,设计过程大大简化,符合FPGA嵌入式“软”设计的设计应用发展趋势。

猜您喜欢


在选择车载配件时,了解不同配件的特点和功能非常重要。导航仪和手机导航的区别在于,导航仪通常具备更大的屏幕和更专业的地图更新,而手机导航则更为便捷,随时随地可以使...
2010-05-04 00:00:00
防浪涌电阻作为保护电子元件免受瞬间高电压冲击的重要器件,越来越受到重视。防浪涌电阻能够有效抑制电路中的浪涌电流,保障设备的稳定运行和使用寿命。本文将围绕宏达电子...
2013-02-04 06:41:30
当今电子设备性能快速发展的时代,电源管理已成为保证系统稳定的重要环节。移相时钟驱动的低纹波电荷泵系统作为一种创新的电源解决方案,正在引领这一领域的前沿技术。这一...
2024-03-03 00:00:00
财务和税务处理中,正确使用税收编码很重要。对于监控电源这类产品,找到准确的税收编码可能会让一些人感到困惑。本文将帮助您轻松理解监控电源所属的税收编码类别,并提供...
2024-01-04 00:00:00
现代工业和科技领域,产品的设计与性能直接影响着生产效率与质量。PM_10X5.4MM_TM作为新型产品,凭借其独特的规格和性能优势,受到越来越多行业的青睐。本文...
2025-02-21 12:30:19
熔断器作为重要的保护元件,其体积规格和品牌选择成为用户关注的重点。CNOBLE作为业内知名的熔断器品牌,多样的规格和高品质的产品性能,赢得了的市场认可。本文将详...
2022-10-18 17:42:30
电阻作为基础且关键的元件,种类繁多,品牌众多。KOA(兴亚)作为一家知名的铝壳电阻品牌,凭借其优异的产品品质和技术实力,赢得了广大客户的认可和信赖。本文将从品牌...
2012-06-22 02:55:53
我们的日常生活中,电子设备已经无处不在。从手机到电脑,从电视到冰箱,这些设备都需要稳定的电力供应才能正常工作。而线性稳压器,就像是一位默默守护的卫士,为电子设备...
2023-12-20 00:00:00
随着我国数字广播电视技术的日趋成熟,电视台采用高清数字串行信号(HD-SDI)下变换系统,目前大多数下变换采用ASIC进行高清数字电视信号下变换,成本较高且系统...
2019-03-11 14:21:00