NiosⅡ软核处理器

2025-02-02|版权声明|我要投稿

NiosⅡ软核处理器(精选5篇)

NiosⅡ软核处理器 篇1

激光捷联惯导系统(Laser Strap-down Inertial Navigation System)由于可靠性好等方面的优势,在军用和民用领域已经得到了广泛的应该。在现存惯性仪器的基础上,采用容量更大、处理速度更快的数字信号处理芯片来改进LSINS数据的处理流程的方式,是提高惯导系统导航精度的有效方法之一。

随着FPGA成本的降低和性能的提升,在单一芯片上采用更合理的设计方法、集成更多的逻辑功能已成为发展趋势,Nios II是Altera公司推出的一个32位的RISC指令集的处理器软核[1]。在软件Qsys中加载Nios II软核和相应的外围接口以及相应的自定义指令,对设计进行综合后下载到FPGA中,就可以设计出具有特定功能的嵌入式处理器。

本文建立在北京某公司已有的LSINS,重新划分原系统中DSP与FPGA的功能,以Altera公司的Cyclone系列FPGA芯片EP1C12为核心,移植Nios II软核[2],让FPGA来完成惯导系统所有信号的采集与预处理,而DSP只进行导航解算。FPGA对陀螺、加速度计和温度总共7路信号进行采集,并在软核内完成对三路激光陀螺和三路加速度计信号的滤波,并在静态情况下与用Matlab中FIR(Finite Impulse Response)函数滤波进行比较,实验证明此方法能正确采集LSINS数据,并达到指定的设计要求。

1 系统的总体硬件设计

激光捷联惯性导航系统(LSINS)是将惯性敏感器件加速度计和激光陀螺仪直接安装在运载体上,取代了平台式惯性导航[3]。LSINS通过计算机内的姿态矩阵实时解析计算,从而得到一个“数学平台”,此平台在惯性空间始终起到了保持要求姿态的作用。“数学平台”的建立,要求精确采集陀螺仪和加速度计的输出信号,因此对LSINS数据的采集与预处理在整套系统中显得尤为重要。

本设计使用的LSINS,其基本原理是采用三个环形激光陀螺仪和三个石英挠性加速度计,构成捷联式惯导系统,感测载体的运动,通过数学解算的方式完成导航解算。系统的硬件结构如图1所示,主要包括惯性单元(IMU)、数据采集及接口电路、通信电路、电源电路以及系统导航计算机等。具体工作流程:由电源电路给整套系统供电工作,IMU单元给出陀螺仪和加速度计的输出信号以及温度信号,这些信号送至计数板,其中加速度计输出信号先经加计量化板进行I/F转换后再送至计数板,然后由计数板对LSINS数据进行采集与预处理,最后送至导航计数板进行导航解算以及1553b通讯。

2 LSINS数据采集与预处理设计

激光捷联惯导系统中需要处理的最主要信号为激光陀螺和加速度计的输出信号[4],对激光陀螺信号要完成鉴相解调、倍频计数和数字滤波;而对于加速度计信号也要完成I/F变换、脉冲计数及数字滤波等。该系统采用Quartus II 11.1sp2及Nios II 11.1sp2进行设计,并在FPGA中完成所有数据的采集与预处理工作,大体的FPGA内部结构功能如图2所示。

DSP从FPGA得到经过预处理后的数字信号,再进行导航解算,其实质为三个积分方程的计算[5]:以激光陀螺输出的角增量数据为输入的姿态积分、以加速度计输出的速度增量和姿态为输入的速度积分、以速度为输入的位置积分。导航的精度取决于积分计算的精度。

3 Nios II软核的设计

随着设计要求的提高,在FPGA中调用配置软核处理器,使FPGA作为控制核心应用于各领域,已经成为一种研究趋势[6]。本设计是在FPGA中配置Nios II软核,作为系统核心处理器,负责各路数据的采集与预处理工作,代替传统的以ARM为代表的各种单片机,使设计更加灵活。

本系统软核的设计流程大体如下所述。

1)Avalon总线Slave设备的设计——A/D转换器,串并转换模块;

2)使用Qsys添加Avalon总线Slave设备到Nios系统;

3)添加Qsys自带的UART及I/O口IP模块,并进行相关参数的设置;

4)生成Nios II的CPU SDK;

5)将生成的软核加载到Quartus II的系统顶层图设计中;

6)在Nios II中使用C语言进行应用程序的开发。

本系统的Nios II软核设计是使用Altera公司提供的Qsys工具[7],利用此工具的图形化用户界面,很方便地管理IP模块,并设置系统的相关参数以及可以的外设和端口。按照系统的硬件规划,本设计在Qsys中的硬件配置如图3所示。完成设计后,系统会生成并输出需要的程序文件,然后在Quartus II中例化、调用配置好的软核,生成的RTL原理图如图4所示。

在Qsys中完成配置空软核的建立之后,需将此软核文件加载到Nios II开发环境中,在其中利用C语言进行源程序的编写。本系统中,Nios II处理器作为数据处理的中央处理器,Avalon总线是其特点之一,Avalon总线是连接片上处理器和其他IP模块的一种简单的总线协议。

本系统信号的采集、预处理工作大部分是在Nios II软核处理器的控制下完成的[8],系统的 Nios II软核设计模块结构大体包括:Nios II处理器、异步收发器(UART)、时钟信号(CLK)、8个并行输入/输出(PIO)、浮点运算单元(FPU)、片上内存IRAM、Jtag_uart等。控制程序由运行在Nios II CPU上的软件完成,主要负责对SLINS数据的采集、FIR 滤波等操作,并控制与DSP的通信工程。

