基于STM32的多功能γ能谱仪设计

发布者:幸福家园最新更新时间:2023-10-11 来源: elecfans关键字:STM32 手机看文章 扫描二维码
随时随地手机看文章

摘要:文中介绍了一种基于STM32微处理器的γ能谱仪的研制。该仪器由主探测器、主控电路,GPS模块,SD卡存储模块,USB接口电路构成。是一种集辐射强度检测、辐射源地理位置定位,数据存储,USB传输等功能于一体的监测系统,大大丰富并提高了能谱仪的性能。


随着对天然辐射场中低能量γ谱学及其应用的深入研究,γ能谱仪不仅在固体矿产勘探、油气普查、水文和工程地质调查等工业生产及科学研究方面,甚至在民用的环境辐射场调查、建材与建筑装饰材料放射性检测方面,都得到广泛的应用,应用场合的复杂多样化对核辐射测量仪器提出新的需求。传统的核辐射测量仪器常采用探头与主控仪器分离的方式,而且主控仪器通常采用32位ARM7处理器甚至8位单片机系统来进行控制,数据采集常采用速度较低的ADC芯片。硬件电路复杂、体积大、集成度低、功能单一。近年ARM公司Cortex—M系列ARM核的推出将微控制器的性能提高到一个崭新的高度,同时功耗与成本大大降低。本文介绍一种主要基于最新Cortex—M3核的STM32微处理器,利用NaI探测器,融合无线通信,位置定位功能、具备大容量SD卡文件数据存储、USB传输接口的γ能谱仪设计。


1 系统总体结构

本能谱仪是以意法半导体出品的STM32芯片为主控制器,搭配NAI探测器及外围电路构建的硬件平台;以嵌入式实时操作系统uCosII2.9.0为软件平台,进行驱动开发,应用程序管理。系统总体结构如图1所示。

 基于STM32的多功能γ能谱仪设计

2 系统硬件设计

电源部分采用锂电池组供电,经过电源管理模块产生探头所需高压外,还需提供信号调理,控制回路所需工作电源;主控制器部分采集GPS模块定位数据,实时时钟模块时间数据,加入到辐射测量数据中作为数据标志;同时将测量结果显示在TFT液晶屏上,或者通过USB电路传送至上位机;在主控制作用下,系统定时会将测量数据保存至SD卡,存储数据以备回查。在系统硬件设计中,主控制器回路,前置放大及脉冲成型电路、甄别电路及GPS电路是本能谱仪重点改进之处。谱仪硬件组成如图2所示。

 基于STM32的多功能γ能谱仪设计

2.1 主控制器STM32

为了充分发挥Cortex—M3核特点,降低能谱仪功耗的同时提升系统处理速度和其他性能,系统采用STM32系列32 Bit微控制器,芯片型号为STM32F103ZETT6。该芯片工作频率为72 MHz,内置高速存储器,64K的SRAM和512K的Flash,具备丰富的增强IO端口和连接到两条APB总线的外设。器件包含两个12 bit的ADC,3个通用16 Bit定时器和一个PWM定时器,还包含标准和先进的通信接口:2个I2C和SHI,5个USART,1个USB和CAN。工作电压为常见的3.3V。该芯片专门设计于集高性能、低功耗、实时应用、具有竞争价格与一体的产品设计领域需求。


2.2 前置放大及脉冲放大成形电路

为了满足现场工作灵敏的脉冲放大器要求,选用φ75x75 mm NaI(TI)探测器,能量分辨率一般可达到8%(铯137源)。探测器工作后经光电倍增管产生的信号首先通过前置放大器和主放大器调理,用于对探测器输出信号的幅度放大和脉冲成形。前置放大器由高速、低漂移、宽频带集成运算放大器AD844构成的电压跟随器,主放大器包括极零相消电路、可调主放大器、有源积分滤波电路。主放大器由AD8066配套周围电路组成如图3所示。

 基于STM32的多功能γ能谱仪设计

图4为积分滤波成形电路。前一级是二阶有源积分滤波成形电路。随后紧跟一级无源RC积分电路。核脉冲信号经过积分滤波成形电路后,就可以得到顶部较圆,信噪比较高的高斯型波形信号,方便后续电路处理。

 基于STM32的多功能γ能谱仪设计

2.3 甄别电路

脉冲整形后信号通过峰值检测及相应控制电路,然后送入主控制器模数转换器进行采集。为消除高能或低能噪声对测量的干扰,对脉冲幅度需采用幅度甄别器来对信号进行甄别,只允许一定幅度的脉冲通过,供后继电路采集。此部分电路采用LM339电压比较器,其输入阻抗高,开环增益大,电压上升速率快,恢复时间短,具体设计如图5所示。

 基于STM32的多功能γ能谱仪设计

2.4 GPS电路、实时时钟电路及SD卡存储电路

传统谱仪仅实现辐射强度实时测量,对测量点具体位置及测量具体时间无法记录,也无法实现大量数据的存储,以提供历史数据回查功能。为了克服以上缺点,本能谱仪进行了改进。


