專利名稱:一種實現(xiàn)自適應速率模擬I<sup>2</sup>C總線通信的方法
技術領域:
本發(fā)明涉及一種基于無線通信模塊的實現(xiàn)自適應速率模擬I2C(lnter-Integrated Circuit)總線通信的方法,適用于在無線通信模塊與其外掛符合I2C總線協(xié)議的設備之間 的通信。
背景技術:
由于現(xiàn)在無線通信模塊的用途越來越多,根據需求其外掛的設備也是各種各樣, 對于某些特定的設備需要特定的總線通信協(xié)議才能與之通信,無線通信模塊本身也不具 有實現(xiàn)這些總線通信協(xié)議的接口。另外,這些總線通信協(xié)議必須在一定通信速率以下才 能進行正常的通信,如果超過這個速率,則會產生誤碼或難以通信;如果速率太低,雖 能正常通信,但不能保證充分利用總線通信速率以提高通信效率。如12(:總線通信協(xié)議, 就屬于上述協(xié)議中的一種?,F(xiàn)有技術中,由驅動程序調整速率以達到通信速率正常且能 以最高速率進行通信,但是用現(xiàn)有方法對多個外掛設備需多次調試,消耗大量調試時間。
發(fā)明內容
本發(fā)明所要解決的技術問題是,減少i2c總線通信的驅動調試時間并且要最大化利
用通信速率進行I2C總線通信。
12C總線通信是由一個主機和若干個從機組成,本發(fā)明中無線通信模塊作為主機,其
外掛的符合I2C總線接口的設備為從機。
為達上述目的,本發(fā)明提供了一種基于無線通信模塊的實現(xiàn)自適應速率模擬i2c總
線通信的方法,其包括如下步驟
(1) 建立I2C總線通信速率最高允許值到最低允許值之間的梯度表;
(2) 在無線通信模塊中,開辟空間存儲從機地址以及從機與主機最佳通信速率值 的對照表;
(3) 初始化三個GPIO (General Purpose 1叩ut/0utput) 口,片選從機;(4) 主機從上述梯度表里依次取出速率值換算為時鐘信號頻率,從數(shù)據地址線上 發(fā)出初始化從機的指令,直到從機響應成功,此時的速率值即為能正常通信 的最高速率值;
(5) 根據從機的地址,將步驟(4)中得到的速率值,存儲到對照表中的對應位 置。
所述的無線通信模塊在此處為帶有非易失性隨機訪問存儲器(NVRAM)的無 線通信模塊。
所述的三個通用輸入輸出口GPIO分別為串行時鐘線(SCL)接口、串行數(shù)據 &地址線(SDA)接口和片選信號線(NCE)接口。 步驟(4)中,在主機發(fā)指令前,通過從機地址到對照表中查詢,如果發(fā)現(xiàn)最高速 率值已經存在,則直接取出該速率值換算為時鐘信號頻率進行相關的通信。如果還有從 機需要通信,重復步驟(1)到(5)。另外,時鐘信號的產生、數(shù)據的讀寫及地址的尋 址可以通過控制GPIO的輸入輸出方向及電平的拉高和拉低予以實現(xiàn)。
本發(fā)明的積極進步效果在于作為主機的無線通信模塊,可以自動為各個從機記 錄最高通信速率值,充分保證利用最高通信速率進行通信,而不必進行多次調試,大大 提高了效率。
圖1為本發(fā)明實施例的主機向從機發(fā)初始化指令模擬I2C總線通信的時序示意圖。
圖2為本發(fā)明實施例的主機根據不同的從機地址獲取不同的最高通信速率流程示 意圖。
具體實施例方式
下面通過具體的實施例并結合附圖對本發(fā)明作進一步詳細的描述。
例如,如果主機是無線通信模塊ADI6720A,從機是基于MC9S08QG4的3D加速度
傳感器,從機的地址是OxOF。將主機的GPO一13、 GPIO一IO、 GPIO—11分別連接到從機
的片選腳、時鐘腳、數(shù)據&地址腳。
見圖l,通過通信速率表中換算出來的時鐘頻率,將SCL和SDA進行拉高和拉低操作
可以完全模擬lt通信的起始條件(START condition)、從機地址(ADDRESS)、讀寫信
號(讀寫信號R/W)、數(shù)據傳輸(DATA)、響應信號(ACK)和結束條件(STOP condition)等(具體參見12(:總線通信協(xié)議)。如起始條件先將時鐘信號GPIO一10拉高并保持,此 時將數(shù)據&地址信號GPI0—ll拉高,并在時鐘保持高電平的情況下,拉低GPI0」1,這樣 就能獲得I2C通信的起始條件。
見圖2,主機上電后將GP0」3拉低,選中從機。根據從機的地址OxOF,到保存在 NVRAM中的對照表里査詢是否存在有效的通信速率值,如果存在就使用該值發(fā)送初始化 指令進行正常通信,否則就以最高到最低的順序,依次從速度梯度表中取值發(fā)送初始化 指令,直到初始化成功,保存初始化成功時的速率值到NVRAM的對應位置,并以這個值 進行正常通信。
本發(fā)明可以應用于其它無線通信模塊和其外掛的符合其他總線通信協(xié)議的設備, 實現(xiàn)方法與本發(fā)明所述方法相同。
權利要求
1. 一種基于無線通信模塊的實現(xiàn)自適應速率模擬I2C總線通信的方法,其特征在于,包括如下步驟(1)建立I2C總線通信速率最高允許值到最低允許值之間的梯度表;(2)在無線通信模塊中,開辟空間存儲從機地址以及從機與主機最佳通信速率值的對照表;(3)初始化三個通用輸入輸出口GPIO(General Purpose Input/Output),片選從機;(4)主機從上述梯度表里依次取出速率值換算為時鐘信號頻率,從數(shù)據地址線上發(fā)出初始化從機的指令,直到從機響應成功,此時的速率值即為能正常通信的最高速率值;(5)根據從機的地址,將步驟(4)中得到的速率值,存儲到對照表中的對應位置。
2. 如權利要求1所述的基于無線通信模塊的實現(xiàn)自適應速率模擬I2C總線通信的方 法,其特征在于所述無線通信模塊為帶有非易失性隨機訪問存儲器(NVRAM)的無線 通信模塊。
3. 如權利要求1所述的基于無線通信模塊的實現(xiàn)自適應速率模擬I2C總線通信的方 法,其特征在于所述的三個GPIO 口分別為串行時鐘線(SCL)接口、串行數(shù)據&地址 線(SDA)接口和片選信號線(NCE)接口。
4. 如權利要求1所述的基于無線通信模塊的實現(xiàn)自適應速率模擬I2C總線通信的方 法,其特征在于步驟(4)中,在主機發(fā)指令前,通過從機地址到對照表中查詢,如 果發(fā)現(xiàn)最高速率值已經存在,則直接取出該速率值換算為時鐘信號頻率進行相關的通 信。如果還有從機需要通信,重復步驟(1)到(5)。
全文摘要
本發(fā)明所要解決的技術問題是,減少I<sup>2</sup>C(Inter-Integrated Circuit)總線通信的驅動調試時間并且要最大化利用通信速率進行I<sup>2</sup>C總線通信。為此本發(fā)明提供了一種基于無線通信模塊的實現(xiàn)自適應速率模擬I<sup>2</sup>C總線通信的方法建立I<sup>2</sup>C總線通信速率最高允許值到最低允許值之間的梯度表;在無線通信模塊中,開辟空間存儲從機地址以及從機與主機最佳通信速率值的對照表;初始化三個GPIO口,片選從機;主機從上述梯度表里依次取出速率值換算為時鐘信號頻率,從數(shù)據地址線上發(fā)出初始化從機的指令,直到從機響應成功。本發(fā)明可自動為各個從機記錄最高通信速率值,不必進行多次調試,大大提高了效率。
文檔編號H04L29/02GK101465838SQ20071017279
公開日2009年6月24日 申請日期2007年12月21日 優(yōu)先權日2007年12月21日
發(fā)明者潘宏得 申請人:希姆通信息技術(上海)有限公司