CN105608018B - 一种基于prom逻辑的数据比对方法 - Google Patents
一种基于prom逻辑的数据比对方法 Download PDFInfo
- Publication number
- CN105608018B CN105608018B CN201510943957.4A CN201510943957A CN105608018B CN 105608018 B CN105608018 B CN 105608018B CN 201510943957 A CN201510943957 A CN 201510943957A CN 105608018 B CN105608018 B CN 105608018B
- Authority
- CN
- China
- Prior art keywords
- data
- address
- prom
- section
- compared
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
一种基于PROM逻辑的数据比对方法,通过分析现有硬件数据比对电路的优缺点,提出了一种以PROM为逻辑核心的高效数据比对方法,利用PROM存储空间的可扩展性和通用性,使用小规模的分立逻辑电路将待比较数据转换成地址,通过寻址获得反馈信息的方式进行数据比对。与现有硬件数据比对的方法相比,具有电路简单,可靠性高,通用性移植性好,保密性强等优点,尤其适用于空间环境下卫星上行遥控指令的译码应用,可以大大提高遥控译码器设计的效率和可靠性,在硬件数据比对领域有着广阔的应用前景。
Description
技术领域
本发明涉及一种数据比对方法,可兼容不同大小数据集比对,具有比对速度快,电路规模小,通用性强,保密性好的特点。方法所使用的器件都具有很强的空间环境适应能力,尤其适合空间环境应用,也适用于具有类似数据比对需求的其他领域。
背景技术
现有的硬件数据比对电路设计存在两种设计方法,一种使用FPGA或DSP等大规模可编程逻辑电路实现,另一种为使用分立硬件比较器器件实现。
在空间环境应用中,现有的两种方法均存在不足。第一种方法,受空间辐照环境,如单粒子事件的影响,可靠性不高;第二种方法不足之处包括:1)需为每一组数据设计一个对应的硬件比较器,设计复杂,规模庞大。硬件规模与数据集合大小成正比,空间应用成本高;2)通用性、移植性差。电路一旦完成设计,不容易更改,仅能适应一个数据集合的比对,不具备移植性;3)可通过电路反推数据集,保密性差。
随着空间应用中对可靠性、电路规模和产品化等要求不断提高,现有的硬件比对电路设计已然无法满足目前空间环境的应用要求。
发明内容
本发明解决的技术问题是:克服现有两种比对方式的不足,提供了一种基于PROM逻辑的高效数据比对方法,核心器件PROM的存储空间具有可扩展性和通用性,通过更换PROM可容易实现待比较数据集切换,通用性和移植性好,空间应用可靠性高。
本发明的技术解决方案是:一种基于PROM逻辑的数据比对方法,包括如下步骤:
(1)将待比较数据的条数P转换成二进制,二进制表示所需的位数记为M,用M位二进制数为每条待比较数据分配一个唯一的标识ID;
(2)在每条待比较数据的前端增加M位相同的巴克码,用于起始位置识别;
(3)将增加了巴克码的每条待比较数据按固定长度M进行分段,不满一段的通过后端补0按一段计算,得到每条待比较数据所包含的总段数并转换成二进制,二进制表示所需的位数记为N,如果待比较数据具有不同的数据长度,则总段数以P条待比较数据中的最长数据长度计算;用N位二进制数表示段序号,段序号从1开始并按1递增;
(4)选取地址位数大于等于(M+N)且存储数据位宽大于等于(M+2)的PROM作为比较器件;
(5)将PROM的地址划分为高位地址和低位地址,低位地址为1~M位,高位地址为(M+1)位至(M+N)位;通过高位地址将PROM的地址空间划分为2N个区间,其中区间0用于存储巴克码信息,区间1用于存储待比较数据的第1段数据信息,区间2用于存储待比较数据的第2段数据信息,依此类推;
(6)在区间0上进行数据存储,区间0上地址高N位全部为二进制表示的0,区间0只在一个地址上存储数据,该地址的低位为巴克码码位;在该地址下存储数据的高2位为10,低M位填充全0数据;区间0中的除巴克码对应地址以外的其余所有地址下存储数据全部填充(M+2)位全0数据;存储数据高2位为10表示当前数据正确且标识ID不需一致性比对,可以进行下一段数据比较;存储数据高2位为00表示当前数据错误,不再需要比对标识ID;
(7)在区间1上进行数据存储,区间1上地址高N位全部为二进制表示的1,区间1在P个地址上存储数据,各存储地址的低位为各条待比较数据的第1段数据;每个地址下存储数据的高2位均为01,低M位为对应的标识ID;区间1中除P个数据存储地址外,其余地址下存储数据全部写入(M+2)位全0数据;PROM数据的高2位为01表示当前数据正确,但需要比较标识ID;
(8)按照步骤(7)的方法,对从区间2开始的后续区间的各地址写入数据;如果由于待比较数据存在某段数据完全一致导致不同的标识ID信息需写入同一地址的情况,则将该地址下存储数据的高2位置为10,低M位为其中一个需写入该地址数据的标识ID;所有待比较数据的最后一段对应的地址内,存储数据的高2位为11,低M位为标识ID;
(9)PROM上电或复位,将PROM地址位全部置0,同时设定标识ID缓存器并清空;
(10)从外部接收串行数据并进行长度为M的移位寄存,形成的M位并行数据作为PROM器件地址位的低位,对于第1组M位数据,对于开始的巴克码码型数据,直接根据低位地址在PROM上寻址到唯一地址并读出其中的高2位数据10,形成反馈信息将PROM地址位的高位加1,同时地址位的低位变为第2组M位数据,PROM的低位地址和高位地址拼接成组合地址,用此组合地址对PROM进行寻址操作,读出对应地址上的PROM存储数据,如果寻址读出的数据高2位为00,则复位并转至步骤(9);如寻果址读出的数据高2位为01,则ID缓存器记录当前标识ID,并与已经缓存的标识ID比较,一致则判定正确并形成反馈信息将PROM地址位的高位加1,不一致则判定为错误,则复位并转至步骤(9);当ID缓存器第一次记录标识ID时,直接缓存并判定为正确;
(11)重复步骤(9)~(10),直至比较完成所有串行数据。
本发明与现有技术相比的优点在于:
(1)本发明方法所使用的器件均具有很强的空间辐照适应能力,相比FPGA等大规模集成电路具有更高的可靠性,尤其适用于可靠性需求较高的空间应用场合;
(2)本发明方法所涉及的硬件电路规模小,与使用FPGA等大规模集成电路的比对电路规模相当,远小于使用硬件比较器搭建的比对电路,电路体积功耗小,空间应用成本低;
(3)现有的硬件比较器搭建的比对电路更改或扩充都将导致硬件电路的重新设计,通用性,移植性差;本发明方法的核心器件为PROM,通用性、移植性强,通过PROM更改可简单实现指令集的更改或扩充;
(4)本发明由于使用了RPOM实现比对,PROM中所存储的内容与待比较数据不相关,无法直接反推,保密性极强。
附图说明
图1为本发明方法的流程图;
图2为本发明方法的原理框图。
具体实施方式
本发明方法适用于具有如下特征的数据集比对:数据集含单条或多条数据,每条数据具有有限长度,比对采用单线程串行比较方式,无法同时识别多条数据。
如图1所示,为本发明方法的流程框图,图2为本发明的原理框图,本发明的主要步骤如下:
将待比较数据的条数P转换成二进制,二进制表示所需的位数记为M,用M位二进制数为每条待比较数据分配一个唯一的标识ID;
(2)在每条待比较数据的前端增加M位相同的巴克码,用于起始位置识别;
(3)将增加了巴克码的每条待比较数据按固定长度M进行分段,不满一段的通过后端补0按一段计算,得到每条待比较数据所包含的总段数并转换成二进制,二进制表示所需的位数记为N,如果待比较数据具有不同的数据长度,则总段数以P条待比较数据中的最长数据长度计算;用N位二进制数表示段序号,段序号从1开始并按1递增;
(4)选取地址位数大于等于(M+N)且存储数据位宽大于等于(M+2)的PROM作为比较器件。将待比较数据按照步骤(5)至步骤(8)方法生成PROM文件,写入PROM;
(5)PROM的地址划分为高位地址和低位地址,低位地址为0~M位,高位地址为(M+1)位至(M+N)位。用高位地址将PROM的地址空间划分为2N个区间,区间0存储巴克码信息,区间1存储每条待比较数据第1段信息,区间2存储每条待比较数据第2段信息,依此类推;
(6)在区间0上进行数据存储,区间0上地址高位全部为N位二进制表示的0,区间0只在一个地址上存储数据,该地址的低位为巴克码码位;在该地址下存储数据的高2位为10,低M位填充全0数据;区间0中的除巴克码对应地址以外的其余所有地址下存储数据全部填充(M+2)位全0数据;存储数据高2位为10表示当前数据正确且标识ID不需一致性比对,可以进行下一段数据比较;存储数据高2位为00表示当前数据错误,不再需要比对标识ID;
(7)在区间1上进行数据存储,区间1上地址高位全部为N位二进制表示的1,区间1在P个地址上存储数据,各存储地址的低位为各条待比较数据的第1段数据;每个地址下存储数据的高2位均为01,低M位为对应的标识ID。区间1中除P个数据存储地址外,其余地址下存储数据全部写入(M+2)位全0数据;PROM数据的高2位为01表示当前数据正确,但需要比较标识ID;
(8)按照步骤(7)的方法,对从区间2开始的后续区间的各地址写入数据;如果由于待比较数据存在某段数据完全一致导致不同的标识ID信息需写入同一地址的情况,则将该地址下存储数据的高2位置为10,低M位为其中一个需写入该地址数据的标识ID;所有待比较数据的最后一段对应的地址内,存储数据的高2位为11,低M位为标识ID;
(9)PROM上电或复位,将PROM地址位全部置0,同时设定标识ID缓存器并清空,分段信号重置;
(10)将待比较数据进行长度为M的移位寄存,形成的M位并行数据作为PROM器件地址位的低位,PROM器件地址位的高位由数据反馈信息决定。低位地址和高位地址拼接成组合地址,用此组合地址对PROM进行寻址操作,读出对应地址上的PROM数据,读出的数据通过组合逻辑产生反馈信息;
(11)第1字段比对,串行移位寄存后数据为步骤(2)中巴克码码型时,组合地址寻址读出的数据高2位为10,组合逻辑电路判断当前数据正确且不需标识ID前后比对,形成反馈信息将PROM地址位高位加1。
上电或复位后,组合逻辑在首次收到正确判定时产生分段信号,分段信号从巴克码的结束位置开始计算,每M位数据分为一段,直至此条待比较数据比对结束,***复位后分段信号重置;分段信号实现将待比较数据按照步骤(3)中的分段方式进行识别,使待比较数据以步骤(3)中分段并完成M位移位后再作为低位地址寻址;
(12)PROM高位地址加1后,与分段信号控制的低位地址组合进行寻址,读出对应地址上的PROM存储数据,如果寻址读出的数据高2位为00,则复位并转至步骤(9);如寻果址读出的数据高2位为01,则ID缓存器记录当前标识ID,并与已经缓存的标识ID比较,一致则判定正确并形成反馈信息将PROM地址位的高位加1,不一致则判定为错误,则复位并转至步骤(9);当ID缓存器第一次记录标识ID时,直接缓存并判定为正确;
(13)重复步骤(9)~(12),直至比较完成所有串行数据。
(14)当读出PROM数据为高2位为11时,比较当前标识ID,正确则将当前标识ID作为最终结果输出,发出数据比对正确完成标识,***复位。
实施例
以60000条数据,每条数据长16000位的数据集比较为例。条数60000用二进制表示为1110 1010 0110 0000,需用16位,M取值16。用16位二进制数为每条数据编制一个唯一的标识ID。
16位巴克码选用0XEB90,增加巴克码后数据长度16016位,按16位分段后分为1001段,用二进制表示为11 1110 1001,需用10位,N取值10。
选用PROM地址位至少26位,数据位至少18位。PROM地址高10位定义为高位,通过高10位将PROM地址划分为210即1024个区间。
区间0地址为0X000 0000~0X000 FFFF,仅在0X000 EB90地址上写数据,写的数据为10 0000 0000 0000 0000,其余地址写入全0数据;
区间1地址为0X001 0000~0X001 FFFF,在60000个地址上写数据,地址低位为60000条数据的第一段数据,写入的数据为01+标识ID(16位)。
后续区间操作类似区间1,直至第999区间。
第1000区间地址为0X3E8 0000~0X3E8 FFFF,在60000个地址上写数据为11+标识ID(16位)。
上电后或复位后,PROM地址位高位置为N位全0,标识ID缓存器清空;
数据串行进入,串并转换后形成16位数作为PROM低位地址,地址高位为0,流入数据为0XEB90时,拼接地址为0X000 EB90,读出数据高位为10,反馈后将高位地址置为0X001,同时后续待比较数据从此处开始分段;分段后待比较数据与新的高位地址组合成新的地址,再进行寻址读出对应地址上的PROM存储数据,获得反馈信息,直至所有数据比对完成。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
Claims (1)
1.一种基于PROM逻辑的数据比对方法,其特征在于包括如下步骤:
(1)将待比较数据的条数P转换成二进制,二进制表示所需的位数记为M,用M位二进制数为每条待比较数据分配一个唯一的标识ID;
(2)在每条待比较数据的前端增加M位相同的巴克码,用于起始位置识别;
(3)将增加了巴克码的每条待比较数据按固定长度M进行分段,不满一段的通过后端补0按一段计算,得到每条待比较数据所包含的总段数并转换成二进制,二进制表示所需的位数记为N,如果待比较数据具有不同的数据长度,则总段数以P条待比较数据中的最长数据长度计算;用N位二进制数表示段序号,段序号从1开始并按1递增;
(4)选取地址位数大于等于(M+N)且存储数据位宽大于等于(M+2)的PROM作为比较器件;
(5)将PROM的地址划分为高位地址和低位地址,低位地址为1~M位,高位地址为(M+1)位至(M+N)位;通过高位地址将PROM的地址空间划分为2N个区间,其中区间0用于存储巴克码信息,区间1用于存储待比较数据的第1段数据信息,区间2用于存储待比较数据的第2段数据信息,依此类推;
(6)在区间0上进行数据存储,区间0上地址高N位全部为二进制表示的0,区间0只在一个地址上存储数据,该地址的低位为巴克码的码位;在该地址下存储数据的高2位为10,低M位填充全0数据;区间0中的除巴克码对应地址以外的其余所有地址下存储数据全部填充(M+2)位全0数据;存储数据高2位为10表示当前数据正确且标识ID不需一致性比对,可以进行下一段数据比较;存储数据高2位为00表示当前数据错误,不再需要比对标识ID;
(7)在区间1上进行数据存储,区间1上地址高N位全部为二进制表示的1,区间1在P个地址上存储数据,各存储地址的低位为各条待比较数据的第1段数据;每个地址下存储数据的高2位均为01,低M位为对应的标识ID;区间1中除P个数据存储地址外,其余地址下存储数据全部写入(M+2)位全0数据;PROM数据的高2位为01表示当前数据正确,但需要比较标识ID;
(8)按照步骤(7)的方法,对从区间2开始的后续区间的各地址写入数据;如果由于待比较数据存在某段数据完全一致导致不同的标识ID信息需写入同一地址的情况,则将该地址下存储数据的高2位置为10,低M位为其中一个需写入该地址数据的标识ID;所有待比较数据的最后一段对应的地址内,存储数据的高2位为11,低M位为标识ID;
(9)PROM上电或复位,将PROM地址位全部置0,同时设定标识ID缓存器并清空;
(10)从外部接收串行数据并进行长度为M的移位寄存,形成的M位并行数据作为PROM器件地址位的低位,对于第1组M位数据,对于开始的巴克码,直接根据低位地址在PROM上寻址到唯一地址并读出其中的高2位数据10,形成反馈信息将PROM地址位的高位加1,同时地址位的低位变为第2组M位数据,PROM的低位地址和高位地址拼接成组合地址,用此组合地址对PROM进行寻址操作,读出对应地址上的PROM存储数据,如果寻址读出的数据高2位为00,则复位并转至步骤(9);如寻果址读出的数据高2位为01,则ID缓存器记录当前标识ID,并与已经缓存的标识ID比较,一致则判定正确并形成反馈信息将PROM地址位的高位加1,不一致则判定为错误,则复位并转至步骤(9);当ID缓存器第一次记录标识ID时,直接缓存并判定为正确;
(11)重复步骤(9)~(10),直至比较完成所有串行数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510943957.4A CN105608018B (zh) | 2015-12-16 | 2015-12-16 | 一种基于prom逻辑的数据比对方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510943957.4A CN105608018B (zh) | 2015-12-16 | 2015-12-16 | 一种基于prom逻辑的数据比对方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105608018A CN105608018A (zh) | 2016-05-25 |
CN105608018B true CN105608018B (zh) | 2018-07-03 |
Family
ID=55987969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510943957.4A Active CN105608018B (zh) | 2015-12-16 | 2015-12-16 | 一种基于prom逻辑的数据比对方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105608018B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115757218A (zh) * | 2022-11-22 | 2023-03-07 | 重庆鹰谷光电股份有限公司 | 应用于半导体芯片数据存储的计算逻辑*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101876699A (zh) * | 2009-04-30 | 2010-11-03 | 中国科学院空间科学与应用研究中心 | 一种星载微波辐射计的控制***及其控制方法 |
CN102122129A (zh) * | 2010-12-10 | 2011-07-13 | 长沙天穹电子科技有限公司 | 一种固定点位置高可靠的卫星定时方法和装置 |
CN102955425A (zh) * | 2010-12-10 | 2013-03-06 | 长沙天穹电子科技有限公司 | 一种固定点位置高可靠的卫星定时方法 |
CN104484238A (zh) * | 2014-12-16 | 2015-04-01 | 北京控制工程研究所 | 一种用于sram型fpga配置刷新的crc校验方法 |
-
2015
- 2015-12-16 CN CN201510943957.4A patent/CN105608018B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101876699A (zh) * | 2009-04-30 | 2010-11-03 | 中国科学院空间科学与应用研究中心 | 一种星载微波辐射计的控制***及其控制方法 |
CN102122129A (zh) * | 2010-12-10 | 2011-07-13 | 长沙天穹电子科技有限公司 | 一种固定点位置高可靠的卫星定时方法和装置 |
CN102955425A (zh) * | 2010-12-10 | 2013-03-06 | 长沙天穹电子科技有限公司 | 一种固定点位置高可靠的卫星定时方法 |
CN104484238A (zh) * | 2014-12-16 | 2015-04-01 | 北京控制工程研究所 | 一种用于sram型fpga配置刷新的crc校验方法 |
Non-Patent Citations (1)
Title |
---|
一种使用CPLD器件产生巴克码的实现方法;信召军;《电子元器件应用》;20091130;第11卷(第11期);60-65 * |
Also Published As
Publication number | Publication date |
---|---|
CN105608018A (zh) | 2016-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101572552B (zh) | 基于内容可寻址存储器的高速无损数据压缩*** | |
CN105487812A (zh) | 用于支持存储器内处理的方法和存储器模块 | |
CN103729303A (zh) | 一种Flash的数据写入和读取方法 | |
CN102543209A (zh) | 多通道闪存控制器的纠错装置、方法及多通道闪存控制器 | |
CN101135951B (zh) | 数据输出设备和方法、存储器***、数据处理方法 | |
CN102375720A (zh) | 异步先入先出存储器fifo的读写控制处理方法、电路及*** | |
CN109889205A (zh) | 编码方法及***、解码方法及***、编解码方法及*** | |
CN105844210A (zh) | 硬件有效的指纹识别 | |
CN104598194A (zh) | 一种头尾指针链表存储器的初始化方法及电路 | |
CN105426918A (zh) | 归一化相关图像模板匹配高效实现方法 | |
CN105608018B (zh) | 一种基于prom逻辑的数据比对方法 | |
CN101211256A (zh) | 一种专用双流水线risc指令***及其操作方法 | |
CN110515542A (zh) | 数据存储方法、装置、计算设备、存储***及存储介质 | |
CN110546709A (zh) | 提供坏列修复的存储器设备和操作其的方法 | |
CN103778120A (zh) | 全局文件标识生成方法、生成装置及相应的分布式文件*** | |
CN114936112A (zh) | 无源超高频电子标签芯片数字基带处理器控制方法 | |
CN101207467A (zh) | 循环冗余校验码的生成和数据序列发送、校验方法及装置 | |
CN204166522U (zh) | 一种高速大容量flash单板存储电路板 | |
CN102097125A (zh) | Pcm的写操作方法 | |
CN102426601B (zh) | 数据删除方法和装置 | |
CN101707510A (zh) | 一种高速Turbo译码方法和装置 | |
CN102386935A (zh) | 维特比译码方法及维特比译码器 | |
CN109213973B (zh) | Vin码转码存储方法及装置和对应的读取方法及装置 | |
CN104298572A (zh) | 一种纠错方法、装置和*** | |
CN101587467B (zh) | 一种应用于可重构计算架构的重构信息发送引擎 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |