一种基于嵌入式的大容量实时存储设备及方法与流程

文档序号:18164308发布日期:2019-07-13 09:30阅读:389来源:国知局
一种基于嵌入式的大容量实时存储设备及方法与流程

本发明属于信息处理领域,具体涉及一种基于嵌入式的大容量实时存储设备及方法。



背景技术:

传统的基于u盘、硬盘、sd/mmc卡存储方案,虽然也能实现大容量数据存储的功能,但无论是系统的体积、成本、功耗、可靠性、易用性和启动时间等方面不尽如人意,因此迫切需要一种能以较低成本、功耗和体积,实现大容量、高可靠性、快速启动的数据存储解决方案。

基于嵌入式的大容量实时存储设备以高性能嵌入式微处理器dsp和可编程逻辑器fpga为核心,结合大容量储存芯片,实现高性能、低功耗、低成本、小体积的嵌入式大容量数据存储。实现了类似文件系统的功能,便于数据的迁移,同时实现了储存介质的自动管理、自动纠错、疲劳算法、备份存储等,保证了存储数据的高可靠性。

现有技术中基于嵌入式的实时存储设备,一般采用uart串行总线接口的方式,用以实现数据导出的目的,但是这种方式具有传输速率慢、总线接口上位机不通用的缺陷。同时在系统掉电时存在丢失缓存中的数据,无法实现所有数据可靠存储的缺陷。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种基于嵌入式的大容量实时存储设备,至少可以部分解决上述问题。本发明技术方案针对目前的大容量存储设备存在诸多不足的情况,采用电源板、控制板和软件等进行组合获得的大量实时存储设备,可以实时存储两路can总线数据和一路异步rs485总线数据,并通过usb接口将存储的数据导出至上位机。

为实现上述目的,按照本发明的一个方面,提供了一种基于嵌入式的大容量实时存储设备,其特征在于,包括:

收发器单元,用于接收待存储的数据流;

处理单元,用于对收发器单元接收到的数据流进行识别和处理;

存储单元,用于对经过处理单元处理的数据流进行保存;

读取单元,用于读取存储单元中的数据;

其中,所述读取单元优选通过处理单元对存储单元的数据进行读取,所述处理单元优选为逻辑单元阵列构成,所述读取单元优选为usb2.0接口,以此方式实现数据流的连续写入和存储单元中数据信息读取效率的提高。

作为本发明技术方案的一个优选,还包括缓存单元,用于对收发器收到的数据流进行初步缓存。

作为本发明技术方案的一个优选,还包括掉电检测单元,用于在存储设备断电时产生掉电信号,驱动处理单元对缓存单元中的数据进行存储。

作为本发明技术方案的一个优选,处理单元优选为fpga芯片。

作为本发明技术方案的一个优选,存储单元优选包括至少两个存储器,收发器单元接收到的数据流分别存入至少两个互为备份的存储器中,从而提高数据读取的可靠性。

按照本发明的一个方面,提供了一种基于嵌入式的大容量实时存储方法,包括;

s1通过数据收发器单元对待存储的数据流进行接收,并将接收到的数据流发送给处理单元;

s2利用处理单元对接收到的数据流进行识别和处理,获取其对应的存储格式和存储位置;

s3按照处理单元的处理结果,将数据流按照一定的存储格式存储到对应的位置;

s4接收读取命令,通过处理单元在对应的存储位置读取数据流并输出;

其中,所述处理单元为逻辑单元阵列构成,所述读取单元为usb2.0接口,以此方式实现数据流的连续写入和存储单元中数据信息读取效率的提高。

作为本发明技术方案的一个优选,还包括,

s5接收数据流并对其进行缓存,然后通过处理单元将其以一定格式存储到对应位置。

作为本发明技术方案的一个优选,还包括,

s6对存储设备的供电状态进行实时监测,在存储设备断电时产生掉电信号以驱动处理单元对缓存中的数据进行存储。

作为本发明技术方案的一个优选,处理单元优选为fpga芯片。

作为本发明技术方案的一个优选,存储单元优选包括至少两个存储器,收发器单元接收到的数据流分别存入至少两个互为备份的存储器中,从而提高数据读取的可靠性。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:

1)本发明技术方案,采用fpga模块化ip核集成设计的方式,大大减小了存储设备的存储体积,同时,fpga可编程的性质也提高了存储设备管理的便捷性,一方面相较于传统的通过通用控制器进行数据传输来说,不需要设置多种通信协议,另一方面这种形式能够保证数据可以连续写入存储器,不会被打断。

2)本发明技术方案,在对存储器的数据内容进行读取时,由于采用的是usb2.0串口,结合fpga控制核,可以大大提升存储器中数据的读取速度,相较于现有技术中,大容量存储设备数据读取容易打断以及速度慢的情况,具有优异的读取速度。

3)本发明技术方案,采用两个存储器双备份的形式,数据内容同时分别存储到两个相同的存储器中,提高了存储器内容读取的可靠性;两个存储器互为备份,在其中任意一个出现读取故障的时候,另一个仍然能够提供充分准确的数据备份。

