您的位置 首页 知识

根据Zynq压电陶瓷传感器的高精度收集体系规划

引言压电陶瓷(Piezoelectric,PZT)以其特有的体积小、响应快、精度高和微动作功能而成为近年来天文光学精密测量中广泛应用的材料之一。因此,其采集精度和实时性是其关键技术之一。本设计以Xil

导言

压电陶瓷(Piezoelectric,PZT)以其特有的体积小、呼应快、精度高和微动作功用而成为近年来地理光学精细丈量中广泛应用的资料之一。因而,其收集精度和实时性是其关键技术之一。本规划以Xilinx公司的Zynq-7000双核ARM处理器作为规划渠道,完结对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、e.jpg组成的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所示。

a.jpg

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所示:

b.jpg

CPU1在激活后,将会从DDR的0x00200000地址开端履行应用程序,因为Zynq是AMP架构,各个CPU独立运用资源。因而,在CPU1里,仍需求设置MMU,封闭Cache。

封闭Cache后,CPU1读取同享内存COM_VAL变量,假如其值为0,表明压电陶瓷作业正常,在OLED上显现正确信息。假如COM_VAL=1,表明压电陶瓷作业反常,将在OLED显现反常信息。其流程图如图3所示。

c.jpg

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数量级。

d.jpg

运用台式万用表进行测验,电压为2.5 V。试验成果表明,A/D收集精度高达10μV数量级,与高精度台式万用表丈量成果共同,阐明收集成果是正确的。

结语

运用高精度ADS1256转化器和Zynq高速处理渠道,完结了双核ARM并行运转数据收集和实时显现功用。通过24小时不间断测验,体系运转安稳,可以满意高速和高精度压电陶瓷传感器收集体系的要求。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/293311.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部