4 FPGA整体模块设计

LSINS数据采集与预处理的整体设计在Quartus II中完成,在其中进行系统顶层图的设计,整体的设计如图5所示,下面简述系统的设计流程。

1)片内锁相环PLL来对时钟相位进行调整;

2)对时钟进行分频,产生自定义时钟;

3)对3路激光陀螺数据进行正交解码、对3路加速度计数据进行正负计数、对温度进行A/D采样并对正脉冲进行计数;

4)将这8路数据送至移植进来的软核处理器;

5)最后将采集与预处理完的数据送至DSP。

整体的设计使用Verilog然后经过编译、连接、调试生成可执行文件,最后通过下载器对程序进行调试与运行。

5 实验结果

本系统采集的数据包括三路激光陀螺、三路加速度计和温度信号,其中对激光陀螺的输出信号的采样与预处理最为典型、突出,故接下来实验仅简单叙述对激光陀螺输出信号的采样和预处理的分析结果。

5.1 激光陀螺采数的结果分析

本设计对陀螺采数的结果分析是通过FPGA采集到每一包数据后通过串口422转发到PC机(无校验等任何处理);在Nios II软核中作FIR处理时产生的每一包数据采用最近的采样数据包的时标(2001~20000),通过串口232发送到PC机;PC机接收程序完成校验和解码,获得每一包原始数据的时标,时标序列做差分后输出(dt=diff(nCnt))。

两种方式采数的结果如图6和图7所示,而通过串口得到的每一包数据都包含一个FPGA产生的时标(2001~20000),由于时标是2001~20000循环计数,如果没有丢失数据包,则差分结果只有两个:1、17999,通过对两个结果的比较可以发现两种方式不存在数据丢包,实验结果在极大概率上验证了FPGA接收、包括PC机接收均无丢数。

5.2 激光陀螺数据的预处理结果

对激光陀螺数据预处理的设计跟陀螺采数的处理方式类似,也是通过串口得出原始数据和在FPGA里处理完的数据,并对其进行比较。

采集到原始数据(如图8所示)并解码后,使用matlab的filter滤波函数进行处理(res = filter(num0, 1, gx_raw)),其结果与在Nios II软核进行FIR滤波的处理结果相比较(使用FPGA产生的时标对齐),其滤波结果分别如图9和图10所示,二者差异在10-5量级,其中还包括了对FPGA的FIR结果进行解码后格式化存盘的截断误差如图11所示,通过对滤波结果的分析可以得出结论,Nios II软核中的FIR代码实现了算法的目的,完成了对激光陀螺数据的采集与预处理工作,达到了设计的要求。

6 结论

基于Nios Ⅱ软核的LSINS数据采集与预处理的设计,经过实验验证,表明该方案可以输出满足精度要求的航向、姿态、角速度和速度等导航信息。因此以移植了Nios Ⅱ 软核的FPGA芯片取代原来系统DSP+FPGA结构的方案,具有实时性强、开发周期短、运行可靠等特点,这种设计方案在其他场合也具有一定的实际借鉴意义,可以广泛地应用于工业控制、通信、计算机相关产品等领域。

参考文献

[1] Altera Corp.Nios II Software Developer’s Handbook.Altera,2005

[2] Altera Corp.Creating Multiprocessor Nios II System Tutorial.Altera,2005

[3]王宇.机抖激光陀螺捷联惯导系统的初步探究.长沙:国防科技大学光电工程系,2005:10—30

[4]袁保伦,饶谷音.机抖激光陀螺的实时数据检查及压缩处理.数据采集与处理,2007;22(4):491—495

[5]任晨纲.基于FPGA的激光陀螺捷联惯导系统信号的检测与处理.北京:国防科技大学,2009:10—54

[6]王锐,雷金奎.基于软核Nios II的SOPC数据采集系统的设计.计算机测量与控制,2008;16(8):1199—1203

[7]夏宇闻.Verilog数字系统设计教程.北京:北京航空航天大学出版社,2008

[8]黄佳玮,陈福深.基于Nios II的SOPC嵌入式系统设计.电子元器件应用,2009;(7):48—51

NiosⅡ软核处理器 篇2

VOD(视频点播)技术为人们提供了一种交互式的信息获取方式,并随着技术的完善不断扩展着其应用范围和影响力。传统的VOD系统主要是以服务器作为视频的信息源,通过局域网进行点播,适合服务于住宅小区或公营机构。而对于缺乏网络支持、移动性较强的环境,如公共交通工具,传统的VOD系统显然难以实现。

本文针对特定的用户环境,提出采用Altera的SOPC(片上可编程系统)解决方案,利用NiosⅡ软核处理器和FPGA(现场可编程门阵列)配置灵活、IP资源丰富、硬件设计和软件编程方便的特点,通过扩展IDE(集成开发环境)接口,以硬盘作为存储媒介,实现多路VOD系统的设计方案。该系统体积小、成本相对低廉,体现了嵌入式电子产品的优势。与传统的VOD系统相比,使用范围更具针对性,装配更灵活,升级扩展更方便,具有很广阔的前景。

1 系统功能划分

该系统从功能上可划分为系统控制核心、多路视频数据读取单元、视频解码模块和用户点播终端4个部分。

1.1 系统控制核心

系统以NiosⅡ软核为控制核心,主要负责硬盘初始化、提取视频节目簇链、生成节目列表、人机交互控制等工作。上电后,NiosⅡ控制器先初始化硬盘的传输模式和读写状态,然后读取主引导记录,寻址到基本分区的操作系统引导记录区,计算保留扇区和FAT(文件分配表)大小,分别得到FAT和根目录的入口。对目录树上的文件进行分析后,提取出视频文件的文件名、文件首簇,根据首簇指针再次查找FAT,追溯出文件的簇链,最后烧写到Flash存储器中。完成以上工作后,初始化中断,对用户端进行轮询,等待用户请求,分析用户指令包,作出相应响应。

