尤庆伸 张持健 江明 陈航
【摘要】随着信息领域各技术的发展,数据釆集方面也取得了长足的进步,釆集数据的信息化是目前社会发展的主流方向,各种领域都用得到数据采集。随着实时测控系统被广泛的应用,以嵌入式为核心的数据采集系统已在测控领域中占到统治地位。本文研究如何利用SOPC技术来设计实现多路数据采集系统。嵌入式软核处理器、采集数据处理部分和LCD显示是系统设计中的三个重要部分。系统中嵌入式软核CPU的设计,运用Nios II嵌入式软核处理器控制数据釆集系统工作,达到系统设计任务和要求。
【关键词】SOPC 数据采集;NiosⅡ处理器;多路数据选择
1.引言
在二十世纪九十年代后期,不断创新和发展的微电子技术以及半导体产业,大大提高了集成电路的生产技术水平,可编程逻辑器件(PLD)能够在一个单一的可编程器件实现整个系统,一个完整的单芯片系统(SOC)的概念是指在一个芯片上实现用户定义的系统。SOC设计将涵盖包括微处理器、DSP芯片、存储器、I/O模块、混合信号模块和控制逻辑等。
数据采集在现代工业生产及科学研究中的重要地位日益突出,并且实时高速数据采集的要求也不断提高。随着微电子技术的一系列成就以及微型计算机的广泛应用,不仅为高速数据采集系统的应用开拓了广阔的前景,也对高速数据采集技术的发展产生了深刻的影响。在现代工业生产和科学研究中,对数据采集的要求日益提高,在瞬态信号测量、语音、图像处理等一些高速、高精度、高实时性的测量中,需要进行高速数据采集。传统的数据采集方法以单片机为核心控制多个通道的信号采集、预处理和数据传输,由于单片机处理速度的局限性, 限制了数在一定程度上据采集的速度、准确性和精度。片上可编程系统(System-on-a-Programmable-Chip SOPC)是一种灵活、高效的SOC解决方案, 它将处理器、缓存、存储器、I/O口、高速总线等功能模块集成到一个FPGA 器件上,可裁减、扩充和升级。具有灵活的设计方式;还有小容量高速RAM 资源和丰富的IP Core资源供灵活选择,用户可以构成各种不同的系统,如单处理器、多处理器;还包含部分可编程模拟电路和可编程逻辑资源,用于附加逻辑的实现[1~3]。
本文根据嵌入式系统的发展现状,利用SOPC技术的特点,将处理器与存储器以及I/O接口、硬件协处理器和普通的用户逻辑等功能模块在一个FPGA芯片里集成,从而构建一个可编程的片上系统。然后利用该技术在FPGA芯片上进行Nios II软核处理器以及相关的接口模块配置从而完成系统的主要硬件电路,结合系统的软件设计来控制硬件。
2.系统总体设计
通过SOPC技术而构建的多路数据采集系统基本上是由前端信号处理器和NiosII处理器及相关模块而构成的。详细系统组成信息如图2-1所示。在前端信号处理器中,信号衰减放大电路主要负责对相关输出、输入信号进行合理调整,保证系统的稳定运行;滤波器主要负责划分频率界限;信号采样主要负责现信号数字化功能。NiosII嵌入式处理器系统包括NiosII CPU、调试端口(JTAG)、电源模块、SDRAM控制器、片内ROM/RAM、三态桥、LCD显示驱动电路、通用 I/O、CompactFlash 接口、PCI 接口、FIFO 接口等。
图2-1 系统总体框图
其中基于SOPC技术的NiosII处理器是整个系统的核心,主要是运用该处理器控制数据采集系统工作。基本工作原理首先通过传感器来采集数据,通过调整电路(衰减放大)进行信号的稳定调整,再通过滤波器来获取有用的信号,将信号送入多路模拟开关,通过多路模拟幵关来选择数据的输出,此时的数据时模拟的,通过A\D进行模数转换。通过NiosII来控制数据的采集、处理、存储及显示。
3.数据采集处理设计
本多路数据采集系统由两大模块组成,它们分别是前端信号调整电路和基于Nios II软核处理器以及各相关的功能模块。前端信号调整电路如图3-1所示。
图3-1 前端信号调整电路
3.1 衰减和放大电路
若要使整个系统能够最大程度的呈现动态,必须采用衰减和放大电路的方式,这种方式可以对观测的信号进行适度的扩大。其工作原理是以衰减和放大两个设备为介质,对信号进行相应的调整。如小信号要使用放大器进行信号的放大,反之,则使用衰减器对其进行衰减;此外,为了使通过设备器进行处理过的被测信号不受任何影响,输入端口在进行配置的时候,必须将相应的阻抗调高,此时则需要由高阻变低阻旳变换电路。
前置通道衰减放大电路主要包括开关、继电器、衰减器、放大器和运放偏置电路等。其框图如图3-2所示。
图3-2 前置通道衰减放大电路框图
3.2 滤波器电路
信号传递的过程要通过高低通滤波器,在经过高通滤波器时它的截止频率是2Hz,然后流向低通滤波器的时候将转变为IKHz,此时为了获取所需信号就要借助多路模拟开关,将其获取的一系列信号转送入A/D芯片里。经过这一路处理和转换后,模拟信号将成功转化为数字信号,并根据既定设置将信号输出,模拟信号就己经转变成为数字信号被输出。
3.3 衰减器
信号输入的变化范围不是静态的,而是一直在较大范围内变化,有时最小可以是几十毫伏,有时最大也可以是几十伏特。如此一来,如果没有好的控制设备,ADC将难以维持正常的运行,因此在这里将使用衰减器对其进行处理。通常我们使用的衰减器由高阻和低阻两种衰减器;其中,高阻衰减器主要对大信号进行10倍的衰减处理,如1倍、10倍、100倍……一次类推,它的位置通常在输入端;而低阻衰减器则是将其衰减到1、2、4、10倍,其位置通常设置在阻抗变换器的后面。
高阻衰减器电路原理图如图所示。其工作原理是基于RC电路,其在进行信号衰减时统一经过继电器进行转换且为既定倍数,其不会因为电路形式不同而有任何变化。它的衰减量则是输出电压及输入电压的商值,同时也和图中VC1,R1并联阻抗与R2、C2和(R3+l/(jwc))并联阻抗的分压商值相等。如果图中V0和VI的商与R2/(R2+R1)的商相差无几,可以认定为此时,分压比与频率是没有任何关联性的,如此一来,R和C的值就是最佳补偿值。通过研究证实,若衰减器是100:1,图3-3中R1=990KΩ、R2=10.1KΩ、R3=10KΩ、Cl=220pF、C2=82pF、VC=3pF、VC2=10pF。
图3-3 高阻衰减器电路图
3.4 放大器
前面被衰减后的信号是在5V范围内,再将其经过放大器放大到正负lOOmV后,其对电路的要求与之前相比要精确的多,频带宽度指标也要求更宽广。
主放大器顾名思义,其核心功能就是将信号进行放大后,对其进行既定偏置,把正负主100 mV的信号二次进行10倍的放大,然后把最终放大值调整为0~2V的电压,再提供给A/D。
3.5 Nios II嵌入式软核处理器系统
所谓的Nios II处理器系统指的就是:在一个芯片上,它包含一个或是多个可配置Nios II CPU软核、与CPU相连接的片内外设和存储器以及片外存储器和外设相连的接口等[1]。所有组件在一个FPGA芯片上实现。Nios n嵌入式软核处理器系统主要有三大部分组成,有Nios II处理器和Avalon交换结构总线以及外部设备。Nios II处理系统的结构图如图3-4所示。通过FPGA内部的逻辑单元和RAM资源来实现Nois II处理器、总线以及各外部设备等部件的电路设计。这是SOPC系统与传统的SOC系统最大不同。
4.系统仿真波形
系统采集数据的仿真效果图如图4-1所示,采集样本数据频率的控制系统通过CLK的外部时钟实现;复位系统(RESET)的作用为连接系统以外的复位信号,可以分别控制采样幵始和结束:MAX196 WR,RD-ADC,INT-DC和EPM7128(控制逻辑数据的芯片)等,实现连接系统的引脚。按照图4-1所示,完成系统复位后,输出数据时通过CLK实现,出现A/D转换的次数增多,FIFO队列中数据信息增加,相反的,若FIFO队列中存储量达到要求后,请求现场可编程门阵列(FPGA)对数据中断,并作出响应,同时FIFO队列中的值在直接内存取(DMA)中读入数据,相比可编程门阵列(FPGA)数据读入时速度很快,所以在A/D转换不需要有暂停,这就实现了实时采样和实时处理。
5.结束语
在FPGA内生成实现CPU是FPGA在今后的发展中必须要走的道路。事实表明,使用基于Nios处理器核心的SOPC设计研究能极大地缩短开发时间,扩展了 SOPC系统开发的灵活性。它设计非常简单,设计时只考虑接口电路以及部分外设设备。开发周比较期短,产品应市的时间比较快。系统不需要再对片内进行电路设计,这样开发时间就会大大的缩短。具有很强的通用性,升级也方便。随着Nios软核嵌入式处理器的不断推出以及其开发工具的不断升级,它的性能在一步步进行优化。而且具有占用空问少、功耗低等优势,可用于多媒体信息处理,信息安全以及嵌入式WEB服务器等等。
参考文献
[1]董秀杰,杨艳,周游.FPGA/CPLD选型与设计优化[J].化工自动化与仪表,2009,36(3):60-63.
[2]袁伟涛,张斌珍,刘文怡.箭载遥测变换器测试台的设计与实现[J].电子技术应用,2008,34(2):87-90.
[3]任勇峰,秦丽,张斌珍.高速PCM 码信号源及其解码电路的设计[J].测试技术学报,2001,15(2):71-74.
[4]Nios II Processer Reference Handbook Altera 公司网站提供资料.
[5]林鹏.SOPC的技术研究—基于SOPC的数据釆集系统[D].天津理工大学研究生学位论文,2005.12.
[6]张慧,孙惠章.共享资源NiosII多处理器系统研究[R].陕西:现代电子技术,2013(16):52-55.
作者简介:
尤庆伸(1989—),男,硕士研究生,研究方向:嵌入式开发与智能控制。
张持健(1964—),男,博士,教授,研究方向:人工智能与自动控制技术。
江明(1990—),男,硕士研究生,研究方向:人工智能与嵌入式系统。
陈航(1988—),男,硕士研究生,研究方向:嵌入式系统开发。