本發(fā)明專利技術(shù)公開了一種基于SRAM的數(shù)據(jù)存取方法和數(shù)據(jù)存取系統(tǒng),包括:S1:數(shù)據(jù)寫入模塊為若干字節(jié)數(shù)據(jù)的每個(gè)字節(jié)設(shè)置校檢位,并根據(jù)每個(gè)字節(jié)的數(shù)據(jù)確定相對應(yīng)的校檢位的數(shù)值;S2:數(shù)據(jù)寫入模塊根據(jù)若干字節(jié)數(shù)據(jù)的寫入地址,將若干字節(jié)數(shù)據(jù)和相對應(yīng)的校檢位的數(shù)值寫入到SRAM中;S3:數(shù)據(jù)讀取模塊根據(jù)數(shù)據(jù)的讀取地址,從SRAM中讀取數(shù)據(jù)和相對應(yīng)的校檢位的數(shù)值,并在讀取過程中根據(jù)讀取的數(shù)據(jù)和相對應(yīng)的校檢位的數(shù)值來確定讀取的數(shù)據(jù)是否正確;S4:若數(shù)據(jù)讀取模塊判斷讀取的數(shù)據(jù)錯(cuò)誤,則停止讀取,然后將錯(cuò)誤的數(shù)據(jù)和錯(cuò)誤的數(shù)據(jù)的讀取地址保存到SRAM中。提高數(shù)據(jù)讀取模塊讀取SRAM中的數(shù)據(jù)的準(zhǔn)確性。據(jù)的準(zhǔn)確性。據(jù)的準(zhǔn)確性。
【技術(shù)實(shí)現(xiàn)步驟摘要】
一種基于SRAM的數(shù)據(jù)存取方法和數(shù)據(jù)存取系統(tǒng)
[0001]本專利技術(shù)涉及智能機(jī)器人
,具體涉及一種基于SRAM的數(shù)據(jù)存取方法和數(shù)據(jù)存取系統(tǒng)。
技術(shù)介紹
[0002]在當(dāng)前面對工業(yè)應(yīng)用的工控機(jī)中,SRAM作為程序運(yùn)行中必須應(yīng)用的一個(gè)部件,其安全性要求非常高。在對SRAM中的數(shù)據(jù)讀取過程中,如果發(fā)生外部侵入和篡改、或者應(yīng)用環(huán)境惡劣會(huì)導(dǎo)致SRAM中存儲(chǔ)的數(shù)據(jù)讀出時(shí)發(fā)生錯(cuò)誤,進(jìn)而導(dǎo)致一些不可預(yù)測的后果,而且軟件又不容易定位到數(shù)據(jù)讀取錯(cuò)誤的位置。
技術(shù)實(shí)現(xiàn)思路
[0003]本專利技術(shù)提供了一種基于SRAM的數(shù)據(jù)存取方法和數(shù)據(jù)存取系統(tǒng)。本專利技術(shù)的具體技術(shù)方案如下:一種基于SRAM的數(shù)據(jù)存取方法,該方法包括以下步驟:S1:數(shù)據(jù)寫入模塊為若干字節(jié)數(shù)據(jù)的每個(gè)字節(jié)設(shè)置校檢位,并根據(jù)每個(gè)字節(jié)的數(shù)據(jù)確定相對應(yīng)的校檢位的數(shù)值;S2:數(shù)據(jù)寫入模塊根據(jù)若干字節(jié)數(shù)據(jù)的寫入地址,將若干字節(jié)數(shù)據(jù)和相對應(yīng)的校檢位的數(shù)值寫入到SRAM中;S3:數(shù)據(jù)讀取模塊根據(jù)數(shù)據(jù)的讀取地址,從SRAM中讀取數(shù)據(jù)和相對應(yīng)的校檢位的數(shù)值,并在讀取過程中根據(jù)讀取的數(shù)據(jù)和相對應(yīng)的校檢位的數(shù)值來確定讀取的數(shù)據(jù)是否正確;S4:若數(shù)據(jù)讀取模塊判斷讀取的數(shù)據(jù)正確,則將讀取中的數(shù)據(jù)讀取出來;若數(shù)據(jù)讀取模塊判斷讀取的數(shù)據(jù)錯(cuò)誤,則停止讀取,然后將錯(cuò)誤的數(shù)據(jù)和錯(cuò)誤的數(shù)據(jù)的讀取地址保存到SRAM中。
[0004]進(jìn)一步地,步驟S1中,數(shù)據(jù)寫入模塊每次寫入到SRAM中的數(shù)據(jù)為36位,其中,36位數(shù)據(jù)包括4個(gè)字節(jié)的數(shù)據(jù)和4個(gè)字節(jié)的數(shù)據(jù)中每個(gè)字節(jié)對應(yīng)的校檢位的數(shù)值,1個(gè)字節(jié)的數(shù)據(jù)為8位數(shù)據(jù)。
[0005]進(jìn)一步地,步驟S1中,數(shù)據(jù)寫入模塊根據(jù)每個(gè)字節(jié)的數(shù)據(jù)確定相對應(yīng)的校檢位的數(shù)值,包括以下步驟:數(shù)據(jù)寫入模塊選取其中一個(gè)字節(jié)的數(shù)據(jù),將該字節(jié)的8位數(shù)據(jù)依次與0進(jìn)行異或運(yùn)算;若異或運(yùn)算結(jié)果中,1的個(gè)數(shù)為偶數(shù),則該字節(jié)的數(shù)據(jù)對應(yīng)的校檢位的數(shù)值為0;若異或運(yùn)算結(jié)果中,1的個(gè)數(shù)為奇數(shù),則該字節(jié)的數(shù)據(jù)對應(yīng)的校檢位的數(shù)值為1;依次類推,數(shù)據(jù)寫入模塊依次獲取每個(gè)字節(jié)的數(shù)據(jù)對應(yīng)的校檢位的數(shù)值。
[0006]進(jìn)一步地,步驟S1中,數(shù)據(jù)寫入模塊根據(jù)每個(gè)字節(jié)的數(shù)據(jù)確定相對應(yīng)的校檢位的數(shù)值,包括以下步驟:數(shù)據(jù)寫入模塊選取其中一個(gè)字節(jié)的數(shù)據(jù),將該字節(jié)的8位數(shù)據(jù)依次與1進(jìn)行異或運(yùn)算;若異或運(yùn)算結(jié)果中,1的個(gè)數(shù)為偶數(shù),則該字節(jié)的數(shù)據(jù)對應(yīng)的校檢位的數(shù)值為1;若異或運(yùn)算結(jié)果中,1的個(gè)數(shù)為奇數(shù),則該字節(jié)的數(shù)據(jù)對應(yīng)的校檢位的數(shù)值為0;依次類推,數(shù)據(jù)寫入模塊依次獲取每個(gè)字節(jié)的數(shù)據(jù)對應(yīng)的校檢位的數(shù)值。
[0007]進(jìn)一步地,步驟S3中,數(shù)據(jù)讀取模塊在讀取過程中根據(jù)讀取的數(shù)據(jù)和相對應(yīng)的校檢位的數(shù)值來確定讀取的數(shù)據(jù)是否正確,包括以下步驟:數(shù)據(jù)讀取模塊在讀取數(shù)據(jù)過程中,
根據(jù)讀取數(shù)據(jù)的讀取地址,依次讀取每個(gè)字節(jié)的數(shù)據(jù);數(shù)據(jù)讀取模塊在讀取一個(gè)字節(jié)的數(shù)據(jù)后,根據(jù)該字節(jié)的數(shù)據(jù)來獲取檢測位的數(shù)值;數(shù)據(jù)讀取模塊將該字節(jié)的檢測位的數(shù)據(jù)和該字節(jié)對應(yīng)的校檢位數(shù)據(jù)進(jìn)行異或運(yùn)算;若異或運(yùn)算的結(jié)果為0,則數(shù)據(jù)讀取模塊正在讀取的數(shù)據(jù)正確,數(shù)據(jù)讀取模塊將數(shù)據(jù)從SRAM中讀取出來;若異或運(yùn)算的結(jié)果為0,則數(shù)據(jù)讀取模塊正在讀取的數(shù)據(jù)錯(cuò)誤,數(shù)據(jù)讀取模塊停止讀取,然后將錯(cuò)誤的數(shù)據(jù)和錯(cuò)誤的數(shù)據(jù)的讀取地址保存到SRAM中。
[0008]進(jìn)一步地,數(shù)據(jù)讀取模塊根據(jù)該字節(jié)的數(shù)據(jù)來獲取檢測位的數(shù)值,包括以下步驟:數(shù)據(jù)讀取模塊將該字節(jié)的8位數(shù)據(jù)依次與0進(jìn)行異或運(yùn)算;若異或運(yùn)算結(jié)果中,1的個(gè)數(shù)為偶數(shù),則該字節(jié)的數(shù)據(jù)對應(yīng)的檢測位的數(shù)值為0;若異或運(yùn)算結(jié)果中,1的個(gè)數(shù)為奇數(shù),則該字節(jié)的數(shù)據(jù)對應(yīng)的檢測位的數(shù)值為1。
[0009]進(jìn)一步地,數(shù)據(jù)讀取模塊根據(jù)該字節(jié)的數(shù)據(jù)來獲取檢測位的數(shù)值,包括以下步驟:數(shù)據(jù)讀取模塊將該字節(jié)的8位數(shù)據(jù)依次與1進(jìn)行異或運(yùn)算;若異或運(yùn)算結(jié)果中,1的個(gè)數(shù)為偶數(shù),則該字節(jié)的數(shù)據(jù)對應(yīng)的檢測位的數(shù)值為1;若異或運(yùn)算結(jié)果中,1的個(gè)數(shù)為奇數(shù),則該字節(jié)的數(shù)據(jù)對應(yīng)的檢測位的數(shù)值為0。
[0010]進(jìn)一步地,數(shù)據(jù)讀取模塊將錯(cuò)誤的數(shù)據(jù)和錯(cuò)誤的數(shù)據(jù)的讀取地址保存到SRAM后,發(fā)送中斷信號(hào)給CPU,使CPU定位錯(cuò)誤數(shù)據(jù)的字節(jié)在若干字節(jié)數(shù)據(jù)中的排列位置和讀取地址。
[0011]一種數(shù)據(jù)寫入方法,該方法包括以下步驟:數(shù)據(jù)寫入模塊為若干字節(jié)數(shù)據(jù)的每個(gè)字節(jié)設(shè)置校檢位,并根據(jù)每個(gè)字節(jié)的數(shù)據(jù)確定相對應(yīng)的校檢位的數(shù)值;數(shù)據(jù)寫入模塊根據(jù)若干字節(jié)數(shù)據(jù)的寫入地址,將若干字節(jié)數(shù)據(jù)和相對應(yīng)的校檢位的數(shù)值寫入到SRAM中。
[0012]一種數(shù)據(jù)讀取方法,該方法包括以下步驟:數(shù)據(jù)讀取模塊根據(jù)數(shù)據(jù)的讀取地址,從SRAM中讀取數(shù)據(jù)和相對應(yīng)的校檢位的數(shù)值,并在讀取過程中根據(jù)讀取的數(shù)據(jù)和相對應(yīng)的校檢位的數(shù)值來確定讀取的數(shù)據(jù)是否正確;若數(shù)據(jù)讀取模塊判斷讀取的數(shù)據(jù)正確,則將讀取中的數(shù)據(jù)讀取出來;若數(shù)據(jù)讀取模塊判斷讀取的數(shù)據(jù)錯(cuò)誤,則停止讀取,然后將錯(cuò)誤的數(shù)據(jù)和錯(cuò)誤的數(shù)據(jù)的讀取地址保存到SRAM中。
[0013]一種數(shù)據(jù)存取系統(tǒng),該數(shù)據(jù)存取系統(tǒng)執(zhí)行上述的基于SRAM的數(shù)據(jù)存取方法,所述數(shù)據(jù)存儲(chǔ)系統(tǒng)包括CPU、數(shù)據(jù)寫入模塊、數(shù)據(jù)讀取模塊和SRAM;所述CPU用于定位錯(cuò)誤數(shù)據(jù)的字節(jié)在若干字節(jié)數(shù)據(jù)中的排列位置和讀取地址;所述數(shù)據(jù)寫入模塊用于將數(shù)據(jù)寫入SRAM中;所述數(shù)據(jù)讀取模塊用于從SRAM中讀取數(shù)據(jù);所述SRAM用于保存數(shù)據(jù)。
[0014]與現(xiàn)有的技術(shù)相比,本專利技術(shù)的有益效果在于:本申請通過在數(shù)據(jù)寫入SRAM中之前,根據(jù)每個(gè)字節(jié)的數(shù)據(jù)內(nèi)容設(shè)置校檢位的數(shù)值,然后將數(shù)據(jù)和校檢位一起寫入到SRAM中,使數(shù)據(jù)讀取模塊在讀取SRAM中的數(shù)據(jù)時(shí),可以根據(jù)讀取到的數(shù)據(jù)與校檢位的數(shù)值來確定讀取到的數(shù)據(jù)是否正確,提高數(shù)據(jù)讀取的準(zhǔn)確性;對每一個(gè)字節(jié)的數(shù)據(jù)都進(jìn)行校檢,確保發(fā)生在每個(gè)字節(jié)的錯(cuò)誤都能夠被檢測到;在讀出錯(cuò)誤發(fā)生時(shí),將發(fā)生錯(cuò)誤的數(shù)據(jù)地址和字節(jié)在數(shù)據(jù)中的排列位置保存下來,便于后續(xù)的定位和修改。
附圖說明
[0015]圖1為本專利技術(shù)一種實(shí)施例中數(shù)據(jù)存取的流程示意圖;圖2為本專利技術(shù)一種實(shí)施例中的寫入數(shù)據(jù)的結(jié)構(gòu)示意圖1;
圖3為本專利技術(shù)一種實(shí)施例中的寫入數(shù)據(jù)的結(jié)構(gòu)示意圖2。
具體實(shí)施方式
[0016]下面詳細(xì)描述本專利技術(shù)的實(shí)施例,所述的實(shí)施例示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。
[0017]在本專利技術(shù)的描述中,需要說明的是,對于方位詞,如有術(shù)語“中心”,“橫向”、“縱向”、“長度”、“寬度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”、“內(nèi)”、“外”、“順時(shí)針”、“逆時(shí)針”等指示方位和位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于敘述本專利技術(shù)和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定方位構(gòu)造和操作,不能理解為限制本專利技術(shù)的具體保護(hù)范圍。
[0018]此外,如有術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或隱含指明技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”特征可以明示或者隱含包括一個(gè)或者多個(gè)該特本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
【技術(shù)特征摘要】
1.一種基于SRAM的數(shù)據(jù)存取方法,其特征在于,該方法包括以下步驟:S1:數(shù)據(jù)寫入模塊為若干字節(jié)數(shù)據(jù)的每個(gè)字節(jié)設(shè)置校檢位,并根據(jù)每個(gè)字節(jié)的數(shù)據(jù)確定相對應(yīng)的校檢位的數(shù)值;S2:數(shù)據(jù)寫入模塊根據(jù)若干字節(jié)數(shù)據(jù)的寫入地址,將若干字節(jié)數(shù)據(jù)和相對應(yīng)的校檢位的數(shù)值寫入到SRAM中;S3:數(shù)據(jù)讀取模塊根據(jù)數(shù)據(jù)的讀取地址,從SRAM中讀取數(shù)據(jù)和相對應(yīng)的校檢位的數(shù)值,并在讀取過程中根據(jù)讀取的數(shù)據(jù)和相對應(yīng)的校檢位的數(shù)值來確定讀取的數(shù)據(jù)是否正確;S4:若數(shù)據(jù)讀取模塊判斷讀取的數(shù)據(jù)正確,則將讀取中的數(shù)據(jù)讀取出來;若數(shù)據(jù)讀取模塊判斷讀取的數(shù)據(jù)錯(cuò)誤,則停止讀取,然后將錯(cuò)誤的數(shù)據(jù)和錯(cuò)誤的數(shù)據(jù)的讀取地址保存到SRAM中。2.根據(jù)權(quán)利要求1所述的基于SRAM的數(shù)據(jù)存取方法,其特征在于,步驟S1中,數(shù)據(jù)寫入模塊每次寫入到SRAM中的數(shù)據(jù)為36位,其中,36位數(shù)據(jù)包括4個(gè)字節(jié)的數(shù)據(jù)和4個(gè)字節(jié)的數(shù)據(jù)中每個(gè)字節(jié)對應(yīng)的校檢位的數(shù)值,1個(gè)字節(jié)的數(shù)據(jù)為8位數(shù)據(jù)。3.根據(jù)權(quán)利要求1所述的基于SRAM的數(shù)據(jù)存取方法,其特征在于,步驟S1中,數(shù)據(jù)寫入模塊根據(jù)每個(gè)字節(jié)的數(shù)據(jù)確定相對應(yīng)的校檢位的數(shù)值,包括以下步驟:數(shù)據(jù)寫入模塊選取其中一個(gè)字節(jié)的數(shù)據(jù),將該字節(jié)的8位數(shù)據(jù)依次與0進(jìn)行異或運(yùn)算;若異或運(yùn)算結(jié)果中,1的個(gè)數(shù)為偶數(shù),則該字節(jié)的數(shù)據(jù)對應(yīng)的校檢位的數(shù)值為0;若異或運(yùn)算結(jié)果中,1的個(gè)數(shù)為奇數(shù),則該字節(jié)的數(shù)據(jù)對應(yīng)的校檢位的數(shù)值為1;依次類推,數(shù)據(jù)寫入模塊依次獲取每個(gè)字節(jié)的數(shù)據(jù)對應(yīng)的校檢位的數(shù)值。4.根據(jù)權(quán)利要求1所述的基于SRAM的數(shù)據(jù)存取方法,其特征在于,步驟S1中,數(shù)據(jù)寫入模塊根據(jù)每個(gè)字節(jié)的數(shù)據(jù)確定相對應(yīng)的校檢位的數(shù)值,包括以下步驟:數(shù)據(jù)寫入模塊選取其中一個(gè)字節(jié)的數(shù)據(jù),將該字節(jié)的8位數(shù)據(jù)依次與1進(jìn)行異或運(yùn)算;若異或運(yùn)算結(jié)果中,1的個(gè)數(shù)為偶數(shù),則該字節(jié)的數(shù)據(jù)對應(yīng)的校檢位的數(shù)值為1;若異或運(yùn)算結(jié)果中,1的個(gè)數(shù)為奇數(shù),則該字節(jié)的數(shù)據(jù)對應(yīng)的校檢位的數(shù)值為0;依次類推,數(shù)據(jù)寫入模塊依次獲取每個(gè)字節(jié)的數(shù)據(jù)對應(yīng)的校檢位的數(shù)值。5.根據(jù)權(quán)利要求1所述的基于SRAM的數(shù)據(jù)存取方法,其特征在于,步驟S3中,數(shù)據(jù)讀取模塊在讀取過程中根據(jù)讀取的數(shù)據(jù)和相對應(yīng)的校檢位的數(shù)值來確定讀取的數(shù)據(jù)是否正確,包括以下步驟:數(shù)據(jù)讀取模塊在讀取數(shù)據(jù)過程中,根據(jù)讀取數(shù)據(jù)的讀取地址,依次讀取每個(gè)字節(jié)的數(shù)據(jù);數(shù)據(jù)讀取模塊在讀取一個(gè)字節(jié)的數(shù)據(jù)后,根據(jù)該字節(jié)的數(shù)據(jù)來獲取檢測位的數(shù)值;數(shù)據(jù)讀取模塊將該字節(jié)的檢測位的數(shù)據(jù)和該字節(jié)對應(yīng)的校檢位數(shù)據(jù)進(jìn)行異或運(yùn)算;...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:何再生,
申請(專利權(quán))人:珠海一微半導(dǎo)體股份有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會(huì)獲得科技券。