4)本发明技术方案,在对数据进行存储的时候,设置了多种类型的通道(例如实施例中两个can通道分别用于传输重要数据和次重要数据,剩余通道则用于传输包括重要数据和次重要数据在内的全部数据),按照优先级的不同来传输不同的数据,一方面保证了数据传输的稳定性,另一方面也降低了数据传输的功耗,提高了存储设备的使用寿命。

5)本发明技术方案中,由于额外设置有掉电检测电路,其所提供的掉电信号可以及时反馈到收发器单元停止继续接收数据,同时处理单元会在接收到该掉电信号的时候对已经位于缓存中的数据进行存储,而现有技术中的存储系统在掉电的时候并不具备对已缓存、未保存的数据进行存储的能力。

附图说明

图1是本发明技术方案实施例的三维装配示意图;

图2是本发明技术方案实施例的外形尺寸图;

图3是本发明技术方案实施例的原理示意图;

图4是本发明技术方案实施例的fpga软件功能框图;

图5是本发明技术方案实施例的线路板供电电路图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面结合具体实施方式对本发明进一步详细说明。

如图1所示,本发明技术方案的实施例中的基于嵌入式的大容量实时存储设备外壳优选采用两面开盖设计,上盖固定接插件,盖体与壳体接触缝位于侧面,壳体两端的内壁上优选设有一定深度的凹槽,本实施例中优选3mm,可用于放置导电橡胶垫,并作防水处理。

如图2所示,本发明技术方案的实施例中,外壳内部设计有一定厚度的凸台,每个侧面的凸台上优选分别均匀地设有两个固定孔(整个凸台上一共设有八个),用于固定电源板和控制板,且本实施例中的电源板和控制板优选表层覆铜、边沿除漆,从而使得其在与凸台接触时可有效散热,有效提高了本实施例中的实时存储设备的稳定性,尤其是避免了设备内部元件散热不及时导致设备性能下降的问题。

如图3所示,本发明技术方案的实施例中,优选采用spartan6系列fpga芯片xc6slx25-fgg484i搭配32位的dsp28335实现数据的接收与存储。数据接口优选包括2路can接口,1路rs485接口,一路rs422接口以及一路usb2.0接口;同时fpga芯片上优选外扩1片sram芯片is64lv25616和两片32gbemmc。本实施例中,fpga芯片优选主要完成can控制器ip核集成、rs485控制器ip核集成、数据缓存以及实现emmc的读写控制。作为本实施例的进一步优选,rs485总线收发器优选采用带电源隔离及信号隔离的adm2682e型收发器,收发器端口与fpga直接相连,可有效减小pcb板面积,增强系统可靠性。进一步地,rs422总线接口优选通过连接上位机进行dsp和fpga中程序的更新升级。在一个具体的实施例中,双备份32gb存储优先选择两片镁光mtfc32gakaedq-ait型emmc。系统总线传输速率按照100%效率计算,为3.6mb/s=0.45mb/s。emmc的写速率约为3ms完成4kb读写,速率满足要求。在一个具体的实施例中,优选采用max706s产生掉电检测信号,并且将28v电源进行光耦隔离后进行监控,具体来说,如果发现电源下降至16v(电源电压范围16~36v),则通过fpga向dsp产生下电中断信号(最高优先级)。需要说明的是,本实施例中,该上电复位信号(即系统掉电的信号)只产生一次,用于在系统断电的时候,用于触发保存任务,即将尚未保存的、缓存中的数据存入emmc,即对缓存的数据执行写操作。

其中,本发明技术方案的实施例中,存储设备优选由电源板、控制板和软件组成。其中电源板给控制板供电,产生控制板所需的电压,如+5v、+3.3v、+1.8v和+1.2v等;控制板可以用于接收数据,本实施例中优选两路can总线数据和一路异步rs485总线数据,以便于实时分别存储在两片独立的32gb的flash中。其中,两路can总线数据可以分别用于传输重要数据和次重要数据,异步rs485总线数据可以用于传输包括重要和非重要数据在内的全部数据信息。本实施例中采用这种传输方式的好处在于,可以保证在保证全部数据都能得到妥善存储的前提下,对重要数据(以及次重要数据等)以一个较快的速度进行保存。

优选的,控制板实时监测输入28v电源电压,当电源电压低于16v时启动掉电处理程序,关闭外部通讯接口,将fpga内部缓存区的数据写入flash中。

本实施例中,软件优选由dsp软件和fpga软件组成。dsp软件运行在控制板的dsp芯片tms320f28335中,实现对fpga内部存取地址的管理,与fpga程序共同实现系统中总线数据的异步存取,通过异步rs422接口实现dsp软件和fpga软件的在线升级。fpga软件运行在控制板的fpga芯片xc6slx25-fgg484中,主要包括:

a)canip数据接收模块,分别对应外部的两个can接口,实现can总线的数据接收,并形成数据缓冲;

