一種基于spi提高數據傳輸性能的系統和方法
【技術領域】
[0001]本發明涉及網絡數據傳輸領域,特別是一種基于SPI提高數據傳輸性能的系統和方法。
【背景技術】
[0002]SPI(Serial Peripheral Interface)是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節約了芯片的管腳,同時為PCB的布局上節省空間,提供方便,正是出于這種簡單易用的特性,如今越來越多的芯片集成了這種通信協議
[0003]SPI以主從方式工作,這種模式通常有一個主設備和一個或多個從設備,它有四根信號線,它們是SDI (數據輸入)、SD0(數據輸出)、SCLK(時鐘)、CS(片選)。其中,CS是控制芯片是否被選中的,也就是說只有片選信號為預先規定的使能信號時(高電位或低電位),對此芯片的操作才有效。這就允許在同一總線上連接多個SPI設備成為可能。
[0004]由于SPI是串行通訊協議,也就是說數據是一位一位的傳輸的。這就是SCLK時鐘線存在的原因,由SCLK提供時鐘脈沖,SDI,SDO則基于此脈沖完成數據傳輸。數據輸出通過SDO線,數據在時鐘上升沿或下降沿時改變,在緊接著的下降沿或上升沿被讀取。完成一位數據傳輸,輸入也使用同樣原理。這樣,在至少8次時鐘信號的改變(上沿和下沿為一次),就可以完成8位數據的傳輸。
[0005]SPI在系統管理方面的缺點是缺乏流控機制,無論主器件還是從器件均不對消息進行確認,主器件無法知道從器件是否繁忙,更不能知道主器件從從器件中讀到的數據是否正確。
【發明內容】
[0006]本發明的目的是提出一種基于SPI提高數據傳輸性能的系統,用以解決現有技術中SPI缺乏流控機制的缺點。
[0007]為了實現上述的發明目的,本發明提供了一種基于SPI提高數據傳輸性能的系統,包括:
[0008]從設備:包括第一校驗模塊,用于對比傳輸數據的實際性能參數是否小于參考的性能參數,并生成第一校驗數據,向主設備發送流控機制運行請求;
[0009]主設備:包括第二校驗模塊,用于接收所述從設備發送的流控機制運行請求,并向所述第二校驗模塊發送流控機制運行指令,生成第二校驗數據,將校驗好的傳輸數據傳輸給所述從設備。
[0010]為了實現上述的發明目的,本發明提供了一種基于SPI提高數據傳輸性能的系統的從設備,包括以下模塊:
[0011]對比模塊:用于對比數據傳輸的實際性能參數是否小于參考的性能參數;
[0012]第一校驗模塊:用于生成流控機制運行請求,所述流控機制運行請求包含第一校驗數據;
[0013]發送模塊:用于向所述主設備發送所述流控機制運行請求。
[0014]為了實現上述的發明目的,本發明提供了另一種基于SPI提高數據傳輸性能的系統的從設備,還包括如下模塊:
[0015]收集模塊:用于收集在向主設備傳輸數據的實時性能參數信息,并將所述實時性能參數信息傳送至對比模塊。
[0016]為了實現上述的發明目的,本發明提供了另一種基于SPI提高數據傳輸性能的系統的主設備,包括以下模塊:
[0017]用于接收所述流控運行機制請求并向所述第二校驗模塊發送流控機制運行指令的接收模塊;
[0018]用于校驗傳輸數據并將校驗好的數據傳輸給所述從設備的傳輸模塊;
[0019]所述第二校驗模塊用于運行流控運行機制,生成第二校驗數據。
[0020]較佳的,所述第一校驗模塊包括:
[0021]校驗碼第一生成單元:用于生成第一校驗數據的奇偶校驗碼;校驗數據發送子單元:用于將所述奇偶校驗碼先后發送至主設備。
[0022]較佳的,所述第二校驗模塊包括:
[0023]校驗碼接收模塊:用于接收從設備發送過來的奇偶校驗碼;
[0024]校驗碼第二生成單元:用于當從設備發送校驗數據時產生奇偶校驗碼;
[0025]校驗碼對比模塊:用于對比SPI從設備發送過來的奇偶校驗碼和校驗碼第二校驗單元的產生奇偶校驗碼,如果兩種校驗碼一致,則本次數據傳輸正確。
[0026]為了實現上述的發明目的,本發明提供了一種基于SPI提高數據傳輸性能的方法,包括以下步驟:
[0027]S101.對比傳輸數據的實際性能參數是否小于參考的性能參數;
[0028]S102.生成流控機制運行請求,所述流控機制運行請求包含第一校驗數據;
[0029]S103.向主設備發送流控機制運行請求,所述流控機制運行請求包含所述第一校驗數據;
[0030]S104.接收所述流控機制運行請求,并向第二校驗模塊發送流控機制運行指令;[0031 ] S105.運行流控機制,生成第二校驗數據;
[0032]S106.用于校驗傳輸數據,并將校驗好的數據傳輸給所述從設備。
[0033]較佳的,所述的校驗傳輸數據包括以下步驟:
[0034]S201.從設備中的校驗碼第一生成單元生成第一校驗數據的第一奇偶校驗碼;
[0035]S202.從設備中的校驗數據發送子單元將所述奇偶校驗碼先后發送至主設備;
[0036]S203.主設備中的校驗碼接收模塊接收從設備發送過來的奇偶校驗碼;
[0037]S204.當從設備發送校驗數據時主設備中的校驗碼第二生成單元產生第二奇偶校驗碼;
[0038]S205.對比SPI從設備發送過來的第一奇偶校驗碼和校驗碼第二生成單元的產生第二奇偶校驗碼,如果兩種校驗碼一致,則本次數據傳輸正確。
[0039]本發明提供了一種基于SPI提高數據傳輸性能的系統和方法,包括上述所有方法和系統一項或幾項的組合。
[0040]與現有技術相比,本發明能夠帶來以下至少一種有益效果:
[0041]1、能夠從SPI主器件判斷從從器件中讀到的數據是否正確,可以有效的運行流控機制
[0042]2、可以實時校驗SPI主設備讀到的數據是否有誤,CPU可以根據該結果采取下一步動作。避免造成(PU的誤動作。增加系統可靠性。
【附圖說明】
[0043]下面將以明確易懂的方式,結合【附圖說明】優選實施方式,對本發明的主要特性、技術特征、優點及其實現方式予以進一步說明。
[0044]圖1是本發明一個實施例的一種基于SPI提高數據傳輸性能的系統的結示意構圖;
[0045]圖2是本發明一個實施例的一種從設備的結構示意圖;
[0046]圖3是本發明另一個實施例的一種從設備的結構示意圖;
[0047]圖4是本發明再一個實施例的一種主設備的結構示意圖;
[0048]圖5是本發明一個實施例的第一校驗模塊的結構示意圖;
[0049]圖6是本發明一個實施例的第二校驗模塊的結構示意圖;
[0050]圖7是本發明一個實施例一種基于SPI提高數據傳輸性能的方法流程圖;
[0051 ]圖8是本發明一個實施例的校驗傳輸數據的方法的流程圖。
[0052]附圖標號說明:
[0053]對比模塊丨丨,第一校驗模塊12,發送模塊13,收集模塊14,
[0054]接收模塊21,第二校驗模塊22,傳輸模塊23:
[0055]校驗碼第一生成單元120,校驗數據發送子單元121,
[0056]校驗碼接收模塊220,校驗碼第二生成單元221,校驗碼對比模塊222。
【具體實施方式】
[0057]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對照【附圖說明】本發明的【具體實施方式】。顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖,并獲得其他的實施方式。
[0058]為使圖面簡潔,各圖中只示意性地表示出了與本發明相關的部分,它們并不代表其作為產品的實際結構。另外,以使圖面簡潔便于理解,在有些圖中具有相同結構或功能的部件,僅示意性地繪示了其中的一個,或僅標出了其中的一個。在本文中,“一個”不僅表示“僅此一個”,也可以表示“多于一個”的情形。
[0059]流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現特定邏輯功能或過程的步驟的可執行指令的代碼的模塊、片段或部分,并且本發明的優選實施方式的范圍包括另外的實現,其中可以不按所示出或討論的順序,包括根據所涉及的功能按基本同時的方式或按相反的順序,來執行功能,這應被本發明的實施例所屬技術領域的技術人員所理解。
[0060]圖1是本發明一個實施例的一種基于SPI提高數據傳輸性能的系統的結示意構圖。
[0061]為了實現上述的發明目的,本發明提供了一種基于SPI提高數據傳輸性能的系統,包括:
[0062]從設備:用于對比傳輸數據的實際性能參數是否小于參考的性能參數,并生成第一校驗數據,向主設備發送流控機制運行請求;
[0063]主設備:接收所述流控機制運行請求,并向自身的第二校驗模塊發送流控機制運行指令,生成第二校驗數據,將校驗好的傳輸數據傳輸給所述從設備。
[0064]在本發明實施例中,傳輸到從設備的網絡數據發生異常時,可以及時得到檢測,并向主設備發送流控機制運行請求;經主設備校驗過的網絡數據再傳輸到從設備,可以實時檢測并校正網絡數據傳輸性能,有效的提高了數據傳輸的可靠性,增加了數據傳輸的性能。
[0065]圖2是本發明一個實施例的一種從設備的結構示意圖。
[0066]為了實現上述的發明目的,本發明提供了一種基于SPI提高數據傳輸性能的系統的從設備,包括以下模塊:
[0067]對比模塊11:用于對比數據傳輸的實際性能參數是否小于參考的性能參數;
[0068]第一校驗模塊12:用于生成流控機制運行請求,所述流控機制運行請求包含第一校驗數據;
[0069]發送模塊13:用于向所述主設備發送所述流控機制運行請求。
[0070]在本發明實施例中,對比模塊11實時對比傳輸到從設備的網絡數據實際性能參數是否小于參考的性能參數,若發生異常,第一校驗模塊12處理生成一個實時傳輸性能參數和請求信息,經發送模塊13向網絡接入設備發送流控機制運行請求。
[0071]對上述實施案例進行改進,得到另一本發明的另一實施案例,圖3是本發明另一個實施例的一種從設備的結構示意圖,增加了一個收集模塊14:
[007