一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

初始化数据导入方法与流程

2022-07-13 23:24:23 来源:中国专利 TAG:


1.本发明属于集成电路技术领域,具体涉及一种初始化数据导入方法。


背景技术:

2.在asic和mcu电路设计中,刚上电的器件都具有初始化动作。在初始化动作中,会将非易失寄存器中的数据转存到各种状态寄存器中,比如将band gap的配置存放到bgr状态寄存器中,用于上电后配置基准电压值;将osc的配置存放于osc状态寄存器中,用于配置osc的频率;将ldo的配置存放于ldo寄存器中,用于配置数字供电的vdd电源电压等。
3.但是初始化动作会因为以下等原因导致转存的数据出错:1、应用环境如电源环境异常,在进行该动作时,电源抖动太大;2、低功耗设计中,未做电源检测,导致在较低电源电压下进行该动作;3、非易失寄存器中某些设计的读取条件过于严苛,导致非易失寄存器的数据读取错误。
4.发生诸如以上错误时会导致:1、上电后模拟参数异常,比如vref、vdd或osc等器件参数异常,导致芯片工作电压太高,芯片烧毁或功耗过大;2、数字部分状态寄存器异常导致数字逻辑功能错误等。


技术实现要素:

5.本发明针对器件在初始化过程中由于数据转存错误导致芯片烧毁、功耗过大或功能错误的技术问题,目的在于提供一种初始化数据导入方法。
6.一种初始化数据导入方法,包括如下步骤:将预设在非易失寄存器中的一组初始化数据导入状态寄存器中,所述初始化数据包括配置数据和校验数据;判断所述校验数据是否正确;若所述校验数据正确,则继续进行下一组初始化数据的导入及判断工作;若所述校验数据不正确,则再次从所述非易失寄存器中将当前一组的所述初始化数据导入所述状态寄存器中,覆盖上一次导入的所述初始化数据,继续判断所述校验数据是否正确;当所述非易失寄存器中的所有初始化数据均导入所述状态寄存器中,则初始化数据导入完成。
7.可选的,在所述将预设在非易失寄存器中的一组初始化数据导入状态寄存器中之前,还包括:在所述非易失寄存器中的配置数据内插入预设的校验数据,所述配置数据和所述校验数据一起形成一组所述初始化数据。
8.可选的,在一行的所述配置数据的首尾分别插入所述校验数据,同一行中的所述
配置数据和所述校验数据形成一组所述初始化数据。
9.可选的,在一行的所述配置数据前插入一行所述校验数据,一行所述配置数据和前一行所述校验数据形成一组所述初始化数据。
10.可选的,所述将预设在非易失寄存器中的一组初始化数据导入状态寄存器中,包括:将一组初始化数据通过所述非易失寄存器的读取放大器逐个进行读取,再把读取的所述初始化数据导入所述状态寄存器中。
11.可选的,在所述读取放大器读取所述校验数据时的读取条件高于读取所述配置数据时的读取条件。
12.可选的,所述读取放大器包括:一电源电压;一电流检测器,输入端与所述电源电压连接,输出端与所述非易失寄存器的存储单元的漏端连接,用以检测第一电流;一参考电压,与所述存储单元的浮栅控制端连接;一反相器,输入端连接所述电流检测器和所述存储单元的公共端,输出端作为数据输出端;所述存储单元的源端和衬底接地;将所述读取放大器读取所述校验数据时的所述第一电流的电流值设置为高于所述读取放大器读取所述配置数据时的所述第一电流的电流值。
13.可选的,所述读取放大器包括:一电源电压;一电流检测器,输入端与所述电源电压连接,输出端与所述非易失寄存器的存储单元的漏端连接,用以检测第一电流;一参考电压,与所述存储单元的浮栅控制端连接;一反相器,输入端连接所述电流检测器和所述存储单元的公共端,输出端作为数据输出端;所述存储单元的源端和衬底接地;将所述读取放大器读取所述校验数据时的所述存储单元的阈值电压设置为高于所述读取放大器读取所述配置数据时的所述存储单元的阈值电压。
14.可选的,所述存储单元采用 flash_bitcell、eeprom_bitcell、otp_bitcell、mtp_bitcell、mram_bitcell、rram_bitcell或pcram_bitcell中的一种。
15.可选的,所述判断所述初始化数据中预设的校验数据是否正确,包括:读取所述状态寄存器中当前一组的所述初始化数据,逐个提取所述初始化数据中预设的所述校验数据,将所述校验数据与比较寄存器中预设的验证数据进行比较,若都相同,则认为所述校验数据正确,否则认为所述校验数据不正确。
16.本发明的积极进步效果在于:本发明采用初始化数据导入方法,在原有的配置数据中预设校验数据后,通过判断校验数据是否正确来确定配置数据的准确性,从而避免了从非易失寄存器中导入状态寄存器中的配置数据出错的问题。本发明还通过对读取校验数据时设置更严格的读取条件来进一步确保读取配置数据时的准确性。
附图说明
17.图1为本发明的一种方法流程图;图2为本发明一个实施例中的多组初始化数据;图3为本发明另一个实施例中的多组初始化数据;图4为本发明一个实施例流程图;图5为本发明读取放大器的一种逻辑电路图。
具体实施方式
18.为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示进一步阐述本发明。
19.参照图1,一种初始化数据导入方法,包括如下步骤:s1,导入初始化数据:将预设在非易失寄存器中的一组初始化数据导入状态寄存器中,初始化数据包括配置数据和校验数据。
20.本步骤中的配置数据是用于对器件进行初始化动作时所需要的数据,校验数据是预设的区别于配置数据的一串数据。配置数据和校验数据一起作为初始化数据预先存储在非易失寄存器中,该非易失寄存器中储存有多组初始化数据。在器件上电进行初始化动作中,将该非易失寄存器中的初始化数据导入到各个状态寄存器中。
21.本步骤中在对初始化数据进行导入过程中,采用按组的方式逐个将每一组的初始化数据导入状态寄存器中,只有一组初始化数据在后续判断为正确情况下,才进行下一组初始化数据的导入。
22.在一个实施例中,在步骤s1,之前,还包括:s0,在配置数据内插入校验数据:在非易失寄存器中的配置数据内插入预设的校验数据,配置数据和校验数据一起形成一组初始化数据。
23.本发明在进行数据导入之前,在原有的配置数据中通过插入校验数据的方式形成多组初始化数据。校验数据的插入可以采用现有技术中的校验手段实现,如奇偶校验方法、海明校验方法或crc校验方法等,也可以采用本发明的如下优选方式。
24.在一个实施例中,在一行的配置数据的首尾分别插入校验数据,同一行中的配置数据和校验数据形成一组初始化数据。
25.配置数据通常具有多行数据,在每一行配置数据的首尾均插入校验数据,使得导入数据时是逐行进行导入。参照图2,列出了两组初始化数据,校验数据为“abcd”,需要导入的配置数据为多个“****”,即一组初始化数据就是一行数据。
26.在每一行的配置数据的首尾分别插入校验数据的方式,使得在进行下一步判断时,可非常简单的确定提取的哪个数据是校验数据。
27.在一个实施例中,在一行的配置数据前插入一行校验数据,一行配置数据和前一行校验数据形成一组初始化数据。
28.参照图3,列出了两组初始化数据,校验数据插入于每一行的配置数据之前,使得导入数据时是两行数据作为一个整体进行导入,即一组初始化数据就是两行数据。
29.s2,判断校验数据:判断校验数据是否正确,若校验数据正确,则继续进行下一组初始化数据的导入及判断工作;若校验数据不正确,则再次从非易失寄存器中将当前一组
的初始化数据导入状态寄存器中,覆盖上一次导入的初始化数据,继续判断校验数据是否正确。
30.本发明的初始化数据是按组的方式进行导入,因此当一组初始化数据内的校验数据判断为正确时,返回s1,进行下一组初始化数据的导入工作。当一组初始化数据内的校验数据判断为不正确时,认为该组的初始化数据是存在错误的情况,重新返回s1,对当前组的初始化数据进行重复导入工作,重新导入的初始化数据覆盖上一次导入的数据,直到校验数据判断为正确为止。
31.在一个实施例中,步骤s2包括:读取状态寄存器中当前一组的初始化数据,逐个提取初始化数据中预设的校验数据,将校验数据与比较寄存器中预设的验证数据进行比较,若都相同,则认为校验数据正确,否则认为校验数据不正确。
32.本实施例中,预先在比较寄存器内存储有与预设的校验数据相同的验证数据,该验证数据通常只能读取而不能改写,以确保验证数据的准确性。
33.s3,完成数据导入:当非易失寄存器中的所有初始化数据均导入状态寄存器中,则初始化数据导入完成。
34.在芯片电源电压较低或系统不稳定的情况下,读取初始化数据不加判断时,有可能读取的数据错误,导致芯片进入错误的状态,并且不能恢复到正常的状态中。本发明基于此,在导入初始化数据后加入校验,如果检测到初始化数据有问题,则会一直校验,直到初始化数据正确为止,本发明的方式可以保证导入的初始化数据正确可靠。
35.本发明还可以将预设的非易失寄存器中的一组初始化数据导入状态寄存器中之前进行初始化数据的判断,若校验数据正确,则将该组初始化数据导入状态寄存器中,继续进行下一组初始化数据的判断和导入。若校验数据不正确,则再次从预设的非易失寄存器中将当前一组的初始化数据取出进行校验。但是这种方式需要更多的组合逻辑电路实现,且实现方法较为复杂。因此本发明采用先导入后校验的方式。
36.在一个实施例中,参照图4,一芯片上电初始化过程如下:1、芯片上电;2、将非易失寄存器内的初始化数据导入状态寄存器中;3、将状态寄存器中导入的校验数据逐个与比较寄存器内的验证数据进行比较;4、比较一致,则认为校验数据正确;判断当前一组初始化数据是否是最后一组初始化数据,若不是,则进行下一组初始化数据的导入,若是则认为所有数据均已导入成功;5、比较不一致,则认为校验数据不正确,返回将非易失寄存器内的初始化数据导入状态寄存器中的步骤。
37.通过在配置数据内插入校验数据的方式,对校验数据进行准确性判断,大大提高了配制数据的准确性。但是也有可能发生校验数据导入正确,而配制数据错误的情况,因此本发明通过如下方式进一步避免了配制数据错误的可能性。
38.在一个实施例中,步骤s1包括:将一组初始化数据通过非易失寄存器的读取放大器逐个进行读取,再把读取的初始化数据导入状态寄存器中。在读取放大器读取校验数据时的读取条件高于读取配置数据
时的读取条件。
39.在读取校验数据时的读取条件比读取配置数据时的读取条件更严格,则当校验数据准确时,配置数据必然是准确的。
40.参照图5,本发明的读取放大器的逻辑关系如下:电源电压vdd与电流检测器i1的输入端连接,电流检测器i1的输出端与非易失寄存器的存储单元m1的漏端连接,电流检测器i1检测得到第一电流,存储单元m1的源端和衬底接地,存储单元m1的浮栅控制端连接参考电压vref,反相器g1的输入端连接电流检测器i1和存储单元m1的公共端,反相器g1的输出端作为数据输出端dout。
41.存储单元m1是非易失寄存器的核心器件,存储单元m1采用flash_bitcell、eeprom_bitcell、otp_bitcell、mtp_bitcell、mram_bitcell、rram_bitcell或pcram_bitcell中的一种。当存储单元m1被擦除或写入时,存储单元m1会呈现不同的阈值电压vth,比如,存储单元m1在被擦除时的阈值电压vth为1v,则存储单元m1在被写入时的阈值电压vth为5v。如图5中所示,当存储单元m1的阈值电压vth很大时,参考电压vref不能开启存储单元m1,此时数据输出端dout输出0,当存储单元m1的阈值电压vth很小时,参考电压vref可以开启存储单元m1,此时数据输出端dout输出1。
42.在一种设计中,将第一电流设置成不同电流值,电流越大,所需要的电源电压vdd越高,读取存储单元m1的读取条件更严格。基于上述原理,在一个实施例中,本发明可以将读取放大器读取校验数据时的第一电流i1的电流值设置为高于读取放大器读取配置数据时的第一电流i1的电流值。
43.基于此,在读取存储单元m1中的校验数据时,将第一电流设置为较大的电流值,在读取配置数据时,将第一电流设置为较小的电流值,这样可以保证校验数据比配置数据读取更严格,当读取更严格的校验数据正确情况下,能保证了配置数据的正确性。
44.再另一种设计中,存储单元m1的阈值电压vth受写入时间和写入电压影响,更高的写入电压和时间会导致存储单元m1的阈值电压vth更高,在第一电流i1相同的情况下,阈值电压vth越高,所需要的电源电压vdd也越高,读取条件也更严格。基于上述原理,在一个实施例中,本发明可以将读取放大器读取校验数据时的存储单元的阈值电压设置为高于读取放大器读取配置数据时的存储单元的阈值电压。
45.基于此,在读取存储单元m1中的校验数据时,经历更多的写入电压和写入时间,而配置数据经历更少的写入电压和写入时间,这样可以保证校验数据比配置数据读取更严格,当读取更严格的校验数据正确情况下,能保证了配置数据的正确性。
46.以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定 。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献