一种FPGA实现的AD自动采集系统的制作方法

文档序号:15928027发布日期:2018-11-14 01:20阅读:1477来源:国知局

本发明涉及航天飞行器电子技术领域,尤其涉及一种fpga实现的ad自动采集系统。

背景技术

在星载电子产品中,模拟量采样是必不可少的功能,且模拟量采样的路数需求越来越多。目前多采用“单片机+ad”、“fpga+ad”方案实现,“单片机+ad”方案中ad通道切换和ad采样控制均由单片机控制实现,由于单片机顺序运行软件控制ad采样时序,无法实现多路采集同时进行,同时ad采集的通道数据量受限于单片机的运行速度。“fpga+ad”方案可实现多路同时采集,但目前的fpga设计比较固定,缺少应用灵活性,且对cpu有一定的依赖性。



技术实现要素:

为满足星载计算机大批量的模拟量采集需求,降低对软件运行时间的占用,提高cpu的使用效率,本发明提出了一种fpga实现的ad自动采集系统。

本发明所采用的技术方案是:

一种fpga实现的ad自动采集系统,包括cpu、fpga、sram和若干a/d转换电路;若干所述a/d转换电路、所述cpu和所述sram分别与所述fpga连接;所述sram用于存储采集配置表和采集数据存储表,所述cpu将采样配置信息存储在所述sram中,所述fpga读取配置信息控制采集过程,并将若干所述a/d转换电路采集的结果写入所述sram中,所述cpu再从所述sram中读取采集的结果。

较佳的,所述a/d转换电路包括a/d转换芯片和若干模拟开关;若干所述模拟开关、所述a/d转换芯片、所述cpu和所述sram分别与所述fpga连接,若干所述模拟开关分别与所述a/d转换芯片连接;若干所述模拟开关用以在所述fpga控制下选通来接收外部输入的模拟量,进而所述a/d转换芯片在所述fpga控制下将模拟量转换成数字量,并将转换后的数据存入所述sram中。

较佳的,所述fpga包括cpu访问控制逻辑、寄存器、sram访问仲裁逻辑、sram访问控制逻辑、定时器、a/d转换芯片控制逻辑、模拟开关切换控制逻辑和主控制逻辑;所述cpu访问控制逻辑用以实现对cpu地址到所述sram和所述fpga内部寄存器存储空间的映射,并实现所述sram访问仲裁逻辑与所述cpu访问控制逻辑的时序匹配;所述sram访问控制逻辑用于对所述sram读写访问的时序控制;所述定时器用于根据所述寄存器的设置维护自动采集系统的大周期和单路模拟采集的小周期,提供给所述主控逻辑;所述a/d转换芯片控制逻辑用于控制所述a/d转换芯片的采样转换过程和采集结果的获取;所述模拟开关切换控制逻辑用于多路模拟量选择。

较佳的,所述寄存器包括控制寄存器和状态寄存器;所述控制寄存器用于设置采样大周期、单路采样周期以及中断方式;所述状态寄存器用于表征目前系统的运行状态。

较佳的,所述sram包括两个分区,分别存储采集配置表和采集数据存储表;所述采集配置表和所述采集数据存储表的存储区之间具有预留空间,用于后续的扩展。

较佳的,所述采集配置表中的每一路采集通道对应一个sram地址,采集通道的顺序与sram地址的顺序对应;所述采集数据存储表中的每一次采集数据对应一个sram地址,采集通道的顺序与sram地址的顺序对应。

本发明实现的有益效果是:

本发明从提高ad采集功能的自动化程度出发,采用fpga实现技术,实现了多路ad的自动采集功能,降低了ad采集过程对cpu的依赖,同时采样表格化控制逻辑,赋予了ad采集系统应用灵活性。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

图1为本发明一实施例的一种fpga实现的ad自动采集系统的硬件组成逻辑框图;

图2为本发明一实施例的fpga内部逻辑框图;

图3为本发明一实施例的采集配置表和采集数据存储表与sram的逻辑关系图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。

图1为本发明系统硬件组成逻辑图,逻辑框图以三组ad为例。外部输入的模拟量输入至模拟开关,在fpga控制下模拟开关选通(多选1,如8选1、16选1),模拟量输入至ad转换芯片,在fpga控制下ad转换芯片实现对模拟量的模数转换,并将转换后的数据存入sram中。每个ad转换芯片由多片模拟开关配合使用,充分利用ad转换芯片,增加了可采集的路数。sram为本系统的缓存,用于存储采集配置表和采集数据存储表,cpu将采样配置信息存储在sram中,fpga读取配置信息控制采集过程,并将采集的结果写入sram中,cpu再从sram中读取采集的结果。