b)usb接口控制模块用于发送数据至usb硬件接口电路,完成上位机的数据上传工作;

c)emmc数据处理模块,分为数据保存及读取。emmc数据保存模块用于将can接收模块和异步rs485接收模块得到的数据按照emmc硬件接口时序的要求写入emmc芯片,完成数据的保存工作;emmc数据读取模块用于将保存在emmc的数据按照上位机要求读出形成数据缓存,等待usb接口模块将其发送至usb硬件接口,完成数据回传至上位机;

d)pll锁相环时钟分配模块,输入时钟频率为24mhz,产生两种时钟信号,分别为fpga内部逻辑模块使用的时钟信号和输出至外部硬件接口的时钟信号。三路输出信号分别为usb、dsp、emmc提供时钟信号;

e)复位控制模块,完成fpga内部复位信号的控制管理;

以及,异步rs485数据接收模块,对应外部的一个rs485接口,实现rs485总线的数据接收,并形成数据缓冲。

本实施例中,在系统断电时优选采用max706s产生的掉电检测信号是对系统断电这一问题进行标注,直接作用在于提示系统对位于缓存中、尚未保存的数据进行保存。

本实施例中,掉电检测可靠性设计有两个关键点:第一是通过电容滤波和fpga采样过滤实现过滤电源信号上的毛刺;第二是利用fpga芯片采样该信号,dsp响应中断后开始搬移数据,通过fpga向emmc写数据,一旦写数据结束,等待一段时间并多次查询中断信号,若中断引脚多次查询为高电平,则进入初始化程序(读取eeprom内部存储的位置指针),重新开始接受和写入数据。

也就是说,本实施例中,一旦系统断电,系统除了将缓存中的数据进行保存之外,就不再接收新的数据。等到系统重新上电以后,才会再次启动数据接收并对其进行保存。

进一步地,本实施例中数据存储设备需要在系统外部断电后,系统自身存储的电能能够完成外部掉电后数据的正确写入。因此,系统监测到断电信号后,看门狗电路产生下电中断信号,fpga需要将缓存中的数据存入emmc,并且dsp将地址信息写入eeprom。本实施例中优选dmf4b5r5g105m3dta0型法拉电容,5.5v,1f容量,可维持数据存储设备继续工作约1.4s。进一步地,本实施例中优选采用如下方式计算供电时间:工作起始电压vwork=5v,工作截止电压(ldo稳定输出最小电压)vmin=vout+vdo=3.3v+0.3v=3.6v,工作电源i=1a,则法拉电容容量为:c=(vwork+vmin)it/(vwork2-vmin2)=(5+3.6)*1*t/(52-3.62),c=1f。推算出t=1.4s。

在一个具体的实施例中,系统的外部电源电压输入范围是16v~36v,电源板优选采用多级电源供电方式。进一步地,外部电源28vdc_ext经30vtvs和emi滤波器(bnx026h01)得到板内28v和28vgnd,28vgnd与机械外壳地通过高频电容隔离,28vgnd经带隔离dc/dc电源(dpa15-w24s5fb)后得到板内地,并转换为5v,5v电源给带隔离的can收发器电路供电,并再由ldotps74401生成fpga辅助电源3.3v和内核电压1.2v、控制器端口以及外设的3.3v、dsp核心电源电压和fpga配置promxcf32p核心电源电压所需的1.8v,整块线路板的供电方案如图5所示。

本实施例中,设备启动时间主要为fpga启动时间与dsp启动时间。fpga选择xcf32p配置电路实现上电后的加载启动,配置模式为主动并行模式,用时约为60ms,看门狗电路max706s启动时间为200ms,dsp加载启动,用时约20ms,总共启动时间约280ms。

如图4所示,fpga软件收到两路can总线接口数据和一路异步rs485总线接口数据后,将其组帧后以4kb每帧的大小按照emmc硬件接口时序的要求分别写入两个emmc芯片,实现数据备份存储。fpga软件通过usb接口接收上位机软件指令,获取emmc里的文件链表、选择导出emmc中的单个文件、根据时间筛选或者全部数据导出,能区分can1总线接口、can2总线接口和异步rs485接口的数据、擦除emmc数据。dsp软件通过异步rs422接口接收上位机软件指令,实现dsp软件和fpga软件的在线升级,能将每次数据存储结束时的地址信息写入eeprom。

综上所述,在本发明技术方案的实施例中,一方面,由于采用了fpga芯片和ip核集成的方式,相较于以往采用通用控制器形成通信协议的形式来说,大大减少了通信协议的数量,在简化传输方式的同时,也提高了传输效率。另一方面,数据传输串口优选采用的是usb2.0的结构,也对传输效率的提升有进一步的帮助。总之,本发明技术方案实施例中的方案,相较于现有技术来说,不仅能够明显提升存储系统的读效率,也能够在系统断电的时候对缓存中的数据内容进行保存,提高了存储的稳定性。此外,本实施例中采用fpga芯片和emmc双备份存储的方式,两者互为备份,进一步保证了存储系统的稳定性。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1