本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)反饋的方法及設(shè)備。
背景技術(shù):
片上系統(tǒng)指的是在單個(gè)芯片上集成一個(gè)完整的系統(tǒng),完整的系統(tǒng)一般包括:處理器、存儲(chǔ)器、以及外圍電路等。一般,片上系統(tǒng)的軟件代碼等會(huì)存儲(chǔ)在外部存儲(chǔ)器上。
目前,片上系統(tǒng)在運(yùn)行過(guò)程中,處理器在需要獲取數(shù)據(jù)時(shí),會(huì)通過(guò)控制器向片內(nèi)存儲(chǔ)器發(fā)送獲取數(shù)據(jù)的命令,當(dāng)處理器需要獲取的數(shù)據(jù)未存儲(chǔ)在片內(nèi)存儲(chǔ)器中時(shí),會(huì)向外部的SPI Nor Flash(SPI,Serial Peripheral Interface,串行外設(shè)接口;串行非易失閃存)發(fā)送讀數(shù)據(jù)的請(qǐng)求,外部的SPI Nor Flash在接收到該讀數(shù)據(jù)的請(qǐng)求后,會(huì)將該讀數(shù)據(jù)的請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)反饋給片內(nèi)存儲(chǔ)器,以使處理器從片內(nèi)存儲(chǔ)器中獲取到需要獲取的數(shù)據(jù)。
現(xiàn)有技術(shù)中,片上系統(tǒng)與外部的SPI Nor Flash的數(shù)據(jù)通路是暴露在空氣中的,很容易受到周圍環(huán)境所產(chǎn)生的ESD(Electro-Static discharge,靜電釋放)干擾。當(dāng)處理器需要獲取的數(shù)據(jù)未存儲(chǔ)在片內(nèi)存儲(chǔ)器中,外部的SPI Nor Flash向片內(nèi)存儲(chǔ)器反饋數(shù)據(jù)(反饋的數(shù)據(jù)包含處理器需要獲取的數(shù)據(jù))時(shí),若此時(shí)數(shù)據(jù)通路受到ESD干擾,那么外部的SPI Nor Flash向片內(nèi)存儲(chǔ)器反饋的數(shù)據(jù)會(huì)產(chǎn)生錯(cuò)誤,處理器從片內(nèi)存儲(chǔ)器中獲取到錯(cuò)誤的數(shù)據(jù)后,可能會(huì)根據(jù)錯(cuò)誤的數(shù)據(jù)產(chǎn)生錯(cuò)誤的結(jié)果,也可能根據(jù)錯(cuò)誤的數(shù)據(jù)使得整個(gè)系統(tǒng)出現(xiàn)故障。
綜上所述,目前的片上系統(tǒng)與外部的SPI Nor Flash的數(shù)據(jù)通路會(huì)受到外部ESD干擾,片上系統(tǒng)從外部的SPI Nor Flash獲取到錯(cuò)誤的數(shù)據(jù)后,會(huì)引起系統(tǒng)故障,進(jìn)而降低了系統(tǒng)的穩(wěn)定性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種數(shù)據(jù)反饋的方法及設(shè)備,用以解決現(xiàn)有技術(shù)中存在的目前的片上系統(tǒng)與外部的SPI Nor Flash的數(shù)據(jù)通路會(huì)受到外部ESD干擾,片上系統(tǒng)從外部的SPI Nor Flash獲取到錯(cuò)誤的數(shù)據(jù)后,會(huì)引起系統(tǒng)故障,進(jìn)而降低了系統(tǒng)的穩(wěn)定性的問(wèn)題。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)反饋的方法,包括:
接收來(lái)自外部存儲(chǔ)器發(fā)送的第一讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),其中所述數(shù)據(jù)包含片上系統(tǒng)中的處理器需要獲取的,且所述片上系統(tǒng)中的高速緩沖存儲(chǔ)器未存儲(chǔ)的數(shù)據(jù);
在確定正確接收所述數(shù)據(jù)后,將所述數(shù)據(jù)反饋給所述高速緩沖存儲(chǔ)器。
由于本發(fā)明實(shí)施例在確定正確接收來(lái)自外部存儲(chǔ)器發(fā)送的數(shù)據(jù)(該數(shù)據(jù)包含片上系統(tǒng)中的處理器需要獲取的,且片上系統(tǒng)中的高速緩沖存儲(chǔ)器未存儲(chǔ)的數(shù)據(jù))后,將該數(shù)據(jù)反饋給高速緩沖存儲(chǔ)器,以使處理器從高速緩沖存儲(chǔ)器中獲取正確的數(shù)據(jù),避免了由于外部ESD干擾,使得處理器從高速緩沖存儲(chǔ)器中獲取錯(cuò)誤的數(shù)據(jù),引起系統(tǒng)故障,進(jìn)而提高了系統(tǒng)的穩(wěn)定性。
較佳地,根據(jù)下述方法確定是否正確接收所述數(shù)據(jù):
根據(jù)所述數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn)計(jì)算,得到第一校驗(yàn)結(jié)果;
在判斷所述第一校驗(yàn)結(jié)果與接收到的所述外部存儲(chǔ)器發(fā)送的第二校驗(yàn)結(jié)果相同時(shí),確定正確接收所述數(shù)據(jù);否則,確定錯(cuò)誤接收所述數(shù)據(jù)。
由于本發(fā)明實(shí)施例根據(jù)第一校驗(yàn)結(jié)果和第二校驗(yàn)結(jié)果確定是否正確接收數(shù)據(jù),簡(jiǎn)化了確定是否正確接收數(shù)據(jù)的操作,并且保證了接收到的數(shù)據(jù)的正確性。
較佳地,所述接收來(lái)自外部存儲(chǔ)器發(fā)送的第一讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),還包括:
在接收來(lái)自外部存儲(chǔ)器發(fā)送的第一讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)的同時(shí),接收所 述數(shù)據(jù)對(duì)應(yīng)的第二校驗(yàn)結(jié)果。
較佳地,所述接收來(lái)自外部存儲(chǔ)器發(fā)送的第一讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)之后,在確定正確接收所述數(shù)據(jù)之前,還包括:
向所述外部存儲(chǔ)器發(fā)送第二讀數(shù)據(jù)請(qǐng)求,并接收到所述外部存儲(chǔ)器反饋的所述第二讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的第二校驗(yàn)結(jié)果。
較佳地,根據(jù)下述方法確定是否正確接收所述數(shù)據(jù):
根據(jù)所述數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn)計(jì)算,得到第一校驗(yàn)結(jié)果;
將所述第一校驗(yàn)結(jié)果發(fā)送給所述外部存儲(chǔ)器,并接收到所述外部存儲(chǔ)器反饋的是否正確接收所述數(shù)據(jù)的信息;
在接收到正確接收所述數(shù)據(jù)的信息后,確定正確接收所述數(shù)據(jù);
在接收到錯(cuò)誤接收所述數(shù)據(jù)的信息后,確定錯(cuò)誤接收所述數(shù)據(jù)。
較佳地,所述接收來(lái)自外部存儲(chǔ)器發(fā)送的第一讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)之后,還包括:
如確定錯(cuò)誤接收所述數(shù)據(jù),在預(yù)設(shè)的一段時(shí)間后,向所述外部存儲(chǔ)器發(fā)送第一讀數(shù)據(jù)請(qǐng)求。
由于本發(fā)明實(shí)施例在確定錯(cuò)誤接收數(shù)據(jù)時(shí),再次向外部存儲(chǔ)器發(fā)送第一讀數(shù)據(jù)請(qǐng)求,以便再次獲取該數(shù)據(jù),并確認(rèn)是否正確接收該數(shù)據(jù)。
較佳地,該方法還包括:
在確定錯(cuò)誤接收所述數(shù)據(jù)的次數(shù)達(dá)到設(shè)定閾值時(shí),通知所述處理器進(jìn)行異常處理。
由于本發(fā)明實(shí)施例多次確定錯(cuò)誤接收數(shù)據(jù)時(shí),會(huì)通知處理器進(jìn)行相應(yīng)的異常處理,以免處理器因沒(méi)有獲取到正確的數(shù)據(jù),導(dǎo)致系統(tǒng)故障。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)反饋的設(shè)備,包括:
接收模塊,用于接收來(lái)自外部存儲(chǔ)器發(fā)送的第一讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),其中所述數(shù)據(jù)包含片上系統(tǒng)中的處理器需要獲取的,且所述片上系統(tǒng)中的高速緩沖存儲(chǔ)器未存儲(chǔ)的數(shù)據(jù);
反饋模塊,用于在確定正確接收所述數(shù)據(jù)后,將所述數(shù)據(jù)反饋給所述高速緩沖存儲(chǔ)器。
較佳地,所述反饋模塊還用于:
根據(jù)所述數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn)計(jì)算,得到第一校驗(yàn)結(jié)果;在判斷所述第一校驗(yàn)結(jié)果與接收到的所述外部存儲(chǔ)器發(fā)送的第二校驗(yàn)結(jié)果相同時(shí),確定正確接收所述數(shù)據(jù);否則,確定錯(cuò)誤接收所述數(shù)據(jù)。
較佳地,所述接收模塊還用于:
在接收來(lái)自外部存儲(chǔ)器發(fā)送的第一讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)的同時(shí),接收所述數(shù)據(jù)對(duì)應(yīng)的第二校驗(yàn)結(jié)果。
較佳地,所述接收模塊還用于:
向所述外部存儲(chǔ)器發(fā)送第二讀數(shù)據(jù)請(qǐng)求,并接收到所述外部存儲(chǔ)器反饋的所述第二讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的第二校驗(yàn)結(jié)果。
較佳地,所述反饋模塊還用于:
根據(jù)所述數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn)計(jì)算,得到第一校驗(yàn)結(jié)果;將所述第一校驗(yàn)結(jié)果發(fā)送給所述外部存儲(chǔ)器,并接收到所述外部存儲(chǔ)器反饋的是否正確接收所述數(shù)據(jù)的信息;在接收到正確接收所述數(shù)據(jù)的信息后,確定正確接收所述數(shù)據(jù);在接收到錯(cuò)誤接收所述數(shù)據(jù)的信息后,確定錯(cuò)誤接收所述數(shù)據(jù)。
較佳地,所述接收模塊還用于:
如確定錯(cuò)誤接收所述數(shù)據(jù),在預(yù)設(shè)的一段時(shí)間后,向所述外部存儲(chǔ)器發(fā)送第一讀數(shù)據(jù)請(qǐng)求。
較佳地,所述反饋模塊還用于:
在確定錯(cuò)誤接收所述數(shù)據(jù)的次數(shù)達(dá)到設(shè)定閾值時(shí),通知所述處理器進(jìn)行異常處理。
附圖說(shuō)明
圖1a為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)反饋的方法流程示意圖;
圖1b為本發(fā)明實(shí)施例提供的數(shù)據(jù)和第二校驗(yàn)結(jié)果的存儲(chǔ)區(qū)域示意圖;
圖1c為本發(fā)明實(shí)施例提供的另一數(shù)據(jù)和第二校驗(yàn)結(jié)果的存儲(chǔ)區(qū)域示意圖;
圖1d為本發(fā)明實(shí)施例提供的片上系統(tǒng)與外部的SPI Nor Flash組成的系統(tǒng)架構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)反饋的方法流程示意圖;
圖3為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)反饋的設(shè)備結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例接收來(lái)自外部存儲(chǔ)器發(fā)送的第一讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),其中所述數(shù)據(jù)包含片上系統(tǒng)中的處理器需要獲取的,且所述片上系統(tǒng)中的高速緩沖存儲(chǔ)器未存儲(chǔ)的數(shù)據(jù);在確定正確接收所述數(shù)據(jù)后,將所述數(shù)據(jù)反饋給所述高速緩沖存儲(chǔ)器。由于本發(fā)明實(shí)施例在確定正確接收來(lái)自外部存儲(chǔ)器發(fā)送的數(shù)據(jù)(該數(shù)據(jù)包含片上系統(tǒng)中的處理器需要獲取的,且片上系統(tǒng)中的高速緩沖存儲(chǔ)器未存儲(chǔ)的數(shù)據(jù))后,將該數(shù)據(jù)反饋給高速緩沖存儲(chǔ)器,以使處理器從高速緩沖存儲(chǔ)器中獲取正確的數(shù)據(jù),避免了由于外部ESD干擾,使得處理器從高速緩沖存儲(chǔ)器中獲取錯(cuò)誤的數(shù)據(jù),引起系統(tǒng)故障,進(jìn)而提高了系統(tǒng)的穩(wěn)定性。
下面結(jié)合說(shuō)明書(shū)附圖對(duì)本發(fā)明實(shí)施例作進(jìn)一步詳細(xì)描述。
如圖1a所示,本發(fā)明實(shí)施例提供的一種數(shù)據(jù)反饋的方法包括:
步驟100、接收來(lái)自外部存儲(chǔ)器發(fā)送的第一讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),其中所述數(shù)據(jù)包含片上系統(tǒng)中的處理器需要獲取的,且所述片上系統(tǒng)中的高速緩沖存儲(chǔ)器未存儲(chǔ)的數(shù)據(jù);
步驟101、在確定正確接收所述數(shù)據(jù)后,將所述數(shù)據(jù)反饋給所述高速緩沖存儲(chǔ)器。
本發(fā)明實(shí)施例接收到外部存儲(chǔ)器發(fā)送的數(shù)據(jù)后,開(kāi)始確定是否正確接收該數(shù)據(jù),在確定正確接收該數(shù)據(jù)后,將該數(shù)據(jù)反饋給高速緩沖存儲(chǔ)器,以使處理器從高速緩沖存儲(chǔ)器中獲取所述數(shù)據(jù)。
本發(fā)明實(shí)施例對(duì)接收到的數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn)所采取的數(shù)據(jù)校驗(yàn)方法與外部存儲(chǔ)器對(duì)發(fā)送的數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn)所采取的數(shù)據(jù)校驗(yàn)方法相同,數(shù)據(jù)校驗(yàn)方法包括但不限于下述校驗(yàn)方法:CRC(Cycle Redundancy Check,循環(huán)冗余校驗(yàn))校驗(yàn)、奇偶校驗(yàn)等。
本發(fā)明實(shí)施例可以根據(jù)下述方法確定是否正確接收數(shù)據(jù):
方法一:
根據(jù)所述數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn)計(jì)算,得到第一校驗(yàn)結(jié)果;
在判斷所述第一校驗(yàn)結(jié)果與接收到的所述外部存儲(chǔ)器發(fā)送的第二校驗(yàn)結(jié)果相同時(shí),確定正確接收所述數(shù)據(jù);否則,確定錯(cuò)誤接收所述數(shù)據(jù)。
例如:對(duì)數(shù)據(jù)進(jìn)行CRC校驗(yàn)得到第一校驗(yàn)結(jié)果,然后將第一校驗(yàn)結(jié)果和從外部存儲(chǔ)器接收到的第二校驗(yàn)結(jié)果進(jìn)行比較,比較結(jié)果為第一校驗(yàn)結(jié)果和第二校驗(yàn)結(jié)果相同,確定正確接收數(shù)據(jù)。
又例如:對(duì)數(shù)據(jù)進(jìn)行奇偶校驗(yàn)得到第一校驗(yàn)結(jié)果,然后將第一校驗(yàn)結(jié)果和從外部存儲(chǔ)器接收到的第二校驗(yàn)結(jié)果進(jìn)行比較,比較結(jié)果為第一校驗(yàn)結(jié)果與第二校驗(yàn)結(jié)果不相同,確定錯(cuò)誤接收數(shù)據(jù)。
本發(fā)明實(shí)施例可以通過(guò)下述方式從外部存儲(chǔ)器獲取第二校驗(yàn)結(jié)果:
方式一:
可選地,所述接收來(lái)自外部存儲(chǔ)器發(fā)送的第一讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),還包括:
在接收來(lái)自外部存儲(chǔ)器發(fā)送的第一讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)的同時(shí),接收所述數(shù)據(jù)對(duì)應(yīng)的第二校驗(yàn)結(jié)果。
本發(fā)明實(shí)施例外部存儲(chǔ)器可以在將特定長(zhǎng)度的數(shù)據(jù)存儲(chǔ)在特定區(qū)域后,緊隨著存儲(chǔ)該數(shù)據(jù)對(duì)應(yīng)的第二校驗(yàn)結(jié)果,在接收到片上系統(tǒng)的讀該數(shù)據(jù)的請(qǐng)求后,將該數(shù)據(jù)和對(duì)應(yīng)的第二校驗(yàn)結(jié)果一起反饋給片上系統(tǒng)。
如圖1b所示,本發(fā)明實(shí)施例提供的數(shù)據(jù)和第二校驗(yàn)結(jié)果的存儲(chǔ)區(qū)域示意圖,從圖1b中可知,該存儲(chǔ)區(qū)域一共存儲(chǔ)了n段數(shù)據(jù)和n個(gè)第二校驗(yàn)結(jié)果, 其中,n為大于等于9的正整數(shù)。第0段數(shù)據(jù)的后面存儲(chǔ)的是第0段數(shù)據(jù)對(duì)應(yīng)的第二校驗(yàn)結(jié)果(第0個(gè)第二校驗(yàn)結(jié)果),……,第n段數(shù)據(jù)的后面存儲(chǔ)的是第n段數(shù)據(jù)對(duì)應(yīng)的第二校驗(yàn)結(jié)果(第n個(gè)第二校驗(yàn)結(jié)果)。
方式二:
可選地,所述接收來(lái)自外部存儲(chǔ)器發(fā)送的第一讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)之后,在確定正確接收所述數(shù)據(jù)之前,還包括:
向所述外部存儲(chǔ)器發(fā)送第二讀數(shù)據(jù)請(qǐng)求,并接收到所述外部存儲(chǔ)器反饋的所述第二讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的第二校驗(yàn)結(jié)果。
本發(fā)明實(shí)施例外部存儲(chǔ)器可以將特定長(zhǎng)度的數(shù)據(jù)和對(duì)應(yīng)的第二校驗(yàn)結(jié)果存儲(chǔ)在兩個(gè)不同的區(qū)域,片上系統(tǒng)需要發(fā)送兩次讀數(shù)據(jù)的請(qǐng)求,分別獲取到該數(shù)據(jù)和對(duì)應(yīng)的第二校驗(yàn)結(jié)果。外部存儲(chǔ)器在接收到片上系統(tǒng)的第一讀數(shù)據(jù)的請(qǐng)求后,將該數(shù)據(jù)反饋給片上系統(tǒng),外部存儲(chǔ)器在接收到片上系統(tǒng)的第二讀數(shù)據(jù)的請(qǐng)求后,將對(duì)應(yīng)的第二校驗(yàn)結(jié)果反饋給片上系統(tǒng)。
如圖1c所示,本發(fā)明實(shí)施例提供的另一數(shù)據(jù)和第二校驗(yàn)結(jié)果的存儲(chǔ)區(qū)域示意圖,從圖1c中可知,數(shù)據(jù)和第二校驗(yàn)結(jié)果存儲(chǔ)在兩個(gè)存儲(chǔ)區(qū)域,分別為存儲(chǔ)區(qū)域1和存儲(chǔ)區(qū)域2,存儲(chǔ)區(qū)域1一共存儲(chǔ)了n段數(shù)據(jù),存儲(chǔ)區(qū)域2一共存儲(chǔ)了n個(gè)第二校驗(yàn)結(jié)果,其中,n為大于等于9的正整數(shù)。存儲(chǔ)區(qū)域1中的第0段數(shù)據(jù)對(duì)應(yīng)的是存儲(chǔ)區(qū)域2中的第0個(gè)第二校驗(yàn)結(jié)果,……,存儲(chǔ)區(qū)域1中的第n段數(shù)據(jù)對(duì)應(yīng)的是存儲(chǔ)區(qū)域2中的第n個(gè)第二校驗(yàn)結(jié)果。
方法二:
根據(jù)所述數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn)計(jì)算,得到第一校驗(yàn)結(jié)果;
將所述第一校驗(yàn)結(jié)果發(fā)送給所述外部存儲(chǔ)器,并接收到所述外部存儲(chǔ)器反饋的是否正確接收所述數(shù)據(jù)的信息;
在接收到正確接收所述數(shù)據(jù)的信息后,確定正確接收所述數(shù)據(jù);
在接收到錯(cuò)誤接收所述數(shù)據(jù)的信息后,確定錯(cuò)誤接收所述數(shù)據(jù)。
例如:對(duì)數(shù)據(jù)進(jìn)行CRC校驗(yàn)得到第一校驗(yàn)結(jié)果,然后將第一校驗(yàn)結(jié)果發(fā) 送給外部存儲(chǔ)器,外部存儲(chǔ)器將接收到的第一校驗(yàn)結(jié)果和第二校驗(yàn)結(jié)果進(jìn)行比較,比較結(jié)果為第一校驗(yàn)結(jié)果和第二校驗(yàn)結(jié)果相同,反饋正確接收數(shù)據(jù)的信息,在接收到正確接收數(shù)據(jù)的信息后,確定正確接收數(shù)據(jù)。
又例如:對(duì)數(shù)據(jù)進(jìn)行奇偶校驗(yàn)得到第一校驗(yàn)結(jié)果,然后將第一校驗(yàn)結(jié)果發(fā)送給外部存儲(chǔ)器,外部存儲(chǔ)器將接收到的第一校驗(yàn)結(jié)果和第二校驗(yàn)結(jié)果進(jìn)行比較,比較結(jié)果為第一校驗(yàn)結(jié)果與第二校驗(yàn)結(jié)果不相同,反饋錯(cuò)誤接收數(shù)據(jù)的信息,在接收到錯(cuò)誤接收數(shù)據(jù)的信息后,確定錯(cuò)誤接收數(shù)據(jù)。
本發(fā)明實(shí)施例在確定錯(cuò)誤接收數(shù)據(jù)后,會(huì)采取相應(yīng)的措施進(jìn)行處理,具體的實(shí)現(xiàn)方式為:
可選地,所述接收來(lái)自外部存儲(chǔ)器發(fā)送的第一讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)之后,還包括:
如確定錯(cuò)誤接收所述數(shù)據(jù),在預(yù)設(shè)的一段時(shí)間后,向所述外部存儲(chǔ)器發(fā)送第一讀數(shù)據(jù)請(qǐng)求。
本發(fā)明實(shí)施例在確定錯(cuò)誤接收數(shù)據(jù)后,不是將錯(cuò)誤的數(shù)據(jù)反饋給高速緩沖存儲(chǔ)器,而是再次向外部存儲(chǔ)器發(fā)送第一讀數(shù)據(jù)請(qǐng)求,在接收到外部存儲(chǔ)器反饋的數(shù)據(jù)后,再次驗(yàn)證是否正確接收數(shù)據(jù),若正確接收數(shù)據(jù),則將該數(shù)據(jù)反饋給高速緩沖存儲(chǔ)器,反之,繼續(xù)向外部存儲(chǔ)器發(fā)送第一讀數(shù)據(jù)請(qǐng)求,直到正確接收數(shù)據(jù)為止。
本發(fā)明實(shí)施例在多次確定錯(cuò)誤接收數(shù)據(jù)后,會(huì)進(jìn)行相應(yīng)的異常處理,具體的實(shí)現(xiàn)方式為:
在確定錯(cuò)誤接收所述數(shù)據(jù)的次數(shù)達(dá)到設(shè)定閾值時(shí),通知所述處理器進(jìn)行異常處理。
例如:設(shè)定閾值為3次,此時(shí)確定錯(cuò)誤接收數(shù)據(jù),且錯(cuò)誤接收數(shù)據(jù)的次數(shù)為2次,繼續(xù)向外部存儲(chǔ)器發(fā)送第一讀數(shù)據(jù)請(qǐng)求,在接收到外部存儲(chǔ)器反饋的數(shù)據(jù)后,再次驗(yàn)證是否正確接收數(shù)據(jù),驗(yàn)證結(jié)果為錯(cuò)誤接收數(shù)據(jù),此時(shí)錯(cuò)誤接收數(shù)據(jù)的次數(shù)為3次,達(dá)到設(shè)定閾值,通知處理器進(jìn)行異常處理。
如圖1d所示,本發(fā)明實(shí)施例提供的片上系統(tǒng)與外部的SPI Nor Flash組成的系統(tǒng)架構(gòu)示意圖,從圖1d上可知,片上系統(tǒng)包括:Bus Bridge(總線橋)、CPU(Central Processing Unit,中央處理器)、Memory Controller(存儲(chǔ)控制器)、ROM(Read Only Memory,只讀存儲(chǔ)器)、Data RAM(RAM,Random Access Memory,隨機(jī)存取存儲(chǔ)器;數(shù)據(jù)隨機(jī)存取存儲(chǔ)器)、SPI Cache(串行外設(shè)接口高速緩沖存儲(chǔ)器)、SPI Nor Flash抗ESD處理模塊、AHB(Advanced High performance Bus,系統(tǒng)總線)、AHB Device 0(第0號(hào)系統(tǒng)總線設(shè)備)、AHB Device 1和AHB Device 2,其中SPI Nor Flash抗ESD處理模塊包括:命令和數(shù)據(jù)處理模塊、模塊控制寄存器、數(shù)據(jù)校驗(yàn)?zāi)K、命令重發(fā)控制模塊和SPI Nor Flash接口模塊。片上系統(tǒng)的SPI Nor Flash抗ESD處理模塊與外部的SPI Nor Flash相連。片上系統(tǒng)在運(yùn)行過(guò)程中,CPU在需要獲取數(shù)據(jù)時(shí),會(huì)通過(guò)Memory Controller向SPI Cache發(fā)送獲取數(shù)據(jù)的命令;SPI Cache根據(jù)該獲取數(shù)據(jù)的命令在確定CPU需要獲取的數(shù)據(jù)未存儲(chǔ)在SPI Cache中時(shí),會(huì)通過(guò)SPI Nor Flash抗ESD處理模塊向外部的SPI Nor Flash發(fā)送讀數(shù)據(jù)的請(qǐng)求;外部的SPI Nor Flash在接收到該讀數(shù)據(jù)的請(qǐng)求后,會(huì)將該讀數(shù)據(jù)的請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)反饋給SPI Nor Flash抗ESD處理模塊;SPI Nor Flash抗ESD處理模塊在確定正確接收該數(shù)據(jù)后,將該數(shù)據(jù)反饋給SPI Cache;SPI Cache將CPU需要獲取的數(shù)據(jù)反饋給CPU。
如圖2所示,本發(fā)明實(shí)施例提供的一種數(shù)據(jù)反饋的方法包括:
步驟200、CPU通過(guò)Memory Controller向SPI Cache發(fā)送獲取數(shù)據(jù)的請(qǐng)求。
步驟201、SPI Cache判斷SPI Cache中是否有CPU需要獲取的數(shù)據(jù),若有,則執(zhí)行步驟202;否則,執(zhí)行步驟203。
步驟202、SPI Cache將CPU需要獲取的數(shù)據(jù)反饋給CPU。
步驟203、SPI Cache通過(guò)SPI Nor Flash抗ESD處理模塊的SPI Nor Flash接口模塊向外部的SPI Nor Flash發(fā)送讀數(shù)據(jù)的請(qǐng)求。
步驟204、外部的SPI Nor Flash向SPI Nor Flash抗ESD處理模塊的數(shù)據(jù) 校驗(yàn)?zāi)K反饋數(shù)據(jù)和對(duì)應(yīng)的第二校驗(yàn)結(jié)果。
步驟205、數(shù)據(jù)校驗(yàn)?zāi)K對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn)得到第一校驗(yàn)結(jié)果。
步驟206、數(shù)據(jù)校驗(yàn)?zāi)K根據(jù)第一校驗(yàn)結(jié)果和第二校驗(yàn)結(jié)果確定是否正確接收數(shù)據(jù),若是,則執(zhí)行步驟207;否則,執(zhí)行步驟208。
步驟207、數(shù)據(jù)校驗(yàn)?zāi)K將數(shù)據(jù)反饋給SPI Cache,執(zhí)行步驟202。
步驟208、SPI Nor Flash抗ESD處理模塊判斷錯(cuò)誤接收數(shù)據(jù)的次數(shù)是否達(dá)到設(shè)定閾值,若是,則執(zhí)行步驟209;否則,執(zhí)行步驟210。
步驟209、SPI Nor Flash抗ESD處理模塊通知CPU進(jìn)行異常處理。
步驟210、SPI Nor Flash抗ESD處理模塊的命令重發(fā)控制模塊通過(guò)SPI Nor Flash接口模塊向外部的SPI Nor Flash發(fā)送讀數(shù)據(jù)的請(qǐng)求,執(zhí)行步驟204。
基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種數(shù)據(jù)反饋的設(shè)備,由于圖3的數(shù)據(jù)反饋的設(shè)備對(duì)應(yīng)的方法為本發(fā)明實(shí)施例一種數(shù)據(jù)反饋的方法,因此本發(fā)明實(shí)施例設(shè)備的實(shí)施可以參見(jiàn)系統(tǒng)的實(shí)施,重復(fù)之處不再贅述。
如圖3所示,本發(fā)明實(shí)施例提供的一種數(shù)據(jù)反饋的設(shè)備包括:
接收模塊300,用于接收來(lái)自外部存儲(chǔ)器發(fā)送的第一讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),其中所述數(shù)據(jù)包含片上系統(tǒng)中的處理器需要獲取的,且所述片上系統(tǒng)中的高速緩沖存儲(chǔ)器未存儲(chǔ)的數(shù)據(jù);
反饋模塊301,用于在確定正確接收所述數(shù)據(jù)后,將所述數(shù)據(jù)反饋給所述高速緩沖存儲(chǔ)器。
較佳地,所述反饋模塊301還用于:
根據(jù)所述數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn)計(jì)算,得到第一校驗(yàn)結(jié)果;在判斷所述第一校驗(yàn)結(jié)果與接收到的所述外部存儲(chǔ)器發(fā)送的第二校驗(yàn)結(jié)果相同時(shí),確定正確接收所述數(shù)據(jù);否則,確定錯(cuò)誤接收所述數(shù)據(jù)。
較佳地,所述接收模塊300還用于:
在接收來(lái)自外部存儲(chǔ)器發(fā)送的第一讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)的同時(shí),接收所述數(shù)據(jù)對(duì)應(yīng)的第二校驗(yàn)結(jié)果。
較佳地,所述接收模塊300還用于:
向所述外部存儲(chǔ)器發(fā)送第二讀數(shù)據(jù)請(qǐng)求,并接收到所述外部存儲(chǔ)器反饋的所述第二讀數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的第二校驗(yàn)結(jié)果。
較佳地,所述反饋模塊301還用于:
根據(jù)所述數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn)計(jì)算,得到第一校驗(yàn)結(jié)果;將所述第一校驗(yàn)結(jié)果發(fā)送給所述外部存儲(chǔ)器,并接收到所述外部存儲(chǔ)器反饋的是否正確接收所述數(shù)據(jù)的信息;在接收到正確接收所述數(shù)據(jù)的信息后,確定正確接收所述數(shù)據(jù);在接收到錯(cuò)誤接收所述數(shù)據(jù)的信息后,確定錯(cuò)誤接收所述數(shù)據(jù)。
較佳地,所述接收模塊300還用于:
如確定錯(cuò)誤接收所述數(shù)據(jù),在預(yù)設(shè)的一段時(shí)間后,向所述外部存儲(chǔ)器發(fā)送第一讀數(shù)據(jù)請(qǐng)求。
較佳地,所述反饋模塊301還用于:
在確定錯(cuò)誤接收所述數(shù)據(jù)的次數(shù)達(dá)到設(shè)定閾值時(shí),通知所述處理器進(jìn)行異常處理。
綜上所述,由于本發(fā)明實(shí)施例在確定正確接收來(lái)自外部存儲(chǔ)器發(fā)送的數(shù)據(jù)(該數(shù)據(jù)包含片上系統(tǒng)中的處理器需要獲取的,且片上系統(tǒng)中的高速緩沖存儲(chǔ)器未存儲(chǔ)的數(shù)據(jù))后,將該數(shù)據(jù)反饋給高速緩沖存儲(chǔ)器,以使處理器從高速緩沖存儲(chǔ)器中獲取正確的數(shù)據(jù),避免了由于外部ESD干擾,使得處理器從高速緩沖存儲(chǔ)器中獲取錯(cuò)誤的數(shù)據(jù),引起系統(tǒng)故障,進(jìn)而提高了系統(tǒng)的穩(wěn)定性。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和 /或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。