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

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

3天内不再提示

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

电子设计 来源:单片机与嵌入式系统应用 作者:刘军亮 2020-10-19 10:40 次阅读

随着科技的高速发展,现代工业测控领域的很多应用中都需要实现大量数据的定时采集存储。以为海流计设计的海流数据采集存储接口电路为例,介绍一种定时采集存储系统的工作原理及其实现方法。

1 总体结构

在很多情况下,尤其是恶劣的工作环境下,高性能的单片机和大容量的Flash存储器是数据采集存储系统的最佳选择,本文介绍的系统也是基于这样的考虑。系统硬件结构并不复杂,包括高性能单片机C8051F021、实时时钟芯片SD2300、大容量Flash存储器K9G8G08及其外围电路,如图1所示。工作原理也较为简单,通过串口将单片机C8051F021与海流计相连,通过对单片机的编程实现对海流计的控制和使用。同时,为了实现定时采集和数据存储的功能,还需将实时时钟芯片SD2300和大容量Flash存储器K9G8G08的相应引脚与C8051F021的GPIO相连。SD2300通过发送定时中断使得C8051F021在预定时刻通过串口采集若干组流速和流向数据,然后将其存储在K9G8G08中。

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

2 硬件设计

2.1 高性能单片机C8051F021

C8051F021单片机是集成在一块芯片上的混合信号系统级单片机。芯片上有64位数字I/O。C8051F021单片机具有片内看门狗定时器、VDD 监视器和时钟发生器,可以说是真正的、可独立工作的、完整的SoC(片上系统)。片上所有的模拟和数字设备都可以使能或关闭,也可以由用户设置。片内的 Flash存储器可以在电路(即由用户程序在运行时)编程(读写),为用户提供了非挥发性存储器,并允许现场更新8051程序。

2.2 SD2300与C8051F021的硬件接口设计

SD2300是深圳市兴威帆电子技术有限公司开发的一种具有内置晶振、两线式串行接口的高精度实时时钟芯片。较SD2000而言,SD2300具有更宽的定时范围、更多的周期性中断选择,并增加了数字精度调整寄存器、30s时间调整和晶振停振检测等功能。最显著的改动是对时钟数据/寄存器的访问由通过不同命令字改为地址直接寻址,使得芯片的使用更加灵活,并提高了程序编写的可读性。

SD2300的接口为I2C总线。对于具有I2C总线接口的单片机,只需将SD2300的SCL、SDA脚与单片机的SCL、SDA脚相连;对于没有 I2C总线接口的单片机,可以用通用I/O口来模拟I2C总线。如图2所示,单片机C8051F021的PO.6模拟SCL,产生I2C总线的时序同步信号;PO.7模拟SDA,实现I2C总线的串行数据输入/输出。图2中的INTRA、INTRB为定时中断输出,SDA和SCL为时钟电路的串行时钟脚, SDAE和SCLE为E2PROM的串行时钟脚。

2.3 K9G8G08与C8051F021的硬件接口设计

K9G8G08容量为8 Gb(8 858 370 048位),包含524 288行(页)和2 112×8列。在列地址2 048~2 111处有备用的64列存储单元。2 112字节的数据寄存器与存储器阵列相连,用来为在页读或页编程操作时I/O端口和存储阵列间的数据传输服务。存储器阵列由32个存储单元串行连接在一起,构成了一个NAND结构。每32个存储单元处于不同的页中。一个存储单元包括2位数据。一个块由2个NAND结构串组成,总共包含1 081 344个NAND结构。编程和读操作均以页为单位,而擦除操作以块为单位。存储器阵列包含4 096个256 KB的可擦除块。K9G8G08采用8个I/O引脚的多次复用方案。这就使得其外部引脚数显著减少,并且可以不改变现有系统的板级设计而进行系统升级。指令、地址和数据通过在CE为低电平时把WE引脚拉低而写入I/O引脚,在丽的上升沿被锁存。CLE和ALE通过I/O引脚分别被用在指令和地址的多路传输中。一些指令需要1个总线周期,例如重启指令、读状态指令等;另一些指令则需要2个周期,例如页读、块擦除和页编程操作,一个周期用来设置,另一个周期用来执行。1 Gb的物理地址空问需要30位的地址,5个周期来寻址(2个列地址,3个行地址)。页读和页编程操作在相应的指令后需要同样的5个地址周期。而在一个块擦除操作中,只需要3个行地址。因此,可将C8051F021的P2口直接与这8根I/O连接,其他控制引脚接C8051F021、的相应引脚,如图3所示。K9G8G08通过CLE和ALE信号线实现I/O口上指令和地址的复用。指令、地址和数据都通过拉低WE和CE从I/O口写入。

