CN109683829A - 基于fpga的智能存储控制系统及其应用 - Google Patents

基于fpga的智能存储控制系统及其应用 Download PDF

Info

Publication number
CN109683829A
CN109683829A CN201910007525.0A CN201910007525A CN109683829A CN 109683829 A CN109683829 A CN 109683829A CN 201910007525 A CN201910007525 A CN 201910007525A CN 109683829 A CN109683829 A CN 109683829A
Authority
CN
China
Prior art keywords
data
flash
control system
fpga
configuration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910007525.0A
Other languages
English (en)
Other versions
CN109683829B (zh
Inventor
洪峰
冯海泓
黄敏燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Acoustics Laboratory Chinese Academy Of Sciences
Original Assignee
Shanghai Acoustics Laboratory Chinese Academy Of Sciences
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Acoustics Laboratory Chinese Academy Of Sciences filed Critical Shanghai Acoustics Laboratory Chinese Academy Of Sciences
Priority to CN201910007525.0A priority Critical patent/CN109683829B/zh
Publication of CN109683829A publication Critical patent/CN109683829A/zh
Priority to PCT/CN2019/086531 priority patent/WO2020140361A1/zh
Application granted granted Critical
Publication of CN109683829B publication Critical patent/CN109683829B/zh
Priority to US17/133,796 priority patent/US11379129B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
  • Read Only Memory (AREA)

Abstract

本发明涉及一种基于FPGA的智能存储控制系统,包括FLASH主控制器;FLASH命令形成器及带记忆功能的地址生成器,用于产生跨时钟域的电平信号并自动避免越界写入;配置数据形成器,用于由写配置驱动信号驱动控制配置写入功能;自动读取配置器,用于由内部驱动信号驱动实现自动化配置读取;主数据与辅助数据形成器,用于根据乒乓操作对不等宽RAM操作实现主数据的连续存储;FLASH数据读取缓存器;多接口外发驱动模块,用于自主记录发送包数并完成既定数量的工作。本发明还涉及一种该系统在无人水下航行器及水声设备中的应用。采用了该系统及其应用,解决既有存储控制系统在水下工作时出现的问题,具有可靠性、简洁性或是智能化的特点。

Description

基于FPGA的智能存储控制系统及其应用
技术领域
本发明涉及智能存储领域,尤其涉及FLASH存储领域,具体是指一种基于FPGA的智能存储控制系统及其应用。
背景技术
智能存储控制系统设计是无人水下航行器及水声设备设计中的一种关键技术,具有非常重要的应用价值。在涉及水下航行、水下定位导航与通信及水下探测的应用中,特别是水声定位导航与通信等应用中,常需要使用闪存FLASH存储大量不同类型的数据,且应对各种复杂的情况,因此必须挂载存储系统往往是必须的。此外,考虑到无人水下航行器及水声设备配备了多种不同类型的声呐及内置外置传感器,因此,研究基于现场可编程逻辑阵列(Field Programmable Gate Array,FPGA)设计具有的智能存储控制系统亦是必要的。智能存储控制系统,可以实现高效存储,减少人工输入,具有重要的意义。
目前,现有的常用的无人水下航行器及水声设备的存储控制系统设计,并未实现分为三种特殊区域的概念且无自主分配存储空间的机制;另外,在应对水下复杂环境引起的系统重启、关机等问题时,不存在自主记忆更新功能,不具备自动配置功能;最后,在存储写入控制上,通常需要用户控制输入参数,造成诸多不便。因此,无论是从可靠性、简洁性或是智能化的角度,一般的无人水下航行器及水声设备的存储控制系统设计在性能上欠佳。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种具有可靠性、简洁性、智能化的基于FPGA的智能存储控制系统及其应用。
为了实现上述目的,本发明的基于FPGA的智能存储控制系统及其应用如下:
该基于FPGA的智能存储控制系统,其主要特点是,所述的系统包括:
FLASH主控制器,用于对FLASH读取、写入及擦除的物理层处理,并产生各种标志位;
FLASH命令形成器及带记忆功能的地址生成器,与所述的FLASH主控制器相连接,用于产生跨时钟域的电平信号,根据当前的存储空间分配自动产生各分区写入地址,并自动避免越界写入;
配置数据形成器,与所述的FLASH主控制器相连接,用于由写配置驱动信号驱动控制配置写入功能;
自动读取配置器,与所述的FLASH主控制器相连接,用于由内部驱动信号驱动实现自动化配置读取;
主数据与辅助数据形成器,与所述的FLASH主控制器相连接,用于根据乒乓操作对不等宽RAM操作实现主数据的连续存储;
FLASH数据读取缓存器,与所述的FLASH主控制器相连接,用于缓存FLASH数据;
多接口外发驱动模块,与所述的FLASH主控制器和FLASH数据读取缓存器相连接,用于自主记录发送包数并完成既定数量的工作。
较佳地,所述的系统还包括数据存储区,所述的数据存储区包括:
配置数据存储区,与所述的FLASH主控制器相连接,用于存储系统配置信息和系统相关的配置数据信息;
辅助数据存储区,与所述的FLASH主控制器相连接,用于存储声呐、内置和外置传感器的辅助数据信息;
主数据存储区,与所述的FLASH主控制器相连接,用于存储数字采样器采集的数字信号数据。
较佳地,所述的数据存储区根据设备参数自动分配存储空间。
较佳地,所述的配置数据存储区存储的数据包括帧头、上次记录的辅助数据存储区结束地址、上次记录的主数据存储区结束地址、工作模式、同步工作点、各潜标经纬度信息、预设声速向量信息、检测门限和潜标路由信息。
较佳地,所述的辅助数据存储区存储的数据包括帧头、包号、当前记录时间标、多个避碰声呐的计算数据、水下定位时刻、水下定位结果、水下无人航行器至甲板单元通信负载数据、甲板单元至水下无人航行器通信负载数据、水下无人航行器姿态数据、多普勒计程仪速度数据、惯性导航位置数据、水下无人航行器定位分析数据和帧尾数据。
较佳地,所述的主数据存储区存储的数据包括帧头、记录时间和AD采样器采集的数字信号。
较佳地,所述的FLASH主控制器产生的标志位包括读取标志、写入标志、擦除完成标志和繁忙标志。
较佳地,所述的FLASH命令形成器及带记忆功能的地址生成器包括:
FLASH命令形成器,与所述的FLASH主控制器相连接,用于根据获取的命令和既有无人水下航行器及水声设备的条件将电频信号和边沿信号进行转换;
智能存储控制系统,与所述的FLASH主控制器相连接,用于根据当前的存储空间分配自动产生各分区写入地址;
地址生成器,与所述的FLASH主控制器相连接,用于根据当前存储区域的大小自动避免越界写入。
较佳地,所述的配置数据形成器包括主状态机和副状态机,均与所述的FLASH主控制器相连接,且主状态机和副状态机相互连接,用于由写配置驱动信号驱动控制配置写入功能。
较佳地,所述的自动读取配置器的内部驱动信号为基于上电复位信号产生的沿触发信号。
较佳地,所述的主数据及辅助数据形成器包括FLASH控制状态机,与所述的FLASH主控制器和多接口外发驱动模块相连接,用于接收主数据和辅助数据后产生仲裁并依序读取,向所述的多接口外发驱动单元输出数据。
上述的基于FPGA的智能存储控制系统在无人水下航行器及水声设备中的应用。
采用了本发明的基于FPGA的智能存储控制系统及其应用,实现自主分配存储空间的机制;在应对水下复杂环境引起的系统重启、关机等问题时,具备自主记忆更新功能和自动配置功能;在存储写入控制上,避免需要用户控制输入参数而造成的诸多不便;解决既有存储控制系统在水下工作时出现的问题,具有可靠性、简洁性或是智能化的特征。智能存储控制系统,可以实现高效存储,减少人工输入,具有重要的意义。
附图说明
图1为本发明的基于FPGA的智能存储控制系统的框架示意图。
图2为本发明的基于FPGA的智能存储控制系统的分为三种类型的数据存储区示意图。
图3为本发明的基于FPGA的智能存储控制系统的配置写入主副双状态机的示意图。
图4为本发明的基于FPGA的智能存储控制系统的主数据和辅助数据形成器的示意图。
图5为本发明的基于FPGA的智能存储控制系统的实现系统生成方法流程图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
本发明的该基于FPGA的智能存储控制系统,其中,所述的系统包括:
FLASH主控制器,用于对FLASH读取、写入及擦除的物理层处理,并产生各种标志位;
FLASH命令形成器及带记忆功能的地址生成器,与所述的FLASH主控制器相连接,用于产生跨时钟域的电平信号,根据当前的存储空间分配自动产生各分区写入地址,并自动避免越界写入;
配置数据形成器,与所述的FLASH主控制器相连接,用于由写配置驱动信号驱动控制配置写入功能;
自动读取配置器,与所述的FLASH主控制器相连接,用于由内部驱动信号驱动实现自动化配置读取;
主数据与辅助数据形成器,与所述的FLASH主控制器相连接,用于根据乒乓操作对不等宽RAM操作实现主数据的连续存储;
FLASH数据读取缓存器,与所述的FLASH主控制器相连接,用于缓存FLASH数据;
多接口外发驱动模块,与所述的FLASH主控制器和FLASH数据读取缓存器相连接,用于自主记录发送包数并完成既定数量的工作。
作为本发明的优选实施方式,所述的系统还包括数据存储区,所述的数据存储区包括:
配置数据存储区,与所述的FLASH主控制器相连接,用于存储系统配置信息和系统相关的配置数据信息;
辅助数据存储区,与所述的FLASH主控制器相连接,用于存储声呐、内置和外置传感器的辅助数据信息;
主数据存储区,与所述的FLASH主控制器相连接,用于存储数字采样器采集的数字信号数据。
作为本发明的优选实施方式,所述的数据存储区根据设备参数自动分配存储空间。
作为本发明的优选实施方式,所述的配置数据存储区存储的数据包括帧头、上次记录的辅助数据存储区结束地址、上次记录的主数据存储区结束地址、工作模式、同步工作点、各潜标经纬度信息、预设声速向量信息、检测门限和潜标路由信息。
作为本发明的优选实施方式,所述的辅助数据存储区存储的数据包括帧头、包号、当前记录时间标、多个避碰声呐的计算数据、水下定位时刻、水下定位结果、水下无人航行器至甲板单元通信负载数据、甲板单元至水下无人航行器通信负载数据、水下无人航行器姿态数据、多普勒计程仪速度数据、惯性导航位置数据、水下无人航行器定位分析数据和帧尾数据。
作为本发明的优选实施方式,所述的主数据存储区存储的数据包括帧头、记录时间和AD采样器采集的数字信号。
作为本发明的优选实施方式,所述的FLASH主控制器产生的标志位包括读取标志、写入标志、擦除完成标志和繁忙标志。
作为本发明的优选实施方式,所述的FLASH命令形成器及带记忆功能的地址生成器包括:
FLASH命令形成器,与所述的FLASH主控制器相连接,用于根据获取的命令和既有无人水下航行器及水声设备的条件将电频信号和边沿信号进行转换;
智能存储控制系统,与所述的FLASH主控制器相连接,用于根据当前的存储空间分配自动产生各分区写入地址;
地址生成器,与所述的FLASH主控制器相连接,用于根据当前存储区域的大小自动避免越界写入。
作为本发明的优选实施方式,所述的配置数据形成器包括主状态机和副状态机,均与所述的FLASH主控制器相连接,且主状态机和副状态机相互连接,用于由写配置驱动信号驱动控制配置写入功能。
作为本发明的优选实施方式,所述的自动读取配置器的内部驱动信号为基于上电复位信号产生的沿触发信号。
作为本发明的优选实施方式,所述的主数据及辅助数据形成器包括FLASH控制状态机,与所述的FLASH主控制器和多接口外发驱动模块相连接,用于接收主数据和辅助数据后产生仲裁并依序读取,向所述的多接口外发驱动单元输出数据。
本发明还涉及一种上述的基于FPGA的智能存储控制系统在无人水下航行器及水声设备中的应用。
在本发明的具体实施方式中,将存储系统分为三个存储区,即配置数据存储区、辅助数据存储区以及主数据存储区等数据存储区,并基于无人水下航行器及水声设备参数对存储空间自动分配;基于FPGA生成无人水下航行器及水声设备智能存储控制系统框架;基于FPGA生成FLASH命令形成器及带记忆功能的地址生成器;利用主副双状态机控制配置写入功能,并基于配置读取状态机自动读取配置数据;基于乒乓操作产生跨时钟域的主数据和辅助数据形成器;产生具备自主决策功能多接口外发驱动单元。本发明可有效解决既有应用于无人水下航行器及水声设备的存储控制系统在水下工作时出现的可靠性、简洁性或是智能化问题。
系统包括:存储系统分为三个存储区,即配置数据存储区、辅助数据存储区以及主数据存储区等数据存储区;
基于无人水下航行器及水声设备系统参数对存储空间自动分配;
基于FPGA生成FLASH命令形成器及带记忆功能的地址生成器;
主副双状态机控制配置写入功能,并基于配置读取状态机自动读取配置数据;
基于乒乓操作产生跨时钟域的主数据和辅助数据形成器;
多接口外发驱动单元,具备自主决策功能。
存储系统分为三个存储区,即配置数据存储区、辅助数据存储区以及主数据存储区等数据存储区:
配置数据区存储区主要存储系统配置信息,以及存储系统相关的信息,包括上次记录的辅助数据存储区结束地址、上次记录的主数据存储区结束地址等;
辅助数据存储区则主要存储各类声呐、内置和外置传感器相关信息;
主数据数据存储区主要存储带有时间标的数字采样器(AD)采集的数字信号。
基于无人水下航行器及水声设备参数对存储空间自动分配:
存储区自动分配,具体而言,将配置数据区存于存储系统的首区或尾区;
辅助数据与主数据的存储区依赖于系统参数,对存储空间自动分配。
基于FPGA生成FLASH命令形成器及带记忆功能的地址生成器,包括:
FLASH命令形成器将从多接口获得的命令与既有无人水下航行器及水声设备的授时、环境等条件进行综合,进而产生由边沿信号转成跨时钟域的电平信号,或者将电平信号转成跨时钟域的边沿信号;
智能存储控制系统根据当前的存储空间分配,自动产生各分区写入地址。即使存在断电等情形,依然可以根据存于配置数据区的配置数据自动加载并根据既定规则写入。既定规则包括但不限于,递增写入、递减写入、间隔写入等;
地址生成器可根据当前存储区域的大小,自动避免越界写入;
地址生成器,遇到擦除等情形具备自动释放空间,其状态机自动使地址生成器归置初始状态,无需任何人为干预。
主副双状态机控制配置写入功能,并基于配置读取状态机自动读取配置数据,包括:
配置写入状态机由主副双状态机组成,且均由写配置驱动信号驱动。驱动信号由几个部分组成,包括但不限于停止工作触发沿信号、多接口写配置数据使能信号、擦除完毕自动写配置使能信号等。获得驱动信号后,主副状态机进入写配置数据状态。其中,主状态机由两个阶段组成,即首区擦除及配置写入;
主状态机先完成首区的擦除工作,在单块擦除完成且判断操作类型为“写配置”之后,完成状态清零,并等待副状态机执行的配置数据在RAM中写完并输出数据准备好标志信号。此后,继续完成配置写入,并通过多个接口向上位机反馈写配置完成信号;
自动化配置读取状态机无需外置驱动信号,而由内部驱动信号驱动,即实现自动化配置读取。该内部驱动信号是基于每次上电复位信号产生的沿触发信号。
基于乒乓操作产生跨时钟域的主数据和辅助数据形成器,包括:
针对主数据的连续存储是利用乒乓操作对不等宽RAM操作实现的,即对RAMA写入时FLASH控制状态机实现对RAMB的读取,而对RAMB写入时则实现对RAMA的读取,交替完成双不等宽RAM的读取与写入;
主数据写入时,任何一个不等宽RAM写满时则产生数据准备好信号并经数据选择器送给FLASH控制状态机,再将读命令、地址反向传递给相应RAM;辅助数据写入时,亦由状态机控制,在写满一页之后,产生数据准备好信号;
FLASH控制状态机,在收到主数据和辅助数据后产生仲裁,依序读取。另外,RAM的写入和读取的信号均由延迟器保持以完成跨时钟域处理,以确保避免亚稳态产生。
多接口外发驱动单元,具备自主决策功能,包括:
驱动单元由直接内存存取(DMA)控制,在获得FIFO非空之后,自主加载FIFO中的内容至RAM之后。经FLASH控制状态机向多接口外发驱动单元输出;
多接口外发驱动单元,具备自主决策功能,记录发送包数且完成既定数量后无需外部命令自主结束,并同时使得FLASH控制器和FLASH数据读取缓存器强制结束状态。
下面结合附图和实施例对本发明作进一步的详细说明,图5为本发明实施例提供的一种基于FPGA的应用于无人水下航行器及水声设备的智能存储控制系统设计方法的实现流程示意图,如图5所示,本实施例提供一种基于FPGA的应用于无人水下航行器及水声设备的智能存储控制系统设计方法,所述方法包括:
步骤101,将无人水下航行器及水声设备的整个数据存储区分区为配置数据存储区、辅助数据存储区以及主数据存储区等三种类型(如图2所示),并基于无人水下航行器及水声设备参数对存储空间自动分配。
配置数据区存储的内容主要应包括但不限于:帧头、上次记录的辅助数据存储区结束地址、上次记录的主数据存储区结束地址、工作模式、同步工作点、各潜标经纬度信息、预设声速向量信息、检测门限、潜标路由信息等。
辅助数据每记录一次称为一帧,辅助数据记录的内容主要包括但不限于:帧头、包号、当前记录时间标、多个避碰声呐的计算数据、水下定位时刻、水下定位结果、水下无人航行器至甲板单元通信负载数据、甲板单元至水下无人航行器通信负载数据、水下无人航行器姿态数据、多普勒计程仪(Doppler Velocity Logger,DVL)速度数据、惯性导航位置数据、水下无人航行器定位分析数据及帧尾数据。
主数据记录的主要内容包括但不限于:帧头、记录时间以及AD采样器采集的数字信号。
存储区自动分配,具体而言,将配置数据区存于存储系统的首区或尾区,连续N块,其存储大小固定为512K×N字节;
假设辅助数据的记录频率为fA,每记录一帧的存储大小为NAPER,则其每秒记录的存储空间为NA=fANAPER字节;
假设主数据的采样频率为fs,其存储位宽为NW,则其每秒记录的存储空间为NM=fsNW字节;
因此,假定总容量为T字节,则存储空间分配时,应该有辅助数据区域分配的空间为,
而与之对应主数据区域分配的空间为,
以上单位均为字节。
步骤102,基于FPGA生成无人水下航行器及水声设备智能存储控制系统框架。
框架内包括如下基本组成单元:FLASH主控制器、FLASH命令形成器及带记忆功能的地址生成器、配置数据形成器及自动读取配置器、主数据和辅助数据形成器以及FLASH数据读取缓存器等控制单元,如图3所示。各基本组成单元,均有有限状态机完成控制。
FLASH主控制器包括对FLASH读取、写入以及擦除的物理层处理,以及各种标志位的产生。标志位包括但不限于读取、写入、擦除完成以及繁忙标志。
步骤103,生成FLASH命令形成器及带记忆功能的地址生成器。
FLASH命令形成器将从多接口获得的命令与既有无人水下航行器及水声设备的授时、环境等条件进行综合,进而产生由边沿信号转成跨时钟域的电平信号,或者将电平信号转成跨时钟域的边沿信号。
除此之外,智能存储控制系统根据当前的存储空间分配,自动产生各分区写入地址。即使存在断电等情形,依然可以根据存于配置数据区的配置数据自动加载并根据既定规则写入。既定规则包括但不限于,递增写入、递减写入、间隔写入等。
地址生成器可根据当前存储区域的大小,自动避免越界写入。
地址生成器,遇到擦除等情形具备自动释放空间,其状态机自动使地址生成器归置初始状态,无需任何人为干预。
步骤104,产生由写配置驱动信号驱动的配置写入主副双状态机,并基于配置读取状态机自动读取配置数据。
如图3所示,该配置写入状态机由主副双状态机组成,且均由写配置驱动信号驱动。驱动信号由几个部分组成,包括但不限于停止工作触发沿信号、多接口(如以太网、串口、同步串行口(Synchronous serial PORTs,SPORT)等)写配置数据使能信号、擦除完毕自动写配置使能信号等。获得驱动信号后,主副状态机进入写配置数据状态。其中,主状态机由两个阶段组成,即首区擦除及配置写入。
主状态机先完成首区的擦除工作,在单块擦除完成且判断操作类型为“写配置”之后,完成状态清零,并等待副状态机执行的配置数据在RAM中写完并输出数据准备好标志信号。此后,继续完成配置写入,并通过多个接口向上位机反馈写配置完成信号。
自动化配置读取状态机无需外置驱动信号,而由内部驱动信号驱动,即实现自动化配置读取。该内部驱动信号是基于每次上电复位信号产生的沿触发信号。
步骤105,基于乒乓操作产生跨时钟域的主数据和辅助数据形成器。
如图4所示,针对主数据的连续存储是利用乒乓操作对不等宽RAM操作实现的,即对RAMA写入时FLASH控制状态机实现对RAMB的读取,而对RAMB写入时则实现对RAMA的读取。
主数据写入时,任何一个不等宽RAM写满时则产生数据准备好信号并经数据选择器送给FLASH控制状态机,再将读命令、地址反向传递给相应RAM;辅助数据写入时,亦由状态机控制,在写满一页之后,产生数据准备好信号。
FLASH控制状态机,在收到主数据和辅助数据后产生仲裁,依序读取。另外,RAM的写入和读取的信号均由延迟器保持以完成跨时钟域处理,以确保避免亚稳态产生。
步骤106,生成FLASH数据读取缓存器及多接口外发驱动单元。
驱动单元由直接内存存取(DMA)控制,在获得FIFO非空之后,自主加载FIFO中的内容至RAM之后。经FLASH控制状态机向多接口外发驱动单元输出。
多接口外发驱动单元,具备自主决策功能,记录发送包数且完成既定数量后无需外部命令自主结束,并同时使得FLASH控制器和FLASH数据读取缓存器强制结束状态。
采用了本发明的基于FPGA的智能存储控制系统,实现自主分配存储空间的机制;在应对水下复杂环境引起的系统重启、关机等问题时,具备自主记忆更新功能和自动配置功能;在存储写入控制上,避免需要用户控制输入参数而造成的诸多不便;解决既有存储控制系统在水下工作时出现的问题,具有可靠性、简洁性或是智能化的特征。智能存储控制系统,可以实现高效存储,减少人工输入,具有重要的意义。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

Claims (12)

1.一种基于FPGA的智能存储控制系统,其特征在于,所述的系统包括:
FLASH主控制器,用于对FLASH读取、写入及擦除的物理层处理,并产生各种标志位;
FLASH命令形成器及带记忆功能的地址生成器,与所述的FLASH主控制器相连接,用于产生跨时钟域的电平信号,根据当前的存储空间分配自动产生各分区写入地址,并自动避免越界写入;
配置数据形成器,与所述的FLASH主控制器相连接,用于由写配置驱动信号驱动控制配置写入功能;
自动读取配置器,与所述的FLASH主控制器相连接,用于由内部驱动信号驱动实现自动化配置读取;
主数据与辅助数据形成器,与所述的FLASH主控制器相连接,用于根据乒乓操作对不等宽RAM操作实现主数据的连续存储;
FLASH数据读取缓存器,与所述的FLASH主控制器相连接,用于缓存FLASH数据;
多接口外发驱动模块,与所述的FLASH主控制器和FLASH数据读取缓存器相连接,用于自主记录发送包数并完成既定数量的工作。
2.根据权利要求1所述的基于FPGA的智能存储控制系统,其特征在于,所述的系统还包括数据存储区,所述的数据存储区包括:
配置数据存储区,与所述的FLASH主控制器相连接,用于存储系统配置信息和系统相关的配置数据信息;
辅助数据存储区,与所述的FLASH主控制器相连接,用于存储声呐、内置和外置传感器的辅助数据信息;
主数据存储区,与所述的FLASH主控制器相连接,用于存储数字采样器采集的数字信号数据。
3.根据权利要求2所述的基于FPGA的智能存储控制系统,其特征在于,所述的数据存储区根据设备参数自动分配存储空间。
4.根据权利要求2所述的基于FPGA的智能存储控制系统,其特征在于,所述的配置数据存储区存储的数据包括帧头、上次记录的辅助数据存储区结束地址、上次记录的主数据存储区结束地址、工作模式、同步工作点、各潜标经纬度信息、预设声速向量信息、检测门限和潜标路由信息。
5.根据权利要求2所述的基于FPGA的智能存储控制系统,其特征在于,所述的辅助数据存储区存储的数据包括帧头、包号、当前记录时间标、多个避碰声呐的计算数据、水下定位时刻、水下定位结果、水下无人航行器至甲板单元通信负载数据、甲板单元至水下无人航行器通信负载数据、水下无人航行器姿态数据、多普勒计程仪速度数据、惯性导航位置数据、水下无人航行器定位分析数据和帧尾数据。
6.根据权利要求2所述的基于FPGA的智能存储控制系统,其特征在于,所述的主数据存储区存储的数据包括帧头、记录时间和AD采样器采集的数字信号。
7.根据权利要求1所述的基于FPGA的智能存储控制系统,其特征在于,所述的FLASH主控制器产生的标志位包括读取标志、写入标志、擦除完成标志和繁忙标志。
8.根据权利要求1所述的基于FPGA的智能存储控制系统,其特征在于,所述的FLASH命令形成器及带记忆功能的地址生成器包括:
FLASH命令形成器,与所述的FLASH主控制器相连接,用于根据获取的命令和既有无人水下航行器及水声设备的条件将电频信号和边沿信号进行转换;
智能存储控制系统,与所述的FLASH主控制器相连接,用于根据当前的存储空间分配自动产生各分区写入地址;
地址生成器,与所述的FLASH主控制器相连接,用于根据当前存储区域的大小自动避免越界写入。
9.根据权利要求1所述的基于FPGA的智能存储控制系统,其特征在于,所述的配置数据形成器包括主状态机和副状态机,均与所述的FLASH主控制器相连接,且主状态机和副状态机相互连接,用于由写配置驱动信号驱动控制配置写入功能。
10.根据权利要求1所述的基于FPGA的智能存储控制系统,其特征在于,所述的自动读取配置器的内部驱动信号为基于上电复位信号产生的沿触发信号。
11.根据权利要求1所述的基于FPGA的智能存储控制系统,其特征在于,所述的主数据及辅助数据形成器包括FLASH控制状态机,与所述的FLASH主控制器和多接口外发驱动模块相连接,用于接收主数据和辅助数据后产生仲裁并依序读取,向所述的多接口外发驱动单元输出数据。
12.一种权利要求1至11中任一项所述的基于FPGA的智能存储控制系统在无人水下航行器及水声设备中的应用。
CN201910007525.0A 2019-01-04 2019-01-04 基于fpga的智能存储控制系统及其应用 Active CN109683829B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910007525.0A CN109683829B (zh) 2019-01-04 2019-01-04 基于fpga的智能存储控制系统及其应用
PCT/CN2019/086531 WO2020140361A1 (zh) 2019-01-04 2019-05-13 基于fpga的智能存储控制系统及其应用
US17/133,796 US11379129B2 (en) 2019-01-04 2020-12-24 FPGA-based intelligent storage control system and application thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910007525.0A CN109683829B (zh) 2019-01-04 2019-01-04 基于fpga的智能存储控制系统及其应用

Publications (2)

Publication Number Publication Date
CN109683829A true CN109683829A (zh) 2019-04-26
CN109683829B CN109683829B (zh) 2020-10-30

Family

ID=66192067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910007525.0A Active CN109683829B (zh) 2019-01-04 2019-01-04 基于fpga的智能存储控制系统及其应用

Country Status (3)

Country Link
US (1) US11379129B2 (zh)
CN (1) CN109683829B (zh)
WO (1) WO2020140361A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176911A (zh) * 2019-11-18 2020-05-19 北京时代民芯科技有限公司 一种新型的大存储量高速fpga辅助配置系统
WO2020140361A1 (zh) * 2019-01-04 2020-07-09 中国科学院声学研究所东海研究站 基于fpga的智能存储控制系统及其应用

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115681A (en) * 1997-12-17 2000-09-05 The United States Of America As Represented By The Secretary Of The Navy Real-time data acquisition
CN103092257A (zh) * 2012-12-29 2013-05-08 中国船舶重工集团公司第七一○研究所 一种自适应触发同步控制装置
CN103116175A (zh) * 2013-01-18 2013-05-22 东南大学 基于dsp和fpga的嵌入式导航信息处理器
CN103336751A (zh) * 2013-07-10 2013-10-02 广西科技大学 寻址功能与存储单元一体化存储控制器
CN103399831A (zh) * 2013-08-14 2013-11-20 江西航天海虹测控技术有限责任公司 Nandflash存储器自动循环存储的实现方法
CN106528443A (zh) * 2016-11-09 2017-03-22 上海微小卫星工程中心 适用于星载数据管理的flash管理系统及方法
CN106649142A (zh) * 2016-12-02 2017-05-10 北京航天长征飞行器研究所 一种具有断电续存功能的高速存储器

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8301833B1 (en) * 2007-06-01 2012-10-30 Netlist, Inc. Non-volatile memory module
CN101446921B (zh) * 2008-12-23 2010-09-01 青岛海信宽带多媒体技术股份有限公司 一种Flash存储器的动态存储方法
US10027340B1 (en) * 2012-12-31 2018-07-17 Jefferson Science Associates, Llc Method and apparatus to digitize pulse shapes from radiation detectors
CN103226976A (zh) * 2013-03-19 2013-07-31 中国科学院声学研究所 一种基于FPGA实现多片Nandflash存储及读取的装置
CN114035749B (zh) * 2018-01-12 2023-02-28 珠海极海半导体有限公司 电子设备和Flash存储器
CN109683829B (zh) * 2019-01-04 2020-10-30 中国科学院声学研究所东海研究站 基于fpga的智能存储控制系统及其应用

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115681A (en) * 1997-12-17 2000-09-05 The United States Of America As Represented By The Secretary Of The Navy Real-time data acquisition
CN103092257A (zh) * 2012-12-29 2013-05-08 中国船舶重工集团公司第七一○研究所 一种自适应触发同步控制装置
CN103116175A (zh) * 2013-01-18 2013-05-22 东南大学 基于dsp和fpga的嵌入式导航信息处理器
CN103336751A (zh) * 2013-07-10 2013-10-02 广西科技大学 寻址功能与存储单元一体化存储控制器
CN103399831A (zh) * 2013-08-14 2013-11-20 江西航天海虹测控技术有限责任公司 Nandflash存储器自动循环存储的实现方法
CN106528443A (zh) * 2016-11-09 2017-03-22 上海微小卫星工程中心 适用于星载数据管理的flash管理系统及方法
CN106649142A (zh) * 2016-12-02 2017-05-10 北京航天长征飞行器研究所 一种具有断电续存功能的高速存储器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020140361A1 (zh) * 2019-01-04 2020-07-09 中国科学院声学研究所东海研究站 基于fpga的智能存储控制系统及其应用
US11379129B2 (en) 2019-01-04 2022-07-05 Shanghai Acoustics Laboratory, Chinese Academy Of Sciences FPGA-based intelligent storage control system and application thereof
CN111176911A (zh) * 2019-11-18 2020-05-19 北京时代民芯科技有限公司 一种新型的大存储量高速fpga辅助配置系统
CN111176911B (zh) * 2019-11-18 2023-08-08 北京时代民芯科技有限公司 一种新型的大存储量高速fpga辅助配置系统

Also Published As

Publication number Publication date
US11379129B2 (en) 2022-07-05
CN109683829B (zh) 2020-10-30
US20210117111A1 (en) 2021-04-22
WO2020140361A1 (zh) 2020-07-09

Similar Documents

Publication Publication Date Title
CN101568904A (zh) 非易失性存储器的成扇形展开的高速系统体系结构和输入/输出电路
CN109683829A (zh) 基于fpga的智能存储控制系统及其应用
CN103116175A (zh) 基于dsp和fpga的嵌入式导航信息处理器
EP1929482A1 (en) Portable data storage using slc and mlc flash memory
CN1591355A (zh) 采样和保持方法
EP2272066B1 (en) Memory module with configurable input/output ports
CN111782154A (zh) 数据搬移方法、装置及系统
CN114780449B (zh) 一种基于zynq芯片的数据存储及传输系统
JP2005190036A5 (zh)
JP2009140062A (ja) ストレージ装置とストレージシステム及びパス情報設定方法
CN1243313C (zh) 具有大容量存储器的数据流处理板
JP2007183757A (ja) 記憶制御装置
CN113010926A (zh) 机械隔离式数据传输装置
JP4453314B2 (ja) 複数のモードで読み書きが可能な記憶装置
CN216483019U (zh) 一种定位与水深数据的同步电路
JP3387538B2 (ja) データ転送装置,プロセサエレメント及びデータ転送方法
JP4790334B2 (ja) 不揮発性記憶装置
JP2000306389A (ja) 不揮発性半導体メモリを用いた記憶装置
CN114166190A (zh) 定位与水深数据的同步电路及处理电路运行方法
CN106225808B (zh) 一种海洋物探综合导航信息回放仪及系统
CN117873390A (zh) 一种综合处理平台fc-2层网络数据记录方法
TW507209B (en) Asynchronous FIFO controller
JPH0129634Y2 (zh)
CN115705310A (zh) 一种基于fpga的时隙交换装置及方法
RU1837303C (ru) Устройство дл сопр жени ЭВМ с периферийными устройствами

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant