基于STM32芯片的γ能谱仪设计

发布者:BlissfulHiker最新更新时间:2023-04-03 来源: zhihu关键字:STM32芯片  γ能谱仪 手机看文章 扫描二维码
随时随地手机看文章

随着对天然辐射场中低能量γ谱学及其应用的深入研究,γ能谱仪不仅在固体矿产勘探、油气普查、水文和工程地质调查等工业生产及科学研究方面,甚至在民用的环境辐射场调查、建材与建筑装饰材料放射性检测方面,都得到广泛的应用,应用场合的复杂多样化对核辐射测量仪器提出新的需求。

传统的核辐射测量仪器常采用探头与主控仪器分离的方式,而且主控仪器通常采用 32 位 ARM7 处理器甚至 8 位单片机系统来进行控制,数据采集常采用速度较低的 ADC 芯片。硬件电路复杂、体积大、集成度低、功能单一。近年 ARM 公司 Cortex—M 系列 ARM 核的推出将微控制器的性能提高到一个崭新的高度,同时功耗与成本大大降低。本文介绍一种主要基于最新 Cortex—M3 核的 STM32 微处理器,利用 NaI 探测器,融合无线通信,位置定位功能、具备大容量 SD 卡文件数据存储、USB 传输接口的γ能谱仪设计。

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


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



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


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

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


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芯片的γ能谱仪设计

上一篇:意法半导体推出STM32WB1MMC Bluetooth® LE 认证模块 简化并加快无线产品开发
下一篇:STM32固件IAP升级实战

推荐阅读最新更新时间:2024-11-08 18:15