3 软件设计

3.1 系统软件设计

系统软件的设计流程如图4所示。首先完成系统的初始化工作,包括C8051F021的初始化和SD2300的定时中断设置,然后系统进入等待状态。待到达预定时刻后,SD2300发出定时中断,使C8051F021进入中断处理程序,进行数据采集和存储。存储完毕,系统再次进入等待状态,等待下一次定时中断的到来。

3.2 SD2300的软件接口设计

SD2300的I2C接口与C8051F021的GPIO相连,通过GPIO来模拟I2C,编程简单,操作方便。SD2300的访问控制通过寄存器直接寻址实现,其内部的寄存器如表1所列。

SD2300通过两线式串行接口方式接收各种命令并读写数据。下面具体介绍两线式串行接口方式。

①开始条件:当SCL处于高电平时,SDA由高电平变成低电平构成一个开始条件。对SD2300的所有操作均必须由开始条件开始。

②停止条件:当SCL处于高电平时,SDA由低电平变成高电平构成一个停止条件。此时SD2300所有的操作均停止,系统进入待机状态。

③数据传输:当SCL为低电平,且SDA电平变化时,数据由C8051F021传输给SD2300;当SCL为高电平,且SDA电平不变时, C8051F021读取SD2300 E2PROM发送来的数据;当SCL为高电平,且SDA电平变化时,SD2300收到一个开始或停止条件。

④确认:数据传输以8位序列进行。SD2300在第9个时钟周期时将SDA置位为低电平,即送出一个确认信号,标明数据被其收到。

鉴于篇幅所限,仅以SD2300的设定开始采集时间程序为例,介绍一下SD2300的软件接口编写。

3.3 K9G8G08的软件接口设计

相比于三星公司的Flash存储器KM29U128T,K9G8G08不仅在容量上得到了极大的提高,操作的多样性和灵活性也有显著改进。例如,支持一页内的随机数据读写,并提供了一种特殊的Two-Plane页编程操作,可以支持两页的同时写入,其操作指令如表2所列。

4 总结

为海流计设计的数据定时采集存储系统,经过反复实验,能够按照预定时刻准时进行数据采集工作,数据存储完整准确,整个系统工作稳定可靠。该系统的设计为相关应用提供了参考。

责任编辑:gt

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

    关注

    447

    文章

    47788

    浏览量

    409114
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620825
  • 数据采集
    +关注

    关注

    38

    文章

    4523

    浏览量

    112313