1.2 多路视频数据读取

为实现海量视频数据的存取,该系统需外扩展硬盘作为存储介质。通过用户自定义的硬盘DMA(直接存储器存取)控制模块实现对硬盘数据的读写,功能包括为上层程序提供控制硬盘和多路数据输出的接口,产生硬盘DMA操作状态机信号。数据从硬盘读出后,以乒乓操作的方式交替存储在两片SRAM中,内存中的数据按照对应的输出端口并行排列。同时,根据用户终端提出的点播需求,数据往点播端口扇出。

1.3 视频解码

本系统采用外扩展的视频解码板作为硬解码模块。解码芯片是LSI LOGIC公司CL680视频CD MPEG 1音频/视频解码器。该芯片以CL480/484架构为基础,用于MPEG-1音频/视频解码,整合数字NTSC/PAL编码功能和加强KTV功能[6]。

1.4 用户点播终端

为解决多用户终端远距离通信的问题,系统采用RS-485收发器作为主机与用户点播终端的连接桥梁。RS-485收发器采用平衡发送和差分接收,具有抑制共模干扰的能力,加上接收器的高灵敏度,能检测低达

200 mV的电压,极大地提高信号传播的可靠性。

主机与终端间的通信方式采用类似令牌总线的通信协议。主机不断发出查询包,收到查询包的客户端被赋予发送控制命令的权限,客户端可选择发送命令或直接丢弃查询包,这样就避免了多个客户端同时向总线发送数据、导致通信失败的情况。

系统采用MB90092视频字符叠加模块,在用户终端屏幕中叠加功能菜单,建立友好的用户操作界面,用户可通过控制面板进行点播操作。

2 系统设计

2.1 系统硬件结构

系统硬件结构如图1所示。

为实现对硬盘的控制及两片内存的乒乓控制,系统使用了定制的DMA控制模块,通过SOPC Builder 软件,以用户逻辑形式挂到Avalon总线上。

2.1.1 DMA控制模块

DMA控制模块框图如图2所示。

DMA控制模块主要功能是控制硬盘进行多路视频数据的并发传输。为保证视频质量,需考虑到数据读写速度的提高。本系统采用按照ATA/ATAPI-6协议编写的DMA模块,控制置硬盘以Ultra-DMA方式传输数据,可实现最大传输速率为66 Mbit/s[5],满足多路MPEG-1视频码流的并发传输。除了解决传输速率问题,该系统涉及到同时处理多路数据的读写,因此引入相应的功能子模块,以乒乓操作的方式控制两片SRAM的读写,并对多路数据的存储分区进行地址管理。

模块的主要子模块有DMA控制器、DMA状态机、switch和SRAM控制器。

DMA控制器作为Avalon总线与硬盘的接口,主要功能是接收上层程序的控制命令,再对硬盘的控制寄存器进行读写,在NiosⅡ程序的控制下将硬盘的传送模式设置为Ultra-DMA模式进行数据传输。

DMA状态机模块是根据T13小组发布ATA(ATA/ATAPI-6)文档为设计标准,用Verilog HDL(硬件描述语言)实现的有限状态机。在控制终端的设置下传输方式转为Ultra-DMA模式后,硬盘向控制器发出DMA请求,此时DMA状态机启动。主机端向硬盘发送响应信号,握手成功,解除DMA STOP状态,同时使IDE_HDMARDY有效表示主控端已准备好。接着,数据流从硬盘流出,并发出一双沿锁存信号,SRAM控制器在该信号控制下将数据锁存入内存。直到DMA请求结束,STOP信号生效,DMA传输结束。整个过程遵守ATAPI-6协议,使用Verilog HDL描述出硬盘DMA传输过程的时序。

Switch和SRAM控制器模块主要负责在DMA传输过程中在两片SRAM间调度数据,从而实现数据的乒乓存取。Switch模块用于完成两块RAM之间的切换及数据的分区存储。它工作于两个状态:以Flag为标志位,Flag为0时做写RAM1的操作;Flag为1时做写RAM2的操作。在DMA方式下,一次DMA读取硬盘一个扇区刚好写满一片RAM,Switch模块挂起数据写入,等待中断。当另一片RAM中的数据被全部读出后中断发生,此时Switch模块交换两片内存的读写端口地址。

2.1.2 RAM分区读写

由于系统要提供多路视频的播放,因此,在进行DMA传输的过程中需实现各路视频数据的分区读写。在写内存时,采用双时钟控制机制。若要实现32路VOD系统,将一片512 k的RAM分为32个单元,每个单元长度为16 k,定义RAM的地址为:

wraddress2=wraddress1+wraddress

wraddress1为每个内存分区的基地址,它的取值分别是0 k,16 k,32 k,48 k,…,496 k,另外是一个偏移地址wraddress。内存分区方式如图3所示。

定义时钟C0为写内存分区时钟,C1为写内存偏移时钟,C0的频率为写C1的32倍。当偏移地址为某一值时,权值地址的取值会从0 k~496 k遍历一次,即每一内存单元读写周期,写入每个分区的一个单元。

