基于FPGA的多通道数据采集系统设计

发布者:美好的人生最新更新时间:2011-03-31 来源: 电子技术应用关键字:数据采集  MCU  A/D  FPGA  ARM 手机看文章 扫描二维码
随时随地手机看文章
   

大地电磁场携带着地球内部的结构、构造、温度、压力以及物质成分的物理状态等信息,为人们研究板块运动的规律、追溯地球的演化历史提供了科学依据。大地电磁探测是研究大陆岩石圈导电性结构的有效方法之一,使人们从电性角度认识地球内部的构造形态,达到了解地下不同深度地质情况的目的。该技术应用前景广泛,可用于地下更深层找矿、找水、找油、监测海底潜艇等,对国民经济和国防的发展都有重要的推动作用。

  最常用的数据采集方案多以MCU为核心,控制多路信号的采集及处理。但由于单片机本身的指令周期以及处理速度的影响,对于多通道A/D进行控制及数据处理,普通的MCU往往不容易达到要求。考虑到FPGA器件的高集成度、内部资源丰富、特别适合处理多路并行数据等明显优于普通微处理器的特点,并针对大地电磁数据采集系统对实时性和同步性的要求,本文提出了一种多通道数据采集方案。采用FPGA与ARM相结合的设计,采集主控制逻辑用FPGA实现,ARM用来实现采集数据的存储和数据传输控制。

  1 系统总体结构

  系统总体结构如图1所示。A/D转换器采用TI公司的24位高精度模数转换器ADS1255;FPGA采用Altera公司的EP2C35;ARM为ARM9内核的处理器S3C2410。双口RAM由EP2C35内部存储器块配置而成,该双口RAM与ARM的系统总线相连,映射为ARM的一块内存区。
 

 
     AD前端处理电路的作用是实现对信号的放大、衰减以及阻抗匹配,从而满足ADC对输入信号的要求。滤波网络滤除高频噪声和工频信号的干扰,增益放大通过ARM给出的控制信号实现对模拟信号的不同增益的放大处理。ADS1255负责把模拟电信号转换成数字信号,可以通过功能选择设置ADS1255工作在不同的工作模式下。ADS1255的工作时钟由FPGA提供,改变FPGA输出时钟的频率就能实现AD采样率的改变。FPGA并行控制5路AD的数据采集,并把采集到的各路数据按顺序以字节的形式写入双口RAM中缓存。FPGA对双口RAM的数据写入和ARM对数据的读取是通过乒乓传输结构实现的。当FPGA写满双口RAM上半区后,向ARM申请中断,ARM响应中断后,读出上半区数据到内存中进行存储;同时FPGA向RAM的下半区写数据,写满下半区后也向ARM发出中断,通知ARM读出下半区数据。通过乒乓传输保证了系统数据采样和数据传输可以连续进行。

  2 FPGA的逻辑设计

  本方案中的数据采集流程如下:系统初始化后,ARM通过控制信号把采样频率、通道选择等参数通知给FPGA,然后FPGA向需要同步采样的通道对应的AD芯片提供统一时钟,使得AD同步地选择相应的通道进行数据的同步采样和转换,其结果由FPGA接收并存储在双口RAM对应的存储空间,然后由ARM从相应的双口RAM空间读取数据进行本地存储或经过网络传输给上位机进行处理。根据以上流程以及FPGA要实现的功能,整个FPGA逻辑设计划分为通道和采样率选择模块、时钟模块、双口RAM模块、AD采样控制模块、串并转换模块、数据存储控制模块、ARM接口控制模块。

  各模块连接关系如图2所示。
 



 2.1 通道和采样率选择模块

  在实际应用中并不是每个通道都被使用,AD的采样率也不只一种,所以在通道的控制和采样率设置上应该具有可选择性。

  通道和采样率选择模块提供2个8 bit的控制寄存器A和B。如图3所示,寄存器A的0~4 bit分别对应ADC通道CH0~CH4,5~7 bit保留;寄存器B的8 bit分别对应采样率FS0~FS7。如果要选择某几个通道,只需将寄存器A中相应的位置1,其他位置0,AD采样控制模块就会根据该寄存器中的内容使能相应的通道。如果要选择某一个采样频率,只需把寄存器B中相应的位置1,其他位置0,时钟模块会产生相应的时钟控制AD的采样率。在开启数据采集之前,ARM应根据所要求的通道和采样频率向寄存器A和B写入相应命令字。
 



      2.2 时钟模块

  本设计中外部输入时钟为16.384 MHz。由于设计中各个模块工作时钟的不同以及AD采样率的变化,所以需要多种不同的时钟信号。时钟模块的功能就是根据不同采样率为各个模块提供所需的时钟信号。由于该设计采用同步时序电路,它是基于时钟触发沿设计,对时钟的周期、占空比、延时、抖动提出了较高的要求,为此本设计中采用FPGA所带的PLL时钟资源驱动设计的主时钟,使其达到最低的时钟抖动和延迟。

  2.3 双口RAM模块

  本设计中双口RAM用于数据缓存,一方面存储各个AD芯片转换的数据,另一方面供ARM读取数据做进一步的存储与处理。它具有真正的双端口,可以同时对其进行数据存取,两个端口具有独立的控制线、地址线和数据线。该双口RAM模块是通过调用Altera FPGA自带的参数化模型库(Mega-lpm)实现的。