收藏 人收藏

    评论

    相关推荐

    计算机近距离无线数据采集系统设计

    接收模块和无线数据采集发射模块组成。无线数据发射模块以C8051F021单片机为处理核心,采用单片机内部的12位ADC对现场的模拟信号进行
    发表于 11-30 10:12

    使用C8051F32X带USB接口单片机进行数据采集和USB接口通信(四)——单片机编译软件

    目前,带USB总线的产品越来越多,其优越性也更加显现,USB的应用必将向着更深和更广的方向发展。为了使读者进一步了解和掌握USB设计技术,本刊特推出《使用C8051F32X带USB接口单片机进行
    发表于 05-06 09:08

    C8051F单片机的IAP系统设计与实现

    作为新型的SOC片上型混合信号单片机C8051F系列产品已经被广泛应用到了智能控制仪表,嵌入式设备,消费电子等领域。提出了一种利用C8051F单片机内部可在线编程的FLASH
    发表于 03-04 11:31

    C8051F021访问外部XRAM

    烧友们谁用过C8051F021访问外部XRAM,怎么配置的啊?我配置了EMIOCN=0X00;EMIOCF=0X14;//非复用方式EMIOTC=0XFF;还需要再配置什么吗?我现在往指针里写数*p
    发表于 08-07 20:09

    C8051F系列单片机

    全速的电路内仿真,不占用片内用户资源,支持断点单步观察点运行和停止等调试命令支持存贮器和寄存器校验和修改。C8051F系列单片机作为SoC芯片的杰出代表能够满足绝大部分场合的复杂功能要求,并在嵌入式
    发表于 09-27 13:06

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

    通信以交换信息。  USB总线的数据采集方案一般有两种,一种是采用专用的USB通信芯片。另一种是利用具有USB接口功能的单片机。考虑到实际情况,本设计选用第二种方案。  PIC18
    发表于 08-23 11:30

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

    总线的数据采集方案一般有两种,一种是采用专用的USB通信芯片。另一种是利用具有USB接口功能的单片机。考虑到实际情况,本设计选用第二种方案。   PIC18
    发表于 07-02 05:07

    采用高速SOC单片机实现高增益数据采集系统

    000和PDIUSBD12实现了宽量程的数据采集和基于USB接口数据传输,基于该方案的采集系统已经在实验室调试通过,能够准确地进行
    发表于 05-23 05:00

    请问C8051F021单片机复位端口是高电平怎么解决?

    C8051F021单片机复位端口是高电平,一上电蜂鸣器和其他两个重要控制端口误动作,相加一个一上电就三态输出的隔离,只要四个端口,573是8路的嫌多,有4路类似的吗?或者还有其他解决方法? 输入端接的都是单片机
    发表于 10-08 14:28

    C8051F021 pdf datasheet (8K IS

    I/O pins (C8051F020/2) or 32 digital I/O pins (C8051F021/3). Highlighted features are listed below; refer to Table 1.1 for specifi
    发表于 10-10 14:27 75次下载

    基于C8051F021的定位和报警移动终端设计

    C8051F021 是美国Cygnal 公司生产的单片机,具有双串口、低功耗、高速度等优点。本文以C8051F021 为处理器,利用GSM 的数据业务,设计一种具有报警和定位的移动终端
    发表于 04-15 10:42 25次下载

    C8051F021在远程诊断与急救支援系统中的应用

    摘要:介绍了一种基于C8051F021单片机的多生理参数采集装置。该装置作为远程诊断与急救支援系统的一部分,能动态地获取患者的生理参数,并通过无线方式传送给
    发表于 03-11 11:47 1116次阅读
    <b class='flag-5'>C8051F021</b>在远程诊断与急救支援系统中的应用

    基于C8051F021的定位和报警移动终端设计

    摘要:C8051F021是美国Cygnal公司生产的单片机。具有双串口、低功耗、高速度等优点。本文以GSM的数据业务,设计一种具有报警和定位的移动终端,并介绍该终端的结构框图、
    发表于 03-11 11:49 2500次阅读
    基于<b class='flag-5'>C8051F021</b>的定位和报警移动终端设计

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

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

    基于单片机C8051F021和时钟芯片实现定时采集存储系统的设计

    随着科技的高速发展,现代工业测控领域的很多应用中都需要实现大量数据的定时采集存储。笔者以为海流计设计的
    的头像 发表于 03-19 13:39 3367次阅读
    基于<b class='flag-5'>单片机</b><b class='flag-5'>C8051F021</b>和时钟<b class='flag-5'>芯片</b><b class='flag-5'>实现</b>定时<b class='flag-5'>采集</b><b class='flag-5'>存储</b>系统的设计