同样,对内存中的数据也要分区读出并送往相应端口。该模块使用一种内存地址的计数方法:将地址线的长度设置为10位,再将低5位的地址和高5位的地址互换,目的是从高5位开始计数,计数满了进位到低5位。高5位表示分区地址,低5位为分区的偏移地址,地址从第6位开始累加,刚好遍历32个分区,完成高5位的依次累加后,进位到低5位的分区偏移地址,表示开始读下一轮分区的第2个内存单元。如此类推。根据计算出的地址可实现对各分区的数据依次读取。地址算法示意图如图4所示。

2.1.3 移位输出模块

该模块主要实现的功能是:在分路时钟的控制下,将从内存中读出的多路数据移位输出。该模块定义了一组长度为16位的移位寄存器。数据I/O读写的时间和速度由video_clock确定,video_clock的频率是12.5 MHz,负责控制SRAM_R控制器,移位输出模块和视频解码板的同步。模块中还设置了一个累加计数器div3,工作频率与 video_clock相同。当SRAM_R控制器依次将各路视频文件读入一个寄存器后,每一个时钟下降沿到来时移出1位,直至全部移出。若加大时钟频率和缓冲内存空间,可以增加移位寄存器的数目,从而增加视频输出端口的数量,实现系统点播路数的增加。

2.2 系统软件工作流程

系统程序划分为主机程序和点播终端两大部分。主机程序主要实现3个功能:管理硬盘,提取簇链;播放节目,点播控制;响应请求,串口中断。管理硬盘的方式主要是通过自定义的DMA控制模块对硬盘的控制寄存器进行操作,驱动硬盘后访问FAT32文件系统下的相应扇区,追朔簇链,将簇链提取出来写入到Flash ROM中,为播放做准备。点播端程序则主要负责生成指令包。本系统软件工作流程如图5所示。

本系统要处理多路视频数据,并且视频信号数据量大,在点播过程中系统必须集中大部分处理器时间来处理各路视频信号,而视频文件的文件名和簇链结构必须通过相对低速的PIO操作来获得。为了解决簇链读取速度的瓶颈,本文设计了适合本系统应用的数据结构来优化对数据的管理,加快读取速度。定义的数据结构有:

客户端的状态和播放进度也由专门的结构体来记录和管理。定义的数据结构有:

3 结束语

SOPC=NiosⅡ软核+FPGA这个创新的概念为嵌入式设计带来的极大的便利和灵活性。利用强大的SOPC开发平台和丰富的IP资源,可大量缩短系统设计周期,而且系统的改进也变得十分方便。本文提出的通过把用户自定义的硬盘读写模块整合到SOPC平台上,与NiosⅡ无缝接合,成功实现了多路视频数据的并发点播。

摘要:随着公路及铁路系统基础建设的不断扩展,长途客运及旅游业正飞速发展。为了提高客运服务标准,吸引更多客源,不少交通运营单位开始更换高级客车及旅客列车上旧式的车载影碟播放系统,改用功能更强大、互动性更强的视频点播系统。针对传统视频点播系统主要依靠视频服务器作为载体、系统性价比不高的问题,介绍了Altera SOPC平台上嵌入式多路视频点播系统的实现方案。通过Nios Ⅱ控制用户自定义模块以乒乓操作的方式实现对硬盘视频数据与两片内存间的DMA(直接存储器存取)传输,根据用户的指令,将分区存储的视频数据经解码后发送到相应用户终端,从而满足多路视频数据的并行点播。

关键词:SOPC,嵌入式,视频点播,NiosⅡ

参考文献

