摘要:为了满足高性能和小型化的要求,采用SoPC技术在一片FPGA上实现了多个嵌入式系统来完成1553B通信和显示处理等航电接口功能,特别是用VHDL语言实现了软件可配置的彩色调色板和分层叠加显示技术,使得系统具有集成度高、配置灵活、可靠性高等优点。详细介绍了各子模块的主要功能、工作原理和关键技术,该模块已经成功应用于实际系统中。
关键词:机载雷达;FPGA;SoPC;IP核;MieroBlaze;PowerPC 405
0 引言
机载火控雷达的接口模块要承担数据处理机所有的接口任务,包括与雷达外部的航空电子系统总线、与雷达内部其他分系统(如发射机等)的通信以及输出雷达视频信号给航空电子综合显示器。这些接口功能有的比较复杂,如显示处理接口要将雷达数据处理机送来的目标、天线、航迹和地图等数据经过处理后形成符合标准的视频信号输出,有的要求高可靠性和实时性,如航电总线通信接口,而对于高性能的军用设计,又要求尽可能减小空间、功耗和重量。随着半导体工艺水平的不断发展,现场可编程门阵列(FPGA)技术也在不断进步,与1999年相比,FPGA的成本降低了500倍,逻辑容量提高了200倍,功耗降低了50倍,速度加快了40倍,并提供存储器、高速并行和串行I/O、嵌入式处理器、DSP等强大功能,使得它的应用正向更广泛的领域发展。SoPC作为一种特殊的嵌入式微处理器系统,融合了SoC和FPGA各自的优点,并具备软硬件在系统可编程、可裁减、可扩充、可升级的功能,已逐渐成为一个新兴的技术方向,采用基于SoPC的FPGA来设计嵌入式计算机系统,可以在提高系统性能的同时,将外围的数字电路模块和存储器放入芯片内设计,大大减少芯片数量,最大限度地提高系统的集成度,是目前最能满足小型化、高性能要求的新技术。本文采用Xilinx公司的基于Virtex-ⅡPro FPGA的32位软核MicroBlaze和32位PowerPC系列处理器硬核PowerPC 405。
1 应用系统和外部接口
本文所设计的通用型多功能接口模块包括3个接口子模块,即与外部航电系统通信的1553B总线接口子模块(MBI)、雷达内部分系统之间的通信控制子模块(M0)和航电显示接口子模块(TVJ)。这些子模块功能彼此独立并具有实时性要求,对于MBI模块,需要系统能够实时地响应外部数据收发和高可靠性,处理速度不一定很高,对于显示控制模块,需要系统具有较高处理速度和能力以便能完成彩色雷达图像的分层叠加显示和地图画面的连续显示,针对这些要求,充分采用SoPC技术,将3个嵌入式计算机系统都放在FPGA内部设计实现,很好地满足了设计需求。图1为该系统的总体框图,3个子模块分别连接3种外部接口,同时它们通过公用的与Multibus的接口独立完成与主控计算机的数据交换。
2 系统功能和实现
2.1 MBI子模块电路设计
图2为1553B总线接口子模块(MBI)系统框图,Microblaze是MBI功能块的32位核心微处理器,它是一个专门为Xilinx FPGA优化的RISC嵌入式软处理器,具有32个32 b通用寄存器、硬件乘法器、32 b地址总线和32 b数据总线、三操作数32 b指令字,片内总线遵循OPB(On-chip Peripheral Bus)标准,OPB是一种完全同步总线,OPB总线接口提供分离的32位地址总线和32位数据总线。通过OPB总线实现对1553B协议芯片、32位实时钟、异步串行口(UART)、GPIO和双口RAM的扩展和控制。在双口RAM1的另一个端口设计了与Multibus的存储器接口功能,使Multibus总线和OPB总线上的主设备可同时对RAM1进行存取不会产生冲突,且可在Multibus上实现双向中断功能,此外通过Multibus的I/O接口和OPB总线接口也可以对32位雷达实时钟同时进行存取而不产生冲突。
为了可以灵活地设置1553B协议芯片的工作方式,在此通过一个OPB总线上的16位GPIO来保存和修改对芯片的工作方式的设置,它包括5位RT地址RTA[4:0],6位工作模式设置MSEL[5;0],芯片复位MRST等控制。以上电路除1553B控制器和变压器外全部都在FPGA内部用IP核和VHDL设计实现,MBI软件上电后对1553B控制器进行初始化,然后实时查询和响应雷达数据处理主机通过Multibus上的双口RAM1送来的命令和数据以及1553B总线上发来的命令,完成与其他航电设备的数据交换和通信。
2.2 M0子模块电路设计
图3为内总线接口子模块(M0)系统框图,W8051是与8051单片机兼容的IP软核,它通过工作在方式2下的8051串行口实现雷达内总线M0主控器功能,分别为W8051扩展了4 KB的程序ROM和256 B的RAM,同时扩展了4 KB的双口RAM2并挂接在Multibus上,以实现与主控计算机的数据交换。主控计算机通过一个I/O(INT)来中断W8051,整个M0控制系统均在FPGA内部实现,软件在这个独立的计算机系统上实现自定义的M0内总线通信协议,以完成主控计算机与内总线上雷达其他从设备(如发射机、接收机等)的可靠通讯。
2.3 TVJ子模块电路设计
TVJ功能块的核心是基于FPGA的硬处理器核PowerPC 405,PowerPC 405是专门为嵌入式应用而设计的高性能32位PowerPC系列处理器芯核,对于Virtex-ⅡPro系列FPGA,其实现型号为PowerPC405D5,其内核的结构主要包括1个5级流水线单元,1个虚拟存储器管理单元,1个指令和数据独立的Cache单元,1个调试口和3个可编程计数器,片内总线遵循PLB(Processor Local Bus)标准,PLB是一种高性能的同步总线,用于连接处理器和高速外设,提供分离的32位地址总线和64位数据总线。通过PLB总线接口实现对视频RAM、彩色查找表LUT、32位计数器、UART和双口RAM3的扩展,在双口RAM3的另一端实现了与Multibus的存储器接口及双向中断功能,视频RAM分为A、B两块,共4 MB,显示分辨率为575×575×16 b,通过PLB总线和多路切换电路可以对它们进行读/写,同时视频RAM的内容经读取控制电路读出后经彩色查找表变换为24位真彩色数字视频再经过D/A变换和运放的驱动输出模拟视频信号。通过PLB总线可以随时设置彩色查找表LUT的内容以实时地进行多种分层叠加彩色显示方式的切换。视频时序发生电路产生符合PAL制式的同步/消隐信号,当有外部同步信号输入时,外同步检测电路可自动识别出来并与外部的锁相环(PLL)配合,产生与外同步信号完全一致的视频时序信号,保证最后输出的模拟视频与其完全同步。除去视频RAM,PLL,D/A、和运放电路外,整个PowerPC 405系统和显示控制的时序、逻辑电路及彩色查找表等都在FPGA内部实现。如图4所示。
2.4 TVJ子模块视频控制电路设计
视频控制电路是TVJ子模块的关键电路,它包括PLB总线接口、VRAM切换控制电路、视频时序发生器、VRAM地址发生器、彩色查找表和控制/状态寄存器,如图5所示。
PLB总线接口主要完成视频控制电路与系统PLB总线的符合IBM CoreConnect总线规范的无缝接口电路。VRAM切换控制电路完成系统对两块显存读/写控制的交替切换。PLB_EMC是Xilinx嵌入式开发套件EDK自带的PLB总线外部存储器控制接口IP。VRAM_A和VRAM_B都是存储视频图像数据的显存,切换控制电路在任意时刻总是将1块显存挂接在PLB_EMC接口上,而从另一块显存读出视频图像数据经过调色板变换后输出给D /A产生要显示的彩色图像信号。修改显示画面时CPU通过PLB总线先对挂接在PLB_EMC接口上的VRAM_A进行改写,同时用VRAM_B读出的数据来完成显示,然后通过设置控制寄存器切换到另一状态,再用VRAM_A完成显示,而对VRAM_B改写以使两块显存数据保持相同,这样系统读/写显存时就不会影响显示了,同时VRAM切换控制电路可以设置为只对高8位、只对低8位和对16位这3种显存存取方式,以此来实现显存的快速存取和背景叠加显示功能。
PAL视频时序发生器产生显示所需的时钟、行场同步和消隐信号,提供给VRAM地址发生器子模块,用于形成寻址外部显存的地址。将FPGA内部的存储器资源例化为一个128 K×4 b的ROM,然后将1帧时间长度(40 ms)的信号设计成.coe格式文件作为ROM的初始化数据。
VRAM地址发生器就是根据PAL视频时序发生器给出的行、场同步和消隐信号来产生读显存需要的地址,并与PAL制式信号时序同步。
彩色查找表的功能是将从显存读出的视频图像数据经过查表处理后形成24位RGB彩色数字视频提供给D/A变换输出到显示器显示。查找表共512个单元,将其分为两部分,0~255为第一个表,256~511为第二个表,显存输出的数字视频要么通过第一个表,要么通过第二个表来转换,不能同时,当数字视频高8位为全0时,将使用低8位去索引第一张表,当高8位不为全0时,将使用高8位去索引第二张表,这样系统可以由软件来灵活地设置修改彩色查找表的内容从而实现多种分层和叠加的彩色显示方式。
3 SoPC技术在设计中的应用
开发采用Xilinx公司的EDK(嵌入式开发套件)和ISE工具软件。EDK工具包中集成了硬件平台生成器(Platgen)、软件平台生成器(Libgen)、仿真模型生成器(Simgen)、软件编译器(Mb-gcc/ppc-gcc)和软件调试工具(Mb-gdb/ppc-gdb)等,通过集成开发环境XPS,用户可以调用上述所有工具,来完成嵌入式系统开发的整个流程。
可配置嵌入式系统的配置层面包括,处理器配置:如指令或数据缓冲配置,协处理器或硬件加速器;系统配置:如I/O外设选择、定制、DMA选择、存储器外设选择、定制等;用户专用外设和电路:将专用电路设计成为用户自定义的IP Core,然后在系统中添加调用来实现。用户自定义的IP Core要求必须用HDL设计并满足片内总线接口和EDK工程的规范,如有专门目录结构和处理器外设定义文件(.MPD)、外设分析定义文件(.PAO)等。如果自定义的IP Core要具有软件驱动,那设计还要完全符合相应的总线底层驱动接口规范。总之将SoPC技术应用在接口模块的设计中具有以下优点:由于接口模块往往是实现专用功能的嵌入式计算机小系统,在芯片RAM资源可以满足系统的设计要求的前提下,可以将系统存储器都集成到FPGA内部,大大减小体积和功耗,减少芯片数量;硬件设计的更改可通过重新配置FPGA器件来实现,增加设计灵活性,降低设计风险。
4 结语
由于FPGA内部集成的通信接口和IP Core的种类的不断丰富,使得在更多的应用领域使用SoPC技术进行嵌入式系统设计已成为可能。该多功能接口模块已成功地应用于实际产品中,取代了以往3个单独的接口模块,大大减小了体积,降低了功耗,在提高了性能的同时也提高了系统的可靠性,并为设计体积更小、性能更强的雷达接口模块提供了发展方向。
本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念
本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“
课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了
@2003-2020 中国电子顶级开发网