一種基于i2c總線的數(shù)據(jù)傳輸系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)傳輸技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)傳輸系統(tǒng)及方法。
【背景技術(shù)】
[0002]I2C(Inter-1ntegrated Circuit)總線是由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備,是微電子通信控制領(lǐng)域廣泛采用的一種總線標(biāo)準(zhǔn)。它是同步通信的一種特殊形式,具有接口線少,控制方式簡單,器件封裝形式小,通信速率較尚等優(yōu)點(diǎn)。
[0003]目前,I2C總線有三種數(shù)據(jù)傳輸速度,分別為:標(biāo)準(zhǔn)模式、快速模式以及高速模式。其中,標(biāo)準(zhǔn)模式的數(shù)據(jù)傳輸速率為100Kbps(比特/秒),快速模式的數(shù)據(jù)傳輸速率為400Kbps,高速模式支持的數(shù)據(jù)傳輸?shù)乃俾士熘?.4Mbps的速度。但是,對于目前以G(GB)為單位的嵌入式處理器的處理速度來說,顯然I2C總線的傳輸速度過慢,從而造成主從設(shè)備之間不匹配。尤其是對于觸摸屏、重力傳感器等需頻繁傳輸大量數(shù)據(jù)的I2C設(shè)備系統(tǒng)來說,在設(shè)計(jì)水平粗糙的系統(tǒng)中,傳輸速率已然成為了整個系統(tǒng)的瓶頸。
【發(fā)明內(nèi)容】
[0004]針對上述問題,本發(fā)明旨在提供一種基于I2C總線的數(shù)據(jù)傳輸系統(tǒng)及方法,其在現(xiàn)有硬件系統(tǒng)的基礎(chǔ)上,基于不同工作模式進(jìn)行工作以提高數(shù)據(jù)傳輸速度,從而改善因?yàn)樗俣纫鸬膯栴}。
[0005]本發(fā)明提供的技術(shù)方案如下:
[0006]—種基于I2C總線的數(shù)據(jù)傳輸系統(tǒng),所述數(shù)據(jù)傳輸系統(tǒng)包括:主設(shè)備和至少一個從設(shè)備,所述主設(shè)備分別與每個所述從設(shè)備連接進(jìn)行雙向通信;
[0007]所述主設(shè)備中包括:
[0008]第一存儲模塊,用于存儲預(yù)設(shè)工作模式;
[0009]第一工作模式獲取模塊,用于獲取所述主設(shè)備的當(dāng)前工作模式;
[0010]第一工作模式切換判斷模塊,與所述第一工作模式獲取模塊連接,用于判斷所述主設(shè)備是否需要切換工作模式;
[0011]第一數(shù)據(jù)傳輸模塊,與所述第一工作模式切換模塊連接,用于實(shí)現(xiàn)所述主設(shè)備與所述從設(shè)備之間的數(shù)據(jù)傳輸;
[0012]第一工作模式切換模塊,分別與所述第一存儲模塊、第一工作模式切換判斷模塊以及第一數(shù)據(jù)傳輸模塊連接,用于切換所述主設(shè)備的工作模式;
[0013]所述從設(shè)備中包括:
[0014]第二存儲模塊,用于存儲與所述主設(shè)備中相應(yīng)的所述預(yù)設(shè)工作模式;
[0015]第二工作模式獲取模塊,用于獲取所述從設(shè)備當(dāng)前的工作模式;
[0016]第二工作模式切換判斷模塊,與所述第二工作模式獲取模塊連接,用于判斷所述從設(shè)備是否需要切換工作模式;
[0017]第二數(shù)據(jù)傳輸模塊,與所述第二工作模式切換模塊,用于實(shí)現(xiàn)所述從設(shè)備與所述主設(shè)備之間的數(shù)據(jù)傳輸;
[0018]第二工作模式切換模塊,分別與所述第二存儲模塊、第二數(shù)據(jù)傳輸模塊以及第二工作模式切換判斷模塊連接,用于切換所述從設(shè)備的工作模式。
[0019]在本技術(shù)方案中,主設(shè)備和從設(shè)備可以通過各自的第一工作模式切換判斷模塊和第二工作模式切換判斷模塊判斷是否需要進(jìn)行工作模式的切換,即該數(shù)據(jù)傳輸系統(tǒng)在工作的過程中,即可以由主設(shè)備發(fā)起工作模式切換指令,也可以由從設(shè)備發(fā)起工作模式切換指令,這樣,保證主設(shè)備和從設(shè)備同時(shí)工作在相同的工作模式中,解決了主從設(shè)備之間運(yùn)行速度差異大引起的冋題。
[0020]優(yōu)選地,所述預(yù)設(shè)工作模式包括:普通模式、全速模式以及省電模式,其中,
[0021]在普通模式下,所述主設(shè)備和所述從設(shè)備之間傳輸原始格式數(shù)據(jù);
[0022]在全速模式下,所述主設(shè)備和所述從設(shè)備之間傳輸變化數(shù)據(jù);
[0023]在省電模式下,所述主設(shè)備和所述從設(shè)備之間傳輸變化數(shù)據(jù)同時(shí)降低自身的工作頻率。
[0024]優(yōu)選地,所述主設(shè)備中還包括分別與所述第一工作模式切換模塊和第一數(shù)據(jù)傳輸模塊連接的第一數(shù)據(jù)壓縮模塊,用于將全速模式下傳輸?shù)乃鲎兓瘮?shù)據(jù)進(jìn)行壓縮,并發(fā)送至所述從設(shè)備中;
[0025]所述從設(shè)備中還包括與所述第二數(shù)據(jù)傳輸模塊連接的第二數(shù)據(jù)解壓模塊,用于將壓縮之后的所述變化數(shù)據(jù)進(jìn)行解壓;
[0026]和/ 或,
[0027]所述從設(shè)備中還包括分別與所述第二工作模式切換模塊和第二數(shù)據(jù)傳輸模塊連接的第二數(shù)據(jù)壓縮模塊,用于將全速模式下傳輸?shù)乃鲎兓瘮?shù)據(jù)進(jìn)行壓縮,并發(fā)送至所述主設(shè)備中;
[0028]所述主設(shè)備中還包括與所述第一數(shù)據(jù)傳輸模塊連接的第一數(shù)據(jù)解壓模塊,用于將壓縮之后的所述變化數(shù)據(jù)進(jìn)行解壓。
[0029]在本技術(shù)方案中,主設(shè)備或從設(shè)備在發(fā)送變化數(shù)據(jù)時(shí),將發(fā)送的數(shù)據(jù)進(jìn)行壓縮再進(jìn)行發(fā)送,以減少傳輸過程中的傳輸量,加快傳輸?shù)乃俣龋瑴p少傳輸?shù)臅r(shí)間。
[0030]優(yōu)選地,所述主設(shè)備中還包括分別與所述第一工作模式切換模塊和第一數(shù)據(jù)傳輸模塊連接的第一變頻模塊,當(dāng)所述主設(shè)備的工作模式切換到省電模式,所述第一變頻模塊降低所述主設(shè)備的工作頻率;
[0031]所述從設(shè)備中還包括分別與所述第二工作模式切換模塊和第二數(shù)據(jù)傳輸模塊連接的第二變頻模塊,當(dāng)所述從設(shè)備的工作模式切換到省電模式,所述第二變頻模塊降低所述從設(shè)備的工作頻率。
[0032]在本技術(shù)方案中,通過降低主設(shè)備和從設(shè)備中的工作頻率來降低功耗,同時(shí)又能滿足系統(tǒng)的吞吐量。
[0033]—種基于I2C總線的數(shù)據(jù)傳輸方法,應(yīng)用于上述數(shù)據(jù)傳輸系統(tǒng),所述數(shù)據(jù)傳輸方法包括以下步驟:
[0034]S1.1系統(tǒng)開機(jī);
[0035]S2.1主設(shè)備判斷是否需要切換當(dāng)前工作模式,若需要,跳轉(zhuǎn)至步驟S3.1 ;
[0036]S3.1所述主設(shè)備切換當(dāng)前工作模式,并將切換指令發(fā)送至從設(shè)備;
[0037]S4.1所述從設(shè)備接收所述切換指令,切換當(dāng)前工作模式;
[0038]S5.1所述主設(shè)備和所述從設(shè)備根據(jù)切換到的工作模式進(jìn)行數(shù)據(jù)傳輸,跳轉(zhuǎn)至步驟S2.10
[0039]在本技術(shù)方案中,只要系統(tǒng)處于開機(jī)狀態(tài),則循環(huán)步驟S2.1?步驟S5.1,以實(shí)現(xiàn)目的。
[0040]優(yōu)選地,在步驟S5.1中,具體包括:
[0041]當(dāng)所述主設(shè)備和所述從設(shè)備切換到普通模式,則所述主設(shè)備和所述從設(shè)備之間傳輸原始格式數(shù)據(jù);
[0042]當(dāng)所述主設(shè)備和所述從設(shè)備切換到全速模式,則所述主設(shè)備和所述從設(shè)備之間傳輸變化數(shù)據(jù);
[0043]當(dāng)所述主設(shè)備和所述從設(shè)備切換到省電模式,則所述主設(shè)備和所述從設(shè)備之間傳輸變化數(shù)據(jù)同時(shí)降低工作頻率。
[0044]優(yōu)選地,當(dāng)所述主設(shè)備和所述從設(shè)備切換到全速模式,則所述主設(shè)備將所述變化數(shù)據(jù)進(jìn)行壓縮,并發(fā)送至所述從設(shè)備;所述從設(shè)備對接收到的壓縮后的變化數(shù)據(jù)進(jìn)行解壓,得到所述變化數(shù)據(jù)。
[0045]—種基于I2C總線的數(shù)據(jù)傳輸方法,應(yīng)用于上述數(shù)據(jù)傳輸系統(tǒng),所述數(shù)據(jù)傳輸方法包括以下步驟:
[0046]S1.2系統(tǒng)開機(jī);
[0047]S2.2從設(shè)備判斷是否需要切換當(dāng)前工作模式,若需要,跳轉(zhuǎn)至步驟S3.2 ;
[0048]S3.2所述從設(shè)備切換當(dāng)前工作模式,并將切換指令發(fā)送至主設(shè)備;
[0049]S4.2所述主設(shè)備接收所述切換