0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于C8051F060单片机和K9F2808UOC存储器实现数据采集系统的设计

电子设计 来源:电子技术应用 作者:周静 ,樊晶晶 ,牛洁 2021-03-28 11:20 次阅读

作者:周静 ,樊晶晶 ,牛洁 ,丁旭东

从上个世纪九十年代起,电子技术在钻井井下得到应用。但井下钻具的振动会给很多传感器带来不利影响。

特别是对测量井下钻头姿态的惯性导航传感器影响巨大,在随钻振动环境中,如果对信号不作处理,根本就不能测量出正确的井斜角和方位角,也就无法实现井眼轨迹随钻控制的要求。本文介绍应用SoC芯片中的DMA技术对振动的高速采集和存储功能的实现方法,并给出了钻井环境中测试的结果。

1 方法的提出

传统的数据采集方法采用CPU直接控制的方式进行数据采集,数据传送需要经过CPU的中转才能存入存储器,传送速度慢且采集速率受到CPU的限制,极大影响了系统的采样频率,不能满足对振动信号高速采集的要求。而在DMA传送方式下,数据传送不经过CPU,由DMA控制器来实现内存和外设之间数据的直接快速传送。在XTCS的测控系统中,CPU采用的SoC芯片中集成有DMA,将其与其它器件协同工作就可以实现采集与存储的同时进行,达到高速采集信号的目的,得到高保真的井下振动信号。

2 系统介绍

该采集系统以C8051F060 SoC为核心,C8051F060内部集成有ADC和DMA。另外,以大容量存储芯片K9F2808作为数据存储器。系统结构如图1所示。

基于C8051F060单片机和K9F2808UOC存储器实现数据采集系统的设计

图1 信号采集系统结构图

该系统应用于井下相关信号的检测装置。由于通过压力与振动传感器所采集的压力和振动信号比较微弱,故还需放大电路对信号进行调理放大。传感器的输出均为模拟信号,采集数据时会受到噪声的干扰,为了消除噪声并提高电路的共模抑制比和输入阻抗,该采集放大电路使用了前置输入缓冲器三运放结构。由于SoC内的ADC0只能采集正信号,因而在经过调理放大电路后设有偏置电路,将-5V ~ +5V的电压转换为0V~+2.5V,以利于信号的采集。

CPU控制多路选择开关进行信号的采集,然后通过ADC转换,在DMA的传送方式下,采集的数据直接写入存储器K9F2808中,在DMA存储数据的同时,ADC也一直进行采集。经软件测试,即采用SoC内集成的定时器2记录采集一页512个字节所需时间是1.277ms,而向片外存储器K9F2808写一页数据需要0.722ms。

ADC采集一页的时间小于DMA向片外写一页数据的时间,因而可实现数据采集与存储的同时进行,而不会出现数据覆盖丢失现象,实现快速准确的数据采集。

3 硬件部分

C8051F060单片机与51系列单片机内核兼容,其内部集成有两个16位SAR(逐次比较)ADC和一个DMA功能模块。片内有4352个字节的数据存储器、64KB 闪存和64KB的数据存储器接口,可以进行系统编程。两个SAR ADC的精度为16位,可作为两个单端或一个差分转换器。若采用DMA直接将数据存储到RAM中,就不再需要额外的软件开销。

K9F2808UOC存储器是NAND结构的超大容量数据存储器件,在MP3、U盘、数码相机和PDA中有广泛的应用。其电源电压为1.7V~3.6V,体积小,功耗低,按页进行读写,按块擦除,通过I/O口分时复用作为命令/地址/数据,端口支持实时双向输入输出。将闪存的各控制端口与SoC的P3口连接,通用I/O口与SoC的P7口连接,通过控制SoC口线的输出,可实现对FLASH存储器的读、写、擦除操作。图2为芯片的接口电路图。

图2 芯片接口电路图

4 A/D转换与数据存储

