高速高精度采集系统设计方案

发布时间:2015-12-22 阅读量:866 来源: 我爱方案网 作者:

【导读】本设计以Zynq-7000双核ARM处理器作为设计平台,实现对压电陶瓷(Piezoelectric,PZT)的高速和高精度采集。Zynq是以ARM为核心、以FPGA作为可编程外设的全新架构处理器,其ARM核是由2个Cortex—A9 CPU组成的AMP系统。

目前,PZT的采集系统大多采用PC机下的采集卡或者类似于单片机的系统设计,由于PC机系统的实时性比较差,单片机的数据处理能力比较弱,很难满足类似于天文光学测量系统的实时性要求,采用Zynq的PL部分做数据采集,可以达到μs数量级。利用Zynq的PS部分实现数据存储、数据处理和通信,实时性也可以达到μs数量级。

1 数据采集和OLED显示IP核设计

1.1 OLED显示IP核设计

ZedBoard开发板上使用Inteltronic/Wisechip公司的OLED显示模组UG-2832HSWEG04,驱动电路采用所罗门科技的SSD1306芯片。OLED采用SPI方式控制,SPI模式使用的信号线和电源线如下:

①RST(RES):硬复位OLED。
②DC:命令/数据标志。
③SCLK:串行时钟线。
④SDIN:串行数据线。
⑤VDD:逻辑电路电源。
⑥VBAT:DC/DC转换电路电源。
⑦OLED显示IP核是指在PL中配置相关外设,挂到PS中,作为PS部分的外设使用。

只需要利用Xilinx的嵌入式工具XPS生成硬件系统。主要过程如下:

①根据XPS工具设计流程,生成Zynq的最小硬件系统。
②在最小硬件系统中,添加外设IP my_oled,添加一个6位寄存器,每位和SPI引脚对应。
③在系统生成的MPD文件中,设置相关引脚和方向信息。
④在系统生成的my_oled.vhd文件中,用VHDL语言进行端口设计。
⑤在系统生成的user_logic.v文件中,用Verilog语言进行逻辑设计,实现寄存器和SPI对应端口连接并实时读取。

1.2 数据采集IP核设计

由于压电陶瓷精度非常高,因此,采用高精度ADS1256转换芯片采集电压,ADS1256是多路复用的24位极低噪声△-∑ADC。其理论采样精度达到16 777 216分之一,测量电压范围为-5~+5 V,因此,其理论精度为1.6μV,实际测试达到10μV数量级。

ADS1256与zynq是通过SCLK、DIN、DOUT、组成的SPI串行接口,由于其不在ZedBoard开发板上,需要通过板子上的JA和JB接口连接上述6个引脚。

数据采集IP核设计,主要是完成6个引脚的连接,以及A/D转换过程的命令和数据传送、时钟设定,其设计过程和OLED显示IP核设计过程完全一致。

2 Zynq双核运行原理

Zynq是一个可扩展处理平台,它的启动流程也和FPGA完全不同,而与传统ARM处理器的类似。

系统上电启动后,第0阶段启动代码判断启动模式,将第一阶段启动代码amp_fsbl.elf下载到DDR中,并开始执行。FSBL会配置硬件比特流文件,加载CPU0可执行文件和CPU1可执行文件到DDR对应的链接地址。在这一阶段,所有代码在CPU0中执行,然后执行第一个可执行文件app_cpu0.elf,把CPU1上将要执行的应用程序执行地址写入OCM的0xFFFF FFF0地址,然后执行SEV汇编指令,激活CPU1。CPU1激活后,将会到OCM的0xFFFF FFF0地址读取其数值,其数值就是CPU1执行可执行程序的地址,CPU1应用程序将从该地址执行。

CPU0和CPU1相互之间通过OCM的0xFFFF 0000地址作为共享内存,进行通信。

Zynq是AMP体系架构,CPU0和CPU1各自占用独立的DDR空间,其中CPU0占用的DDR地址为0x00100000~0x001F FFFF,CPU1使用的地址空间为0x00200000~0x002F FFFF。双核运行原理如图1所示。

图1:双核运行原理

3 软件设计

软件设计主要包括CPU0应用程序和CPU1应用程序,其中CPU0部分主要实现系统初始化、启动CPU1、读取A/D转换后的数据和对数据进行初步处理。

FSBL加载完CPU0应用程序后,跳转到0x0010 0000处执行CPU0程序,首先配置MMU,关闭Cache,使OCM物理地址为0xFFFF 0000~0xFFFF FFFF和0x00000000~0x0002 FFFF。

关闭Cache后,CPU0执行SEV汇编指令,激活CPU1,CPU1到OCM的0xFFFF FFF0地址读取CPU1应用程序地址,开始执行CPU1的应用程序。