关键字:数据采集  MCU  A/D  FPGA  ARM 引用地址:基于FPGA的多通道数据采集系统设计

上一篇:FPGA构建高性能DSP
下一篇:FPGA的低功耗设计分析

推荐阅读最新更新时间:2024-05-02 21:19

51单片机晶振与波特率的关系
在串行通信中,MCS 51串口可约定四种工作方式。其中,方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率决定。 波特率是指串行端口每秒内可以传输的波特位数。这里所指的波特率,如标准9600不是每秒种可以传送9600个字节,而是指每秒可以传送9600个二进位,而一个字节要8个二进位,如用串口模式1来传输,那么加上起始位和停止位,每个数据字节就要占用10个二进位,9600波特率用模式1传输时,每秒传输的字节数是9600 10=960字节。 一、方式0和方式2的波特率 方式0的波特率是固定的,为fosc/12,以一个12M 的晶振来计算,那么它的波特率可以达到1M。 方式2的波特率是固定在f
[单片机]
51<font color='red'>单片机</font>晶振与波特率的关系
ARM7和ARM-Cortex的区别,ARM为什么会有两种启动方式?
ARM为什么会有两种启动方式?ARM7和ARM-Cortex区别在哪?快速中断和中断是怎么回事? ARM的两种启动方式 (NAND FLASH. NOR FLASH)为什么会有两种启动方式? 这主要是由两种FLASH 的不同特点决定的。 NAND FLASH 容量大,存储的单位比特数据的成本要低很多,但是要按照特定的时序对NAND FLASH 进行读写,因此CPU 无法对NAND FLASH 的数据进行直接寻址,CPU 对NAND FLASH 中数据的读写是通过专门的 nand flash控制器进行的,因此 NAND FLASH 更适合于存储数据。 NOR FLASH 容量小,速度快,对NOR FLASH 进行读写时,
[单片机]
<font color='red'>ARM</font>7和<font color='red'>ARM</font>-Cortex的区别,<font color='red'>ARM</font>为什么会有两种启动方式?
复旦微电子推出FM33LE0系列MCU产品家族
2022年5月30日,上海讯——复旦微电子今日推出基于 ARM cortex M0内核的FM33LE0系列MCU产品家族 。该系列是FM33LC0系列的成本友好版本,在保证硬件兼容FM33LC0系列的基础上,复旦微MCU团队对其片上存储资源和外设资源进行了更加精准的规划,并且优化部分功能,使其与客户端的需求契合度更高,从而为客户端的产品研发提供了更多的可能性。 该系列MCU是基于ARM Cortex-M0内核的32位低功耗MCU芯片,最高主频为64MHz,提供最大128KB FLASH程序存储空间,搭配 16KB RAM;片上集成LCD驱动、带温补的RTC、SAR-ADC、AES加密,以及丰富的通用外设接口;支持多种封装
[单片机]
复旦微电子推出FM33LE0系列<font color='red'>MCU</font>产品家族
STM32单片机寄存器的位置是如何定义的
一直都是用STM32做项目中的主控芯片,在编程的时候,之前一直忽视了一个问题,那就是寄存器的位置是如何定义的,为什么用一个USART1-》CR操作就能够给这个CR寄存器赋值?其实这是一个比较底层的问题,不懂这方面的知识也并不影响使用STM32,因为底层的定义工作,厂家一般都会做好,但是多了解一点原理性的东西,对自己还是很有帮助的。 这里我就以STM32F407的USART寄存器为例,介绍一下ST厂家是如何做寄存器定义的。 首先在stm32f4xx.h中 typedefstruct { __IOuint16_tSR;/*! uint16_tRESERVED0;/*! __IOuint16_tDR;/*! uint16_tRESE
[单片机]
我学习FPGA的总结
阅读本文的人群:熟悉数字电路基本知识(如加法器、计数器、RAM等),熟悉基本的同步电路设计方法,熟悉HDL语言,对FPGA的结构有所了解,对FPGA设计流程比较了解。 一.序 言 1.FPGA的好处 设计工程师不在需要画繁琐的原理图PCB连线,从而将工作重心转移到功能实现上,极大地提高了工作效;随着HDL(Hardware Description Language)硬件描述语言语言综合工具及其它相关工具的推广已经加大的FPGA的应用普及。 2.工程师们在使用FPGA时的一些坏习惯 任何事务都是一分为二的,有利就有弊。 我们发现现在越来越多的工程师不关心自己的电路实现形式,以为“我只要将功能描述正确,其它事情交给工具就行了”。
[嵌入式]
STC12C5A60S2单片机产生SPWM主程序C代码
本程序通过模拟仿真,实际示波器测试,均表现良好,愿拿出来分享,若有更好的实现方法,希望高手多多指教。。。。 /*************spwm产生程序******/ /*单片机STC12C5A60S2,晶振11.0592M,正弦波50Hz,spwm波形21.6KHz*/ #include STC12x5A60S2.H #define uchar unsigned char #define uint unsigned int uchar code pwm ={255,240,226,211,196,182,168,154,141,128,115,103,91 ,80,69,59,50,42,34,27,20,15,10,6,3,1
[单片机]
详解:8051单片机的结构与原理
单片机的基本结构包括中央处理器(CPU) 、存储器、定时/计数器、输入输出接口、中断控制系统和时钟电路六部分。 一、基本组成 中央处理器(CPU) 包括运算器和控制器两部分,是单片机的核心。运算器可用于各种运算,控制器用于控制单片机各部分协调工作。 存储器 用于存放程序和原始数据。 时钟电路 时钟电路产生单片机运行的控制信号,控制单片机严格按时序执行指令。 定时/计数器:实现定时或计数功能。输入输出接口(I/O)实现单片与其他设备之间的数据传送。中断控制系统: 用于响应中断源的中断请求。 二、单片机引脚 双列直插式封装(DIP,Dual Inline Package)方形封装(PLCC,Plastic Lead
[单片机]
Arm向美国证交会提交IPO申请,最大客户来自中国
8月22日消息,今日凌晨,日本软银集团旗下的英国半导体IP巨头Arm Holdings向美国证券交易委员会正式递交IPO文件,申请以“ARM”的代码在纳斯达克上市,巴克莱、高盛、摩根大通、瑞穗、美国银行和花旗集团均为此次IPO的承销商。 这一举动将为 Arm 的母公司软银提供更多的资金,进一步投资于初创企业。在最近与投资者和分析师的会议上,软银的首席执行官孙正义表示,该公司已经准备好在人工智能领域转向“进攻”。在申请文件中,Arm 表示,在上一个财年,有价值 300 亿美元的 Arm 制造的芯片被出货,软银将继续是 Arm 的控股股东。 Arm成立于1990年,最初是英国艾康电脑、苹果和V LSI的合资企业。Arm 也曾是一家上市
[半导体设计/制造]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved