基于串行外設接口的通信方法、裝置和設備的制作方法
【專利摘要】一種基于串行外設接口的通信方法、裝置和設備,所述方法包括:通過串行外設接口發(fā)送目標數(shù)據(jù);通過狀態(tài)回復信號線接收硬件信號,所述硬件信號與所述目標數(shù)據(jù)是否正確的校驗結果對應。本發(fā)明設置狀態(tài)回復信號線,通過狀態(tài)回復信號線的硬件信號實現(xiàn)基于SPI進行通信時的數(shù)據(jù)接收狀態(tài)回復功能,可以避免傳輸大量的應答包所占用的帶寬,從而提高了基于SPI進行通信時的帶寬利用率。并且由于硬件信號可以在微秒級別被檢測到,因此縮短了數(shù)據(jù)接收狀態(tài)回復的響應時間。
【專利說明】基于串行外設接口的通信方法、裝置和設備
【技術領域】
[0001]本發(fā)明涉及數(shù)據(jù)傳輸【技術領域】,特別是涉及一種基于串行外設接口的通信方法、裝置和設備。
【背景技術】
[0002]串行外設接口(Serial Peripheral Interface,SPI)以主從方式工作,通常包括一個SPI主設備(SPI Master)和至少一個SPI從設備(SPI Slave),現(xiàn)有的SPI標準協(xié)議中包括連接所述SPI主設備和所述SPI從設備的四根線,分別為時鐘信號線(SCK)、數(shù)據(jù)輸出數(shù)據(jù)線(SD0)、數(shù)據(jù)輸入數(shù)據(jù)線(SDI)和片選信號線(CS),其中,所述時鐘信號線用于向設備提供時序的執(zhí)行標準,所述數(shù)據(jù)輸出數(shù)據(jù)線用于所述SPI主設備向所述SPI從設備傳輸數(shù)據(jù),所述數(shù)據(jù)輸入數(shù)據(jù)線用于所述SPI從設備向所述SPI主設備傳輸數(shù)據(jù),所述片選信號線用于判斷設備是否處于工作狀態(tài)。
[0003]由此可見,僅僅通過現(xiàn)有的SPI標準協(xié)議中的四根線,無法實現(xiàn)接收狀態(tài)回復的功能。
[0004]現(xiàn)有技術中通過應答包的方式來解決上述問題。當SPI主設備或SPI從設備作為數(shù)據(jù)發(fā)送方將數(shù)據(jù)發(fā)送完成后,等待相應的SPI從設備或SPI主設備作為數(shù)據(jù)接收方回復應答包,所述SPI主設備或所述SPI從設備在接收到應答包之前,不再發(fā)送新的數(shù)據(jù),其中,所述應答包包括數(shù)據(jù)是否正確的信息。
[0005]采用上述方案實現(xiàn)接收狀態(tài)回復的功能會占用大量的帶寬,每發(fā)送一個數(shù)據(jù)包相應地就會有一個應答包,因此,帶寬利用率只有50%。
【發(fā)明內容】
[0006]本發(fā)明解決的是現(xiàn)有技術中基于串行外設接口的通信方法為了實現(xiàn)接收狀態(tài)回復的功能而導致帶寬利用率低的技術問題。
[0007]為了解決上述問題,本發(fā)明實施例提供一種基于串行外設接口的通信方法,包括:
[0008]通過串行外設接口發(fā)送目標數(shù)據(jù);
[0009]通過狀態(tài)回復信號線接收硬件信號,所述硬件信號與所述目標數(shù)據(jù)是否正確的校驗結果對應。
[0010]為了解決上述問題,本發(fā)明實施例還提供一種基于串行外設接口的通信方法,包括:
[0011]通過串行外設接口接收目標數(shù)據(jù);
[0012]對所述目標數(shù)據(jù)進行校驗,以得出所述目標數(shù)據(jù)是否正確的校驗結果;
[0013]控制狀態(tài)回復信號線的硬件信號,以輸出所述校驗結果。
[0014]為了解決上述問題,本發(fā)明實施例還提供一種基于串行外設接口的通信裝置,包括:
[0015]發(fā)送單元,用于通過串行外設接口發(fā)送目標數(shù)據(jù);
[0016]狀態(tài)接收單元,用于在所述發(fā)送單元執(zhí)行操作之后,通過狀態(tài)回復信號線接收硬件信號,所述硬件信號與所述目標數(shù)據(jù)是否正確的校驗結果對應。
[0017]為了解決上述問題,本發(fā)明實施例還提供一種基于串行外設接口的通信裝置,包括:
[0018]接收單元,用于通過串行外設接口接收目標數(shù)據(jù);
[0019]校驗單元,用于在所述接收單元執(zhí)行操作之后,對所述目標數(shù)據(jù)進行校驗,以得出所述目標數(shù)據(jù)是否正確的校驗結果;
[0020]信號控制單元,用于在所述校驗單元執(zhí)行操作之后,控制狀態(tài)回復信號線的硬件信號,以輸出所述校驗結果。
[0021]為了解決上述問題,本發(fā)明實施例還提供一種基于串行外設接口的通信設備,包括:第一通信裝置和第二通信裝置,所述第一通信裝置和所述第二通信裝置分別通過串行外設接口、第一狀態(tài)回復信號線和第二狀態(tài)回復信號線相連,其中:
[0022]所述第一通信裝置,用于通過所述串行外設接口發(fā)送第一目標數(shù)據(jù);通過所述第一狀態(tài)回復信號線接收硬件信號;還用于通過所述串行外設接口接收第二目標數(shù)據(jù);對所述第二目標數(shù)據(jù)進行校驗,以得出所述第二目標數(shù)據(jù)是否正確的第二校驗結果;控制所述第二狀態(tài)回復信號線的硬件信號,以輸出所述第二校驗結果;
[0023]所述第二通信裝置,用于通過所述串行外設接口接收所述第一目標數(shù)據(jù);對所述第一目標數(shù)據(jù)進行校驗,以得出所述第一目標數(shù)據(jù)是否正確的第一校驗結果;控制所述第一狀態(tài)回復信號線的硬件信號,以輸出所述第一校驗結果;還用于通過所述串行外設接口發(fā)送第二目標數(shù)據(jù);通過所述第二狀態(tài)回復信號線接收硬件信號。
[0024]與現(xiàn)有技術相比,本發(fā)明的技術方案具有以下有益效果:
[0025]設置狀態(tài)回復信號線,通過狀態(tài)回復信號線的硬件信號實現(xiàn)基于SPI進行通信時的數(shù)據(jù)接收狀態(tài)回復功能,可以避免傳輸大量的應答包所占用的帶寬,從而提高了基于SPI進行通信時的帶寬利用率。并且由于硬件信號可以在微秒級別被檢測到,因此縮短了數(shù)據(jù)接收狀態(tài)回復的響應時間。
[0026]進一步地,在所述目標數(shù)據(jù)出錯時,對所述目標數(shù)據(jù)進行重傳,從而進一步實現(xiàn)了基于SPI進行通信時的錯誤重傳功能。
[0027]進一步地,通過控制所述第一發(fā)送請求信號線、第一接收準備信號線、第二發(fā)送請求信號線和第二接收準備信號線的硬件信號來指示所述第一通信裝置與第二通信裝置之間通過串行外設接口的數(shù)據(jù)輸出數(shù)據(jù)線和數(shù)據(jù)輸入數(shù)據(jù)線進行數(shù)據(jù)傳輸,由于硬件的電平變化可以在微秒級別被檢測到,因此縮短了數(shù)據(jù)傳輸時接收方的響應時間。
【專利附圖】
【附圖說明】
[0028]圖1是本發(fā)明實施例中基于串行外設接口的通信設備結構示意圖;
[0029]圖2是本發(fā)明實施例中基于串行外設接口的通信方法流程圖;
[0030]圖3是本發(fā)明實施例中基于串行外設接口的通信方法流程圖;
[0031]圖4是本發(fā)明實施例一中基于串行外設接口的通信方法流程圖;
[0032]圖5是本發(fā)明實施例二中基于串行外設接口的通信方法流程圖;
[0033]圖6是本發(fā)明實施例三中第一狀態(tài)回復信號線工作協(xié)議時序圖;
[0034]圖7是本發(fā)明實施例三中第一狀態(tài)回復信號線工作協(xié)議時序圖;
[0035]圖8是本發(fā)明實施例三中第二狀態(tài)回復信號線工作協(xié)議時序圖;
[0036]圖9是本發(fā)明實施例三中第二狀態(tài)回復信號線工作協(xié)議時序圖;
[0037]圖10是本發(fā)明實施例四中基于串行外設接口的通信裝置結構框圖;
[0038]圖11是本發(fā)明實施例五中基于串行外設接口的通信裝置結構框圖。
【具體實施方式】
[0039]如圖1所示,本發(fā)明實施例中,提供一種基于串行外設接口的通信設備,包括:第一通信裝置101和第二通信裝置102,所述第一通信裝置101和所述第二通信裝置102分別通過串行外設接口、第一狀態(tài)回復信號線Resend_lst和第二狀態(tài)回復信號線Resend_2nd相連,現(xiàn)有的串行外設接口的標準協(xié)議中包括時鐘信號線SCK、數(shù)據(jù)輸出數(shù)據(jù)線SD0、數(shù)據(jù)輸入數(shù)據(jù)線SDI和片選信號線CS。
[0040]在具體實施中,所述第一通信裝置101和第二通信裝置102還可以分別通過第一發(fā)送請求信號線Rts_lst、第一接收準備信號線Rdy_lst、第二發(fā)送請求信號線Rts_2nd和第二接收準備信號線Rdy_2nd相連。
[0041]如圖2所示,本發(fā)明實施例中,還提供一種基于串行外設接口的通信方法,包括:
[0042]S201,通過串行外設接口發(fā)送目標數(shù)據(jù)。
[0043]S202,通過狀態(tài)回復信號線接收硬件信號,所述硬件信號與所述目標數(shù)據(jù)是否正確的校驗結果對應。
[0044]在具體實施中,還可以包括:
[0045]S203,在所述硬件信號顯示所述目標數(shù)據(jù)出錯時,通過所述串行外設接口重新發(fā)送所述目標數(shù)據(jù)。
[0046]如圖3所示,本發(fā)明實施例中,還提供一種基于串行外設接口的通信方法,包括:
[0047]S301,通過串行外設接口接收目標數(shù)據(jù);
[0048]S302,對所述目標數(shù)據(jù)進行校驗,以得出所述目標數(shù)據(jù)是否正確的校驗結果;
[0049]S303,控制狀態(tài)回復信號線的硬件信號,以輸出所述校驗結果。
[0050]在具體實施中,還可以包括:
[0051]S304,在所述校驗結果顯示所述目標數(shù)據(jù)出錯時,通過所述串行外設接口重新接收所述目標數(shù)據(jù)。
[0052]從上述方案可以看出,本發(fā)明實施例中,設置狀態(tài)回復信號線,通過狀態(tài)回復信號線的硬件信號實現(xiàn)基于SPI進行通信時的數(shù)據(jù)接收狀態(tài)回復功能,可以避免傳輸大量的應答包所占用的帶寬,從而提高了基于SPI進行通信時的帶寬利用率。并且由于硬件信號可以在微秒級別被檢測到,因此縮短了數(shù)據(jù)接收狀態(tài)回復的響應時間。
[0053]為使本領域技術人員更好地理解和實現(xiàn)本發(fā)明,以下參照附圖,通過具體實施例進行詳細說明。
[0054]實施例一
[0055]參照圖4所示的基于串行外設接口的通信方法流程圖,以下通過具體步驟進行詳細說明:
[0056]S401a,第一通信裝置通過串行外設接口向第二通信裝置發(fā)送第一目標數(shù)據(jù)。
[0057]所述第一通信裝置與所述第二通信裝置通過串行外設接口相連,現(xiàn)有的串行外設接口的標準協(xié)議中包括時鐘信號線、數(shù)據(jù)輸出數(shù)據(jù)線、數(shù)據(jù)輸入數(shù)據(jù)線、片選信號線。所述第一通信裝置可以通過現(xiàn)有的串行外設接口標準協(xié)議中的數(shù)據(jù)輸出數(shù)據(jù)線向所述第二通信裝置發(fā)送所述第一目標數(shù)據(jù)。
[0058]所述第一目標數(shù)據(jù)不限于特定類型的數(shù)據(jù),例如可以是文件的形式。
[0059]S402a,所述第二通信裝置對所述第一目標數(shù)據(jù)進行校驗,以得出所述第一目標數(shù)據(jù)是否正確的第一校驗結果。
[0060]所述第二通信裝置對所述第一目標數(shù)據(jù)進行校驗的目的是:為了得出所述第一目標數(shù)據(jù)是否正確的第一校驗結果。
[0061]所述第二通信裝置對所述第一目標數(shù)據(jù)進行校驗,以得出第一校驗結果的工作可以由所述第二通信裝置獨立完成,具體的校驗方式可以是多種多樣的,例如,所述第一目標數(shù)據(jù)可以采用數(shù)據(jù)包的形式進行發(fā)送,此時,可以將校驗信息存儲于所述數(shù)據(jù)包的包頭部分。
[0062]S403a,所述第二通信裝置控制第一狀態(tài)回復信號線的硬件信號,以向所述第一通信裝置輸出所述第一校驗結果。
[0063]在具體實施中,所述硬件信號可以是所述第一狀態(tài)回復信號線的電平狀態(tài),具體可以是高電平或低電平。例如,可以設置所述第一狀態(tài)回復信號線在正常狀態(tài)下為低電平,當所述第一校驗結果顯示所述第一目標數(shù)據(jù)正確時,所述第一狀態(tài)回復信號線保持低電平,當所述第一校驗結果在某時間段內顯示所述第一目標數(shù)據(jù)出錯時,所述第一狀態(tài)回復信號線在相應的時間段內變?yōu)楦唠娖???梢岳斫獾氖?,也可以設定所述第一狀態(tài)回復信號線在正常狀態(tài)下為高電平,而在所述第一校驗結果顯示所述第一目標數(shù)據(jù)出錯時變?yōu)榈碗娖健?br>
[0064]在具體實施中,所述硬件信號也可以是通過所述第一狀態(tài)回復信號線發(fā)送的脈沖,當所述第一校驗結果顯示所述第一目標數(shù)據(jù)出錯時,所述第二通信裝置通過所述第一狀態(tài)回復信號線向所述第一通信裝置發(fā)送脈沖信號。
[0065]由于硬件的電平變化可以在微秒級別被檢測到,因此縮短了數(shù)據(jù)接收狀態(tài)回復的響應時間。
[0066]本實施例中,設置第一狀態(tài)回復信號線,通過第一狀態(tài)回復信號線的硬件信號實現(xiàn)基于SPI進行通信時的數(shù)據(jù)接收狀態(tài)回復功能,可以避免傳輸大量的應答包所占用的帶寬,從而提高了基于SPI進行通信時的帶寬利用率。
[0067]S401b,第二通信裝置通過串行外設接口向第一通信裝置發(fā)送第二目標數(shù)據(jù)。
[0068]所述第二通信裝置可以通過現(xiàn)有的串行外設接口標準協(xié)議中的數(shù)據(jù)輸入數(shù)據(jù)線向所述第一通信裝置發(fā)送所述第二目標數(shù)據(jù)。
[0069]S402b,所述第一通信裝置對所述第二目標數(shù)據(jù)進行校驗,以得出所述第二目標數(shù)據(jù)是否正確的第二校驗結果。
[0070]S403b,所述第一通信裝置控制第二狀態(tài)回復信號線的硬件信號,以向所述第二通信裝置輸出所述第二校驗結果。
[0071]步驟S401b至步驟S403b的【具體實施方式】可以參照步驟S401a至步驟S403a。
[0072]上述方案通過第一狀態(tài)回復信號線和第二狀態(tài)回復信號線的硬件信號實現(xiàn)基于SPI進行通信時的雙向接收狀態(tài)回復功能,可以進一步提高帶寬利用率。
[0073]在具體實施中,所述第一通信裝置可以是SPI主設備,例如可以是應用處理器,所述第二通信裝置可以是SPI從設備,例如可以是基帶處理器。由于實際應用中通常是由SPI主設備向SPI從設備發(fā)送數(shù)據(jù),因此,在所述第一通信裝置為SPI主設備,所述第二通信裝置為SPI從設備的情況下,可以通過上述步驟實現(xiàn)基于SPI進行通信時的雙向接收狀態(tài)回復功能,也可以僅僅通過步驟S301a至步驟S303a來實現(xiàn)基于SPI進行通信,且由SPI主設備向SPI從設備發(fā)送數(shù)據(jù)時的單向接收狀態(tài)回復功能??梢岳斫獾氖?,還可以僅僅通過步驟S401b至步驟S403b來實現(xiàn)基于SPI進行通信,且由SPI從設備向SPI主設備發(fā)送數(shù)據(jù)時的單向接收狀態(tài)回復功能。
[0074]實施例二
[0075]本實施例與實施例一的不同之處在于,進一步實現(xiàn)了錯誤重傳的功能,參照圖5所示的基于串行外設接口的通信方法流程圖,其中步驟S501a至步驟S503a、步驟S501b至步驟S503b可以參照實施例一中的步驟S401a至步驟S403a、步驟S401b至步驟S403b,以下詳細說明與實施例一不同的步驟,具體來說,在步驟S503a之后還可以包括如下步驟:
[0076]S504a,在所述硬件信號顯示所述第一目標數(shù)據(jù)出錯時,所述第一通信裝置通過所述串行外設接口向所述第二通信裝置重新發(fā)送所述第一目標數(shù)據(jù)。
[0077]導致所述第一目標數(shù)據(jù)出錯的原因有很多種,例如,可以是傳輸出錯、數(shù)據(jù)包打包出錯、數(shù)據(jù)包解碼出錯中的一種或幾種。
[0078]在具體實施中,所述第二通信裝置可以進一步對重傳后的數(shù)據(jù)再次進行校驗,并通過控制所述第一狀態(tài)回復信號線的硬件信號向所述第一通信裝置輸出重新得出的第一校驗結果,在所述重新得出的第一校驗結果顯示所述第一目標數(shù)據(jù)仍然出錯的情況下再次進行數(shù)據(jù)重傳,直至所述第一目標數(shù)據(jù)正確為止。
[0079]相應地,在步驟S503b之后還可以包括如下步驟:
[0080]S504b,在所述硬件信號顯示所述第二目標數(shù)據(jù)出錯時,所述第二通信裝置通過所述串行外設接口向所述第一通信裝置重新發(fā)送所述第二目標數(shù)據(jù)。
[0081]步驟S504b的【具體實施方式】可以參照步驟S504a。
[0082]可以理解的是,在需要實現(xiàn)雙向錯誤重傳功能的情況下,可以包括步驟S504a和步驟S504b ;在只需要實現(xiàn)單向錯誤重傳功能的情況下,也可以僅僅包括步驟S504a或步驟S504b。
[0083]從上述方案可以看出,本實施例中,在所述第一目標數(shù)據(jù)和/或第二目標數(shù)據(jù)出錯時,相應地對所述第一目標數(shù)據(jù)和/或第二目標數(shù)據(jù)進行重傳,從而進一步實現(xiàn)了基于SPI進行通信時的錯誤重傳功能。
[0084]實施例三
[0085]本實施例與實施例一的不同之處在于,進一步通過第一發(fā)送請求信號線、第一接收準備信號線、第二發(fā)送請求信號線和第二接收準備信號線的硬件信號來指示所述第一通信裝置與第二通信裝置之間通過串行外設接口的數(shù)據(jù)輸出數(shù)據(jù)線和數(shù)據(jù)輸入數(shù)據(jù)線進行數(shù)據(jù)傳輸,以下詳細說明與實施例一不同的步驟:
[0086]所述第一通信裝置和第二通信裝置還分別通過第一發(fā)送請求信號線、第一接收準備信號線、第二發(fā)送請求信號線和第二接收準備信號線相連,所述方法包括:
[0087]所述第一發(fā)送請求信號線用于判斷所述第一通信裝置是否請求通過所述數(shù)據(jù)輸出數(shù)據(jù)線向所述第二通信裝置發(fā)送數(shù)據(jù);
[0088]所述第一接收準備信號線用于判斷所述第一通信裝置是否處于準備接受數(shù)據(jù)的狀態(tài);
[0089]所述第二發(fā)送請求信號線用于判斷所述第二通信裝置是否請求通過所述數(shù)據(jù)輸入數(shù)據(jù)線向所述第一通信裝置發(fā)送數(shù)據(jù);
[0090]所述第二接收準備信號線用于判斷所述第二通信裝置是否處于準備接受數(shù)據(jù)的狀態(tài)。
[0091]當所述第一通信裝置請求通過所述數(shù)據(jù)輸出數(shù)據(jù)線向所述第二通信裝置發(fā)送數(shù)據(jù)時,所述第一通信裝置控制所述第一發(fā)送請求信號線的電平狀態(tài)為第一電平。
[0092]當所述第一通信裝置處于能夠接收所述第二通信裝置通過所述數(shù)據(jù)輸入數(shù)據(jù)線發(fā)送的數(shù)據(jù)時,所述第一通信裝置控制所述第一接收準備信號線的電平狀態(tài)為第二電平。
[0093]當所述第二通信裝置請求通過所述數(shù)據(jù)輸入數(shù)據(jù)線向所述第一通信裝置發(fā)送數(shù)據(jù)時,所述第二通信裝置控制所述第二發(fā)送請求信號線的電平狀態(tài)為第三電平。
[0094]當所述第二通信裝置處于能夠接收所述第一通信裝置通過所述數(shù)據(jù)輸出數(shù)據(jù)線發(fā)送的數(shù)據(jù)時,所述第二通信裝置控制所述第二接收準備信號線的電平狀態(tài)為第四電平。
[0095]可以理解的是,所述第一電平、第二電平、第三電平和第四電平僅用于區(qū)別四根不同信號線的電平狀態(tài),并非用于區(qū)分四種不同的電平狀態(tài),在具體實施中,所述第一電平、第二電平、第三電平或第四電平既可以是高電平,也可以是低電平。
[0096]參照圖6至圖9所示的第一狀態(tài)回復信號線、第二狀態(tài)回復信號線工作協(xié)議時序圖,圖6至圖9中以所述第一電平是高電平,所述第二電平是高電平,所述第三電平是低電平,所述第四電平是高電平,所述第一狀態(tài)回復信號線ResencLlst、第二狀態(tài)回復信號線Resend_2nd在正常狀態(tài)下為低電平,在所述第一校驗結果或所述第二校驗結果為錯誤時變?yōu)楦唠娖綖槔?br>
[0097]如圖6所示,當所述第一通信裝置請求通過所述數(shù)據(jù)輸出數(shù)據(jù)線向所述第二通信裝置發(fā)送數(shù)據(jù)時,控制所述第一發(fā)送請求信號線Rts_lst為高電平。所述第二接收準備信號線Rdy_2nd在處于準備接受數(shù)據(jù)的狀態(tài)下為高電平,當所述第二通信裝置檢測到所述第一發(fā)送請求信號線Rts_lst為高電平時,通過所述數(shù)據(jù)輸出數(shù)據(jù)線接收所述第一通信裝置發(fā)送的數(shù)據(jù),此時,所述第二通信裝置控制所述第二接收準備信號線Rdy_2nd變?yōu)榈碗娖?,直至所述第二通信裝置檢測到所述第一發(fā)送請求信號線Rts_lst變?yōu)榈碗娖綖橹埂?br>
[0098]所述第二通信裝置對所述第一目標數(shù)據(jù)進行校驗,以得出所述第一目標數(shù)據(jù)是否正確的第一校驗結果,并根據(jù)所述第一校驗結果控制所述第一狀態(tài)回復信號線ResencLlst的電平狀態(tài)。如果所述第一校驗結果顯示所述第一目標數(shù)據(jù)正確,則所述第一狀態(tài)回復信號線Resend_lst保持低電平。
[0099]其中,tl表示從所述第一通信裝置開始發(fā)出發(fā)送請求到所述第二通信裝置開始接收數(shù)據(jù)的響應時間,t2表示從所述第一通信裝置結束發(fā)送請求到所述第二通信裝置結束接收數(shù)據(jù)的響應時間,硬件的電平變化可以在微秒級別被檢測到,上述響應時間通常在Ims以內。
[0100]如圖7所示,如果所述第一校驗結果顯示所述第一目標數(shù)據(jù)出錯,則所述第一狀態(tài)回復信號線ResencLlst變?yōu)楦唠娖健?br>
[0101]其中,t3表示從所述第一通信裝置開始發(fā)出發(fā)送請求到所述第二通信裝置開始接收數(shù)據(jù)的響應時間,t4表示從所述第一通信裝置結束發(fā)送請求到所述第二通信裝置結束接收數(shù)據(jù)的響應時間。
[0102]如圖8所示,當所述第二通信裝置請求通過所述數(shù)據(jù)輸入數(shù)據(jù)線向所述第一通信裝置發(fā)送數(shù)據(jù)時,控制所述第二發(fā)送請求信號線Rts_2nd為低電平。所述第一接收準備信號線Rdy_lst在處于準備接受數(shù)據(jù)的狀態(tài)下為高電平,當所述第一通信裝置檢測到所述第二發(fā)送請求信號線Rts_2nd為低電平時,通過所述數(shù)據(jù)輸入數(shù)據(jù)線接收所述第二通信裝置發(fā)送的數(shù)據(jù),此時,所述第一通信裝置控制所述第一接收準備信號線Rdy_lst變?yōu)榈碗娖剑敝了龅谝煌ㄐ叛b置檢測到所述第二發(fā)送請求信號線Rts_2nd變?yōu)楦唠娖綖橹埂?br>
[0103]所述第一通信裝置對所述第二目標數(shù)據(jù)進行校驗,以得出所述第二目標數(shù)據(jù)是否正確的第二校驗結果,并根據(jù)所述第二校驗結果控制所述第二狀態(tài)回復信號線ReSend_2nd的電平狀態(tài)。如果所述第二校驗結果顯示所述第二目標數(shù)據(jù)正確,則所述第二狀態(tài)回復信號線Resend_2nd保持低電平。
[0104]其中,t5表示從所述第二通信裝置開始發(fā)出發(fā)送請求到所述第一通信裝置開始接收數(shù)據(jù)的響應時間,t6表示從所述第二通信裝置結束發(fā)送請求到所述第一通信裝置結束接收數(shù)據(jù)的響應時間。
[0105]如圖9所示,如果所述第二校驗結果顯示所述第二目標數(shù)據(jù)出錯,則所述第二狀態(tài)回復信號線Resend_2nd變?yōu)楦唠娖健?br>
[0106]其中,t7表示從所述第二通信裝置開始發(fā)出發(fā)送請求到所述第一通信裝置開始接收數(shù)據(jù)的響應時間,t8表示從所述第二通信裝置結束發(fā)送請求到所述第一通信裝置結束接收數(shù)據(jù)的響應時間。
[0107]從以上描述可以看出,通過控制所述第一發(fā)送請求信號線、第一接收準備信號線、第二發(fā)送請求信號線和第二接收準備信號線的硬件信號來指示所述第一通信裝置與第二通信裝置之間通過串行外設接口的數(shù)據(jù)輸出數(shù)據(jù)線和數(shù)據(jù)輸入數(shù)據(jù)線進行數(shù)據(jù)傳輸,由于硬件的電平變化可以在微秒級別被檢測到,因此縮短了數(shù)據(jù)傳輸時接收方的響應時間。
[0108]實施例四
[0109]參照圖10所示的基于串行外設接口的通信裝置,包括:發(fā)送單元1001和狀態(tài)接收單元1002,其中:
[0110]所述發(fā)送單元1001,用于通過串行外設接口發(fā)送目標數(shù)據(jù);
[0111]所述狀態(tài)接收單元1002,用于在所述發(fā)送單元1001執(zhí)行操作之后,通過狀態(tài)回復信號線接收硬件信號,所述硬件信號與所述目標數(shù)據(jù)是否正確的校驗結果對應。
[0112]本實施例中,設置狀態(tài)回復信號線,通過狀態(tài)回復信號線的硬件信號實現(xiàn)基于SPI進行通信時的數(shù)據(jù)接收狀態(tài)回復功能,可以避免傳輸大量的應答包所占用的帶寬,從而提高了基于SPI進行通信時的帶寬利用率。并且由于硬件信號可以在微秒級別被檢測到,因此縮短了數(shù)據(jù)接收狀態(tài)回復的響應時間。
[0113]具體實施中,所述通信裝置還可以包括:
[0114]重新發(fā)送單元1003,用于在所述硬件信號顯示所述目標數(shù)據(jù)出錯時,通過所述串行外設接口重新發(fā)送所述目標數(shù)據(jù)。
[0115]從上述方案可以看出,在所述目標數(shù)據(jù)出錯時,對所述目標數(shù)據(jù)進行重傳,從而進一步實現(xiàn)了基于SPI進行通信時的錯誤重傳功能。
[0116]在具體實施中,所述硬件信號可以是所述狀態(tài)回復信號線的電平狀態(tài)或通過所述狀態(tài)回復信號線發(fā)送的脈沖。
[0117]實施例五
[0118]參照圖11所示的基于串行外設接口的通信裝置,包括:接收單元1101、校驗單元1102和信號控制單元1103,其中:
[0119]所述接收單元1101,用于通過串行外設接口接收目標數(shù)據(jù);
[0120]所述校驗單元1102,用于在所述接收單元1101執(zhí)行操作之后,對所述目標數(shù)據(jù)進行校驗,以得出所述目標數(shù)據(jù)是否正確的校驗結果;
[0121]所述信號控制單元1103,用于在所述校驗單元1102執(zhí)行操作之后,控制狀態(tài)回復信號線的硬件信號,以輸出所述校驗結果。
[0122]本實施例中,設置狀態(tài)回復信號線,通過狀態(tài)回復信號線的硬件信號實現(xiàn)基于SPI進行通信時的數(shù)據(jù)接收狀態(tài)回復功能,可以避免傳輸大量的應答包所占用的帶寬,從而提高了基于SPI進行通信時的帶寬利用率。并且由于硬件信號可以在微秒級別被檢測到,因此縮短了數(shù)據(jù)接收狀態(tài)回復的響應時間。
[0123]所述接收單元1101,還用于在所述校驗結果顯示所述目標數(shù)據(jù)出錯時,通過所述串行外設接口重新接收所述目標數(shù)據(jù)。
[0124]從上述方案可以看出,在所述目標數(shù)據(jù)出錯時,對所述目標數(shù)據(jù)進行重傳,從而進一步實現(xiàn)了基于SPI進行通信時的錯誤重傳功能。
[0125]在具體實施中,所述硬件信號可以是所述狀態(tài)回復信號線的電平狀態(tài)或通過所述狀態(tài)回復信號線發(fā)送的脈沖。
[0126]實施例六
[0127]參照圖1所示的基于串行外設接口的通信設備,包括:第一通信裝置101和第二通信裝置102,所述第一通信裝置101和所述第二通信裝置102分別通過串行外設接口、第一狀態(tài)回復信號線ResencLlst和第二狀態(tài)回復信號線ReSend_2nd相連,現(xiàn)有的串行外設接口的標準協(xié)議中包括時鐘信號線SCK、數(shù)據(jù)輸出數(shù)據(jù)線SD0、數(shù)據(jù)輸入數(shù)據(jù)線SDI和片選信號線CS,其中:
[0128]所述第一通信裝置101,用于通過所述數(shù)據(jù)輸出數(shù)據(jù)線SDO發(fā)送第一目標數(shù)據(jù);通過所述第一狀態(tài)回復信號線ResencLlst接收硬件信號;還用于通過所述數(shù)據(jù)輸入數(shù)據(jù)線SDI接收第二目標數(shù)據(jù);對所述第二目標數(shù)據(jù)進行校驗,以得出所述第二目標數(shù)據(jù)是否正確的第二校驗結果;控制所述第二狀態(tài)回復信號線ReSend_2nd的硬件信號,以輸出所述第二校驗結果;
[0129]所述第二通信裝置102,用于通過所述數(shù)據(jù)輸出數(shù)據(jù)線SDO接收所述第一目標數(shù)據(jù);對所述第一目標數(shù)據(jù)進行校驗,以得出所述第一目標數(shù)據(jù)是否正確的第一校驗結果;通過控制所述第一狀態(tài)回復信號線ResencLlst的硬件信號輸出所述第一校驗結果;還用于通過所述數(shù)據(jù)輸入數(shù)據(jù)線SDI發(fā)送第二目標數(shù)據(jù);通過所述第二狀態(tài)回復信號線Resend_2nd接收硬件信號。
[0130]可以理解的是,可以通過上述方案,實現(xiàn)基于SPI進行通信時的雙向接收狀態(tài)回復功能,也可以僅僅實現(xiàn)單向接收狀態(tài)回復功能。
[0131]本實施例中,設置第一狀態(tài)回復信號線和/或第二狀態(tài)回復信號線,通過第一狀態(tài)回復信號線和/或第二狀態(tài)回復信號線的硬件信號實現(xiàn)基于SPI進行通信時的數(shù)據(jù)接收狀態(tài)回復功能,可以避免傳輸大量的應答包所占用的帶寬,從而提高了基于SPI進行通信時的帶寬利用率。并且由于硬件信號可以在微秒級別被檢測到,因此縮短了數(shù)據(jù)接收狀態(tài)回復的響應時間。
[0132]所述第一通信裝置101,還用于在硬件信號顯示所述第一目標數(shù)據(jù)出錯時,通過所述數(shù)據(jù)輸出數(shù)據(jù)線SDO重新發(fā)送所述第一目標數(shù)據(jù);還用于在所述第二校驗結果顯示所述第二目標數(shù)據(jù)出錯時,通過所述數(shù)據(jù)輸入數(shù)據(jù)線SDI重新接收所述第二目標數(shù)據(jù);
[0133]所述第二通信裝置102,還用于在所述第一校驗結果顯示所述第一目標數(shù)據(jù)出錯時,通過所述數(shù)據(jù)輸出數(shù)據(jù)線SDO重新接收所述第一目標數(shù)據(jù);還用于在硬件信號顯示所述第二目標數(shù)據(jù)出錯時,通過所述數(shù)據(jù)輸入數(shù)據(jù)線SDI重新發(fā)送所述第二目標數(shù)據(jù)。
[0134]從上述方案可以看出,在所述第一目標數(shù)據(jù)和/或第二目標數(shù)據(jù)出錯時,相應地對所述第一目標數(shù)據(jù)和/或第二目標數(shù)據(jù)進行重傳,從而進一步實現(xiàn)了基于SPI進行通信時的錯誤重傳功能。同樣地,錯誤重傳功能也可以是雙向錯誤重傳功能,或僅僅是單向錯誤重傳功能。
[0135]所述第一通信裝置101和第二通信裝置102還分別通過第一發(fā)送請求信號線Rts_lst、第一接收準備信號線Rdy_lst、第二發(fā)送請求信號線Rts_2nd和第二接收準備信號線Rdy_2nd相連,
[0136]所述第一通信裝置101,還用于在請求通過所述串行外設接口的數(shù)據(jù)輸出數(shù)據(jù)線向所述第二通信裝置102發(fā)送數(shù)據(jù)時,控制所述第一發(fā)送請求信號線的電平狀態(tài)為第一電平;在處于能夠接收所述第二通信裝置102通過所述串行外設接口的數(shù)據(jù)輸入數(shù)據(jù)線發(fā)送的數(shù)據(jù)時,控制所述第一接收準備信號線的電平狀態(tài)為第二電平;
[0137]所述第二通信裝置102,還用于在請求通過所述串行外設接口的數(shù)據(jù)輸入數(shù)據(jù)線向所述第一通信裝置101發(fā)送數(shù)據(jù)時,控制所述第二發(fā)送請求信號線的電平狀態(tài)為第三電平;在處于能夠接收所述第一通信裝置101通過所述串行外設接口的數(shù)據(jù)輸出數(shù)據(jù)線發(fā)送的數(shù)據(jù)時,控制所述第二接收準備信號線的電平狀態(tài)為第四電平。
[0138]從上述方案可以看出,本實施例中,通過控制所述第一發(fā)送請求信號線、第一接收準備信號線、第二發(fā)送請求信號線和第二接收準備信號線的硬件信號來指示所述第一通信裝置與第二通信裝置之間通過串行外設接口的數(shù)據(jù)輸出數(shù)據(jù)線和數(shù)據(jù)輸入數(shù)據(jù)線進行數(shù)據(jù)傳輸,由于硬件的電平變化可以在微秒級別被檢測到,因此縮短了數(shù)據(jù)傳輸時接收方的響應時間。
[0139]在具體實施中,所述第一通信裝置101可以是應用處理器,所述第二通信裝置102可以是基帶處理器??梢岳斫獾氖?,所述第一通信裝置101也可以是基帶處理器,所述第二通信裝置102也可以是應用處理器。
[0140]在具體實施中,所述通信設備可以是智能手機。
[0141]本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質中,存儲介質可以包括:ROM、RAM、磁盤或光盤等。
[0142]雖然本發(fā)明披露如上,但本發(fā)明并非限定于此。任何本領域技術人員,在不脫離本發(fā)明的精神和范圍內,均可作各種更動與修改,因此本發(fā)明的保護范圍應當以權利要求所限定的范圍為準。
【權利要求】
1.一種基于串行外設接口的通信方法,其特征在于,包括: 通過串行外設接口發(fā)送目標數(shù)據(jù); 通過狀態(tài)回復信號線接收硬件信號,所述硬件信號與所述目標數(shù)據(jù)是否正確的校驗結果對應。
2.如權利要求1所述的基于串行外設接口的通信方法,其特征在于,還包括: 在所述硬件信號顯示所述目標數(shù)據(jù)出錯時,通過所述串行外設接口重新發(fā)送所述目標數(shù)據(jù)。
3.如權利要求2所述的基于串行外設接口的通信方法,其特征在于,導致所述出錯的原因是傳輸出錯、數(shù)據(jù)包打包出錯和/或數(shù)據(jù)包解碼出錯。
4.如權利要求1所述的基于串行外設接口的通信方法,其特征在于,所述硬件信號是所述狀態(tài)回復信號線的電平狀態(tài)或通過所述狀態(tài)回復信號線發(fā)送的脈沖。
5.一種基于串行外設接口的通信方法,其特征在于,包括: 通過串行外設接口接收目標數(shù)據(jù); 對所述目標數(shù)據(jù)進行校驗,以得出所述目標數(shù)據(jù)是否正確的校驗結果; 控制狀態(tài)回復信號線的硬件信號,以輸出所述校驗結果。
6.如權利要求5所述的基于串行外設接口的通信方法,其特征在于,還包括: 在所述校驗結果顯示所述目標數(shù)據(jù)出錯時,通過所述串行外設接口重新接收所述目標數(shù)據(jù)。
7.如權利要求6所述的基于串行外設接口的通信方法,其特征在于,導致所述出錯的原因是傳輸出錯、數(shù)據(jù)包打包出錯和/或數(shù)據(jù)包解碼出錯。
8.如權利要求5所述的基于串行外設接口的通信方法,其特征在于,所述硬件信號是所述狀態(tài)回復信號線的電平狀態(tài)或通過所述狀態(tài)回復信號線發(fā)送的脈沖。
9.如權利要求5所述的基于串行外設接口的通信方法,其特征在于,在所述目標數(shù)據(jù)采用數(shù)據(jù)包的形式進行發(fā)送時,對所述目標數(shù)據(jù)進行校驗具體是:根據(jù)數(shù)據(jù)包頭中的校驗信息對所述目標數(shù)據(jù)進行校驗。
10.一種基于串行外設接口的通信裝置,其特征在于,包括: 發(fā)送單元,用于通過串行外設接口發(fā)送目標數(shù)據(jù); 狀態(tài)接收單元,用于在所述發(fā)送單元執(zhí)行操作之后,通過狀態(tài)回復信號線接收硬件信號,所述硬件信號與所述目標數(shù)據(jù)是否正確的校驗結果對應。
11.如權利要求10所述的基于串行外設接口的通信裝置,其特征在于,還包括: 重新發(fā)送單元,用于在所述硬件信號顯示所述目標數(shù)據(jù)出錯時,通過所述串行外設接口重新發(fā)送所述目標數(shù)據(jù)。
12.如權利要求10所述的基于串行外設接口的通信裝置,其特征在于,所述硬件信號是所述狀態(tài)回復信號線的電平狀態(tài)或通過所述狀態(tài)回復信號線發(fā)送的脈沖。
13.一種基于串行外設接口的通信裝置,其特征在于,包括: 接收單元,用于通過串行外設接口接收目標數(shù)據(jù); 校驗單元,用于在所述接收單元執(zhí)行操作之后,對所述目標數(shù)據(jù)進行校驗,以得出所述目標數(shù)據(jù)是否正確的校驗結果; 信號控制單元,用于在所述校驗單元執(zhí)行操作之后,控制狀態(tài)回復信號線的硬件信號,以輸出所述校驗結果。
14.如權利要求13所述的基于串行外設接口的通信裝置,其特征在于, 所述接收單元,還用于在所述校驗結果顯示所述目標數(shù)據(jù)出錯時,通過所述串行外設接口重新接收所述目標數(shù)據(jù)。
15.如權利要求13所述的基于串行外設接口的通信裝置,其特征在于,所述硬件信號是所述狀態(tài)回復信號線的電平狀態(tài)或通過所述狀態(tài)回復信號線發(fā)送的脈沖。
16.一種基于串行外設接口的通信設備,包括:第一通信裝置和第二通信裝置,所述第一通信裝置和所述第二通信裝置分別通過串行外設接口、第一狀態(tài)回復信號線和第二狀態(tài)回復信號線相連,其中: 所述第一通信裝置,用于通過所述串行外設接口發(fā)送第一目標數(shù)據(jù);通過所述第一狀態(tài)回復信號線接收硬件信號;還用于通過所述串行外設接口接收第二目標數(shù)據(jù);對所述第二目標數(shù)據(jù)進行校驗,以得出所述第二目標數(shù)據(jù)是否正確的第二校驗結果;控制所述第二狀態(tài)回復信號線的硬件信號,以輸出所述第二校驗結果; 所述第二通信裝置,用于通過所述串行外設接口接收所述第一目標數(shù)據(jù);對所述第一目標數(shù)據(jù)進行校驗,以得出所述第一目標數(shù)據(jù)是否正確的第一校驗結果;控制所述第一狀態(tài)回復信號線的硬件信號,以輸出所述第一校驗結果;還用于通過所述串行外設接口發(fā)送第二目標數(shù)據(jù);通過所述第二狀態(tài)回復信號線接收硬件信號。
17.如權利要求16所述的基于串行外設接口的通信設備,其特征在于, 所述第一通信裝置,還用于在硬件信號顯示所述第一目標數(shù)據(jù)出錯時,通過所述串行外設接口重新發(fā)送所述第一目標數(shù)據(jù);還用于在所述第二校驗結果顯示所述第二目標數(shù)據(jù)出錯時,通過所述串行外設接口重新接收所述第二目標數(shù)據(jù); 所述第二通信裝置,還用于在所述第一校驗結果顯示所述第一目標數(shù)據(jù)出錯時,通過所述串行外設接口重新接收所述第一目標數(shù)據(jù);還用于在硬件信號顯示所述第二目標數(shù)據(jù)出錯時,通過所述串行外設接口重新發(fā)送所述第二目標數(shù)據(jù)。
18.如權利要求16所述的基于串行外設接口的通信設備,其特征在于,所述第一通信裝置和第二通信裝置還分別通過第一發(fā)送請求信號線、第一接收準備信號線、第二發(fā)送請求信號線和第二接收準備信號線相連。
19.如權利要求16所述的基于串行外設接口的通信設備,其特征在于,所述第一通信裝置是應用處理器,所述第二通信裝置是基帶處理器;或者所述第一通信裝置是基帶處理器,所述第二通信裝置是應用處理器。
【文檔編號】G06F13/38GK104298630SQ201310301243
【公開日】2015年1月21日 申請日期:2013年7月17日 優(yōu)先權日:2013年7月17日
【發(fā)明者】楊攀 申請人:展訊通信(上海)有限公司