基于ARM Cortex-M3的多路数据采集系统的设计

发布者:平和宽容最新更新时间:2011-06-01 关键字:数据采集系统 手机看文章 扫描二维码
随时随地手机看文章

0 引言
    数据采集系统是将采集传感器输出的温度、压力、流量、位移等模拟信号转换成计算机能识别的数字信号,进行相应的计算存储和处理;同时,可将计算所得的数据进行显示或打印,以便实现对某些物理量的监测和控制。
    嵌入式系统是以应用为中心,以计算机为基础,软硬件可剪裁,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统的核心是各种类型的嵌入式处理器。目前,采用ARM技术的微处理器占据了主流,其应用遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场。而 ARM微处理器的Cortex系列专为安全要求较高的应用而设计。其中,Cortex-M3适于高性能、低成本需求的嵌入式应用。

1 多路数据采集系统总体设计
1.1 系统设计要求
    本数据采集系统的设计要求实现150路直流电压的实时采集和顺序转换。经过部分采集处理后,由串行数据总线将转换数据发送至上位机界面,经过换算,以检测采集的电源正常与否;同时在输出端产生5路PWM方波信号,以用作输出测试与控制。
1.2 系统设计方案
    根据上述设计要求和数据采集系统的设计规范,将系统划分为两个部分:最小系统和采集系统。
    最小系统采用基于ARM Cortex-M3架构的微控制器STM32F103RBT6为主控CPU,利用其内置16通道ADC对输入的多路直流电压信号进行实时采集和转换,内置外设USART将转换结果经过串口发送在PC端由串口调试助手显示。
    采集系统采用5块采集板,每块板实现30路电压信号采集。各块板上,采用比例分压的方法,利用排阻进行采集电压的比例转换,以达到ADC转换的参考基准电压要求。电压信号的输入采用4.16线模拟开关CD4067,通过CPIJ输出四位控制信号,依次选择各路输入信号,进行采集转换。
    电压信号经过采集板,级联输入到最小系统板中,利用CPU内置ADCl中的10个转换输入通道,依次进行转换。设置CPU_内部DMA模块实现转换结果的存储,利用串口转发数据,在上位机显示转换结果。
    根据上述设计方案,本数据采集系统的系统组成和工作原理如图1所示。

a.JPG

2 数据采集系统的硬件设计
    根据系统构成原理,硬件设计上,最小系统和采集系统两部分通过并行接口实现多块板级联,通过选择相应的输入通道和转换通道,实现信号采集和转换结果的显示。[page]

    最小系统中,采用STM32F103RBT6微控制器,工作频率可达72MHz,内置2个12位ADC,16个外部模拟信号输入通道,可达1 u s转换时间,转换范围是O~3.6V;支持7个DMA通道,可操作多种通用外设,如定时器、ADC、USART等;内置3个同步16位定时器,每个可有4个通道用于PWM波形输出。
2.1 最小系统的设计
    按照STM32最小系统的设计规范和本系统的功能要求,最小系统构成如图2所示:
b.JPG

    电源模块:CPU为3.3V供电,最小系统外部输入电源为5V,经过电压转换芯片LM1117-3.3获得3.3V输出电压,以提供系统电源。电源的输入输出端并接滤波电容,分别滤除电源的高频和低频噪声。
    除此之外还有外部时钟,复位系统,ADC参考电压,USART串行通信,JTAG调试接口,总线驱动接口的设计。
    STM32F103RBT6处理器具有51个多功能双向5V兼容的I/O口,使用时可以作为通用GPIO口,也可作为复用AFIO口。复用I/O中,本系统外设所使用的有:定时器4通道四TIM4-CH4复用PB9口;USART1引脚USART1-TX、USART1-RX复用PA9、PA10:ADC 转换通道CH0~CH9分别复用PA0~PA7及PB0、PB1。
    对于复用功能的端口可以配置成以下模式:输入模式(浮空、上拉或下拉)或复用功能输出模式,此时输入驱动器被配置成浮空输入模式。ADC通道端口用作ADC输入时将对应端口配置为模拟信号输入模式;USART数据传输时,TX、RX复用端口分别配置为备用功能推拉模式和
