一种基于FPGA的芯片内部寄存器高可靠配置方法技术

技术编号:28558213 阅读:26 留言:0更新日期:2021-05-25 17:52
本发明专利技术提供一种基于FPGA的芯片内部寄存器高可靠配置方法,解决由于电磁干扰或者空间单粒子造成初始化配置过程随机被干扰从而偏离实际期望值,造成电子设备启动失败或部分功能异常的问题。该方法包括:步骤一、初始化寄存器列表信息;步骤二、启动寄存器配置过程;步骤三、寄存器配置过程;3.1)数据获取;3.2)寄存器写操作;3.3)寄存器读操作;3.4)数据判定;3.5)寄存器配置计数器更新。本发明专利技术方法以FPGA为核心处理器,在上电初始化配置过程中对外围芯片所有可读写寄存器进行写读询查,对只读寄存器进行状态询查以解决集成电路在复杂的电磁环境中初始化配置时可能存在的异常配置的风险。

【技术实现步骤摘要】
一种基于FPGA的芯片内部寄存器高可靠配置方法
本专利技术属于嵌入式系统开发
,具体涉及一种基于FPGA的外围电路芯片内部寄存器高可靠配置方法。
技术介绍
随着半导体集成电路技术的发展,现有电子设备大多采用核心处理器(CPU、FPGA、DSP、GPU等)配合各种功能的外围集成电路(IC)集合而成,单个的集成电路由于功能较为强大,为了适应不同客户、不同功能的需求,IC设计者通常在IC内部设置多个寄存器(多者甚至达到成千上万个寄存器)对IC的功能或者参数进行设定,根据不同的需要对不同的寄存器进行配置,此过程称之为初始化配置。但是,在复杂的电磁环境或强辐射的空间环境中,由于电磁干扰或者空间单粒子造成该初始化配置过程随机地被干扰从而偏离实际期望值,即某些需要更改默认值的寄存器被写入了错误的值,或者某些无需更改的寄存器默认值被篡改,造成电子设备启动失败或部分功能异常。
技术实现思路
本专利技术的目的是解决由于电磁干扰或者空间单粒子造成初始化配置过程随机被干扰从而偏离实际期望值,造成电子设备启动失败或部分功能异常的问题,提供一种基于FPGA的芯片内部寄存器高可靠配置方法。本专利技术方法以FPGA为核心处理器,在上电初始化配置过程中对外围芯片所有可读写寄存器进行写读询查,对只读寄存器进行状态询查以解决集成电路在复杂的电磁环境中初始化配置时可能存在的异常配置的风险。为实现上述目的,本专利技术采用如下技术方案:一种基于FPGA的芯片内部寄存器高可靠配置方法,包括以下步骤:步骤一、初始化寄存器列表信息;对寄存器列表信息进行初始化,所述寄存器列表信息包括可读写寄存器信息和只读寄存器信息,所述可读写寄存器信息包括寄存器地址、初始化配置值和读写标志信息,所述只读寄存器信息包括寄存器地址和只读标志信息;步骤二、启动寄存器配置过程;在开始配置信号和/或重配置信号有效时,FPGA内部状态机跳出等待配置状态进入下一步骤;步骤三、寄存器配置过程;3.1)数据获取;根据配置寄存器计数器,从初始化寄存器列表信息获取当前需要写读或者只读寄存器的地址、寄存器值和读写标志,根据读写标志状态机进入不同的状态,若读写标志为既写又读,则执行步骤3.2);若读写标志为只读,则执行步骤3.3);3.2)寄存器写操作;FPGA依据外围芯片的配置接口写时序要求产生相应的波形,写操作完成后,执行步骤3.3);3.3)寄存器读操作;FPGA依据外围芯片的配置接口读时序要求产生相应的波形,并接收外围芯片送出的当前地址寄存器数据,按照输出时序进行整理和/或转换,读操作完成后,执行步骤3.4);3.4)数据判定;若当前操作的寄存器读写标志为既写又读,则判断当前地址寄存器读出数据是否与步骤3.2)写入数据是否一致,若一致则执行步骤3.5),反之,执行步骤3.1);当前地址寄存器读出数据是步骤3.3)读操作时外围芯片送出的当前地址寄存器数据并经过整理和/或转换后的数据;若当前操作的寄存器读写标志为只读,则判断当前地址寄存器读出数据是否在正常范围内,若正常则执行步骤3.1),反之执行步骤3.3);3.5)寄存器配置计数器更新;完成当前寄存器操作后,判断所有寄存器是否询查完毕,若未完成则寄存器配置计数器加1或减1(依据计数方式而定),并重复步骤3.1)~步骤3.5),直至所有寄存器配置或询查完毕;反之,返回步骤二。进一步地,步骤一中,寄存器列表信息被预先存储在FPGA内部ROM中,上电自动加载。进一步地,步骤二中,开始配置信号和/或重配置信号是上电启动、复位或模式切换时产生的启动寄存器配置信号。进一步地,步骤3.2)中,配置接口包括I2C、SPI、JTAG、UART接口。与现有技术相比,本专利技术的有益效果为:本专利技术方法对FPGA外围芯片中的可读写寄存器采用写-读-比对的策略,从而确保写入数据与预设值一致;对只读寄存器,判定其状态值是否处于正常值范围,防止复杂的电磁环境对初始化配置产生影响从而导致异常配置,从而提高电子设备初始化配置的可靠性。附图说明图1为本专利技术基于FPGA的芯片内部寄存器高可靠配置方法流程示意图;图2为本专利技术提供的芯片内部寄存器可靠配置的状态机跳转图;图3为本专利技术实施例图像探测器SPI配置接口时序图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。本专利技术提供一种基于FPGA的芯片内部寄存器高可靠配置方法,该方法以FPGA为核心处理器,对FPGA外围器件内部寄存器进行高可靠初始化配置,降低复杂电磁环境对初始化配置过程产生干扰造成初始化异常的风险。该方法将芯片内部寄存器分为可读写和只读两类,不同类型的寄存器采用不同的操作和判别方法,提高配置的可靠性。本专利技术提供的基于FPGA的芯片内部寄存器高可靠配置方法具体包括以下过程:步骤一、初始化寄存器列表信息;对寄存器列表信息进行初始化,寄存器列表信息为该器件所有寄存器的信息,具体包括可读写寄存器信息和只读寄存器信息,可读写寄存器信息包括寄存器地址、初始化配置值和读写标志信息,只读寄存器信息主要为地址信息和只读标志信息,寄存器值设置无意义;该寄存器列表信息可以预先存储在FPGA内部ROM中,上电自动加载;步骤二、启动寄存器配置过程;在开始配置信号和/或重配置信号有效时,FPGA内部状态机跳出等待配置状态进入下一状态;开始配置信号和/或重配置信号具体可为上电启动、复位或模式切换时产生的启动寄存器配置信号;步骤三、寄存器配置过程;3.1)数据获取;根据配置寄存器计数器,从初始化寄存器列表信息ROM获取当前需要写读或者只读寄存器的地址、寄存器值和读写标志;并根据读写标志状态机进入不同的状态,若读写标志为既写又读,则状态机跳转至步骤3.2);若读写标志为只读,则状态机跳转至步骤3.3);3.2)寄存器写操作;写操作为FPGA依据外围芯片的配置接口写时序要求产生相应的波形,配置接口包括但不限于I2C、SPI、JTAG、UART接口;写操作完成后,状态机跳转至3.3);3.3)寄存器读操作;读操作为FPGA依据外围芯片的配置接口读时序要求产生相应的波形,并接收外围芯片送出的当前地址寄存器数据,按照输出时序进行整理和/或转换;读操作完成后,状态机跳转至步骤3.4);3.4)数据判定;数据判定分为两个部分:若当前操作的寄存器读写标志为既写又读,则判断当前地址寄存器读出数据是否与步骤3.2)写入数据是否一致,若一致则状态机跳转至步骤3.5),反之状态机跳转至步骤3.1);若当前操作的寄存器读写标志为只读,则判断当前地址寄存器读出数据是否在正常范围内,若正常则状态机跳转至步骤3.1),反之状态机跳转至步骤3.3);当前地址寄存器读出数据是步骤3.3)读操作时外围芯片送出的当本文档来自技高网...