为了实现辐射源实时位置的监测,系统需要配置定位设备,由于辐射源的适用场合主要是室内,而普通的GPS在室内无信号,无法满足实际应用需要,本系统选用GPS和CDMA移动通信双重定位技术的GPS-one模块来实现辐射源的实时定位,GPS-one是美国高通公司开发的基于CDMA技术标准的定位技术,采用Client/Server方式。他将无线辅助A—GPS和高级前向链路AFLT三角定位这两种定位技术有机结合,实现高精度、高可靠性和较高定位速度。在A—GPS定位技术无法使用的环境中,会自动采用AFLT三角定位技术,从而确保定位的成功率和准确度。本谱仪使用的GPS-one模块具体型号为DTGS8—8000 DTGS8—800模块具有标准的RS232接口,可通过TTL—RS232转换器与STM32连接,采用标准的AT指令驱动模块工作。


辐射强度测量数据的存储物理介质为高密度SD卡,利用STM32内部集成的SDIO接口扩展的micro—SD卡作为数据存储;实时时钟电路采用DS1337日历芯片,利用STM32内部集成的串行IIC总线接口与之连接。上述设备连接方式简单,通信可靠,大大降低了系统尺寸,提高了稳定性。


2.5 其他外围电路

经过外围电路调理过的核辐射脉冲信号通过STM32内置的高速ADC进行测量,STM32F103ZET拥有两个12bit的ADC,其VREF+,VREF-为基准电压输入引脚。基准电压输出电路采用REF3233,为系统提供精密3.3 V参考电压,保障数据采集精确。


利用STM32内置全速USB2.0接口,配合若干电阻电容,扩展USB接口,作为上位PC机与谱仪通讯使用。上述部分具体连接电路在此不予赘述。


3 系统软件设计

系统设置数据处理、LCD实时显示、键盘扫描、SD卡数据读写、GPS位置定位数据处理、处理USB数据传输和消息处理一共7个任务。由于核信号的随机性和峰值信号的时间间隔不可预料性。辐射强度测量重要数据处理,采用DMA中断方式,保证采集数据能够快速得到处理。


各个任务利用uCosII提供的消息队列机制循环处理上位机命令和键盘命令。消息任务中设置消息处理函数,根据命令不同,通知数据处理任务处理数据,通知SD卡任务备份数据,以及将GPS加入至辐射测量数据等。键盘扫描任务进行用户指令的识别,将其发送到消息处理任务;LCD显示任务完成辐射数据谱线及相关参数的显示。


SD卡数据存储采用开源的FAT32文件系统包FATFS0.07C完成,SD卡数据任务运行时首先进行文件系统的相关结构体初始化,然后响应按键指令后将测量数据采用定期或非定期写入,以后后续使用进行翻查。USB数据传输任务响应上位机指令,将实时数据或从SD卡读取历史数据传输至上位机。


在STM32上电复位后,首先进行设备自检,硬件设备无误后启动操作系统并创建任务,开始运行应用程序。


4 结论

通过实地使用,实测137Cs放射源能谱很清楚看出137Cs发出的全能峰、康普顿峰和反射峰。其能量分辨率达到10%左右。


该系统其他技术参数为:γ射线能量分析范围为20 keV~3.0 MeV,连续测量数据符合放射性统计涨落规律,使用NAI探测器时,整机功耗为小于990 mW,实测USB最大传输速率为1 Mbps,在核辐射现场测量中有较好的应用前景。


关键字:STM32 引用地址:基于STM32的多功能γ能谱仪设计

上一篇:stm32f103zet6怎么保存flash参数
下一篇:STM32晶振器振问题

推荐阅读最新更新时间:2024-11-17 17:05

