一種兩個芯片之間進行數據交換的方法
【專利摘要】本發明涉及一種兩個芯片進行數據交換的方法,所述兩個芯片包括第一芯片和第二芯片;所述第一芯片包括依次級聯的第一應用層、第一協議層、第一物理層;所述第二芯片包括依次級聯的第二應用層、第二協議層、第二物理層;所述的第一物理層經數據總線連接至所述第二物理層;所述第一協議層負責與所述第一應用層之間進行通信,以及控制所述第一物理層;所述第二協議層負責與所述第二應用層之間進行通信,以及控制所述第二物理層;所述第一應用層、第二應用層讀寫端口可擴展,并且讀端口的數目與寫端口的數目可以不相同。本發明實施例的方案實現了:芯片之間數據傳輸方向的隨機調整、以及不同時刻、不同方向上最大傳輸速率的調整。
【專利說明】一種兩個芯片之間進行數據交換的方法
【技術領域】
[0001]本發明涉及一種芯片間的數據交換方法,特別涉及一種管腳復用的多模塊數據交換的方法。
【背景技術】
[0002]芯片設計中,需要在主從芯片間進行信息交換,由于芯片封裝成本和印刷電路板PCB板布線成本的限制,芯片間的連接線應該盡可能的少,這就限制了數據并行傳輸的位寬度;另一方面,在采用代工廠給定的標準輸入輸出1單元后,所能達到的最大傳輸速率也為確定值,這限制了數據并行傳輸的速率。在給定連接線數目及1最大速率后,芯片間雙向共傳輸的最大速率為固定值。
[0003]但是,現實中,芯片之間數據傳輸的方向、以及不同方向上傳輸速率的要求,在不同時刻可能有所不同。另外需要在芯片間進行數據交換的模塊可能有多個,這些模塊的設計者希望屏蔽掉1接口及印刷電路板PCB連接線上的時序,從而使得外面看到的讀、寫接口時序盡可能簡潔。
[0004]現有技術均沒有很好地解決上述問題。
【發明內容】
[0005]針對上述問題,本發明的目的在于提供一種兩個芯片之間進行數據交換的方法,所述兩個芯片包括第一芯片和第二芯片,所述第一芯片包括依次級聯的第一應用層、第一協議層、第一物理層,所述第二芯片包括依次級聯的第二應用層、第二協議層、第二物理層,所述的第一物理層經數據總線連接至所述第二物理層,所述第一協議層負責與所述第一應用層之間進行通信,以及控制所述第一物理層,所述第二協議層負責與所述第二應用層之間進行通信,以及控制所述第二物理層,所述第一應用層包括多個應用模塊,所述第二應用層也包括多個應用模塊,所述應用模塊的讀寫端口可擴展,并且讀端口的數目與寫端口的數目可以不相同,所述方法包括:第一物理層負責將第一協議層送來的第一數據按照特定的格式發送到數據總線,以及接收數據總線上特定格式的第二數據,將所述第二數據傳遞給第一協議層處理;第二物理層負責將第二協議層送來的第二數據按照特定的格式發送到數據總線,以及接收數據總線上特定格式的第一數據,將所述第一數據傳遞給第二協議層處理。
[0006]要說明的是,上述“按照特定的格式發送”是指采用隨源同步時鐘發送數據的方式,并且每一位數據線在時鐘上升、下降沿各發送I比特bi t數據。所述的隨源時鐘傳送數據,是指時鐘和數據一同發送的形式。
[0007]優選地,所述第一芯片和第二芯片都采用隨源時鐘傳送數據,并且所述數據總線的每條數據線在時鐘上升沿和下降沿各傳送一個比特數據。所述的隨源時鐘傳送數據,是指時鐘和數據一同發送的形式。
[0008]優選地,所述數據總線的發送權在第一芯片和第二芯片之間來回切換,失去發送權的芯片維持高阻態,在發送權交接過程中,所述兩個芯片均發送一段時間的低電平,以保證數據總線上信息的安全。
[0009]優選地,第一應用層發送數據給第一協議層時,首先第一應用層的寫端口發送寫數據請求及數據長度給第一協議層,然后等待第一協議層返回響應信號,所述響應信號的長度對應所述寫數據請求對應的數據長度,然后在該數據長度內完成所述的數據發送。
[0010]優選地,第二應用層發送數據給第二協議層時,首先第二應用層的寫端口發送寫數據請求及數據長度給第二協議層,然后等待第二協議層返回響應信號,所述響應信號的長度對應所述寫數據請求對應的數據長度,然后在該數據長度內完成所述的數據發送。
[0011]優選地,第一應用層準備接收第一協議層發送的數據時,第一應用層將準備好READY信號置為有效,第一協議層將標志位FLAG置為有效VALID后傳送數據給第一應用層。
[0012]優選地,第二應用層準備接收第二協議層發送的數據時,第二應用層將準備好READY信號置為有效,第二協議層將標志位FLAG置為有效VALID后傳送數據給第二應用層。
【專利附圖】
【附圖說明】
[0013]下面結合附圖,對本發明的具體實施方案做進一步的詳細描述,附圖中:
[0014]圖1A-1B為本發明實施例的一種通信模塊架構示意圖;
[0015]圖2為本發明實施例的一種數據總線DBUS控制權在主從芯片間進行交換的示意圖;
[0016]圖3為本發明實施例的應用模塊的寫端口時序協議示意圖;
[0017]圖4是本發明實施例的應用模塊的讀端口時序協議示意圖。
【具體實施方式】
[0018]本發明的目的是設計一種芯片間的通信協議,以便完成芯片間不同模塊間的數據交換,并在芯片輸入輸出1單元最大速率保持定值且芯片間連線數目一定的情況下,使得雙向共傳輸速率最大化。
[0019]如圖1A-1B所示,為通信模塊的架構示意圖,其中,主芯片的協議層M_PROTOCOL負責和主芯片的應用層之間進行通信,以及對主芯片的物理層PHY層的控制,同時,從芯片的協議層S_PROTOCOL負責和從芯片的應用層之間進行通信,以及對從芯片的物理層PHY層的控制。所述應用層可以包括一個或者多個應用模塊。所述應用模塊的讀寫端口可擴展,并且讀口的數量可以不同于寫口的數量,當然也可以相同。所述讀口也可以稱為讀端口,所述寫口也可以稱為寫端口。
[0020]圖1A-1B中,CLKl是時鐘信號I,它是主芯片發送給從芯片的時鐘信號;CLK2是時鐘信號2,它是從芯片發送給主芯片的時鐘信號。CLKl和CLK2的頻率相同,相位無關。DBUS是數據總線。DBUS【3:0】是一種優選的位數為4的數據總線,也可以采取其他位數的數據總線。
[0021]主芯片的物理和從芯片的物理層S_PHY分別負責將對應的協議層送來的數據按照特定的格式發送到總線,并接收總線上特定格式的信號,將數據傳遞給對應的協議層處理。
[0022]一種優選例子中,主從芯片均采用隨源時鐘傳送數據,并且每條數據線在時鐘上升沿和下降沿均各傳送I比特bit數據。所述的隨源時鐘傳送數據,是指時鐘和數據一同發送的形式。
[0023]要說明的是,上述主芯片、從芯片也可以分別稱為第一芯片、第二芯片。相應的,主芯片的協議層也可以稱為第一協議層,從芯片的協議層也可以稱為第二協議層,主芯片的物理層也可以稱為第一物理層,從芯片的物理層也可以稱為第二物理層,主芯片的應用層也可以稱為第一應用層,從芯片的應用層也可以稱為第二應用層。
[0024]如圖2所示,數據總線的發送權在主從芯片間來回切換,失去發送權的一端維持高阻態,在發送權交接過程中,主從端,即主芯片和從芯片,均發送一段時間的低電平,以保證總線上信息的安全。圖2中,DATA_VALID是指有效數據。
[0025]如圖3所示,為應用層的寫端口時序,首先寫端口發送寫數據請求及數據長度,然后等待協議層返回響應信號,響應信號長度對應請求長度,之后在該長度內完成數據的發送。圖3中,中英文對應關系如下:CLK:時鐘,W_LENGTH:寫請求長度,W_REQ:寫請求,W_CS:寫選中,W_DATA:寫數據,D0-D6:有效數據,DON’ T CARE或者No care:無效數據。
[0026]如圖4所示,為應用層的讀端口時序,應用層可以接收數據時,將準備READY信號置為有效,此時,協議層可以將標志位FLAG置為有效VALID,同時傳送有效數據,否則,協議層不傳送有效數據給該讀端口。圖4中,中英文對應關系如下:CLK:時鐘,R_READY:讀準備好,R_VALID:讀有效,R_DATA:讀數據,D0-D6:有效數據(DO,Dl,D2,D3,D4,D5,D6),DON’ TCARE:無效數據。
[0027]在本申請所提供的幾個實施例中,應該理解到,所揭露的架構/裝置,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例的目的。
[0028]另外,在本發明各個實施例中的各功能模塊/單元、器件可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
[0029]所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0030]以上所述的【具體實施方式】,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的【具體實施方式】而已,并不用于限定本發明的保護范圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種兩個芯片之間進行數據交換的方法,所述兩個芯片包括第一芯片和第二芯片,所述第一芯片包括依次級聯的第一應用層、第一協議層、第一物理層,所述第二芯片包括依次級聯的第二應用層、第二協議層、第二物理層,所述的第一物理層經數據總線連接至所述第二物理層,所述第一協議層負責與所述第一應用層之間進行通信,以及控制所述第一物理層,所述第二協議層負責與所述第二應用層之間進行通信,以及控制所述第二物理層,其特征在于,所述第一應用層包括多個應用模塊,所述第二應用層也包括多個應用模塊,所述應用模塊的讀寫端口可擴展,并且讀端口的數目與寫端口的數目可以不相同,所述方法包括: 第一物理層負責將第一協議層送來的第一數據按照特定的格式發送到數據總線,以及接收數據總線上特定格式的第二數據,將所述第二數據傳遞給第一協議層處理; 第二物理層負責將第二協議層送來的第二數據按照特定的格式發送到數據總線,以及接收數據總線上特定格式的第一數據,將所述第一數據傳遞給第二協議層處理。
2.根據權利要求1的兩個芯片之間進行數據交換的方法,其特征在于,所述第一芯片和第二芯片都采用隨源時鐘傳送數據,并且所述數據總線的每條數據線在時鐘上升沿和下降沿各傳送一個比特數據。
3.根據權利要求1或者2的兩個芯片之間進行數據交換的方法,其特征在于,其特征在于,所述數據總線的發送權在第一芯片和第二芯片之間來回切換,失去發送權的芯片維持高阻態,在發送權交接過程中,所述兩個芯片均發送一段時間的低電平,以保證數據總線上信息的安全。
4.根據權利要求1或者2的兩個芯片之間進行數據交換的方法,其特征在于,第一應用層發送數據給第一協議層時,首先第一應用層的寫端口發送寫數據請求及數據長度給第一協議層,然后等待第一協議層返回響應信號,所述響應信號的長度對應所述寫數據請求對應的數據長度,然后在該數據長度內完成所述的數據發送。
5.根據權利要求1或者2的兩個芯片之間進行數據交換的方法,其特征在于,第二應用層發送數據給第二協議層時,首先第二應用層的寫端口發送寫數據請求及數據長度給第二協議層,然后等待第二協議層返回響應信號,所述響應信號的長度對應所述寫數據請求對應的數據長度,然后在該數據長度內完成所述的數據發送。
6.根據權利要求1或者2的兩個芯片之間進行數據交換的方法,其特征在于,第一應用層準備接收第一協議層發送的數據時,第一應用層將準備好READY信號置為有效,第一協議層將標志位FLAG置為有效VALID后傳送數據給第一應用層。
7.根據權利要求1或者2的兩個芯片之間進行數據交換的方法,其特征在于,第二應用層準備接收第二協議層發送的數據時,第二應用層將準備好READY信號置為有效,第二協議層將標志位FLAG置為有效VALID后傳送數據給第二應用層。
【文檔編號】H04L12/931GK104518998SQ201410768953
【公開日】2015年4月15日 申請日期:2014年12月12日 優先權日:2014年12月12日
【發明者】劉琦 申請人:北京海爾集成電路設計有限公司