C8051F060的ADC子系统中集成了跟踪保持电路、可编程窗口检测器和DMA接口。这两个ADC可以被配置为两个独立的单端方式ADC或组成一个差分对。数据转换方式、窗口检测器和DMA接口都可用软件特殊功能寄存器来控制。ADC控制寄存器ADCnCN中的ADnEN位被置为逻辑1时ADCn被使能。该系统选用的ADC0有4种转换启动方式,由ADC0CN中的ADC0启动转换方式位(AD0CM1,AD0CM0)的状态决定。该测控系统软件采用定时器3溢出进行定时的连续转换采集。将ADC初始化后,定时器3溢出一次ADC就自动采集一次。当采集完一页的数据后,在DMA传送方式下,采集的数据直接存储到片外的闪存存储器K9F2808中,并对该芯片进行读、写及擦除。

在该测控系统中,采用VB语言编写上位机程序,采用C51语言编写下位机程序。通过上位机来控制下位机执行相应的任务。由于该系统的SoC集成有UART,可以通过PC机的RS232串口实现通信,下位机每次接收到任务命令后,下位机程序跳入到相应的串行中断程序中执行任务。下位机主程序包括连续启动DMA程序、调用片外存储器K9F2808UOC的写程序,将用DMA方式采集的512字节送到K9F2808中,实现采集与存储同步进行。主程序流程图如图3所示。子程序主要包括:晶振初始化、端口初始化、串口初始化、ADC初始化、DMA初始化、定时器3初始化、片外存储器K9F2808UOC的擦除程序、延迟程序等。

图3 下位机主程序流程图

这里,晶振初始化主要完成对外部振荡器使用的配置;端口初始化完成对端口p0~p7的初始化配置;串口初始化完成对定时计数器T0和T1的配置及对波特率的设定;ADC0初始化对ADC0进行配置;DMA0初始化主要完成对DMA0的配置,设置外部数据存储器开始值,ADC0开启模式等;定时器3初始化主要完成对重装载值的设定,激发ADC0进行采集;片外存储器K9F2808的擦除程序完成对K9F2808内数据的擦除。

5 性能测试与室内实验

硬软件调试结束后,我们把测试电路和传感器送到石油仪器仪表质量检验中心的标准振动台上,在(10g,1000Hz)、(25g,100Hz)、 (25g,200Hz)、(25g,1000Hz)条件下对测试系统进行标定,证明对振动幅度的测量精度为1%,振动频率的测量精度为5‰,这样的精度可以满足导向钻井系统对振动测量的要求。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6030

    文章

    44489

    浏览量

    631873
  • 存储器
    +关注

    关注

    38

    文章

    7428

    浏览量

    163506
  • 数据采集
    +关注

    关注

    38

    文章

    5806

    浏览量

    113416
