專利名稱:Spi接口異常檢測方法與裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子電路技術(shù)領(lǐng)域,特別是涉及ー種SPI接ロ異常檢測方法與裝置。
背景技術(shù):
SPI 接 ロ 的全稱是〃 Serial Peripheral Interface 〃,意為串行外圍接 ロ,是Motorola首先在其MC68HCXX系列處理器上定義的。該接ロ一般使用4根信號線串行時鐘線SCK、主機輸入/從機輸出數(shù)據(jù)線MIS0、主機輸出/從機輸入數(shù)據(jù)線MOSI和低電平有效的從機選擇線SS。該接ロ可實現(xiàn)高速率的全雙工數(shù)據(jù)傳輸(最高速率可達50Mhz),且簡單、易用,目前已經(jīng)廣泛應(yīng)用在EEPROM、FLASH、實時時鐘、AD轉(zhuǎn)換器、數(shù)字信號處理器和數(shù)字信號解碼器等方案上?;赟PI接ロ的數(shù)據(jù)傳輸是主從式的,所有的對話發(fā)起均由主機控制。SCK、SS及MOSI由主機發(fā)出,從機通過MOSI信號線向主機回送數(shù)據(jù)。SPI接ロ常應(yīng)用于主控制器(MCU、DSP或FPGA)與外圍芯片之間進行數(shù)據(jù)傳輸,完 成系統(tǒng)參數(shù)的配置及保存。主控制器通過SPI接ロ讀取外圍芯片所保存的參數(shù)并按照預(yù)定含義進行解析,假如外圍芯片工作失效則其SPI接ロ將處于異常狀態(tài),主控制器不能識別該狀態(tài),會如常執(zhí)行通過SPI接ロ從外圍器件回讀的數(shù)據(jù),造成主控制器誤動作情況,導(dǎo)致系統(tǒng)工作不正常。
發(fā)明內(nèi)容
本發(fā)明提出了ー種SPI接口數(shù)據(jù)傳輸異常的檢測方法,以檢測外圍芯片的SPI接ロ是否出現(xiàn)異常。ー種SPI接ロ異常檢測方法,包括步驟在主控制器的回讀數(shù)據(jù)周圍內(nèi),對主控制器發(fā)出的SCK脈沖進行計數(shù);主控制器的回讀數(shù)據(jù)周期結(jié)束時,將所述SCK脈沖的計數(shù)值與標準值比較;若所述SCK脈沖的計數(shù)值與標準值不同,則判定外圍芯片的SPI接ロ異常。在其中一個實施例中,當所述主控制器為MCU時,所述MCU的輸入捕捉引腳連接所述MCU的SPI接ロ的SCK引腳,所述MCU啟動輸入捕捉功能,在回讀數(shù)據(jù)周期內(nèi),通過所述輸入捕捉引腳捕捉所述SCK脈沖的上升沿或下降沿,得到所述SCK脈沖的個數(shù)。在其中一個實施例中,當所述主控制器為FPGA時,在所述FPGA內(nèi)部生成檢測模塊,所述檢測模塊在本FPGA的回讀數(shù)據(jù)周圍內(nèi),對本FPGA的SPI接ロ的SCK引腳上的SCK脈沖進行采樣并計數(shù)。ー種SPI接ロ異常檢測裝置,包括計數(shù)模塊,用于在主控制器的回讀數(shù)據(jù)周圍內(nèi),對主控制器發(fā)出的SCK脈沖進行計數(shù);比較模塊,用于在主控制器的回讀數(shù)據(jù)周期結(jié)束時,將所述SCK脈沖的計數(shù)值與標準值比較;判定模塊,用于在所述SCK脈沖的計數(shù)值與所述標準值不同時,判定外圍芯片的SPI接ロ異常。本發(fā)明SPI接ロ異常檢測方法與裝置,對主控制器發(fā)出的SCK脈沖進行計數(shù),并將計數(shù)值與標準值比較,若計數(shù)值小于標準值則判定外圍芯片的SPI接ロ出現(xiàn)異常。當主控制器的具體形式為MCU或FPGA時,可以根據(jù)MCU或FPGA的特點調(diào)節(jié)SCK脈沖的計數(shù)方法。本檢測方法與裝置簡單有效,為主控制器對回讀數(shù)據(jù)的取舍提供了依據(jù)。
圖I為本發(fā)明SPI接ロ異常檢測方法的流程示意圖;圖2為基于本發(fā)明SPI接ロ異常檢測方法的MCU與外圍芯片SPI接ロ的結(jié)構(gòu)示意圖;圖3為基于本發(fā)明SPI接ロ異常檢測方法的FPGA與外圍芯片SPI接ロ的結(jié)構(gòu)示意圖; 圖4為本發(fā)明SPI接ロ異常檢測裝置的結(jié)構(gòu)示意圖。
具體實施例方式從機或者說外圍芯片的SPI接ロ失效時,會將主機控制的SCK信號線拉為固定的高電平或低電平,本發(fā)明利用SCK信號的這個特征,對主機或者說主控制器發(fā)送的SCK脈沖進行計數(shù),并將計數(shù)值與標準值比較,若小于標準值則說明從機SPI接ロ失效。下面結(jié)合附圖與實施例詳細解釋本發(fā)明。本發(fā)明SPI接ロ異常檢測方法與裝置,如圖I所示,包括步驟步驟SI、在主控制器的回讀數(shù)據(jù)周圍內(nèi),對主控制器發(fā)出的SCK脈沖進行計數(shù);步驟S2、主控制器的回讀數(shù)據(jù)周期結(jié)束時,將所述SCK脈沖的計數(shù)值與標準值比較;步驟S3、若所述SCK脈沖的計數(shù)值與標準值不同,則判定外圍芯片的SPI接ロ異常。主控制器回讀數(shù)據(jù)時,其SPI接ロ的SCK引腳需要發(fā)送與SCK脈沖,正常情況下,SCK脈沖的電平一高一低間隔分布,但若外圍芯片的SPI接ロ異常,則SCK脈沖持續(xù)高電平或低電平,則SCK脈沖計數(shù)值必然不等于且小于標準值。本檢測方法正是據(jù)此判斷外圍芯片的SPI接ロ是否異常,若異常,則主控制器回讀的數(shù)據(jù)不正常,應(yīng)丟棄并發(fā)出告警。主控制器可能是MCU,也可能是FPGA,下面分別進行說明。UMCU作為主控制器,使用定時器的輸入捕捉功能實時檢測SCK信號。MCU的通用定時器可配置為輸入捕捉功能,如圖2所示,SCK信號通過外部走線連接數(shù)據(jù)至MCU的輸入捕捉引腳,在MCU軟件中可配置為上升沿捕捉或下降沿捕捉并對其進行計數(shù),定義該計數(shù)參數(shù)為PulseCnt并與標準值StandCnt進行比較,從而能確定外圍芯片的SPI接ロ是否正常。假定數(shù)據(jù)位為η位,要回讀,則MCU需要發(fā)η個SCK脈沖,StandCnt=n。每發(fā)ー個SCK脈沖,PulseCnt會累加計數(shù),回讀結(jié)束時將PulseCnt與StandCnt進行比較即能判定當次傳輸是否正常。2、FPGA作為主控制器,使用FPGA內(nèi)部的高速時鐘對SCK信號進行采樣并在回讀數(shù)據(jù)周期內(nèi)進行計數(shù),回讀數(shù)據(jù)結(jié)束后進行比對以判定傳輸是否正常及回讀數(shù)據(jù)是否有效。檢測原理跟MCU作為主控制器時ー樣,所不同的是硬件實現(xiàn)方式。FPGA作為主控制器時,如圖3所示,在FPGA內(nèi)部用代碼生成ー檢測模塊對SCK信號進行采樣,無需外部連線。本發(fā)明SPI接ロ異常檢測裝置,如圖4所示,包括計數(shù)模塊,用于在主控制器的回讀數(shù)據(jù)周圍內(nèi),對主控制器發(fā)出的SCK脈沖進行計數(shù);比較模塊,用于在主控制器的回讀數(shù)據(jù)周期結(jié)束時,將所述SCK脈沖的計數(shù)值與標準值比較;判定模塊,用于在所述SCK脈沖的計數(shù)值與所述標準值不同時,判定外圍芯片的SPI接ロ異常。由以上描述及圖4可知,計數(shù)模塊、比較模塊和判定模塊依次相連,構(gòu)成了本檢測 裝置。本檢測裝置是與上述檢測方法對應(yīng)的裝置,將兩者結(jié)合使用,即可實現(xiàn)本發(fā)明的目的。以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準。
權(quán)利要求
1.ー種SPI接ロ異常檢測方法,其特征在于,包括步驟 在主控制器的回讀數(shù)據(jù)周圍內(nèi),對主控制器發(fā)出的SCK脈沖進行計數(shù); 主控制器的回讀數(shù)據(jù)周期結(jié)束時,將所述SCK脈沖的計數(shù)值與標準值比較; 若所述SCK脈沖的計數(shù)值與標準值不同,則判定外圍芯片的SPI接ロ異常。
2.根據(jù)權(quán)利要求I所述的SPI接ロ異常檢測方法,其特征在干,當所述主控制器為MCU時,所述MCU的輸入捕捉引腳連接所述MCU的SPI接ロ的SCK引腳,所述MCU啟動輸入捕捉功能,在回讀數(shù)據(jù)周期內(nèi),通過所述輸入捕捉引腳捕捉所述SCK脈沖的上升沿或下降沿,得到所述SCK脈沖的個數(shù)。
3.根據(jù)權(quán)利要求I所述的SPI接ロ異常檢測方法,其特征在干,當所述主控制器為FPGA時,在所述FPGA內(nèi)部生成檢測模塊,所述檢測模塊在本FPGA的回讀數(shù)據(jù)周圍內(nèi),對本FPGA的SPI接ロ的SCK引腳上的SCK脈沖進行采樣并計數(shù)。
4.ー種SPI接ロ異常檢測裝置,其特征在于,包括 計數(shù)模塊,用于在主控制器的回讀數(shù)據(jù)周圍內(nèi),對主控制器發(fā)出的SCK脈沖進行計數(shù);比較模塊,用于在主控制器的回讀數(shù)據(jù)周期結(jié)束時,將所述SCK脈沖的計數(shù)值與標準值比較; 判定模塊,用于在所述SCK脈沖的計數(shù)值與所述標準值不同時,判定外圍芯片的SPI接ロ異常。
全文摘要
本發(fā)明公開了一種SPI接口異常檢測方法與裝置,對主控制器發(fā)出的SCK脈沖進行計數(shù),并將計數(shù)值與標準值比較,若計數(shù)值小于標準值則判定外圍芯片的SPI接口出現(xiàn)異常。當主控制器的具體形式為MCU或FPGA時,可以根據(jù)MCU或FPGA的特點調(diào)節(jié)SCK脈沖的計數(shù)方法。本檢測方法與裝置簡單有效,為主控制器對回讀數(shù)據(jù)的取舍提供了依據(jù)。
文檔編號G01R31/28GK102841303SQ201210287480
公開日2012年12月26日 申請日期2012年8月10日 優(yōu)先權(quán)日2012年8月10日
發(fā)明者肖偉權(quán) 申請人:廣東威創(chuàng)視訊科技股份有限公司