输入浮动模式。
2.2 电压采集系统的设计
    电压采集系统作为本系统的第二部分,主要实现多路电压信号顺序选择输入,获得ADC采集端的输入电压信号,同时,输出最小系统中产生的PWM方波信号,并能选择不同的ADC通道,以实现5块采集板与最小系统板级联。本部分主要包括电压采集模块、数据选择模块、PWM输出模块以及输入输出接口等。
    电压采集模块:电路中采用电阻比例分压的方法,获取输入电压信号,以达到CPU采集转换的基准电压的要求。在实际硬件设计中,采用比例阻值的排阻代替分离电阻以便于电路板的绘制和整体布局。
    数据选择模块:采用16选1输出的模拟开关CD4067作为数据选择器,输出控制由CPU四个端口输入高低电平作为二进制组合以确定输出的数据通道。
    PWM输出模块:最小系统中选择定时器四,软件配置为PWM输出,由三极管放大后获得PWM方波。
    输入输出接口:本系统数据采集和最小系统两部分采用40针排线连接,各个采集板上可以同时选择两个不同的通道,级联后各板将数据选择器的输出信号送至相应的ADC转换通道,同时输出PWM方波信号。

3 系统调试及软件设计
    设计并加工好印刷电路板后,开始硬件和软件的调试。调试过程中采用逐个功能单元调试,一个功能单元调试正常后再调试下一功能模块,确保电路板出问题时可以很快发现问题点,再将各功能单元组合设置,逐步完成软件设计和系统调试,实现系统设计要求。
    系统调试所使用的开发环境为IAR EWARM,仿真工具为ST-LINKII,使用USB接口。
3.1 最小系统板调试
    将电源模块、复位、JTAG、外部晶振焊到电路板上,组成最小系统,分模块,分步骤,调试系统各部分。加电调试前检测是否有电源短路,确保电路安全。
    电源模块:电路外部输入电压为5V,经电压转换后在LMlll7-3.3V输出端得到3.3V的输出。加电后,首先通过万用表测量电压输出是否正确,然后通过示波器观察输出电平的波形是否满足系统对电源精度的要求,如不满足,可以通过加大滤波电容的方法解决。
    最小系统供电正常后,连接仿真器,通过软件平台可以检测到最小系统CPU,表明CPU焊接正常。调试过程中会用到外部晶振,需要检测晶振电路,将系统上电,使用示波器检测晶振管脚,观察波形,看晶振是否起振。然后编写一个简单的LED测试程序来观察CPU是否能正常工作,通过软件设置电路中LED连接的 I/O端口(PB6)输出模式,观察是否有闪烁。
    DMA调试:DMA用来提供在外设和存储器之间或者存储器之间的高速数据传输。DMA通道配置包括:设置外设寄存器、数据存储器的基地址,确定数据量和通道优先级,以及数据传输的方向、循环模式、外设和存储器的增量模式等。ADC1对应DMA通道1请求,ADC通道配置中使能DMA请求。
    除此之外还有USART调试、ADC调试、PWM调试等。[page]

3.2 系统整体调试
    最小系统板各功能单元调试通过后,将最小系统板与数据采集板级联进行系统整体调试。
    系统调试主要包括:外设和系统时钟初始化,GPIO初始化,USART初始化和ADC、定时器初始化及ADC通道设置和串口收发配置等。系统调试流程如图3所示:
c.JPG

    按照上述流程完成程序设计,编译、链接、运行,观察输入输出情况。系统调试效果如图4所示。

d.JPG
    程序运行后,系统板上的LED在闪烁,用示波器测量定时器输出引脚PB9,显示频率为4kHz,幅值为3.3V,占空比50%的PWM的方波,经过三极管放大,幅值为4.5V;在采集板输入端加入直流电压信号,跳线选择ADC通道;USART进行数据传输中,先发出转换结果低六位,后发出高六位。打开串口调试助手,在数据接收区内以十六进制依次显示经过ADC所获得的输入信号的转换结果,图4中显示了通道IN105、IN206输入信号的测试效果,每次预先发送0x7E,且每15次循环输出,表示依次获取了模拟输入电压信号,经测算转换精度在误差允许范围内,说明系统运行正常,初步实现设计目的。

