海底大地电磁数据采集器设计
eeskill 2021-10-19

1海底大地电磁仪的分析

海底大地电磁数据采集器是对海底大地电磁场和海底环境信息进行自动采集的智能化仪器,旨在建立具有我国特色的海底大地电磁探测技术,并使之实用化,为我国海域区域地质调查提供新的技术支撑,为发展我国海洋电磁探测奠定基础。仪器于2000年研制成功后,在我国东海大陆架进行了成功试验。

整个数据采集器由电道前放板、磁道前放板、主放板、辅助通道板、时钟板、数字板、标定信号板和主控单元构成层叠式电路结构。整个电路板的整体何种为90×96×170mm3,重量约1kg。采集器使用+5V和±12V三路电源,工作状态下整机功耗为7W,正常工作的环境温度为-50℃~+70℃。目前一期完成的海底大地电磁仪最长记录时间为7天,频率范围为0.0001Hz~100Hz。数据采集器配置容量为144MB的固态电子盘。从数据处理的逻辑次序看,整个系统分为八部分,包括前置放大、数字和模拟滤波、低通滤波、高通滤波、主放大器、数据转换、缓冲存储和数据存储。

一期建设中,海底大地电磁仪器整体效果还是令人满意的。但也存在一些不足,主要体现在以下几个方面:

(1)系统功耗

目前系统正常工作下,功耗约为7W。其中主要包括磁场传感器功耗290mW、倾斜传感器功耗45mW、振动传感器功耗0.5W、主控电路功耗2W等。在电池电能一定的情况下,整个采集可以持续7天左右,采集时间长度不够。

(2)主控单元

目前采用286系列主控单元,在嵌入式系统发展到很高水平的今天,已不适应高效率、高集成度的技术需要。

(3)采集稳定性

海底大地电磁采集要求各采集点精确同步,所以系统对稳定性的要求十分高。而目前系统采用单道大循环程序实现各项系统任务。这样不利于提高数据采集的稳定性。

2改进方案的设计思路

海底电磁数据采集需要的海上作业,采集成本大。为了达到效率最大化,就必须明显降低原有系统的功耗,并提高数据采集的稳定性。鉴于此,改进方案如下:

(1)用ARM芯片取代286系列主控单元

ARM具有集成度高、能耗低等特点,通过使用ARM芯片取代目前的286系列主控单元将极大地降低系统的功耗,同时也可以缩减电路,进而降低电路的复杂度,减小系统的体积。

(2)用μC/OS-II取代目前的单道程序

μC/OS-II取得了美国联邦航空管理局(FAA)对于商用飞机的、符合RTCADO-178B标准的认证,表明μC/OS-II具有足够的安全性和稳定性。使用操作系统管理多任务,实现多任务的并发和同步。通过这种方式取代目前的单道大循环程序,可以提高系统的稳定性。

3改进主控单元的硬件组成

ARM架构在推出后获得了成功,各种ARM核心版本以及不同系统方案种类繁多。使用ARM本身已经比原有主控电路功耗降低,在满足实际需要的情况下,还可以在ARM各架构中选择功耗较低的。最终选择了ARM7TDMI结构,部分架构功耗比较见表1。由于原有数据采集系统前台采集部分和后台主控部分使用ISA总线标准进行连接,在ARM7TDMI架构的ARM芯片中,选择了ATMEL公司支持ISA总线扩展的AT91M40800。为完成系统所需任务,根据ATMEL公司发布的EB40开发板电路设计主控单元。片内SRAM8KB,外部Flash2MB,另有外部器件如串行接口和网络接口等。AT91m40800共有37个寄存器,其中包括31个32位通用寄存器(含程序计数器PC在内)、6个32位状态寄存器(但目前只使用其中的12位)。运行时的任意时刻,可见寄存器包括15个通用寄存器(R0~R14),一个或两个状态寄存器及程序计数器PC,其他寄存器多用于备份。经测试证明:所购芯片功耗测量均值小于0.25mW,较之原有主控单元2W的功耗,显著降低。

表1部分ARM架构功耗比较表

CPUDescriptionArea(mm2)Power(mW)Clock(MHz)Mips(MHz)

ARM7TDMICore0.53<0.2560~1100.9

ARM9TDMICore1.10.3167~2200.9

ARM9E-SSynthesizableCore-1133~2001.1

ARM1020EMacrocell32+32KBcache100.85200~4001.24

4嵌入式实时操作系统μC/OS-II的移植

