本發明另一個改進的實施例中,除與上述實施例相同的部分之外,還包括,如圖2所示,步驟S04設置I2C總線接口的時鐘頻率。
[0032]圖3是本發明一種SPI接口與I2C總線接口轉換器的完整組成結構示意圖。如圖3所示,本發明提供一種SPI接口與I2C總線接口的轉換器,包括:SPI接口 1,與所述發送設備的SPI接口相連;數據緩存模塊2,與所述轉換器上的SPI接口 1相連,接收SPI接口 1收到的數據并進行緩存;判斷模塊3,與所述數據緩存模塊2相連,判斷所述數據緩存模塊2接收的數據是否完整,以及所述數據緩存模塊2是否已滿;I2C通道選擇模塊4,與所述轉換器上的SPI接口 1相連,根據SPI接口 1收到的指示選擇相應的I2C總線通道啟動;I2C接口 5,與所述數據緩存模塊2、I2C通道選擇模塊4相連,并與所述接收設備的I2C接口相連,根據I2C通道選擇模塊的選擇,按照I2C接口的時鐘頻率,將數據緩存區內的數據發送出去。
[0033]對上述實施例進行改進,如圖3所示,本發明還提供另一種SPI接口與I2C總線接口的轉換器,包括:SPI接口 1,與所述發送設備的SPI接口相連;數據緩存模塊2,與所述轉換器上的SPI接口 1相連,接收SPI接口 1收到的數據并進行緩存;判斷模塊3,與所述數據緩存模塊2相連,判斷所述數據緩存模塊2接收的數據是否完整,以及所述數據緩存模塊2是否已滿;I2C通道選擇模塊4,與所述轉換器上的SPI接口 1相連,根據SPI接口 1收到的指示選擇相應的I2C總線通道啟動;I2C接口 5,與所述數據緩存模塊2、I2C通道選擇模塊4相連,并與所述接收設備的I2C接口相連,根據I2C通道選擇模塊的選擇,按照I2C接口的時鐘頻率,將數據緩存區內的數據發送出去;循環控制模塊6,與所述數據緩存模塊2相連,控制數據緩存區在數據發送完畢后清零,并使SPI接口 1繼續接收數據。
[0034]優選地,所述轉換器為復雜可編程邏輯器件(CPLD);數據緩存模塊2是復雜可編程邏輯器件(CPLD)內部開辟出的數據緩存區。
[0035]圖4是本發明一種SPI接口與I2C總線接口的轉換裝置的電路圖。如圖4所示,U1是交換機等數據通信領域常用的CPU P1014,即具有至少一個SPI接口的發送設備;U2是常用的CPLD EPM240,即轉換器;與U2相連的U3,即至少一個具有I2C接口的接收設備,也是I2C總線接口。3.3V電壓經C1濾波后進入J1的第四腳,Rl、R2、R3和J1組成JTAG電路,用以芯片的測試。另一組3.3V電壓經C2濾波后進入0SC1的第一和第四腳,分別給晶體振蕩器提供電源和使能信號,I2C總線接口的串行時鐘線的時鐘信號由0SC1提供。U2的電源和地引腳分別接3.3V電源和地。U2的1045-1048分別于CPU的SPI總線對應引腳相連。U2的1068與CPU的中斷引腳輸入端IRQ_1相連。
[0036]對上述實施例進行改進,如圖4所示,本發明還提供一種SPI接口與I2C總線接口的轉換裝置,包括,與所述轉換器相連的時鐘信號發生器,為所述轉換器的I2C總線接口的串行時鐘線提供時鐘信號。
[0037]對上述實施例進行改進,如圖4所示,本發明還提供一種SPI接口與I2C總線接口的轉換裝置,包括,具有至少一個SPI接口的發送設備,與所述轉換器的SPI接口相連;至少一個具有I2C接口的接收設備,與所述轉換器的I2C接口相連。
[0038]具體的,本實施例中的發送設備可以是擁有SPI接口的中央處理器(CPU),它是是一塊超大規模的集成電路,它的主要功能是發送數據到轉換器。
[0039]應當說明的是,上述實施例均可根據需要自由組合。以上所述僅是本發明的優選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。
【主權項】
1.一種SPI接口轉換I2C總線接口的方法,其特征在于,包括: 步驟S10:根據SPI接口的時鐘頻率,接收SPI接口發送的數據; 步驟S20:將接收到的數據存入數據緩存區內; 步驟S30:判斷接收的數據是否完整;若是,則執行步驟S50 ;若否,則執行步驟S40 ; 步驟S40:判斷數據緩存區是否已滿;若是,則執行步驟S50 ;若否,則執行步驟S10 ; 步驟S50:接收SPI接口發送的指示選擇相應的I2C總線通道啟動; 步驟S60:根據I2C接口的時鐘頻率,將數據緩存區內的數據發送出去。2.如權利要求1所述的SPI接口轉換I2C總線接口的方法,其特征在于,所述步驟S60之后還包括: 步驟S70:將數據緩存區清零,執行步驟S10。3.如權利要求2所述的SPI接口轉換I2C總線接口的方法,其特征在于,還包括: 步驟SO1:設定數據緩存區的大小。4.如權利要求1-3任一所述的SPI接口轉換I2C總線接口的方法,其特征在于,還包括: 步驟S04設置I2C總線接口的時鐘頻率。5.如權利要求4所述的SPI接口轉換I2C總線接口的方法,其特征在于,還包括: 步驟S02:將SPI接口設為從設備模式; 步驟S03:將I2C總線接口設為主設備模式。6.一種SPI接口與I2C總線接口的轉換器,其特征在于,所述轉換器包括: SPI接口,與所述發送設備的SPI接口相連; 數據緩存模塊,與所述轉換器上的SPI接口相連,接收SPI接口收到的數據并進行緩存; 判斷模塊,與所述數據緩存模塊相連,判斷所述數據緩存模塊接收的數據是否完整,以及所述數據緩存模塊是否已滿; I2C通道選擇模塊,與所述轉換器上的SPI接口相連,根據SPI接口收到的指示選擇相應的I2C總線通道啟動; I2C接口,與所述數據緩存模塊、I2C通道選擇模塊相連,并與接收設備的I2C接口相連,根據I2C通道選擇模塊的選擇,按照I2C接口的時鐘頻率,將數據緩存區內的數據發送出去。7.如權利要求6所述的SPI接口與I2C總線接口的轉換器,其特征在于,還包括: 循環控制模塊,與所述數據緩存模塊相連,控制數據緩存區在數據發送完畢后清零,并使SPI接口繼續接收數據。8.如權利要求7所述的SPI接口與I2C總線接口的轉換器,其特征在于: 所述SPI接口與I2C總線接口的轉換器為復雜可編程邏輯器件; 所述數據緩存模塊是復雜可編程邏輯器件內部開辟出的數據緩存區。9.一種SPI接口與I2C總線接口的轉換裝置,其特征在于,包括: 如權利要求6-8任一所述的SPI接口與I2C總線接口的轉換器;以及 與所述SPI接口與I2C總線接口的轉換器相連的時鐘信號發生器,為所述SPI接口與I2C總線接口的轉換器的I2C總線接口的串行時鐘線提供時鐘信號。10.如權利要求9所述的SPI接口與I2C總線接口的轉換裝置,其特征在于,還包括:具有至少一個SPI接口的發送設備,與所述轉換器的SPI接口相連;至少一個具有I2C接口的接收設備,與所述轉換器的I2C接口相連。
【專利摘要】本發明公開了一種SPI接口轉換I2C總線接口的方法及轉換器,包括:步驟S10根據SPI接口的時鐘頻率,接收SPI接口發送的數據;步驟S20將接收到的數據存入數據緩存區內;步驟S30判斷接收的數據是否完整;若是,則執行步驟S50;若否,則執行步驟S40;步驟S40判斷數據緩存區是否已滿;若是,則執行步驟S50;若否,則執行步驟S10;步驟S50接收SPI接口發送的指示選擇相應的I2C總線通道啟動;步驟S60根據I2C接口的時鐘頻率,將數據緩存區內的數據發送出去。本發明利用SPI接口通過轉換器擴展出I2C總線接口,滿足了電子設備對I2C總線數量越來越大的需求。
【IPC分類】G06F13/40
【公開號】CN105335322
【申請號】CN201510714137
【發明人】王振
【申請人】上海斐訊數據通信技術有限公司
【公開日】2016年2月17日
【申請日】2015年10月28日