STM32学习—如何选择各个电路部分的主要芯片
电路设计的基本过程一般是这样的:需求分析——元件选型——原理图设计——PCB设计——焊接调试。 ▼需求分析: 在这里,主要是确定小车需要哪些模块、外设或接口。首先,STM32最小系统是必须的,这是小车控制的核心。然后小车的两个轮子需要两个H桥驱动和编码器接口。需要陀螺仪感知小车的姿态(包括倾角,转向角,角速度等)。需要一些调试和指示用的外设(蜂鸣器,LED等)。需要电源电路为系统供电。需要电池电压采集电路来实时采集电池电压,做低压报警,防止电池过放。需要下载接口和调试用的串口。基本就是根据自己想要实现功能,然后确定需要那些部分的电路。 ▼元件选型: 为需要的各个部分电路选择元件,一般来说,主要是选择何种型号、什么封装的芯片
[单片机]
<font color='red'>STM32</font>学习—如何选择各个电路部分的主要<font color='red'>芯片</font>
STM32实验连载之四:读取芯片唯一ID号
产品唯一的身份标识的作用: ● 用来作为序列号(例如USB字符序列号或者其他的终端应用); ● 用来作为密码,在编写闪存时,将此唯一标识与软件加解密算法结合使用,提高代码在闪存存储器内的安全性; ● 用来激活带安全机制的自举过程; 96位的产品唯一身份标识所提供的参考号码对任意一个STM32微控制器,在任何情况下都是唯一的。用户在何种情况下,都不能修改这个身份标识。按照用户不同的用法,可以以字节(8位)为单位读取,也可以以半字(16位)或者全字(32位)读取。嘿嘿,要注意大端小端模式哟~~~ 以下是相关代码: * 函数名:Get_ChipID * 描述 :获取芯片ID * 输入 :无
[单片机]
STM32 芯片架构
把STM32 想像类比成一台电脑。 CPU 通过 总线(Bus) 控制各类外设。 各部分功能如下: CPU:包含运算器,控制器及若干寄存器,是单片机的控制和指挥中心。 ROM (STM32中称为FLASH):用于存放程序和数据,为只读储存器。更改(擦除)和写入程序都较为麻烦, 需要遵守FLASH相关的协议。可以认为是计算机的硬盘。 RAM(STM32中称为SRAM):用于存放运算的中间结果、数据暂存及数据缓冲等。可以随机读入或读出,读写速度快,读写方便;但是断电或复位会丢失数据。可以认为是计算机的内存。 总线矩阵:总线矩阵用于主控总线之间的访问仲裁管理,提高了各部件交流的效率。 寄存器:虽然图里面没有寄存器,但
[单片机]
<font color='red'>STM32</font> <font color='red'>芯片</font>架构
聊聊STM32芯片的DFU编程及相关话题
相当部分的 STM32芯片都带USB模块,有时我们会考虑利用STM32芯片的USB模块进行程序代码的下载或升级。USB协议中有专门针对设备固件升级的类协议,即可以通过DFU类协议进行产品固件的加载或更新。 关于STM32产品的DFU程序下载和升级,ST官方有相关的资料文档。可以去 www.stmcu.com.cn 或者去 www.st.com 搜索DFUse下载相关资料。 有个用户手册UM0412详细介绍了如何利用ST官方软件工具DfuSe进行相关编程操作。顺便提醒下,下载DfuSe安装包解压运行DfuSe_Demo_Vxx_Setup.exe之后,还不算安装完成,还得安装针对DfuSe的WINDOWS环境下的
[单片机]
聊聊<font color='red'>STM32</font><font color='red'>芯片</font>的DFU编程及相关话题
STM32芯片UID话题
绝大多数STM32系列的芯片都在固定的地方放置了长度为96位的唯一身份识别码,简称UID,只有极少数STM32系列芯片内部没有该UID,比方超值型STM32F0x0系列,STM32F100系列。具体到哪颗芯片到底有没有UID,在芯片数据手册的首页都有明确的说明,无需猜测。如下图所以: 芯片所对应的参考手册里,有对该UID存放地址的详细介绍。地址因不同系列或子序列而不同。 关于这个UID常有人有些疑问,有几个问题在这里稍微总结下: 1、有无问题。上面说了绝大部分STM32都内置UID,具体以查看数据手册为准。 2、唯一性问题。该UID的唯一性是靠96位这个整体来保证其唯一性,你若截取部分就不保证了。 3、内容问题。有人对这个
[单片机]
<font color='red'>STM32</font><font color='red'>芯片</font>UID话题
浅谈链表对stm32芯片程序中的提升作用(C语言)
程序中经常面临这样的一个问题,需要创建一定数量的对象,但事前又不知道对象的具体个数,因此新手通常的做法都会为了能处理足够的对象信息,创建一个足够大的空间数组。这里举个简单的例子,某个应用要求管理学生信息,因此设置了这样的一个结构体(类似于面向对象语言里说的成员属性) typedef struct { int num; int age; char *name; }studentInfo; 在不引入链表的情况下,为了能管理尽可能多的学生信息,可能会这样创建这个结构体的实体: studentInfo student ; int studentCnt = 0; //记录已经管理的学生数量 这样的处理方法,理论上能实现需求
[单片机]
如何解决STM32芯片Flash写保护导致无法下载程序,无法在线调试的问题
本文介绍了如何解决STM32芯片Flash写保护导致无法下载程序,无法在线调试的问题;如果您遇到相同的问题,希望本文可以带来一些帮助; 1 FLASH的写保护 如果对Flash设置了写保护,那就无法对Flash进行编程和擦除。 在开发STM32的时候,如果出现这种情况,通常仿真器都支持对Flash进行解锁,像jlink,stlink等仿真器都支持这个功能。 2 错误提示 在使用MDK进行调试的时候,出现报错 ==Flash Timeout.Reset Target and try it again==,具体如下图所示; 折腾了一番之后,并没有解决问题,因为使用的仿真器是stlink,因此下载了stlink utilit
[单片机]
如何解决<font color='red'>STM32</font><font color='red'>芯片</font>Flash写保护导致无法下载程序,无法在线调试的问题
热门资源推荐
热门放大器推荐
  •  zip文件室内巡检小车源码
  •  pdf文件基于STM32和BQ76940的电池管理系统设计
  •  rar文件nucleo-g491re扩展按键显示程序
  •  pdf文件人工智能十万个为什么:热AI冷知识
  • 系统发生错误

    系统发生错误

    您可以选择 [ 重试 ] [ 返回 ] 或者 [ 回到首页 ]

    [ 错误信息 ]

    页面错误!请稍后再试~

小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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