[1]任爱峰.基于FPGA的嵌入式系统设计[M〗.西安:西安电子科技大学出版社,2005.

[2]王冠.Verilog HDL与数字电路设计——硬件电路工程师从入门到提高丛书[M].北京:机械工业出版社,2006.

[3]Altera Corporation.NiosⅡsoftware developer′s Handbook[DB/OL].http://www.altera.com/literature,2005.

[4]Altera Corporation.QuartusⅡversion 5.1 handbook,volume5:Altera embedded peripherals[DB/OL].http://www.al-tera.com/literature,2005.

[5]Technical Committee T13.Information technology:At attach-ment with packet interface-6[DB/OL].http://www.t13.org/Documents,2002.

NiosⅡ软核处理器 篇3

关键词:SOPC NiosⅡ,超声探伤系统

1 引言

在数字式超声探伤系统中,超声波信号经过前置放大、主放大、检波、视频放大后进行A/D转换。由于A/D采样频率高,一般在百兆赫兹以上,如果只用纯软件方法,利用MCU的处理能力进行数据采集及处理,虽然硬件开销少,系统简单,但大大加重MCU的负担,而且对MCU的要求较高,对稍复杂的系统往往无法满足实时性的要求[1]。因此,经常采用空间换时间的方法,用FPGA[2](FieldProgrammable Gate Array,现场可编程门阵列)进行数据前端处理,提高系统实时性和可靠性。

传统模式下,MCU和FPGA相对独立。随着嵌入式系统朝着小体积、低功耗、高性能的趋势发展,MCU和FP-GA在现代嵌入式系统中扮演着重要的角色,各自具有独特的优势而在某方面又略显不足。MCU因丰富的软件系统支持,在控制和处理人机接口领域占据绝对的领先地位。FPGA在高速复杂逻辑处理方面独领风骚,并凭其超大规模的单芯片容量和硬件电路的高速并行运算能力,在信号处理方面显示出突出的优势。因而,MCU和FPGA的结合是未来嵌入式系统发展的趋势。

SOPC可以将MCU、FPGA完美地结合,即SOPC=MCU+FPGA。本文通过NiosII嵌入式软核在数字式超声探伤系统中的应用,简要介绍该方法。

2 SOPC的选型

SOPC[3](System on Programmable Chip,简称为可编程片上系统)技术提供了用大规模可编程器件实现SOC(System on a Chip,片上系统)的功能。SOPC一般采用大容量FPGA作为载体,除了在一片FPGA中定制MCU处理器和DSP功能模块外,还可以设计其它逻辑功能模块。

SOPC的构成方案一般有以下两种。

(1)基于FPGA嵌入IP硬核的SOPC系统

在FPGA中预先植入嵌入式系统处理器。尽管由这些器件构成的嵌入式系统有很强的功能,但为了使系统更为灵活、完备,功能更为强大,对更多任务的完成具有更好的适应性,通常必须为此处理器配置许多接口器件才能完成一个完整的系统。然而,将IP硬核直接嵌入FPGA中的解决方案也有不足之处。由于此类硬核多来自第三方公司,FPGA厂商通常无法直接控制其知识产权费用,从而导致FPGA器件价格偏高;由于硬核是预先植入的,设计者无法根据实际需要改变处理器的结构,如总线规模、接口方式等;无法根据实际设计需要在同一FPGA中使用多个处理器核;无法裁剪处理器硬件资源以降低FPGA的成本。

(2)基于FPGA嵌入IP软核的SOPC系统

目前最具代表性的软核嵌入式系统处理器有Altera公司的Nios和NiosII核。在植入FPGA前,用户可根据设计要求,利用Quartus II和SOPC Builder,对NiosII及其外围系统进行构建,使该嵌入式系统在硬件结构、功能特点、资源占用等方面全面满足用户系统设计要求。只要FPGA的资源允许,Nios核在同一FPGA中被植入的数量没有限制;此外,Nios可植入的Altera FPGA系列几乎没有限制。因此,我们在设计中选择了后者。

3 系统总体设计

在数字式超声设备中,当探头发射的超声波脉冲在耦合良好的情况下通过被测物体到达材料分界面时,脉冲被反射回探头。探头接收的超声信号,经过前置放大,主放大,检波,视频放大后,进入A/D变换器中。由于A/D变换的速度较快,一般达到百兆赫兹以上,如何对A/D变换后的信号进行采集、处理及显示,一直是数字式超声设备的一个重点和难点。传统模式上,我们采用相互独立的MCU和FPGA对数据进行采集、处理及显示。该方法虽能满足系统设计要求,但由于采用了独立的MCU与FPGA,对PCB的设计要求严格,产品更改不灵活,功耗较大,体积无法进一步减小。如果采用NiosII嵌入式软核,以FP-GA为载体,在FPGA中定制MCU处理器,则可以实现SOPC=MCU+FPGA,使得产品的PCB设计更为简化,产品更改灵活,功耗及体积也相应减小。图1为传统数据采集、处理框图。图2为采用NiosII嵌入式软核的数据采集、处理方框图。

4 NiosII硬件配置

NiosII软核CPU是整个系统的控制部分,集成在FP-GA内部,由SOPC Bulider定制。NiosII是Altera公司提供的基于Harvard结构的RISC通用处理器IP Core。在系统开发中使用NiosII,可以根据需要自行配置处理器数目,开发者可在FPGA容量允许范围内,自由配置处理器的Cache大小、指令集ROM大小、片内RAM和ROM大小、I/O引脚数目和类型、中断引脚数目、定时器数目、通用串口数目、扩展地址和数据引脚等处理器的性能指标,而且可以在处理器ALU中直接加入自定义的数字逻辑,并添加自定义的处理指令。

根据系统需要,经配置后的SOPC硬件系统结构如图3所示,我们配置CPU及IP模块具体如下。

第一,添加NiosII CPU Core。NiosII CPU Core分为以下几类:经济型,占用最小逻辑的优化,占用最少的LE,功能最少;标准型,平衡性能和尺寸;全能型,最高性能的优化。由于数字式超声系统对实时性要求高,需要尽量快的处理速度,所以我们配置成全能型。

第二,加入片内存储器。片内存储器除了用作ROM外,也可以用作RAM,甚至可以被设置成双口存取。Memory Width可以被配置成8位、16位、32位、64位及128位。NiosII系统中的FPGA片内存储器配置成32位,以对应32位的NiosII处理器的32位总线结构。

第三,加入JTAG UART。JTAG通用异步接收器/发送器核是在PC主机和FPGA上的SOPC Builder系统间进行串行通信的一种实现方式。

第四,加入Avalon三态总线。Flash的数据总线是三态的。Nios II CPU与Flash相连接时需要Avalon三态总线桥。

第五,添加Timer。在一个嵌入式系统应用中,定时器往往必不可少。

第六,添加Bottom PIO,以供设备按键输入。

第七,添加PLL锁相环。PLL锁相环可以将外部时钟倍频后送给CPU。使用PLL将有助于提高系统的数据采集、压缩的速度。

第八,添加Flash。具有Avalon接口的通用Flash接口控制器核(CFI)很容易与SOPC Builder系统外符合CFI参数要求的外部Flash相连。

5 数据采集、处理设计举例

以超声信号渡越时间的计算为例。超声信号的渡越时间是超声发射到接收所经历的时间,可以据此计算出界面反射的位置。一般来说,每次发射接收过程中我们关注的是最大峰值波形的声程距离。首先,我们需要计算最大峰值的位置,然后据此来得出其时间。由于MCU得到的是压缩后的数据,通过软件计算得到的最大峰值距离就有较大的误差,难以保证其精度。所以我们采用了在FPGA中实现的硬件电路来获得峰值波形的渡越时间,这部分电路包括了逻辑控制电路,采样峰值处理电路,脉冲计数电路。渡越时间是通过由发射信号触发计数器来得到发射到接收的计数值,乘以时钟周期即得到信号的渡越时间。由于计数时钟为采样时钟,则计数误差值可以达到很小的范围,以80MHz的时钟和钢的纵波声速5900m/s,其计数误差范围约为0.037mm,保证了很高的精度。由于经过FP-GA采集、计算、锁存的渡越时间为二进制数,所以,在传统方式下,需将该二进制数通过总线,送到MCU中处理为十进制数后显示。而在采用了NiosII嵌入式软核的系统中,由于FPGA中已配置了NiosII处理器,所以可将数据直接送入NiosII处理器中进行处理。

6 结束语

嵌入式系统无疑是当今最热门、最有发展前途的IT应用领域之一。与传统的仅采用基于微处理器的软件设计或者采用ASIC/FPGA的硬件实现相比,SOPC的软硬件协同方案完全不同。它可以根据应用系统的不同要求,适当地划分软硬件的功能,以求达到最佳性价比,同时可大大简化PCB的设计,节省大量的人力物力。可以预见,随着技术的不断成熟,SOPC将会广泛的应用于数字式超声探伤系统,对超声探伤设备的设计带来新的飞跃。

参考文献

[1]中国机械工程学会无损检测学会.超声波检测Ⅱ[M].北京:机械工业出版社,2004.

[2]EDA先锋工作室.Altera FPGA/CPLD设计(基础篇)[M].北京:人民邮电出版社,2006.

NiosⅡ软核处理器 篇4

数字波束形成 (DBF) 是在原来模拟波束形成原理的基础上、引入数字信号处理方法后建立的一门雷达新技术。DBF的出现和发展既是现代电子战对雷达需要牵引的结果, 也是雷达技术和其它相关领域技术进步的产物。先进的自适应信号处理和阵列信号处理方法既为DBF的研究与实现提供了强有力的手段, 也为DBF的实用拓广了应用领域。本文基于DBF体制的某三坐标雷达, 对DBF技术的原理, 工程应用做了详细的介绍。

1 基本原理

(k=0, 1, …, M-1)

参数说明:Si为第i阵元的输入信号;N为阵元个数;d为阵元间距;θ为入射信号和阵元之间的夹角;λ为发射机发射载波所对应的波长;k为波束的序列号, 空间上共形成M个波束。Wi为第i阵元的加权系数。通过改变加权因子 (系数) Wi, 就可以控制波束的指向和形状, 以及副瓣电平。需要指出的是, 加权系数在实际应用中还可能包含各种校正系数, 如对各通道之间的幅度相位不一致校准, 甚至于对每一通道内的I/Q信号的幅度相位误差的校正和信号零漂的校正。回波信号经天线送至多路合一的DAM, 经DAM产生I/Q信号, 通过光纤按照约定协议送至信号处理数字波束形成 (DBF) 模块。DBF硬件平台接收来自于前端的N路阵元信号, 合成M个波束。

接收数字波束形成的原理框图如图1所示:

2 NIOS II软核SOPC系统及组件

NIOS II处理器系统包含一个或多个可配置NIOS II CPU软核、与CPU相连接的片内存储器、以及与片外存储器和外设相连的接口等。所有的组件在一个FPGA芯片上实现。所有NIOS II处理器系统使用统一的指令集和编程模型。

一个典型的NIOS II处理系统如图2所示。

图2中, CPU、外设、外设接口, 如SDRAM控制器、片内ROM /RAM、三态桥、UART、定时器、LCD显示驱动电路、通用I/O、以太网接口和Compact Flash等都是牺牲FPGA内部的逻辑资源为代价的。因此, 在进行具体的软核架构时, 可对不必要的外设进行裁减, 以满足低成本的小型系统设计。

3 基于NIOS的数字波束形成工程实现

3.1 硬件平台

数字波束形成的硬件部分主要由FPGA (EP4SGX230) 、EPCS128配置芯片和两片外挂SRAM存储芯片 (GSI公司产品) 构成的系统, 板卡包含了标准的CPCI接口、自定义的高速ZD、以太网口、4路高速光纤接口以及两路SMA接口, 一路用于模拟时钟输入, 一路用于数模转换输出。FPGA (EP4SGX230) 为ALTERA公司四代器件, 片内具有丰富的存储以及逻辑单元。功能强大的四代器件使得在单片FPGA上实现小阵列的数字波束形成系统成为可能。本文所要介绍的片上NIOS核主要完成DBF系数的运算、对FPGA的写系数操作;而FPGA主要完成NIOS的外部地址总线译码, 产生NIOS所需的分时读写波。其原理框图如图3所示。

3.2 软件设计

3.2.1 FPGA模块设计

EP4SGX230器件, 内部包括:14, 625, 1792bits RAM, 161个DSP模块, 24对高速收发器Transceiver。EP4SGX230内部逻辑设计的数据流向为:1) 将打包好的串行数据 (其中包括字头、各种控制代码) 通过光纤送入收发DAM模块;2) 接收DAM经光纤送至信号处理的串行数据、串转并、时钟域转换、收NIOS写入的DBF系数、然后对齐累加合成多个波束。最后将多个波束按照约定的光纤协议进行打包, 送至信号处理下一级进行数字脉压 (DPC) 以及滤波等处理。