4 结论
    本数据采集系统充分利用微处理器STM32F103RBT6内置的16路ADC通道、DMA控制器、USART通信接口、定时器等丰富的外设资源,在系统实现上简化了相关模块的设计,提高了系统运行的可靠性。经过系统硬件设计和软件配置实现顺序采集转换输入的多路电压信号,并利用上位机界面显示采集的信号,实现了输入信号的实时监测和管理,达到了系统设计的基本要求。

 

关键字:数据采集系统 引用地址:基于ARM Cortex-M3的多路数据采集系统的设计

上一篇:基于ARM7控制器——LPC2214的中英文翻译器
下一篇:ARM中C和汇编混合编程及示例

推荐阅读最新更新时间:2024-03-16 12:36

基于MSP430F449单片机和M-BUS总线实现数据采集系统的设计
引 言 随着社会的迅速发展,智能小区逐渐进人人们的生活,而自动抄表系统是智能小区的重要功能之一。在水、电、气管理方面,采用自动抄表技术,不仅能节约人力资源,更重要的是可提高抄表的准确性,减少因估计或誊写而造成帐单出错的现象,使水、电、气管理部门能及时准确获得数据信息。另外用户不再需要与抄表者预约上门抄表时间,还能迅速查询帐单,所以这种技术越来越受到用户欢迎。 针对目前市场上自动抄表系统价格不菲的现状,设计一种由零功耗磁敏传感器产生脉冲信号,利用MSP430系列超低功耗单片机的捕获功能捕获信号的数据采集系统。该采集系统价格相对低廉,性能可靠,适用于水、煤气、电表的远传采集;数据传输总线选用M-BUS,传输速度快、距离远、可靠性高
[单片机]
基于MSP430F449单片机和M-BUS总线实现<font color='red'>数据采集系统</font>的设计
LPC1788的多路数据采集系统下位机+LabVIEW下位机程序
包含程序源码,电路图 单片机源程序如下: #include ../LPC177x_8x/LPC177x_8x.h #include ../LPC177x_8x/type.h #include ../ADC/adc.h #define BEEPON (LPC_GPIO3- CLR = 1ul 30) /* 蜂鸣器工作 */ #define BEEPOFF (LPC_GPIO3- SET = 1ul 30) /* 蜂鸣器不工作 */ #if ADC_DEBUG #include ../UART/uart.h #endif e
[单片机]
LPC1788的多路<font color='red'>数据采集系统</font>下位机+LabVIEW下位机程序
基于C8051F320的数据采集系统USB接口设计
   1 引言   随着现代工业生产和科学研究对数据采集系统的要求日益提高,传输速度、纠错能力和操作安装的简易性是人们进行采集数据时一直关注的问题,这使得数据通讯技术不可避免地成为了其中的关键技术,而数据采集系统采用何种接口进行数据通讯是影响系统整体效率的重要因素之一。USB(通用串行总线)总线接口技术由于具有速度快、设备安装和配置容易、易于扩展、能够采用总线供电及使用灵活等优点,已逐渐成为现代数据传输的发展趋势 。   本文给出了一种基于C8051F320的数据采集系统USB 接口设计方案,完成了USB 接口硬件电路设计和软件程序开发,并将其应用到仓库视频监控系统中,实现了快速、方便的数据采集和传输。    2 C8051