【技术保护点】
1.一种基于FPGA的芯片内部寄存器高可靠配置方法,其特征在于,包括以下步骤:/n步骤一、初始化寄存器列表信息;/n对寄存器列表信息进行初始化,所述寄存器列表信息包括可读写寄存器信息和只读寄存器信息,所述可读写寄存器信息包括寄存器地址、初始化配置值和读写标志信息,所述只读寄存器信息包括寄存器地址和只读标志信息;/n步骤二、启动寄存器配置过程;/n在开始配置信号和/或重配置信号有效时,FPGA内部状态机跳出等待配置状态进入下一步骤;/n步骤三、寄存器配置过程;/n3.1)数据获取;/n根据配置寄存器计数器,从初始化寄存器列表信息获取当前需要写读或者只读寄存器的地址、寄存器值和读写标志,根据读写标志状态机进入不同的状态,若读写标志为既写又读,则执行步骤3.2);若读写标志为只读,则执行步骤3.3);/n3.2)寄存器写操作;/nFPGA依据外围芯片的配置接口写时序要求产生相应的波形,写操作完成后,执行步骤3.3);/n3.3)寄存器读操作;/nFPGA依据外围芯片的配置接口读时序要求产生相应的波形,并接收外围芯片送出的当前地址寄存器数据,按照输出时序进行整理和/或转换,读操作完成后,执行步骤3.4);/n3.4)数据判定;/n若当前操作的寄存器读写标志为既写又读,则判断当前地址寄存器读出数据是否与步骤3.2)写入数据是否一致,若一致则执行步骤3.5),反之,执行步骤3.1);当前地址寄存器读出数据是步骤3.3)读操作时外围芯片送出的当前地址寄存器数据并经过整理和/或转换后的数据;/n若当前操作的寄存器读写标志为只读,则判断当前地址寄存器读出数据是否在正常范围内,若正常则执行步骤3.1),反之执行步骤3.3);/n3.5)寄存器配置计数器更新;/n完成当前寄存器操作后,判断所有寄存器是否询查完毕,若未完成则寄存器配置计数器加1或减1,并重复步骤3.1)~步骤3.5),直至所有寄存器配置或询查完毕;反之,返回步骤二。/n...

