本發(fā)明屬于數(shù)字信號(hào)處理領(lǐng)域,具體涉及一種CRC32校驗(yàn)方法,尤其涉及一種應(yīng)用于SAR成像雷達(dá)中的CRC32校驗(yàn)方法。
背景技術(shù):
數(shù)據(jù)傳輸系統(tǒng)要求數(shù)據(jù)能夠準(zhǔn)確無誤地傳遞。常用的方法之一就是在發(fā)送端的數(shù)據(jù)后面加上循環(huán)冗余校驗(yàn)(CRC)碼以構(gòu)成幀校驗(yàn)序列(Fr ame Check Sequence,FCS),在接收端通過數(shù)據(jù)的CRC校驗(yàn)碼來判斷數(shù)據(jù)的有效性。
然而,隨著數(shù)據(jù)傳輸速率的提高,CRC校驗(yàn)碼的生成時(shí)延成為制約數(shù)據(jù)高速傳輸?shù)囊粋€(gè)瓶頸。高效、快速的CRC算法實(shí)時(shí)實(shí)現(xiàn)已成為高速數(shù)據(jù)傳輸亟待解決的問題。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述問題,本發(fā)明提供一種用于SAR成像系統(tǒng)的CRC32校驗(yàn)方法,結(jié)合SAR成像系統(tǒng)現(xiàn)有硬件架構(gòu)以及數(shù)據(jù)處理流程,利用主控單元數(shù)據(jù)中轉(zhuǎn)高性能FPGA與控制模塊DSP配合完成CRC32校驗(yàn)實(shí)時(shí)實(shí)現(xiàn),使得CRC32校驗(yàn)在系統(tǒng)中實(shí)現(xiàn)流水處理。通過利用DSP內(nèi)外部存儲(chǔ)資源豐富以及SRIO總線傳輸速度高等特點(diǎn),用于緩存大數(shù)據(jù)量SAR圖像數(shù)據(jù),利用FPGA全并行流水運(yùn)行特點(diǎn),結(jié)合系統(tǒng)數(shù)據(jù)流處理要求,合理設(shè)計(jì)流水線和處理速率,優(yōu)化處理架構(gòu),大大減少了系統(tǒng)內(nèi)部緩存的使用,同時(shí),相對(duì)于DSP等串行器件實(shí)現(xiàn)該校驗(yàn)方法,大大提升了運(yùn)行速率和效率,該方法的實(shí)現(xiàn)方法和設(shè)計(jì)思路可廣泛應(yīng)用于各種數(shù)據(jù)處理系統(tǒng)中。
一種用于SAR成像系統(tǒng)的CRC32校驗(yàn)方法,所述方法包括:
步驟1、數(shù)據(jù)中轉(zhuǎn)模塊FPGA接收處理單元傳輸過來的SAR圖像數(shù)據(jù),通過SRIO總線發(fā)送至控制模塊DSP,并緩存至存儲(chǔ)器DDR3中;
步驟2、控制模塊DSP從存儲(chǔ)器DDR3中讀取緩存的SAR圖像數(shù)據(jù),然后將所述SAR圖像數(shù)據(jù)按預(yù)定的數(shù)據(jù)幀格式打包,并將打包好的SAR圖像數(shù)據(jù)以數(shù)據(jù)包的形式逐個(gè)發(fā)送給數(shù)據(jù)中轉(zhuǎn)模塊FPGA;
步驟3、數(shù)據(jù)中轉(zhuǎn)模塊FPGA檢測(cè)到控制模塊DSP發(fā)送的數(shù)據(jù)包后,按預(yù)定的數(shù)據(jù)發(fā)送速率向圖傳系統(tǒng)發(fā)送SAR圖像數(shù)據(jù)包,用所述預(yù)定的數(shù)據(jù)發(fā)送速率3倍的速率進(jìn)行CRC32校驗(yàn)值的計(jì)算,同時(shí)將計(jì)算得到的CRC32校驗(yàn)值和SAR圖像數(shù)據(jù)包一起發(fā)送給圖傳系統(tǒng);
步驟4、數(shù)據(jù)中轉(zhuǎn)模塊FPGA按三次重傳機(jī)制向圖傳系統(tǒng)發(fā)送SAR圖像數(shù)據(jù)包和CRC32校驗(yàn)值;所述圖傳系統(tǒng)在接收SAR圖像數(shù)據(jù)包的同時(shí),使用接收到的CRC32校驗(yàn)值進(jìn)行CRC32校驗(yàn)。
進(jìn)一步地,所述步驟2中,控制模塊DSP按數(shù)據(jù)幀格式將SAR圖像數(shù)據(jù)打包,并將打包好的SAR圖像數(shù)據(jù)以數(shù)據(jù)包的形式逐個(gè)發(fā)送給數(shù)據(jù)中轉(zhuǎn)模塊FPGA具體如下:
控制模塊DSP從緩存DDR3中讀取出SAR圖像數(shù)據(jù),并按預(yù)定的數(shù)據(jù)幀格式將SAR圖像數(shù)據(jù)打包,通過SRIO總線將打好包的數(shù)據(jù)按數(shù)據(jù)包的形式逐包發(fā)送給數(shù)據(jù)中轉(zhuǎn)模塊FPGA。
進(jìn)一步地,所述步驟2還包括:數(shù)據(jù)中轉(zhuǎn)模塊FPGA用內(nèi)部FIFO緩存所述圖像數(shù)據(jù)包。
進(jìn)一步地,所述步驟2還包括:數(shù)據(jù)中轉(zhuǎn)模塊FPGA通過外部中斷的方式通知控制模塊DSP是否已完成當(dāng)前圖像數(shù)據(jù)包的接收,以及控制模塊DSP是否可以再發(fā)送數(shù)據(jù)包。
進(jìn)一步地,所述步驟3還包括:數(shù)據(jù)中轉(zhuǎn)模塊FPGA檢測(cè)到緩存FIFO為非空時(shí),則開始讀取圖像數(shù)據(jù)進(jìn)行CRC32校驗(yàn)值的計(jì)算。
進(jìn)一步地,CRC32校驗(yàn)值的計(jì)算的具體如下:
步驟3.1、首先對(duì)CRC32校驗(yàn)值賦予初值0xFFFFFFFF;令i=1;
步驟3.2、讀取出1個(gè)8bit圖像數(shù)據(jù)與CRC32校驗(yàn)值按位異或得到值A(chǔ)i,取出Ai的低8位作為CRC32查詢表的地址,將該地址輸入CRC32查詢表進(jìn)行查詢得到值Bi;將此時(shí)的CRC32校驗(yàn)值右移8位,與值Bi按位異或運(yùn)算得值Ci;
步驟3.3、判斷此時(shí)讀取出的1個(gè)8bit圖像數(shù)據(jù)是否為圖像數(shù)據(jù)包里面的最后一個(gè)數(shù)據(jù);
若不是,則將值Ci的值作為CRC32校驗(yàn)值,令inew=i+1,i=inew;返回步驟3.2;
若是,則將值Ci的值與0xFFFFFFFF進(jìn)行異或運(yùn)算后得到的值作為該數(shù)據(jù)包的CRC32校驗(yàn)值。
進(jìn)一步地,在步驟4中,數(shù)據(jù)中轉(zhuǎn)模塊FPGA按三次重傳機(jī)制向圖傳系統(tǒng)發(fā)送圖像數(shù)據(jù)和CRC32校驗(yàn)結(jié)果的過程步驟具體如下:
數(shù)據(jù)中轉(zhuǎn)模塊FPGA向圖傳系統(tǒng)發(fā)送圖像數(shù)據(jù)包的同時(shí)也進(jìn)行CRC32校驗(yàn)值的計(jì)算;數(shù)據(jù)中轉(zhuǎn)模塊FPGA將計(jì)算得到的CRC32校驗(yàn)值按預(yù)定的圖像幀格式放在圖像幀最后,并發(fā)送給圖傳系統(tǒng),圖傳系統(tǒng)接收?qǐng)D像數(shù)據(jù)包的同時(shí),也進(jìn)行CRC32校驗(yàn)。
進(jìn)一步地,在步驟4還包括:若校驗(yàn)結(jié)果與接收的校驗(yàn)值一致,則此圖像數(shù)據(jù)包無誤;若不一致,則通知數(shù)據(jù)中轉(zhuǎn)模塊FPGA,重傳該圖像數(shù)據(jù)包;若同一圖像數(shù)據(jù)包重傳三次,則此圖像數(shù)據(jù)包傳輸失敗,數(shù)據(jù)中轉(zhuǎn)模塊FPGA將此傳輸失敗標(biāo)識(shí)數(shù)據(jù)上報(bào)給中控系統(tǒng)。
有益效果:
本發(fā)明的技術(shù)方案通過查找表來實(shí)現(xiàn)任意幀數(shù)據(jù)CRC32校驗(yàn)實(shí)時(shí)運(yùn)算,用FPGA全并行流水運(yùn)行和邏輯運(yùn)算能力強(qiáng)的特點(diǎn),合理設(shè)計(jì)流水處理,優(yōu)化處理架構(gòu),相對(duì)于DSP等串行執(zhí)行器件,大大提升了運(yùn)行速率和效率,并設(shè)計(jì)了一種三次重傳機(jī)制,確保SAR圖像數(shù)據(jù)傳輸穩(wěn)定可靠,可廣泛應(yīng)用于各種數(shù)據(jù)處理系統(tǒng)中。
附圖說明
圖1為SAR成像系統(tǒng)中CRC32校驗(yàn)的系統(tǒng)框圖;
圖2為利用FPGA實(shí)現(xiàn)CRC32校驗(yàn)的流程圖。
具體實(shí)施方式
本發(fā)明以查找表為基礎(chǔ),結(jié)合現(xiàn)有SAR成像系統(tǒng)硬件資源,利用DSP和FPGA配合完成一種實(shí)時(shí)的任意幀數(shù)據(jù)格式CRC32校驗(yàn)。該方法利用DSP外部存儲(chǔ)資源豐富,與FPGA的SRIO總線傳輸速率較高等優(yōu)點(diǎn),用DSP緩存圖像數(shù)據(jù),并完成分包功能,利用FPGA全并行流水運(yùn)行特點(diǎn),合理設(shè)計(jì)流水處理,優(yōu)化處理架構(gòu),相對(duì)于DSP等串行執(zhí)行器件,大大提升了運(yùn)行速率和效率,本發(fā)明可廣泛應(yīng)用于各種數(shù)據(jù)處理系統(tǒng)中。
本發(fā)明具體實(shí)施方式中的方法包括:步驟1:控單元數(shù)據(jù)中轉(zhuǎn)模塊FPGA接收到處理單元傳輸過來的SAR圖像數(shù)據(jù),通過SRIO發(fā)送至主控單元控制模塊DSP,并緩存至DDR3中;步驟2:主控單元控制模塊DSP按數(shù)據(jù)幀格式將SAR圖像數(shù)據(jù)打包,并按包發(fā)送給數(shù)據(jù)中轉(zhuǎn)模塊FPGA,然后等待數(shù)據(jù)中轉(zhuǎn)模塊FPGA發(fā)送完成中斷,便于發(fā)送第二包圖像幀數(shù)據(jù);步驟3:主控單元數(shù)據(jù)中轉(zhuǎn)模塊FPGA檢測(cè)到控制模塊DSP發(fā)送的圖像數(shù)據(jù)后,按數(shù)據(jù)發(fā)送速率發(fā)送SAR圖像數(shù)據(jù),同時(shí),用高于數(shù)據(jù)發(fā)送速度4倍的時(shí)鐘進(jìn)行CRC32校驗(yàn);步驟4:主控單元數(shù)據(jù)中轉(zhuǎn)模塊FPGA按三次重傳機(jī)制向圖傳系統(tǒng)發(fā)送圖像數(shù)據(jù)和CRC32校驗(yàn)結(jié)果。
下面就結(jié)合圖1到圖2對(duì)上述方法中的各步驟進(jìn)行具體介紹。
以下將參照?qǐng)D1-2對(duì)本發(fā)明的具體技術(shù)方案進(jìn)行說明。
本發(fā)明提出了一種用于SAR成像系統(tǒng)的CRC32校驗(yàn)方法。
根據(jù)本發(fā)明提出的一種用于SAR成像系統(tǒng)的CRC32校驗(yàn)方法,實(shí)現(xiàn)框圖如圖1所示,其流程如圖2所示,其具體步驟如下:
步驟1:數(shù)據(jù)中轉(zhuǎn)模塊FPGA接收處理單元傳輸過來的SAR圖像數(shù)據(jù),通過SRIO總線發(fā)送至控制模塊DSP,并緩存至存儲(chǔ)器DDR3中。
具體描述如下:
處理單元完成SAR成像處理后,將SAR圖像數(shù)據(jù)通過GTX總線發(fā)送給主控單元數(shù)據(jù)中轉(zhuǎn)模塊FPGA(V6),數(shù)據(jù)中轉(zhuǎn)模塊FPGA(V6)將圖像數(shù)據(jù)通過SRIO總線傳輸給控制模塊DSP,并緩存至DDR3中。
步驟2:控制模塊DSP從存儲(chǔ)器DDR3中讀取緩存的SAR圖像數(shù)據(jù),然后將所述SAR圖像數(shù)據(jù)按預(yù)定的數(shù)據(jù)幀格式打包,并將打包好的SAR圖像數(shù)據(jù)以數(shù)據(jù)包的形式逐個(gè)發(fā)送給數(shù)據(jù)中轉(zhuǎn)模塊FPGA。
具體描述如下:
主控單元控制模塊DSP從DDR3中取出SAR圖像數(shù)據(jù),并按預(yù)定的數(shù)據(jù)幀格式(其中,所述預(yù)定的數(shù)據(jù)幀格式可以是本領(lǐng)域慣用的任何一種幀格式)將SAR圖像數(shù)據(jù)打包,通過SRIO總線將打好包的數(shù)據(jù)按數(shù)據(jù)包的形式逐包發(fā)送給數(shù)據(jù)中轉(zhuǎn)模塊FPGA(V6)。數(shù)據(jù)中轉(zhuǎn)模塊FPGA用內(nèi)部FIFO緩存所述圖像數(shù)據(jù)包,便于進(jìn)行CRC32校驗(yàn)和發(fā)送數(shù)據(jù);數(shù)據(jù)中轉(zhuǎn)模塊FPGA(V6)通過外部中斷的方式通知控制模塊DSP是否已完成當(dāng)前圖像數(shù)據(jù)包的接收,以及控制模塊DSP是否可以再發(fā)送數(shù)據(jù)包。
步驟3:數(shù)據(jù)中轉(zhuǎn)模塊FPGA檢測(cè)到控制模塊DSP發(fā)送的數(shù)據(jù)包后,按預(yù)定的數(shù)據(jù)發(fā)送速率向圖傳系統(tǒng)發(fā)送SAR圖像數(shù)據(jù)包,用所述預(yù)定的數(shù)據(jù)發(fā)送速率3倍的速率進(jìn)行CRC32校驗(yàn)值的計(jì)算,同時(shí)將計(jì)算得到的CRC32校驗(yàn)值和SAR圖像數(shù)據(jù)包一起發(fā)送給圖傳系統(tǒng)。
其中,預(yù)定的數(shù)據(jù)發(fā)送速率范圍為10MHZ-40MHZ。
具體描述如下:
數(shù)據(jù)中轉(zhuǎn)模塊FPGA(V6)檢測(cè)到緩存FIFO為非空時(shí),則開始讀取圖像數(shù)據(jù)包進(jìn)行CRC32校驗(yàn)值的計(jì)算。
CRC32校驗(yàn)的具體流程如圖2所示:
步驟3.1、首先對(duì)CRC32校驗(yàn)值賦予初值0xFFFFFFFF;令i=1;
步驟3.2、讀取出1個(gè)8bit圖像數(shù)據(jù)與CRC32校驗(yàn)值按位異或得到值A(chǔ)i,取出Ai的低8位作為CRC32查詢表的地址,將該地址輸入CRC32查詢表進(jìn)行查詢得到值Bi;將此時(shí)的CRC32校驗(yàn)值右移8位,與值Bi按位異或運(yùn)算得值Ci;
步驟3.3、判斷此時(shí)讀取出的1個(gè)8bit圖像數(shù)據(jù)是否為圖像數(shù)據(jù)包里面的最后一個(gè)數(shù)據(jù);
若不是,則將值Ci的值作為CRC32校驗(yàn)值,令inew=i+1,i=inew;返回步驟3.2;
若是,則將值Ci的值與0xFFFFFFFF進(jìn)行異或運(yùn)算后得到的值作為該數(shù)據(jù)包的CRC32校驗(yàn)值。
主控單元向圖像數(shù)據(jù)系統(tǒng)發(fā)送圖像數(shù)據(jù)包的同時(shí)也進(jìn)行CRC32校驗(yàn)值的計(jì)算,且CRC32的計(jì)算速度與圖像發(fā)送速度匹配,F(xiàn)PGA將CRC32校驗(yàn)值按圖像幀格式要求放在圖像幀最后并發(fā)送給圖傳系統(tǒng)。數(shù)據(jù)發(fā)送和CRC32計(jì)算為流水處理,可節(jié)省大量時(shí)間,保證處理的實(shí)時(shí)性。由于計(jì)算一次單個(gè)圖像數(shù)據(jù)的CRC32校驗(yàn)值需要3個(gè)時(shí)鐘周期,因此,為保證圖像發(fā)送速率和CRC32校驗(yàn)值的計(jì)算速率相匹配,保證整個(gè)數(shù)據(jù)流水處理,減少FPGA緩存,CRC32校驗(yàn)值的計(jì)算速率為數(shù)據(jù)發(fā)送速率的3倍。
步驟4、數(shù)據(jù)中轉(zhuǎn)模塊FPGA按三次重傳機(jī)制向圖傳系統(tǒng)發(fā)送SAR圖像數(shù)據(jù)包和CRC32校驗(yàn)值;所述圖傳系統(tǒng)在接收SAR圖像數(shù)據(jù)包的同時(shí),使用接收到的CRC32校驗(yàn)值進(jìn)行CRC32校驗(yàn)。
具體描述如下:
主控單元通過LVDS接口以30MByte/s的速率向圖傳系統(tǒng)發(fā)送數(shù)據(jù)包。數(shù)據(jù)中轉(zhuǎn)模塊FPGA將計(jì)算得到的CRC32校驗(yàn)值按預(yù)定的圖像幀格式放在圖像幀最后,并發(fā)送給圖傳系統(tǒng),圖傳系統(tǒng)接收?qǐng)D像數(shù)據(jù)包的同時(shí),也進(jìn)行CRC32校驗(yàn)。若校驗(yàn)結(jié)果與接收的校驗(yàn)值一致,則此圖像數(shù)據(jù)包無誤;若不一致,則通知數(shù)據(jù)中轉(zhuǎn)模塊FPGA,重傳該圖像數(shù)據(jù)包;若同一圖像數(shù)據(jù)包重傳三次,則此圖像數(shù)據(jù)包傳輸失敗,數(shù)據(jù)中轉(zhuǎn)模塊FPGA將此傳輸失敗標(biāo)識(shí)數(shù)據(jù)上報(bào)給中控系統(tǒng)。
本發(fā)明涉及一種用FPGA實(shí)現(xiàn)CRC32校驗(yàn)方法,有別于常規(guī)地CRC32校驗(yàn)方法,該方法結(jié)合SAR成像系統(tǒng)現(xiàn)有硬件架構(gòu),充分利用FPGA和DSP的處理特點(diǎn),以查找表為基礎(chǔ),實(shí)現(xiàn)了任意幀數(shù)據(jù)CRC32校驗(yàn),利用DSP內(nèi)外部存儲(chǔ)資源豐富以及SRIO總線傳輸速度高等特點(diǎn),用于緩存大數(shù)據(jù)量SAR圖像數(shù)據(jù),利用FPGA全并行流水運(yùn)行特點(diǎn),合理設(shè)計(jì)流水線,優(yōu)化處理架構(gòu),相對(duì)于DSP等串行器件實(shí)現(xiàn)該校驗(yàn)方法,大大提升了運(yùn)行速率和效率,可廣泛應(yīng)用于各種數(shù)據(jù)處理系統(tǒng)中。
上述具體實(shí)施方式僅用于解釋和說明本發(fā)明的技術(shù)方案,但并不能構(gòu)成對(duì)權(quán)利要求的保護(hù)范圍的限定。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)清楚,在本發(fā)明的技術(shù)方案的基礎(chǔ)上做任何簡(jiǎn)單的變形或替換而得到的新的技術(shù)方案,均將落入本發(fā)明的保護(hù)范圍之內(nèi)。