尽管μC/OS-II是用标准C语言写的,但当应用到某个具体的CPU上时,还需要用C和汇编语言写一些与处理器相关的代码。改写过程主要结合改进系统所采用的新主CPUAT91m40800的一些具体参数,完成整个操作系统的移植。

μC/OS-II可以大致分为内核、任务处理、时间处理、任务同步与通信、与CPU的接口等五部分。内核(OSCore.c)是操作系统的处理核心,包括操作系统初始化、系统运行、中断处理、时钟节拍、任务调度和事件处理等多任务。任务处理部分(OSTask.c)是与任务操作密切相关的,包括任务的建立、删除、挂起、恢复等。时钟部分(OSTime.c)定义μC/OS-II的最小时钟单位是Timetick(时钟节拍)。任务同步和通信部分包括信号邮箱、邮箱队列和时间标志等部分,主要用于任务间的互相联系和对临界资源的访问。与CPU接口部分是指μC/OS-II针对所使用的CPU的移植部分,主要包括中断级任务切换的底层实现、任务级任务切换的底层实现、时钟节拍的产生和处理、中断和相关处理部分等内容。

μC/OS-II除了良好的稳定性和安全性以外,很重要的特点就是对多任务管理的优异表现。μC/OS-II可以管理多达64个任务。除了8个μC/OS-II自用的任务以外,用户的应用程序最多可有56个任务。用户可以通过系统提供的任务结构来自行创立任务。改进方案中需要管理的任务包括GPS校时、读采集数据、数字滤波和存数据,执行框架如图1。

在初始化时,进行GPS校时。读优先级最高,采集器不停地读数据。当数据在缓冲区中还没填满时,进行滤波和写存储器的任务,一旦缓冲已满就要继续执行读操作。这里所说的读操作实际上是系统从缓冲中读的操作,并不是实际的采集器读地磁信号操作。写任务其次,必须连贯地完成一次写任务,中途不能被打断。所以只有在不进行读操作时,才可以进行写操作。滤波任务在读任务完成后执行,但是如果前一个写任还没有完成,就不能滤波,以防止新数据无法写入。所以只有当新的读任务结束,且旧的写任务完成后方可执行新读数据的滤波任务。通过μC/OS-II提供的信号量机制,可很好地实现任务进程的互斥与并发。

5ARM对外围设备的扩展

主控单元与前台数据采集模块间仍保留原有ISA总线接口标准,只是自行设计ARM主控单元的接口电路如图2所示。符合原有协议标准后,改进电路成功替代了原来的主控。

虽然串行接口速度较慢,但完全可以满足与上位机之间的通信。改进方案首先实现了ARM对于串口的扩展,作为通信手段之一。使用ARM公司自行开发的的ARM调试专用环境ADS1.2测试串行接口的效果:扩展程序所设计的输出结果为AT9140800USART_CUGB,连接采集仪和PC机,使用Windows自带的超级终端可以看到输出结果与设计一致,表明扩展是成功的。

各采集器间及采集器与上位机交互还可通过网络实现。改进方案基于μC/OS-II移植IP协议栈后,通过扩展网络接口卡,可实现网络功能。由于网络接口芯片本身也遵守ISA标准,所以扩展的网络接口还可以用来仿真测试ISA总线。检测总线时序情况就可测试主控模块的功能情况。抓取ISA设备时序,即得出系统接总线是否符号ISA协议标准。写一次后,逻辑分析仪截出几次时序,结果如图3所示。图3时序情况:/CS8019为网络接口芯片片选信号,/WE为写使能信号,/OE为输出使能信号,A1~A5为低5位地址,D0~D7为8位数据位。图3中显示写使能一次后,输出多次,对应地址循环(程序设定的输出效果),数据位则是输出8019的数据,具体内容没有意义。如图3虚线处,在C1时刻,开始进行写操作;C2时刻输出,低5位地址为00000;C3时刻第二次输出,地址为00001;C4时刻第三次输出,地址为00010。依次类推,表明主控单元改进满足了ISA总线的要求,网络接口扩展也正常。基于此,通过与前台数据采集模块直接连接,即可进行海底大地电磁数据的高效采集。