【技术特征摘要】
1.一种基于FPGA的芯片内部寄存器高可靠配置方法,其特征在于,包括以下步骤:
步骤一、初始化寄存器列表信息;
对寄存器列表信息进行初始化,所述寄存器列表信息包括可读写寄存器信息和只读寄存器信息,所述可读写寄存器信息包括寄存器地址、初始化配置值和读写标志信息,所述只读寄存器信息包括寄存器地址和只读标志信息;
步骤二、启动寄存器配置过程;
在开始配置信号和/或重配置信号有效时,FPGA内部状态机跳出等待配置状态进入下一步骤;
步骤三、寄存器配置过程;
3.1)数据获取;
根据配置寄存器计数器,从初始化寄存器列表信息获取当前需要写读或者只读寄存器的地址、寄存器值和读写标志,根据读写标志状态机进入不同的状态,若读写标志为既写又读,则执行步骤3.2);若读写标志为只读,则执行步骤3.3);
3.2)寄存器写操作;
FPGA依据外围芯片的配置接口写时序要求产生相应的波形,写操作完成后,执行步骤3.3);
3.3)寄存器读操作;
FPGA依据外围芯片的配置接口读时序要求产生相应的波形,并接收外围芯片送出的当前地址寄存器数据,按照输出时序进行整理和/或转换,读操作完成后,执行步骤3.4);
3.4)数据判定;
若当前操作的寄存器读写标志为既写又读...

【专利技术属性】
技术研发人员:王华张辉刘庆王华伟曹剑中
申请(专利权)人:中国科学院西安光学精密机械研究所
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1