收藏 人收藏

    评论

    相关推荐

    基于C8051F021单片机和SD2300芯片实现海流数据采集存储接口的设计

    在很多情况下,尤其是恶劣的工作环境下,高性能的单片机和大容量的Flash存储器数据采集存储系统的最佳选择,本文介绍的系统也是基于这样的考虑
    的头像 发表于 10-19 10:40 3135次阅读
    基于<b class='flag-5'>C8051F</b>021<b class='flag-5'>单片机</b>和SD2300芯片<b class='flag-5'>实现</b>海流<b class='flag-5'>数据采集</b><b class='flag-5'>存储</b>接口的设计

    关于c8051f060单片机扩展62256的问题

    我使用c8051f060单片机进行大量数据运算,由于空间不够,所以扩展了一片62256,但是只能进行1024个float数据(也就是8K
    发表于 01-06 15:39

    怎么学习c8051f060内置can通信?

    初入传感生产企业,接到一个有关can通信的项目,请问各位如何能快速学习c8051f060内置can通信?由于本人水平较低,仅停留在天祥老师的10天学会单片机水平,求各位朋友能推荐一下适合我学习的相关资料,视频最好,或者通过哪些
    发表于 03-24 22:40

    单片机C8051F060相关资料下载

    概述:C8051F060是一款与51系列单片机内核兼容的单片机,其内核采用流水线结构,速度可达25MIPS(25MHz晶振),比普通的51单片机快10倍;其指令与标准系列51
    发表于 04-06 08:34

    采用AD7674和C8051F060构成的数据采集系统,不看肯定后悔

    AD7674和C8051060简介AD7674与C8051F060的接口介绍AD7674如何采用NORMAL模式进行数据采样转换?
    发表于 04-08 06:40

    请问如何利用单片机C8051F060设计直流电机转速测量系统

    本文介绍了一种由单片机C8051F060作为主控制,使用霍尔传感进行测最的直流电机转速测量系统
    发表于 04-09 06:47

    请问AD7674与C8051F060的接口是如何设计的?

    AD7674和C8051060分别是什么?AD7674与C8051F060的接口是如何设计的?怎样去设计AD7674与C8051F060的软件?
    发表于 04-20 06:27

    基于新型高速高集成度单片机C8051F060

    简要介绍了智能励磁功率柜的概念及C8051F060单片机的特点,详细论述了基于C8051F060的智能励磁功率柜的结构、原理以及与CAN总线通信的实现方法.该控制方案
    发表于 04-24 14:56 101次下载

    基于C8051F060数据采集存储系统的设计

    介绍一种基于C8051F060单片机和NAND Flash的数据采集存储系统,该系统实现3路信
    发表于 12-23 16:21 91次下载

    采用单片机C8051F060的智能功率柜的原理及设计

    采用单片机C8051F060的智能功率柜的原理及设计 概述:简要介绍了智能励磁功率柜的概念及C8051F060单片机的特点,详细论述了基于C805
    发表于 03-06 17:13 1452次阅读
    采用<b class='flag-5'>单片机</b><b class='flag-5'>C8051F060</b>的智能功率柜的原理及设计

    C8051F021型单片机实现数据采集系统

    介绍的功角测量 数据采集 卡是采用Cygnal公司C8051F021型单片机实现的PCI总线接口卡。该卡通过2片双口RAM分别实现与GPS接
    发表于 09-29 14:31 3346次阅读
    <b class='flag-5'>C8051F</b>021型<b class='flag-5'>单片机</b><b class='flag-5'>实现</b><b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>

    基于C8051F060单片机温湿压数字传感系统设计

    控制中心模块的工作原理主要负责控制SHT15采集温湿度数据以及采集和转换经过跟随滤波之后的压力数据,然后对这些信号进行数据处理(滤波处理、
    发表于 03-14 09:23 2284次阅读
    基于<b class='flag-5'>C8051F060</b><b class='flag-5'>单片机</b>温湿压数字传感<b class='flag-5'>器</b><b class='flag-5'>系统</b>设计

    基于C8051F系列单片机数据采集系统USB接口设计

    C8051F320 是由美国Cygnal 公司推出的C8051F 系列单片机中的一款用于USB 设备的小型单片机。该器件内部集成有2304 Byte RAM 和16
    发表于 02-26 15:16 1852次阅读
    基于<b class='flag-5'>C8051F</b>系列<b class='flag-5'>单片机</b>的<b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>USB接口设计

    基于C8051F060和USBl00模块实现高速实时数据传输和采集系统的设计

    高速可靠传输的优势,具有成本低、可靠性高、维护方便等优点。本文介绍一个基于C8051F060的USB高速A/D数据采集器。通过本系统,不仅能了解数据采集的一般过程以及一般
    发表于 07-31 15:59 1220次阅读
    基于<b class='flag-5'>C8051F060</b>和USBl00模块<b class='flag-5'>实现</b>高速实时<b class='flag-5'>数据</b>传输和<b class='flag-5'>采集</b><b class='flag-5'>系统</b>的设计

    基于高性能单片机C8051F060的CAN节点设计方案

    电子发烧友网站提供《基于高性能单片机C8051F060的CAN节点设计方案.pdf》资料免费下载
    发表于 10-25 10:46 2次下载
    基于高性能<b class='flag-5'>单片机</b><b class='flag-5'>C8051F060</b>的CAN节点设计方案