当前位置:首页 > 单片机 > 单片机
[导读]随着科技的高速发展,现代工业测控领域的很多应用中都需要实现大量数据的定时采集存储。笔者以为海流计设计的海流数据采集存储接口电路为例,介绍一种定时采集存储系统的工作原理及其实现方法。

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

1 总体结构

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

 

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 总结

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