由于采用ARM芯片取代原有主控单元,仅此一项就降低功耗约25%,实现了功耗降低的要求。另外在采用了操作系统后,将使整个采集过程更稳定有序,提高了整个采集过程的准确性和安全性。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
热门推荐
  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • ARM Cortex系列处理器知识点汇总

    最近因为要为芯片选定核,所以就在了解哪些核合适且性价比好,这是一个需要结合产品各类技术、市场分析的活,看似简单却还是需要一些储备的,今天选了一篇ARM Cortex系列的科普文章与大家分享。 众所周知,英国的ARM公司是嵌入式微处理器世界当中的佼佼者。AR

    05-11
  • 你的CPU属于哈佛结构还是冯诺依曼结构?

    现代的CPU基本上归为冯诺伊曼结构(也称普林斯顿结构)和哈佛结构。 冯洛伊曼结构就是我们所说的X86架构,而哈佛结构就是ARM架构。一个广泛用于桌面端(台式/笔记本/服务器/工作站等),一个雄踞移动领域,我们的手持设备(平板\手机用的大多就是他了)。 01

    05-10
  • 如何批量修改MCU封装管脚定义

    在做产品开发时,为了缩短研发周期,我们一般都是直接找来参考设计做参考。这些参考资料要么是来自原厂的,要么是来自方案商的。  接触过这么多的参考设计资料,发现大部分的资料都有一个通病,就是不少MCU的PIN脚定义都只是标出IO口的定义,其它复用​​​​功能

    05-08
  • MCU为什么要消抖动

    简单的说,进入了电子,不管是学纯模拟,还是学单片机,DSP、ARM等处理器,或者是我们的FPGA,一般没有不用到按键的地方。按键:人机交互控制,主要用于对系统的控制,信号的释放等。因此在这里,FPGA上应用的按键消抖动,也不得不讲! 一、为什么要消抖动 在

    05-07
  • 51单片机的ISP下载知识

    本文详细介绍了串口、51单片机的ISP下载等基础知识,已经学过单片机的也可以看看,加强一下对这方面的了解。 串口 串行接口简称串口,也称串行通信接口,是采用串行通信方式的扩展接口。 我们比较熟悉的USB接口,全名通用串行总线(Universal Serial BUS),就

    05-06
  • 硬件开发如何选择合适的MCU

    点击上方关注我们! 我在做硬件开发时,如果遇到的是一个新产品,新项目,之前没有做过的,没有任何的经验,在选MCU时,我一般是这样操作的。 首先,根据产品的需求,整理出一份硬件规格。比如,电源管理,传感器接口,人机交互接口等。 然后,整理出整个原理

    05-06
  • 单片机的功耗怎么算的?

    单片机的功耗是非常难算的,而且在高温下,单片机的功耗还是一个特别重要的参数。暂且把单片机的功耗按照下面的划分。 暂且把单片机的功耗按照下面的划分。 1.内部功耗(与频率有关) 2.数字输入输出口功耗 2.1输入口 2.2输出高 2.3输出低 3.模拟输入口功耗从

    05-07
  • 嵌入式工程师必备工具:I2C和SPI总线协议

    IIC vs SPI 现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影。原因是这两种通信协议非常适合近距离低速芯片间通信。Philips(for IIC)和Motorola(for SPI) 出于不同背景和市场需求

    04-30
  • 嵌入式面试注意事项

    找工作也是一门技能,有的人很快就找到自己喜欢的工作,有的人找了很久也没找到合适的工作。 下面给大家分享几点找工作过程中存在的“潜规则”内容。 1、面试的本质不是考试,而是告诉面试官你会做什么 经验不够的小伙伴特别容易犯的一个错误,不清楚面试官到

    04-29
  • 为什么需要RTOS?

    很多单片机初学者都是从裸机开始的,裸机确实也能开发出好的产品,但作为一个嵌入式软件工程师,如果只能用裸机开发产品,那肯定是不够的。 要从裸机的思维转变到RTOS的思维,其实需要一个过程,而且开始的一段时间会很痛苦。但过一段时间理解了一些内容,能

    04-28
  • 使用RTOS的8个理由

    嵌入式系统中,有很多方式实现任务调度。功能有限的小系统中,无限循环足够实现系统功能。当软件设计变得庞大且复杂时,设计师应该考虑使用实时操作系统。 下面给大家分享使用RTOS的8个理由: 1.硬实时响应 基于优先级抢占的RTOS,根据任务的实时需求,执行优

    04-26
  • 单片机延时程序,Keil C编译器实现

    应用单片机的时候,经常会遇到需要短时间延时的情况。需要的延时时间很短,一般都是几十到几百微妙(us)。有时候还需要很高的精度,比如用单片机驱动 DS18B20的时候,误差容许的范围在十几us以内,不然很容易出错。这种情况下,用计时器往往有点小题大做。而

    04-26
下载排行榜
更多
广告
X
广告