半雙工通信方法及相關裝置的制造方法
【技術領域】
[0001]本公開涉及通信技術領域,特別是涉及一種半雙工通信方法及相關裝置。
【背景技術】
[0002]半雙工通信方式可以實現雙向的通信,但不能在收發兩個方向上同時進行,必須輪流交替地進行。換言之,通信信道的每一端都可以使發送端,也可以使接收端,但同一時亥IJ,只能有一個傳輸方向。例如,終端A與終端B之間通過半雙工通信方式通信,終端A作為發送端,終端B作為接收端,由終端A發送數據,終端B接收數據;當終端A發送完數據后,終立而A切換為接收纟而,終纟而B切換為發送纟而,終纟而B向終纟而A發送響應數據。
[0003]半雙工通信系統通過時鐘線(命令線)和數據線實現半雙工通信。時鐘線(命令線)主要是傳送同步脈沖,數據線用于傳送數據。當傳輸數據時,為避免發送端的通訊設備和接收端的通訊設備發生時鐘信號不同步的現象,需要在時鐘線上傳輸時鐘信號,時鐘線上傳輸的時鐘信號可以利用通訊系統中主CPU的時鐘信號。這樣,只能利用數據線傳輸數據,當有大量數據傳輸時,此種通信方式的傳輸效率低。
[0004]此外,對于某些半雙工通信協議,例如,SD1 (Secure Digital Input and OutputCard,安全數字輸入輸出卡)總線包括I根時鐘線、I根命令線,4根數據線,在傳輸數據時,命令線基本閑置,但無法利用命令線傳輸數據,導致總線傳輸速率有限。又如,I2C總線具有I根時鐘線和I根數據線,時鐘線不能用來傳輸數據,無法最大程度地利用現有的總線資源來傳輸數據。
【發明內容】
[0005]為克服相關技術中存在的問題,本公開提供一種半雙工通信方法,以實現最大程度地利用半雙工通訊設備中已有的連接線傳輸數據,進而提高傳統半雙工通訊設備的數據傳輸速率。
[0006]為了解決上述技術問題,本公開實施例公開了如下技術方案:
[0007]根據本公開實施例的第一方面,提供一種半雙工通信方法,包括:
[0008]第一通訊設備按照預設時鐘周期,通過總線中的控制線和數據線向第二通訊設備發送數據;
[0009]判斷所述第一通訊設備與所述第二通訊設備是否需要進行時鐘同步;
[0010]當所述第一通訊設備與所述第二通訊設備需要進行時鐘同步時,所述第一通訊設備通過所述控制線或數據線向所述第二通訊設備發送同步信號,所述同步信號用于所述第二通訊設備調整時鐘信號,以使所述第二通訊設備的時鐘與第一通訊設備的時鐘信號保持同步。
[0011]結合第一方面,在第一方面的第一種可能的實現方式中,判斷所述第一通訊設備與所述第二通訊設備是否需要進行時鐘同步,采用如下方式:
[0012]對所述第一通訊設備發送數據的周期進行計數,當計數數值達到預設周期數時,確定所述第一通訊設備和所述第二通訊設備需要進行時鐘同步。
[0013]結合第一方面,在第一方面的第二種可能的實現方式中,判斷所述第一通訊設備與所述第二通訊設備是否需要進行時鐘同步,采用如下方式:
[0014]對所述第一通訊設備已發送的數據的字節進行計數,當計數數值達到預設數值時,確定所述第一通訊設備和所述第二通訊設備需要進行時鐘同步。
[0015]結合第一方面或第一方面的第一種或第二種可能的實現方式,在第一方面的第三種可能的實現方式中,所述第一通訊設備通過所述控制線或數據線向所述第二通訊設備發送同步信號,采用如下方式:
[0016]所述第一通訊設備在所述控制線或數據線傳輸的數據流中插入停止位,所述停止位表明所述第一通訊設備已停止發送數據,且使所述第二通訊設備調整時鐘信號。
[0017]根據本公開實施例的第二方面,提供一種半雙工通信方法,包括:
[0018]第二通訊設備按照預設時鐘周期接收來自第一通訊設備的數據;
[0019]所述第二通訊設備判斷是否接收到來自所述第一通訊設備的同步信號,所述同步信號由所述第一通訊設備判斷出所述第二通訊設備需要與第一通訊設備進行時鐘同步時發送;
[0020]當所述第二通訊設備接收到來自所述第一通訊設備的同步信號時,調整自身的時鐘信號,以使調整后的時鐘信號與所述第一通訊設備的時鐘信號保持同步。
[0021]根據本公開實施例的第三方面,提供一種半雙工通信裝置,包括:
[0022]數據發送單元,用于按照預設時鐘周期,通過總線中的控制線或數據線向第二通訊設備發送數據;
[0023]判斷單元,用于判斷所述第一通訊設備與所述第二通訊設備是否需要進行時鐘同
I K
少;
[0024]同步信號發送單元,用于當所述第一通訊設備與所述第二通訊設備需要進行時鐘同步時,所述第一通訊設備通過所述控制線或數據線向所述第二通訊設備發送同步信號,所述同步信號用于所述第二通訊設備調整時鐘信號,以使所述第二通訊設備的時鐘與第一通訊設備的時鐘信號保持同步。
[0025]結合第三方面,在第三方面的第一種可能的實現方式中,所述判斷單元包括:
[0026]第一計數子單元,用于對所述第一通訊設備發送數據的周期進行計數;
[0027]第一確定子單元,用于當計數數值達到預設周期數時,確定所述第一通訊設備和所述第二通訊設備需要進行時鐘同步。
[0028]結合第三方面,在第三方面的第二種可能的實現方式中,所述判斷單元包括:
[0029]第二計數子單元,用于對所述第一通訊設備已發送數據的字節進行計數;
[0030]第二確定子單元,用于當計數數值達到預設數值時,確定所述第一通訊設備和所述第二通訊設備需要進行時鐘同步。
[0031]結合第三方面或第三方面的第一種或第二種可能的實現方式,在第三方面的第四種可能的實現方式中,所述同步信號發送單元包括:
[0032]停止位插入子單元,用于在所述控制線或數據線傳輸的數據流中插入停止位,所述停止位表明所述第一通訊設備已停止發送數據,且使所述第二通訊設備調整時鐘信號。
[0033]根據本公開實施例的第四方面,提供一種半雙工通信裝置,包括:
[0034]數據接收單元,用于按照預設時鐘周期接收來自第一通訊設備的數據。
[0035]判斷單元,用于判斷所述第二通訊設備是否接收到來自第一通訊設備的同步信號,所述同步信號由所述第一通訊設備判斷出所述第二通訊設備需要與第一通訊設備進行時鐘同步時發送。
[0036]時鐘信號調整單元,用于當所述第二通訊設備接收到來自所述第一通訊設備的同步信號時,調整自身的時鐘信號,以使調整后的時鐘信號與所述第一通訊設備的時鐘信號保持同步。
[0037]根據本公開實施例的第五方面,提供一種終端設備,包括:處理器;用于存儲處理器可執行指令的存儲器;其中,所述處理器被配置為:
[0038]第一通訊設備按照預設時鐘周期,通過總線中控制線和數據線向第二通訊設備發送數據;
[0039]判斷所述第一通訊設備與所述第二通訊設備是否需要進行時鐘同步;
[0040]當所述第一通訊設備與所述第二通訊設備需要進行時鐘同步時,所述第一通訊設備通過所述控制線或數據線向所述第二通訊設備發送同步信號,所述同步信號用于所述第二通訊設備調整時鐘信號,以使所述第二通訊設備的時鐘與第一通訊設備的時鐘信號保持同步。
[0041]根據本公開實施例的第六方面,提供一種終端設備,包括:處理器;
[0042]用于存儲處理器可執行指令的存儲器;其中,所述處理器被配置為:
[0043]按照預設時鐘周期接收來自第一通訊設備的數據;
[0044]判斷是否接收到來自所述第一通訊設備的同步信號,所述同步信號由所述第一通訊設備判斷出所述第二通訊設備需要與第一通訊設備進行時鐘同步時發送;
[0045]當接收到來自所述第一通訊設備的同步信號時,調整自身的時鐘信號,以使調整后的時鐘信號與所述第一通訊設備的時鐘信號保持同步。
[0046]本公開的實施例提供的技術方案可以包括以下有益效果:發送端的通訊設備和接收端的通訊設備預先約定時鐘周期,并按照約定的時鐘傳輸數據。當發送端的通訊設備確定接收端的通訊設備需要進行時鐘同步時,由發送端的通訊設備向接收端的通訊設備發送一個同步信號,該同步信號用于使接收端的通訊設備調整時鐘信號,從而使發送端的通訊設備和接收端的通訊