3.2.2 NIOS设计

NIOS设计包括软核构建以及源码设计

下面做分别介绍。

1) NIOS软核构建

通过quartsu设计软件进入sopc构建界面, 我们需要添加cpu, 定时器、调试用jtag uart、sram、epcs控制器、cfi模块等, 注意sram、epcs、cfi模块需要添加三态桥Avalon-mm Tristate Bridge和cpu进行桥接。同时, 需要添加一定数量的pio, 设置为沿触发, 作为cpu的外部中断输入, 从而执行对应的中断服务程序。本设计的软核构建如下:

2) NIOS软件设计

本软件基于Eclipse环境下用C语言编写。软件设计流程图如下: (本软件有多个任务, 这里只介绍DBF系数计算的部分) :

软件流程大致为:上电系统初始化, 进入DBF系数计算任务 (Task) 。计算出所有频点、波束、阵元的波束形成系数, 然后根据模式字, 将对应的系数写入FPGA。在fpga内部逻辑中, 自动判别不同重复周期工作状态是否改变, 若改变, 将产生一沿触发信号给NIOS, NIOS收到后, 再一次计算DBF系数。如此循环重复。

3.3 设计结果

假设接收波束为十个波束, 覆盖空域0~20°。利用计算机MATLAB仿真可以模拟出十个接收波束的理论波形。图6为十个交叠接收波束的仿真结果。