图2为fpga内部逻辑框图,fpga内部主要由cpu访问控制逻辑、寄存器(控制寄存器、状态寄存器)、sram访问仲裁逻辑、sram访问控制逻辑、定时器、ad转换芯片控制逻辑、模拟开关切换控制逻辑以及主控逻辑组成。cpu访问控制逻辑实现对cpu地址到sram和fpga内部寄存器等存储空间的映射,并实现sram访问仲裁逻辑与cpu访问逻辑的时序匹配,在sram未空闲的情况下,对cpu的访问进行延迟处理。寄存器即由fpga维护的控制寄存器和状态寄存器,控制寄存器用于设置采样大周期和单路采样周期,以及中断方式;状态寄存器用于表征目前系统的运行状态,如忙/闲状态等。sram访问仲裁逻辑实现对sram访问的优先级控制、访问选择,对同时多个源的sram访问根据优先级顺序进行逐一分配访问权限,实现对sram访问的有序控制。sram访问控制逻辑主要实现对sram读写访问的时序控制。定时器根据控制寄存器的设置维护自动采集系统的大周期和单路模拟量采集的小周期,提供给主控逻辑实现整个系统的周期化运行。ad转换芯片控制逻辑控制ad转换芯片的采样转换过程和采集结果的获取。模拟开关切换控制逻辑实现多路模拟量选择。主控逻辑根据定时器实现整个系统的周期化运行。

图3的采集配置表和采集数据存储表与sram的逻辑关系图描述了配置表和采集数据存储表在sram存储的情况,sram分成两个区分别存储采集配置表和采集数据存储表,采集配置表存储区和采集数据存储表存储区之间留有一定的预留空间,用户后续的扩展。采集配置表中的每一路采集通道对应一个sram地址,采集通道的顺序与sram地址的顺序对应,采集数据存储表中的每一次采集数据对应一个sram地址,采集通道的顺序与sram地址的顺序对应,采集数据存储表结尾以特定的字符表示。采集数据存储表每一项为单次采集的数据,而采集配置表每一项为单路采集通道和该采集通道的采集次数,所以采集数据存储表项目大于采集配置表,只有在每路采集通道的采集次数设置为1时,两者的项目才相同。

本系统的核心在于软件动态配置实现和ad自动化采集实现。系统设计实现了两张表,分别为采集配置表和采集数据存储表。采集配置表存储了单个周期内模拟量采集的通道号和单路模拟量采集的次数,模拟量采集的通道号按照该通道在周期内采样的位置顺序存储在表中。采集配置表和采集数据存储表均存储在系统缓存sram中。系统采集前,软件设计采集配置表,将需要采集模拟量的通道号按顺序写入采集配置表,可根据需要设置单周期采集的次数。第一路被采集的通道放置在配置表的第一行,最后一路被采集的通道放置在配置表的倒数第二行,最后一行存储特殊结束行,用于标示配置表结束。采集数据存储表为按照采集顺序存储的采集数据组成的表,包括采集数据和采集更新状态,采集更新状态表示在当前时刻,当前数据是否为该周期内采集的最新数据,采集更新状态通过单bit来定义,当数据更新时将上次的标志取反,即当上次标志为1时,本周期完成更新的数据的采集更新状态标志设置为0。软件启动采集后,fpga逐行读取采集配置表的信息,控制模拟通道切换和ad采样,并将获取的数据写入到采集数据存储表中,数据的存储顺序与配置表中的顺序一致。

ad自动化采集实现包括模拟开关切换时序控制、ad采集时序控制、sram时序控制,确保每个器件能够正常的工作。fpga读取采集配置表的信息采样通道号和采样次数,控制通道切换,按照时序要求控制ad芯片完成模数转换,fpga读取转换结果并将结果写入sram存储器中。采样顺序按照采集配置表中通道存储顺序进行,在完成所有通道采集后,发送中断告知cpu。ad自动化采集实现采用周期管理,周期管理主要实现完成系统周期管理和单路采集周期管理,系统周期内完成所有采集配置表内通道的采集,单路采集周期为单个通道单次采集的时间。对sram访问的包括cpu配置表写访问、cpu采集数据读访问、cpu采集数据状态度访问、fpga配置表读访问、fpga采集数据写访问等操作,仲裁逻辑设计了优先级控制,并确保每一种访问能够得到成功响应。中断逻辑完成中断的输出,在完成系统周期内的数据采集时,发送中断告知cpu。ad自动化采集实现主要由周期管理、时序控制、仲裁管理、中断逻辑等逻辑控制完成,根据配置寄存器进行周期性工作,并将工作状态反馈在状态寄存器中。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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