关于STM32函数定义
1.*(__IO uint8_t *) CIR_BYTE3_ADDRESS #define __IO volatile /*! Defines 'read / write' permissions 声明 volatile ,目的:使编译器不优化该变量。从相应变量内存中取数。 /* Check the parameters */ assert_param(IS_TIM_ALL_PERIPH(TIMx)); //assert _param函数作参数检查用 2. static: static局部变量中文名叫静态局部变量。它与普通的局部变量比起来有如下几个区别: 1)位
[单片机]
STM32开发何使用STVP后就无法正常工作了
前言 目前很多用户在使用 STM8 的时候使用了 16MHz 的内部振荡或者外部晶体来作为时钟源。事实上,STM8 家族中有些系列是支持最高 24MHz 主频的,比如 STM8S207、STM8AF52,等等。那么,需要更快的运行速度时,是否只需要使用更高的主频就可以直接运行了呢? 问题 某客户在其产品的设计中,使用了 STM8AF52A9。客户工程师称其一段以前已经验证过的代码,使用 STVP 下载后无法正常运行。但是他试过在 IAR for STM8 中是可以正常调试的,不知道为何使用 STVP 后就无法正常工作了呢? 调研 1.了解问题 使用编译好的.s19 文件使用 STVP 烧写到 STM8AF52A9,发现上电
[单片机]
<font color='red'>STM32</font>开发何使用STVP后就无法正常工作了
基于STM32的三相多功能电能表解决方案
   背景   电能表作为电能计量的基本设备,受到国家电力部门的长期重视,电能表生产企业更是不遗余力地寻求设计与开发性能俱佳且成本更低的解决方案。目前国内的电能表设计已经走过了由8位MCU向通用DSP甚至专用DSP的变革,通用DSP的应用方案的劣势在于DSP的专业应用和嵌入程度不够深的问题,成本偏高;而专用DSP功能相对固定,这样给电能表设计和生产厂家带来功能差异化空间不足的困难。基于ARM的方案也已经出现,但是适合应用的ARM7 TDMI在性能上不尽人意,同时外设资源不足;而更高端的ARM9系统的复杂程度很高,成本也较高。选择一颗合适且低成本的微处理器日益成为电能表行业的关键所在,直到意法半导体公司(STMicroelect
[嵌入式]
stm32常见错误分析
1.warning: #550-D: variable d was set but never used 描述:变量'd'定义但从未使用,或者是,虽然这个变量你使用了,但编译器认为变量d所在的语句没有意义,编译器把它优化了. 解决:仔细衡量所定义的变量d是否有用,若是认定变量d所在语句有意义,那么尝试用volatile关键字修饰变量d,若是真的没有用,那么删除掉以释放可能的内存. 2.warning: #1-D: last line of file ends without a newline 描述:文件最后一行不是新的一行.编译器要求程序文件的最后一行必须是空行,想了半天没想通为什么要这样. 解决:可以不理会.若
[单片机]
STM32软件复位的实现方法
前些天写程序的时候,需要做一个自动复位的功能,也就是当收到外部通讯设备复位指令时,主设备立刻执行复位操作。当时是想到的用看门狗实现。但是觉得似乎不太妥当,因为看门狗的复位是需要一定的时间。而在这段时间内系统还是处于正常运行当中,而且所有中断都会正常响应。这恰好与要实现的功能南辕北辙。需求是当收到复位指令时,系统停止执行后面的所有操作,包含中断响应。所以看门狗无法实现。 我用的是STM32F103芯片,了解这颗芯片能用来复位的只有5种,外部复位、独立/窗口看门狗、软件复位功耗管理。看来我能用的也就只有软件复位了。但是我查了所有STM32F103芯片相关的资料,还是没有找到具体的实现方法,最多是提到过这种复位寄存器SYSRESET
[单片机]
STM32对内部Flash的保护措施
1、STM32对内部Flash的保护措施 所有STM32的芯片都提供对Flash的保护,防止对Flash的非法访问 - 写保护和读保护。 1)、读保护即大家通常说的“加密”,是作用于整个Flash存储区域。一旦设置了Flash的读保护,内置的Flash存储区只能通过程序的正常执行才能读出,而不能通过下述任何一种方式读出: 通过调试器(JTAG或SWD); 从RAM中启动并执行的程序; 2)、写保护是以四页(1KB/页) Flash存储区为单位提供写保护,对被保护的页实施编程或擦除操作将不被执行,同时产生操作错误标志。 读与写设置的效果见下表: 读保护 写保护 对Flash的操作功能 有效 有效 CPU只能读,
[单片机]
stm32 USART_IT_IDLE中断 一帧数据
USART_IT_IDLE中断,是串口收到一帧数据后,发生的中断。也可以叫做一包数据 USART_IT_IDLE和USART_IT_RXNE区别 当接收到1个字节,会产生USART_IT_RXNE中断 当接收到一帧数据,就会产生USART_IT_IDLE中断 清中断方法 //USART_IT_RXNE USART_ClearITPendingBit(USART1, USART_IT_RXNE); //USART_IT_IDLE USART1- SR; //先读SR寄存器 USART1- DR; //再读DR寄存器 使用举例 u8 count; u8 flag; void uart_init(u32
[单片机]
<font color='red'>stm32</font> USART_IT_IDLE中断 一帧数据
STM32开发笔记65: W5500跨路由不能访问问题的解决方法
单片机型号:STM32L053R8T6 现象描述:使用W5500进行以太网设计,用网线直接连接设备通信正常,使用家用无线路由器(自己用TP-Link做的实验),无论是外网访问内网,还是内网访问外网均正常。但是,在现场环境中,不能跨路由通信,现场环境使用的三层交换机是华为的S5720S。现场有正常能够使用的设备,将自己的设备的IP地址、子网掩码、网关与该设备设置的一致,并用同一个网口都不能正常通信。 问题解决:最后将问题锁定在MAC地址上,下图是我的设备的MAC地址,其关键点在于MAC地址的第1字节,具体解释如下。 MAC地址基本含义 MAC(Medium/Media Access Control)地址,用来表示互联网
[单片机]
<font color='red'>STM32</font>开发笔记65: W5500跨路由不能访问问题的解决方法
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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