3.4 试验结果

试验中采用了-45°~+45°的扫角数据, 利用QUARTUS集成的软环境逻辑分析仪可以采集到对应空域不同方向的接收波束波瓣图, 图7为单个仰角接收波束测试结果, 与仿真结果保持一致。

4 结语

本文比较详细的介绍了在单片FPGA上建立NIOS软核来实现数字波束形成的原理、工程实现方法以及试验结果。此设计方法的优点在于减少了设备量, 降低了硬成本, 同时也便于后期的维护。本平台已经成功应用于某型号地面雷达产品中, 性能稳定, 可靠性高, 在工程应用中具有一定的参考价值。

参考文献

[1]李兰英, 等.Nios II嵌入式软核SOPC设计原理及应用[M].北京:北京航空航天大学出版社, 2006.11

NiosⅡ软核处理器 篇5

1553B总线是飞机航电系统电子综合化的产物, 它利用一条屏蔽的双绞线进行带有时钟信息的数据传输。1553B具有高可靠性的特点, 它已经成为我国航空航天领域广泛采用的军用总线标准。由于1553B总线协议控制器基本依赖于进口的专用芯片, 价格昂贵, 还受到限制, 并且这些芯片需要很多外围的硬件电路配合工作, 如果完成整个总线接口板的设计, 还需要单独的MCU, 集成度不高, 这样就在某种程度上限制了设计能力。随着嵌入式技术的发展, 可编程片上系统设计 (SOPC) 技术已经在很多领域得到实际应用。本文采用SOPC技术, 以Altera公司的CycloneII的FPGA为核心, 采用Nios II固核处理器, 结合1553B协议处理IP模块, 实现1553B总线传输协议的智能接口协处理设计。

二、1553B总线协议简介

现在广泛采用的1553B是一种集中控制式、飞机内部时分指令/响应型多路串行数据总线标准, 具有高可靠性和灵活性, 已经成为现代航空机载系统设备互联的关键技术, 广泛应用于飞机、舰船等武器平台上。1553B数据总线的传输速率为1Mbps, 总线传输一帧为单位, 协议规定3种字:命令字、数据字和状态字。字的长度为20个bit, 且由3部分组成:同步头 (3bit) , 消息块 (16bit) 和奇偶位 (1bit) 。信息量最大长度为32个字。总线系统由一个总线控制器 (BC) 与不多于31个的远程终端 (RT) 组成, 有时系统中还可以加入总线. (MT) , 由于终端类型的不同, 可辨别出命令字和状态字, 命令字由BC发出, 而状态字则由RT发出。总线上传输的信息格式主要有BC到RT, RT到BC, RT到RT, 广播方式和系统控制方式。

三、系统结构及功能

Nios II处理器ALTERA公司开发的软核是一种可以灵活定制的通用精简指令集架构嵌入式, 有位和位两种结构可供选择, 它的外设可以灵活选择和增减, 它的指令集可以由用户定制, 这些特征极大地降低了设计成本, 提高了设计的灵活性。

本设计中以FPGA为载体, 其上集成了Nios II处理器, 1553B总线协议IP模块, 以及SDRAM存储器, FLASH存储器, 以及调试接口UART接口模块等。其系统结构如图1所示。

四、1553B总线控制器IP设计

1553B总线控制模块主要分为数据流控制器、曼彻斯特编解码器、存储器及接口寄存器三个子功能模块。1553B总线控制模块系统结构如图2所示, 实现的具体功能如下:

消息的正确发送:命令字/方式指令的写入、添加同步头、计时、数据字的发送、重发控制、曼彻斯特编码等;消息的正确接收:状态字和数据字的接收、同步头识别、奇偶校验、曼彻斯特解码、中断等;字/消息的处理:命令字提取、接口寄存器的读写、存储器及缓冲器的读写控制等。

数据流控制器:包括状态控制器和存储器及寄存器读写控制两个部分。状态控制器是系统的状态机, 控制整个系统的时序, 负责状态的转移, 通过不同的状态来控制数据的流向。存储器及寄存器读写控制主要功能包括两个方面。一是, 根据内部状态控制器的状态来控制双口RAM和数据发送/接收FIFO的读写;二是, 根据外部CPU的地址译码来读写内部RAM和接口寄存器。