读取ADS1256转换后的数据,对前后2次ADS1256转换后的数值进行比较,如果大于0xFF,则认为压电陶瓷有异常,设置COM_VAL=1,等待CPU1把异常信息在OLED上显示出来。其流程图如图2所示:

图2:CPU0程序流程图

CPU1在激活后,将会从DDR的0x00200000地址开始执行应用程序,由于Zynq是AMP架构,各个CPU独立使用资源。因此,在CPU1里,仍需要设置MMU,关闭Cache。

关闭Cache后,CPU1读取共享内存COM_VAL变量,如果其值为0,表示压电陶瓷工作正常,在OLED上显示正确信息。如果COM_VAL=1,表示压电陶瓷工作异常,将在OLED显示异常信息。其流程图如图3所示。

图3:CPU1程序流程图

4 实验结果

完成软硬件设计后,需要将硬件比特流配置到Zynq的PL部分,把软件部分下载到DDR中运行。使用Xilinx的BootGen工具,将FSBL文件、bit文件、CPU0文件和CPU1文件组合并添加到相关头部,生成能被Zynq识别的合法镜像BOOT.BIN文件。把BOOT.BIN拷贝到SD卡中,将ZedBoard设置成SD卡启动,将SD卡插入SD卡槽,上电后,会看到OLED显示压电陶瓷工作状态信息。

实验中,压电陶瓷在一固定位置,随机读取部分A/D采集到的数据,如表1所列,可以看出,其采集精度达到10μV数量级。

表1:采集到的数据

使用台式万用表进行测试,电压为2.5 V。实验结果表明,A/D采集精度高达10μV数量级,与高精度台式万用表测量结果一致,说明采集结果是正确的。

结语

利用高精度ADS1256转换器和Zynq高速处理平台,实现了双核ARM并行运行数据采集和实时显示功能。经过24小时不间断测试,系统运行稳定,能够满足高速和高精度压电陶瓷传感器采集系统的要求。

推荐阅读:

蓝牙实时数据采集系统设计方案
高速USB数据采集系统方案设计
低功耗、耐高温的数据采集系统设计分析

相关资讯
高绝缘小型化DC-DC转换器技术突破:村田NXJ1T系列深度解析

株式会社村田制作所(Murata)最新推出的NXJ1T系列高绝缘小型DC-DC转换器,专为工业、能源和医疗领域设计,具备4.2kV DC高绝缘耐压、低漏电流及卓越的可靠性。该产品采用先进的封装技术,在严苛环境下仍能保持稳定运行,适用于电动汽车(EV)充电系统、可再生能源设备、医疗电子等高要求场景。NXJ1T系列凭借小型化设计(10.55mm × 13.70mm × 4.04mm)和约80%的高转换效率,为设备节省空间并优化能耗表现。核心特性包括:

全球最强交换机诞生!博通Tomahawk 6突破100Tbps大关

2025年6月3日,博通(Broadcom)正式发布Tomahawk 6交换机系列,标志着以太网交换技术迈入全新阶段。该产品是全球首款单芯片提供102.4Tbps交换容量的解决方案,带宽达到现有市场产品的两倍,专为下一代AI网络设计,支持超大规模集群部署。

高性能双通道运放SGM8433-2Q:驱动旋变励磁与电机控制的理想选择

圣邦微电子(SG Micro)推出的SGM8433-2Q是一款高压、低失真、轨到轨输入输出的双通道运算放大器,专为高精度、高驱动能力的应用场景设计。该器件支持4.5V至24V宽电源供电,具备12MHz增益带宽积(GBW)和35V/μs高压摆率,同时提供高达360mA(源电流)和400mA(灌电流)的强大驱动能力,适用于旋转变压器励磁驱动、电机控制、伺服系统等高要求场景。

SK海力士登顶全球DRAM市场,HBM技术成制胜关键

2025年第一季度,全球DRAM市场格局迎来重大变化。据TrendForce和Counterpoint Research最新报告显示,SK海力士凭借高带宽存储器(HBM)的技术优势,首次超越三星电子,以36%的市场份额位居行业榜首。三星电子以33.7%的份额退居第二,美光则以24.3%的份额排名第三。

威世科技推出VIA系列隔离放大器:高精度与可靠性的工业级解决方案

2025年6月5日,威世科技(Vishay Intertechnology, Inc.,NYSE: VSH)宣布推出三款新型隔离放大器——VIA0050DD、VIA0250DD和VIA2000SD,专为工业、汽车和医疗等高精度、高可靠性应用设计。该系列产品具备卓越的热稳定性、高共模瞬态抗扰度(CMTI)和低增益误差,适用于恶劣环境下的精密电流和电压测量。