一種標(biāo)準(zhǔn)spi協(xié)議高速傳輸?shù)谋Wo(hù)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及數(shù)據(jù)處理領(lǐng)域,具體涉及一種標(biāo)準(zhǔn)SPI協(xié)議高速傳輸?shù)谋Wo(hù)方法及系統(tǒng)。
【背景技術(shù)】
[0002]串行外設(shè)接口(Serial Peripheral Interface, SPI)協(xié)議現(xiàn)在已經(jīng)廣泛應(yīng)用于傳統(tǒng)外設(shè)之中,標(biāo)準(zhǔn)的SPI協(xié)議,例如SPI flash操作。
[0003]之前的SPI flash使用單線的數(shù)據(jù)傳輸,傳輸?shù)臅r(shí)鐘最高達(dá)到50Mhz,已經(jīng)算是很高的頻率了。隨著時(shí)代的發(fā)展,比如現(xiàn)在的SPI flash,目前不僅兼容傳統(tǒng)的SPI flash I線數(shù)據(jù)傳輸模式,更增加了 2線,4線的傳輸模式,其時(shí)鐘頻率在兩線的時(shí)候,達(dá)到104MHz,在4線的時(shí)候可以達(dá)到80Mhz,可見SPI接口的通訊,正在由低速簡單的傳輸,向高頻快速復(fù)雜的數(shù)據(jù)傳輸方向發(fā)展。而且由于SPI傳輸協(xié)議簡單,管腳數(shù)量少,正被廣泛的用于各種電子設(shè)備的通訊的數(shù)字接口,目前已經(jīng)了解的SPI接口的應(yīng)用,包括存儲器SPI flash, SPIcamera sensor、SPI tvout 以及 SPI cmmb 接口等等。
[0004]然而由于SPI標(biāo)準(zhǔn)協(xié)議的制定之初,并沒有納入SPI的傳輸穩(wěn)定性太多的考慮,也沒有想到spi接口正被越來越廣泛的應(yīng)用,并且應(yīng)用也越來越復(fù)雜,因此SPI接口傳輸穩(wěn)定性,將面對越來越嚴(yán)重的考驗(yàn),也會出現(xiàn)越來越多的瓶頸問題。
[0005]因此如何改進(jìn)現(xiàn)有的SPI標(biāo)準(zhǔn)協(xié)議,從而能為SPI的復(fù)雜應(yīng)用提供穩(wěn)定,可靠的數(shù)據(jù)傳輸保護(hù)機(jī)制,使SPI協(xié)議能被更加廣泛、高效和可靠地應(yīng)用成為本領(lǐng)域技術(shù)人員迫切需要解決的問題。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例提供了一種標(biāo)準(zhǔn)SPI協(xié)議高速傳輸?shù)谋Wo(hù)方法及系統(tǒng),通過在現(xiàn)有標(biāo)準(zhǔn)SPI協(xié)議的基礎(chǔ)上增設(shè)循環(huán)冗余碼校驗(yàn)(Cyclical Redundancy Check7CRC)算法的方式,能夠在SPI協(xié)議應(yīng)用于高頻和高速的數(shù)據(jù)傳輸環(huán)境時(shí),提高可靠的校驗(yàn)保護(hù),使SPI協(xié)議能夠被更加廣泛、高效和可靠地應(yīng)用。
[0007]本發(fā)明實(shí)施例提供的標(biāo)準(zhǔn)SPI協(xié)議高速傳輸?shù)谋Wo(hù)方法,包括:
[0008]SPI主機(jī)及SPI從機(jī),其中所述SPI主機(jī)提供通訊時(shí)鐘;
[0009]所述SPI主機(jī)對傳輸數(shù)據(jù)進(jìn)行CRC校驗(yàn),并產(chǎn)生第一 CRC校驗(yàn)碼;
[0010]所述SPI主機(jī)按設(shè)定規(guī)則向所述傳輸數(shù)據(jù)增加CRC校驗(yàn)的校驗(yàn)寬度類型及所述第一CRC校驗(yàn)碼,得到檢驗(yàn)傳輸數(shù)據(jù);
[0011 ] 所述SPI主機(jī)將所述校驗(yàn)傳輸數(shù)據(jù)發(fā)送至所述SPI從機(jī);
[0012]所述SPI從機(jī)按所述預(yù)設(shè)規(guī)則從所述校驗(yàn)傳輸數(shù)據(jù)中解析出傳輸數(shù)據(jù)、校驗(yàn)寬度類型及第一 CRC校驗(yàn)碼;
[0013]所述SPI從機(jī)根據(jù)所述校驗(yàn)寬度類型對解析出的傳輸數(shù)據(jù)進(jìn)行CRC校驗(yàn),得到第二CRC驗(yàn)證碼;
[0014]對比所述第一 CRC校驗(yàn)碼及所述第二 CRC驗(yàn)證碼,得到對比結(jié)果;
[0015]根據(jù)所述對比結(jié)果進(jìn)行處理。
[0016]可選的,
[0017]所述SPI主機(jī)按設(shè)定規(guī)則向所述傳輸數(shù)據(jù)增加CRC校驗(yàn)的校驗(yàn)寬度類型及所述第一 CRC校驗(yàn)碼,得到檢驗(yàn)傳輸數(shù)據(jù)包括:
[0018]所述SPI主機(jī)向所述傳輸數(shù)據(jù)的任意位置增加CRC校驗(yàn)的校驗(yàn)寬度類型及所述第一 CRC校驗(yàn)碼,得到檢驗(yàn)傳輸數(shù)據(jù)。
[0019]可選的,
[0020]所述CRC校驗(yàn)通過軟件方式和/或硬件方式實(shí)現(xiàn)。
[0021]可選的,
[0022]所述對比結(jié)果包括對比一致及對比不一致。
[0023]可選的,
[0024]所述根據(jù)所述對比結(jié)果進(jìn)行處理包括:
[0025]確定所述對比結(jié)果為對比一致,則向所述SPI主機(jī)發(fā)送接收正常信息;
[0026]確定所述對比結(jié)果為對比不一致,則向所述SPI主機(jī)返回傳輸異常信息。
[0027]可選的,
[0028]所述向所述SPI主機(jī)返回傳輸異常信息之后還包括:
[0029]所述SPI主機(jī)向所述SPI從機(jī)重新發(fā)送檢驗(yàn)傳輸數(shù)據(jù)。
[0030]本發(fā)明實(shí)施例提供的標(biāo)準(zhǔn)SPI協(xié)議高速傳輸?shù)谋Wo(hù)系統(tǒng),包括:
[0031]SPI主機(jī)及SPI從機(jī),其中所述SPI主機(jī)提供通訊時(shí)鐘;
[0032]所述SPI主機(jī)包括校驗(yàn)?zāi)K、增加模塊、發(fā)送模塊;
[0033]所述校驗(yàn)?zāi)K,用于對傳輸數(shù)據(jù)進(jìn)行CRC校驗(yàn),并產(chǎn)生第一 CRC校驗(yàn)碼;
[0034]所述增加模塊,用于按設(shè)定規(guī)則向所述傳輸數(shù)據(jù)增加CRC校驗(yàn)的校驗(yàn)寬度類型及所述第一 CRC校驗(yàn)碼,得到檢驗(yàn)傳輸數(shù)據(jù);
[0035]所述發(fā)送模塊,用于將所述校驗(yàn)傳輸數(shù)據(jù)發(fā)送至所述SPI從機(jī);
[0036]所述SPI從機(jī)包括解析模塊、校驗(yàn)?zāi)K、對比模塊及處理模塊;
[0037]所述解析模塊,用于按所述預(yù)設(shè)規(guī)則從所述校驗(yàn)傳輸數(shù)據(jù)中解析出傳輸數(shù)據(jù)、校驗(yàn)寬度類型及第一 CRC校驗(yàn)碼;
[0038]所述校驗(yàn)?zāi)K,用于根據(jù)所述校驗(yàn)寬度類型對解析出的傳輸數(shù)據(jù)進(jìn)行CRC校驗(yàn),得到第二 CRC驗(yàn)證碼;
[0039]所述對比模塊,用于對比所述第一 CRC校驗(yàn)碼及所述第二 CRC驗(yàn)證碼,得到對比結(jié)果;
[0040]所述處理模塊,用于根據(jù)所述對比結(jié)果進(jìn)行處理。
[0041]可選的,
[0042]所述處理模塊包括第一確定單元及第二確定單元:
[0043]所述第一確定單元,用于確定所述對比結(jié)果為對比一致時(shí),向所述SPI主機(jī)發(fā)送接收正常信息;
[0044]所述第二確定單元,用于確定所述對比結(jié)果為對比不一致時(shí),向所述SPI主機(jī)返回傳輸異常信息。
[0045]可選的,
[0046]所述SPI主機(jī)還包括重發(fā)送模塊:
[0047]所述重發(fā)送模塊,用于向所述SPI從機(jī)重新發(fā)送檢驗(yàn)傳輸數(shù)據(jù)。
[0048]通過在現(xiàn)有標(biāo)準(zhǔn)SPI協(xié)議的基礎(chǔ)上增設(shè)CRC算法的方式,本發(fā)明實(shí)施例提供的標(biāo)準(zhǔn)SPI協(xié)議高速傳輸?shù)谋Wo(hù)方法及系統(tǒng)能夠在SPI協(xié)議應(yīng)用于高頻和高速的數(shù)據(jù)傳輸環(huán)境時(shí),提高可靠的校驗(yàn)保護(hù),使SPI協(xié)議能夠被更加廣泛、高效和可靠地應(yīng)用。
【附圖說明】
[0049]圖1為本發(fā)明標(biāo)準(zhǔn)SPI協(xié)議高速傳輸?shù)谋Wo(hù)方法第一實(shí)施例流程圖;
[0050]圖2為本發(fā)明標(biāo)準(zhǔn)SPI協(xié)議高速傳輸?shù)谋Wo(hù)方法第二實(shí)施例流程圖;
[0051]圖3為本發(fā)明標(biāo)準(zhǔn)SPI協(xié)議高速傳輸?shù)谋Wo(hù)系統(tǒng)的第一結(jié)構(gòu)示意圖;
[0052]圖4為本發(fā)明標(biāo)準(zhǔn)SPI協(xié)議高速傳輸?shù)谋Wo(hù)系統(tǒng)的第二結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0053]本發(fā)明實(shí)施例提供了一種標(biāo)準(zhǔn)SPI協(xié)議高速傳輸?shù)谋Wo(hù)方法及系統(tǒng),通過在現(xiàn)有標(biāo)準(zhǔn)SPI協(xié)議的基礎(chǔ)上增設(shè)循環(huán)冗余碼校驗(yàn)(Cyclical Redundancy Check7CRC)算法的方式,能夠在SPI協(xié)議應(yīng)用于高頻和高速的數(shù)據(jù)傳輸環(huán)境時(shí),提高可靠的校驗(yàn)保護(hù),使SPI協(xié)議能夠被更加廣泛、高效和可靠地應(yīng)用。
[0054]循環(huán)冗余碼校驗(yàn)英文名稱為Cyclical Redundancy Check,簡稱CRC,它是利用除法及余數(shù)的原理來做錯(cuò)誤偵測(Error Detecting)的。實(shí)際應(yīng)用時(shí),發(fā)送裝置計(jì)算出CRC值并隨數(shù)據(jù)一同發(fā)送給接收裝置,接收裝置對收到的數(shù)據(jù)重新計(jì)算CRC并與收到的CRC相比較,若兩個(gè)CRC值不同,則說明數(shù)據(jù)通訊出現(xiàn)錯(cuò)誤。
[0055]請參閱圖1,本發(fā)明實(shí)施例中標(biāo)準(zhǔn)SPI協(xié)議高速傳輸?shù)谋Wo(hù)方法的第一實(shí)施例包括:
[0056]SPI主機(jī)及SPI從機(jī),其中SPI主機(jī)提供通訊時(shí)鐘;
[0057]需要說明的是,SPI主機(jī)及SPI從機(jī)的區(qū)分為:SPI主機(jī)即為數(shù)據(jù)的發(fā)送方,SPI從機(jī)即為數(shù)據(jù)的接收方,因此本發(fā)明實(shí)施例中標(biāo)準(zhǔn)SPI協(xié)議高速傳輸?shù)谋Wo(hù)方法即可用于SPI主機(jī)向SPI從機(jī)發(fā)送數(shù)據(jù)的過程,也可用于SPI從機(jī)向SPI主機(jī)發(fā)送數(shù)據(jù)的過程,還可以同時(shí)用于SPI主機(jī)與SPI從機(jī)之間各種數(shù)據(jù)的傳輸過程,在此處不作限定。
[0058]101、SPI主機(jī)對傳輸數(shù)據(jù)進(jìn)行CRC校驗(yàn),并產(chǎn)生第一 CRC校驗(yàn)碼;
[0059]傳輸數(shù)據(jù)在進(jìn)行傳輸之前,SPI主機(jī)首先對傳輸數(shù)據(jù)進(jìn)行CRC校驗(yàn),并產(chǎn)生第一CRC校驗(yàn)碼。
[0060]102,SPI主機(jī)按設(shè)定規(guī)則向傳輸數(shù)據(jù)增加CRC校驗(yàn)的校驗(yàn)寬度類型及第一 CRC校驗(yàn)碼,得到檢驗(yàn)傳輸數(shù)據(jù)