曼彻斯特编解码器:包括解码器和编码器两个部分。解码器的主要功能是识别总线上传输数据的同步头, 对同步头后面的曼彻斯特编码的串行数据进行接收, 转换成并行数据输出, 并指示数据有效、字类型、奇偶校验等信息。编码器对并行数据进行曼彻斯特编码, 并且根据字的类型添加同步头, 然后添加奇偶校验位, 最后将编码后的数据以串行的方式发送到总线上。编码器接收来自发送数据FIFO、第一命令寄存器CommandWordReg1和第二命令字寄存器CommandWordReg2的16位数据, 根据数据的类型添加不同的同步头, 在数据末端添加奇校验位, 然后以串行的方式在设置的波特率下送入发送器, 将数据传输到1553B总线上。解码器为1553B总线数据接收部分, 首先需要对同步头进行提取, 判断接收数据类型, 将接收的串行数据转换成并行数据, 并进行奇校验。

存储器及接口寄存器:包括双口RAM、数据发送/接收FIFO和接口寄存器三个部分。2K Bytes的双口RAM用来存放发送的数据和接收的数据, 外部CPU可以向RAM写入需要发送的数据, 也可以读出接收的数据。数据发送/接收FIFO用来在进行一次消息通信的过程中做发送和接收数据的缓冲。外部CPU通过读写接口寄存器来了解总线的状态和控制总线数据的传输。

五、基于NiosII处理器的片上系统集成设计

Nios II是Altera特有的基于通用FPGA构架的软CPU内核, 是一个可灵活配置的通用32位RISC嵌入式处理器。Nios II处理器内核有3种类型, 它们分别是快速型 (Nios II/f, Fast) 、经济型 (Nios II/e, Economy) 和标准型 (Nios II/s, Standard) , 用户可以根据不同的设计要求来选择具体使用那种处理器内核, 本设计中根据需要选择快速型 (Nios II/f, Fast) 。

1 5 5 3 B总线控制器模块的C P U接口信号包括读写控制信号和地址、数据信号。读写控制信号包括片选READY_N信号、写有效WE_N信号和读有效信号OE_N;地址为11bit宽的ADDRESS[10..0], 数据为16bit宽的data[15..0]。这些接口信号的控制时序与AVALON总线要求一致, 因此可以参考使用AVALONE总线读写时序来描述1553B总线的读写来控制自主设计的1553B总线控制器模块, 在SOPC中可以作为Nios II中的标准外设, 将1553B总线控制模块IP集成到Nios II的外设中去。

Nios II与自主设计的1553B总线控制IP模块的系统集成如图3所示。

六、NiosII软件设计

NIOSⅡ的软件开发是在HAL (hardware abstraction layer) 的基础上进行的。HAL系统库是一个轻量级的运行环境.提供了与硬件通讯的简单设备驱动程序。它还集成了ANSIC标准库, 这些API允许设计者用标准C函数 (例如:printf, fopen, fwrite等) 去存取设备。HAL类似于ARM系统中BSP (board—support package) , 提供了一个一致的设备存取界面。SoPC Builder和NIOSII IDE紧密集成, 在SoPC Builder生成硬件系统以后, NIOSⅡIDE能够自动生成对应的客户HAL系统库。更新硬件系统设置以后, NIOSⅡIDE能自动更新HAL的驱动设置。

软件设计步骤如下:

1) 在NIOSⅡIDE中创建软件项目, NIOSⅡIDE会根据用户在SoPC Builder中的硬件配置自动生成用户HAL系统库.如系统头文件和初始化文件等。

2) 利用用户HAL系统库在NIOSⅡIDE开发环境下编写程序源代码C/C++程序, 编译调试代码, 调试完毕后用NIOSⅡIDE提供的Flash软件Flash Programmer将生成的可执行文件烧写到Flash中。

本设计中NiosII处理器主要完成以下功能, 初始化1553B总线协处理模块, 将终端设备发送的数据传递到协议处理模块, 将协议处理模块下载的总线数据传递给终端设备, 完成中断的响应、处理和清除工作。对于BC模式, NiosII在内存中开辟存放命令的区域, 对于NiosII, 应在内存中开辟存放数据的区域。另外, 为了提高系统的可靠性, NiosII微处理器还应该提供自检功能和异常处理功能。

七、小结

本文介绍了一种基于NiosII固核处理器以及1553B总线技术协议的接口控制器设计方法, 采用基于SOPC的设计方法, 完成了1553B接口IP逻辑的开发以及片上系统的集成及相关软件开发, 并且通过1553B总线分析仪对系统进行了测试。测试结果表明, 系统能够正确的接收和发送符合1553B总线接口协议的数据, 该接口控制器满足设计要求, 工作稳定可靠。

摘要:针对1553B总线协议控制器基本依赖于进口专用芯片现状, 本文介绍了一种基于SOPC片上可编程系统技术的1553B数据总线接口控制器的设计方法, 提出了以Altera公司FPGA为核心实现1553B总线接口逻辑的系统设计方案。采用SOPC技术, 将NIOSⅡ固核处理器与总线接口逻辑集成在一片FPGA上, 从而使系统集成度高、功能强大, 测试表明系统工作稳定可靠, 满足1553B总线协议标准。

关键词:NIOSⅡ,1553B数据总线,片上可编程系统技术

参考文献

[1]周学功彭澄廉.SOPC BUILDER中IP构件的设计与实现计算机工程与设计.

[2]梁迎春曹祥建吴海涛.基于FPGA的可编程片上系统SOPC.肇庆学院学报.

[3]彭澄廉周博邱卫东陈燕周学功方茁.挑战SOC——基于NIOS的SOPC设计与实践.清华大学出版社.

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:iwenmi@163.com

上一篇:视频会议下一篇:温室番茄

付费复制
期刊天下网10年专业运营,值得您的信赖

限时特价:7.98元/篇

原价:20元
微信支付
已付款请点这里联系客服
欢迎使用微信支付
扫一扫微信支付
微信支付:
支付成功
已获得文章复制权限
确定
常见问题