[单片机]
CPLD在多路高速同步数据采集系统中的应用
摘要:采用VHDL语言设计,用CPLD控制模/数转换电路,完成多路模拟输入的高速同步数/模转,具有容错和自检能力。CPLD与处理之间采用并行接口,具有很好的移植性、可靠性。 关键词:VHDL CPLD 高速同步数/模转换 容错和自检 并行接口 移植性 引言 CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)是在传统的PAL、GAL基础上发展而来的,具有多种工作方式和高集成、高速、高可靠性等明显的特点,在超高速领域和实时测控方面有非常广泛的应用。与FPGA相比,CPLD比较适合计算机总线控制、地址译码、复杂状态机、定时/计数器、存储控制器等I/O密集型应用,且无须外部配置ROM、时延可预
[半导体设计/制造]
数据采集系统设计原则与基本方法
1、硬件设计的基本原则 【1】良好的性价比 系统硬件设计中,一定要注意在满足性能指标的前提下,尽可能地降低价格,以便得到高的性能价格比,这是硬件设计中优先考虑的一个主要因素。因为系统在设计完成后,主要的成本便集中在硬件方面,当然也成为产品争取市场关键因素之一。 【2】安全性和可靠性 选购设备要考虑环境的温度、湿度、压力、振动、粉尘等要求,以保证在规定的工作环境下,系统性能稳定、工作可靠。要有超量程和过载保护,保证输入、输出通道正常工作。要注意对交流市电以及电火花等的隔离。 【3】较强抗干扰能力 有完善的抗干扰措施,是保证系统精度、工作正常和不产生错误的必要条件。例如强电与弱电之间的隔离措施,对电磁干扰的屏蔽,正确接地、高输人阻抗下的
[嵌入式]
USB视频数据采集系统接口电路设计
  现在不论是插座,插口都出现了很多的功能,并且使用方式不同接口或者应用也会有所不同。有的增加了保险功能、电源指示功能、开关功能,有的增加了调压功能。这些插座的功能无论怎样,只能是单一的目的:为用电设备提供电源接口。它们的共同缺陷就是不具有信息化和智能化功能。为了实现插座的信息化和智能化,我们将研究设计的智能信息系统与插座结合,将该智能设备与电源插座合为一体,设计成多功能智能监测插座。该插座由于在建筑电气安装时一次性固定完成,采用照明电源供电,人们使用时就好象使用普通电源插座一样,免除了过多的连接线。    USB接口芯片及其工作原理   在这篇文章中我们采用PDIUSBD12芯片,这是一种价格便宜、功能完善的并行接口芯片,它支
[电源管理]
USB视频<font color='red'>数据采集系统</font>接口电路设计
Si7001温湿度传感器在家庭等数据采集系统的应用
前言 随着生活水平的提高,家具智能化的需求逐步显现,温度、湿度等数据采集的应用也开始显现出越来越大的市场潜力。 本文中,通过Silicon Labs的Si7001温湿度传感器,C8051F985低功耗MCU,CP2403 LCD驱动,和LCD显示器构建一个用于家庭等温度、湿度数据采集的系统,该系统主要用于方便、及时的获取室内、外的温度、湿度等数据(也可和其他传感器集成扩展数据采集应用范围)。  家庭数据采集系统的工作原理 本文使用的Si7001温湿度传感器,C8051F985低功耗处理器,CP2403 LCD驱动,都具有I²C通信接口,可做成模块,只需要选用自己的LCD显示器即可。 典型应用如下: 室内、室外各放置2个Si70
[工业控制]
Si7001温湿度传感器在家庭等<font color='red'>数据采集系统</font>的应用
一款基于完整数据采集系统的设计方案
简介   可编程逻辑控制器(PLC)是很多工业自动化和过程控制系统的核心,可监控和控制复杂的系统变量。基于PLC的系统采用多个传感器和执行器,可测量和控制模拟过程变量,例如压力、温度和流量。PLC广泛应用于众多不同应用,例如工厂、炼油厂、医疗设备和航空航天系统,它们需要很高的精度,还要保持稳定的长时间工作。此外,激烈的市场竞争形势要求必须降低成本和缩短设计时间。因此,工业设备和关键基础设施的设计人员在满足客户对精度、噪声、漂移、速度和安全的严格要求方面遇到了严峻的挑战。本文以PLC应用为例,说明多功能、低成本的高度集成 ADAS3022如何通过更换模拟前端(AFE)级,降低复杂性、解决多通道数据采集系统设计中遇到的诸多难题。这种
[模拟电子]
一款基于完整<font color='red'>数据采集系统</font>的设计方案
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

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