国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種數(shù)據(jù)傳輸方法及裝置與流程

      文檔序號:11411527閱讀:279來源:國知局
      一種數(shù)據(jù)傳輸方法及裝置與流程

      本發(fā)明涉及數(shù)據(jù)傳輸技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)傳輸方法及裝置。



      背景技術(shù):

      總線是電子器件中的一種公共通信干線,其可以掛載多個器件,在某一通信過程中,某個器件為主機(jī),其他的器件為從機(jī),主機(jī)通過總線與各個從機(jī)進(jìn)行數(shù)據(jù)傳輸??偩€按照數(shù)據(jù)傳輸?shù)姆绞娇梢詣澐譃榇锌偩€和并行總線,常見的串行總線如I2C等,這些串行總線不但可以掛載多個器件,還具有控制方法簡單、器件封裝形式小、通訊速率高、接口線少等優(yōu)點(diǎn),被廣泛應(yīng)用在大量的電子產(chǎn)品中。

      但是在實(shí)際操作過程中,很容易將掛接在串行總線上的一個或多個器件反接,例如某個器件的數(shù)據(jù)端口接到時鐘線上,而時鐘端口接到數(shù)據(jù)線上,這樣導(dǎo)致接反的器件基本上無法使用,成為廢器件,造成了浪費(fèi)。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明實(shí)施例提供一種數(shù)據(jù)傳輸方法及裝置;以解決現(xiàn)有的從機(jī)反接時無法與主機(jī)進(jìn)行數(shù)據(jù)傳輸?shù)膯栴}。

      本發(fā)明優(yōu)選實(shí)施例提供一種數(shù)據(jù)傳輸方法,其包括:

      向從機(jī)發(fā)送驗證信息;

      判斷在第一預(yù)設(shè)時間內(nèi)是否接收到所述從機(jī)根據(jù)所述驗證信息反饋的第一應(yīng)答信息;

      若否,則將數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號互換,并根據(jù)互換結(jié)果向所述從機(jī)發(fā)送所述驗證信息;

      若在第二預(yù)設(shè)時間內(nèi)接收到所述從機(jī)根據(jù)所述驗證信息反饋的第二應(yīng)答信息,則與所述從機(jī)進(jìn)行數(shù)據(jù)傳輸。

      本發(fā)明優(yōu)選實(shí)施例所述的數(shù)據(jù)傳輸方法中,所述向從機(jī)發(fā)送驗證信息之前,還包括:

      調(diào)用通用輸入/輸出模擬的預(yù)設(shè)的串行總線的通訊協(xié)議;

      根據(jù)所述通訊協(xié)議,設(shè)置數(shù)據(jù)信號的傳輸端口與所述時鐘線端口相對應(yīng),時鐘信號的傳輸端口與所述數(shù)據(jù)線端口相對應(yīng),以生成第一信號互換程序;

      所述將數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號互換,包括:調(diào)用所述第一信號互換程序,將數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號互換。

      本發(fā)明優(yōu)選實(shí)施例所述的數(shù)據(jù)傳輸方法中,所述向從機(jī)發(fā)送驗證信息之前,還包括:

      設(shè)置數(shù)據(jù)信號的傳輸端口與所述時鐘線端口相對應(yīng),時鐘信號的傳輸端口與所述數(shù)據(jù)線端口相對應(yīng),以生成第二信號互換程序;

      所述將數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號互換,包括:調(diào)用所述第二信號互換程序,將數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號互換。

      本發(fā)明優(yōu)選實(shí)施例所述的數(shù)據(jù)傳輸方法中,在所述與所述從機(jī)進(jìn)行數(shù)據(jù)傳輸之后,還包括:

      判斷是否完成與所述從機(jī)的數(shù)據(jù)傳輸;

      若是,則終止調(diào)用的所述第一信號互換程序或所述第二信號互換程序,并使預(yù)設(shè)的串行總線處于空閑狀態(tài)。

      本發(fā)明優(yōu)選實(shí)施例所述的數(shù)據(jù)傳輸方法中,所述若未接收到所述第一應(yīng)答信息之后,還包括:保存所述驗證信息,使得在數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號互換之后,讀取所述驗證信息并將所述驗證信息發(fā)送至所述從機(jī)。

      本發(fā)明優(yōu)選實(shí)施例還提供一種數(shù)據(jù)傳輸裝置,其包括:

      第一發(fā)送單元,用于向從機(jī)發(fā)送驗證信息;

      第一判斷單元,用于判斷在第一預(yù)設(shè)時間內(nèi)是否接收到所述從機(jī)根據(jù)所述驗證信息反饋的第一應(yīng)答信息;

      信號互換單元,用于若所述第一判斷單元未接收到所述第一應(yīng)答信息,則將數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號互換;

      第二發(fā)送單元,用于向所述從機(jī)發(fā)送所述驗證信息;

      數(shù)據(jù)傳輸單元,用于若在第二預(yù)設(shè)時間內(nèi)接收到所述從機(jī)根據(jù)所述驗證信息反饋的第二應(yīng)答信息,則與所述從機(jī)進(jìn)行數(shù)據(jù)傳輸。

      本發(fā)明優(yōu)選實(shí)施例所述的數(shù)據(jù)傳輸裝置中,所述數(shù)據(jù)傳輸裝置還包括第一信號互換生成單元,具體用于:

      調(diào)用通用輸入/輸出模擬的預(yù)設(shè)的串行總線的通訊協(xié)議;

      根據(jù)所述通訊協(xié)議,設(shè)置數(shù)據(jù)信號的傳輸端口與所述時鐘線端口相對應(yīng),時鐘信號的傳輸端口與所述數(shù)據(jù)線端口相對應(yīng),以生成第一信號互換程序;

      所述信號互換單元具體用于:若所述第一判斷單元未接收到所述第一應(yīng)答信息,則調(diào)用所述第一信號互換程序,將數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號互換。

      本發(fā)明優(yōu)選實(shí)施例所述的數(shù)據(jù)傳輸裝置中,所述數(shù)據(jù)傳輸裝置還包括第二信號互換生成單元,具體用于:設(shè)置數(shù)據(jù)信號的傳輸端口與所述時鐘線端口相對應(yīng),時鐘信號的傳輸端口與所述數(shù)據(jù)線端口相對應(yīng),以生成第二信號互換程序;

      所述信號互換單元具體用于:若所述第一判斷單元未接收到所述第一應(yīng)答信息,則調(diào)用所述第二信號互換程序,將數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號互換。

      本發(fā)明優(yōu)選實(shí)施例所述的數(shù)據(jù)傳輸裝置中,所述數(shù)據(jù)傳輸裝置還包括第二判斷單元,具體用于:判斷是否完成與所述從機(jī)的數(shù)據(jù)傳輸;若是,則終止調(diào)用的所述第一信號互換程序或所述第二信號互換程序,并使預(yù)設(shè)的串行總線處于空閑狀態(tài)。

      本發(fā)明優(yōu)選實(shí)施例所述的數(shù)據(jù)傳輸裝置中,所述數(shù)據(jù)傳輸裝置還包括存儲單元,具體用于:保存所述驗證信息,使得在數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號互換之后,第二發(fā)送單元讀取所述驗證信息并將所述驗證信息發(fā)送至所述從機(jī)。

      與現(xiàn)有技術(shù)相比,本發(fā)明提供的數(shù)據(jù)傳輸方法,通過在判斷出某一從機(jī)處于反接狀態(tài)時,通過將主機(jī)的數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號互換,使得主機(jī)與反接從機(jī)掛接在總線上的接線情況相匹配,從而實(shí)現(xiàn)主機(jī)與反接從機(jī)進(jìn)行數(shù)據(jù)傳輸,當(dāng)主機(jī)與反接從機(jī)完成數(shù)據(jù)傳輸后,恢復(fù)主機(jī)的數(shù)據(jù)線端口和時鐘線端口傳輸?shù)男盘?,使得主機(jī)可以與其他正確接入總線的從機(jī)進(jìn)行數(shù)據(jù)傳輸,解決了現(xiàn)有技術(shù)中,因從機(jī)反接而引起的器件報廢等問題。

      本發(fā)明還提供一種數(shù)據(jù)傳輸裝置,通過信號互換單元調(diào)用第一信號互換程序或第二信號互換程序?qū)⒅鳈C(jī)的數(shù)據(jù)線端口和時鐘線端口輸出的信號互換,從而使得主機(jī)可以與反接從機(jī)進(jìn)行正常數(shù)據(jù)傳輸,當(dāng)數(shù)據(jù)傳輸完成后,第二判斷單元將終止第一信號互換程序或第二信號互換程序,恢復(fù)主機(jī)的數(shù)據(jù)線端口和時鐘線端口輸出的信號,使得主機(jī)可以與正確接入總線的從機(jī)進(jìn)行數(shù)據(jù)傳輸,解決了現(xiàn)有技術(shù)中,因從機(jī)反接而引起的器件報廢等問題,同時在保證主機(jī)與反接的從機(jī)可以正常數(shù)據(jù)傳輸?shù)那闆r下,不影響主機(jī)與其他正確接入總線的從機(jī)進(jìn)行數(shù)據(jù)傳輸。

      附圖說明

      圖1為本發(fā)明優(yōu)選實(shí)施例中的數(shù)據(jù)傳輸方法的流程圖;

      圖2為本發(fā)明優(yōu)選實(shí)施例中的又一種數(shù)據(jù)傳輸方法的流程圖;

      圖3為本發(fā)明優(yōu)選實(shí)施例中的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)示意圖。

      具體實(shí)施方式

      下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

      請參照圖1,圖1為本發(fā)明優(yōu)選實(shí)施例中的數(shù)據(jù)傳輸方法的流程圖。本優(yōu)選實(shí)施例提供的數(shù)據(jù)傳輸方法可以應(yīng)用于個人計算機(jī)、服務(wù)器計算機(jī)、手持式或膝上型設(shè)備、移動設(shè)備、多處理器系統(tǒng)、消費(fèi)型電子設(shè)備、小型計算機(jī)、大型計算機(jī)等電子產(chǎn)品內(nèi),在此不做具體限定。

      本優(yōu)選實(shí)施例中的數(shù)據(jù)傳輸方法包括:

      步驟S101:向從機(jī)發(fā)送驗證信息;

      步驟S102:判斷在第一預(yù)設(shè)時間內(nèi)是否接收到所述從機(jī)根據(jù)所述驗證信息反饋的第一應(yīng)答信息;

      步驟S103:若否,則將數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號互換,并根據(jù)互換結(jié)果向所述從機(jī)發(fā)送所述驗證信息;

      步驟S104:若在第二預(yù)設(shè)時間內(nèi)接收到所述從機(jī)根據(jù)所述驗證信息反饋的第二應(yīng)答信息,則與所述從機(jī)進(jìn)行數(shù)據(jù)傳輸。

      本優(yōu)選實(shí)施例中的數(shù)據(jù)傳輸方法適用于具有數(shù)據(jù)線和時鐘線的預(yù)設(shè)的串行總線上的主機(jī)與從機(jī)之間的數(shù)據(jù)傳輸,預(yù)設(shè)的串行總線包括I2C總線等等,下面將詳細(xì)地說明本優(yōu)選實(shí)施例中的數(shù)據(jù)傳輸方法。

      在步驟S101中,主機(jī)向從機(jī)發(fā)送驗證信息,在本實(shí)施例中,驗證信息由從機(jī)的地址碼和讀寫位組成,若從機(jī)可以接收到該驗證信息,即從機(jī)正確地接入預(yù)設(shè)的串行總線中,則從機(jī)將判斷該驗證信息中的地址碼是否與其內(nèi)存儲的地址碼相同,若不同,則忽略該驗證信息,若相同,則向主機(jī)發(fā)送應(yīng)答信息,通知主機(jī)可以與其進(jìn)行數(shù)據(jù)傳輸;然而,當(dāng)從機(jī)反接于預(yù)設(shè)的串行總線時,即從機(jī)的數(shù)據(jù)端口接到預(yù)設(shè)的串行總線的時鐘線上,而時鐘端口接到預(yù)設(shè)的串行總線的數(shù)據(jù)線上,這樣當(dāng)主機(jī)向該從機(jī)發(fā)送驗證信息時,反接的從機(jī)將無法接收到該驗證信息,同時也不能根據(jù)該驗證信息生成應(yīng)答信息。當(dāng)然在其他實(shí)施例中,驗證信息也可以只包含有從機(jī)的地址碼,或者是其他可以唯一識別從機(jī)身份的驗證信息,在此不對驗證信息的具體形式做限制。

      在步驟S102和S103中,主機(jī)判斷第一預(yù)設(shè)時間內(nèi)是否收到從機(jī)根據(jù)驗證信息反饋的第一應(yīng)答信息,若否,則說明該驗證信息中的地址碼所對應(yīng)的從機(jī)反接于預(yù)設(shè)的串行總線,此時,主機(jī)將保存該驗證信息,并將主機(jī)的數(shù)據(jù)線端口中傳輸?shù)臄?shù)據(jù)信號與時鐘線端口傳輸?shù)臅r鐘信號互換,即將數(shù)據(jù)信號從主機(jī)的時鐘線端口輸出,時鐘信號從數(shù)據(jù)線端口輸出,這樣就可以與反接的從機(jī)的兩個端口接線情況相匹配,在完成對數(shù)據(jù)信號和時鐘信號輸出端口的互換之后,主機(jī)將讀取該驗證信息,并將驗證信息通過其時鐘線端口輸出至預(yù)設(shè)的串行總線中,此時從機(jī)將可以接收到驗證信息,并將驗證信息中的地址碼與其內(nèi)存儲的地址碼做比較,若接收到的驗證信息中的地址碼與其內(nèi)存儲的地址碼相匹配,則該反接從機(jī)將產(chǎn)生第二應(yīng)答信息,并發(fā)送給主機(jī)。

      主機(jī)的端口可分為可編程和不可編程兩類,當(dāng)主機(jī)的數(shù)據(jù)線端口和時鐘線端口為不可編程時,即兩個端口輸出信號的屬性為不可編程時,可以通過調(diào)用第一信號互換程序來實(shí)現(xiàn)主機(jī)的數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號的互換,其中,第一信號互換程序在步驟S101之前生成。

      第一信號互換程序的生成方法包括:調(diào)用通用輸入/輸出模擬的預(yù)設(shè)的串行總線的通訊協(xié)議;根據(jù)所述通訊協(xié)議,設(shè)置數(shù)據(jù)信號的傳輸端口與主機(jī)的時鐘線端口相對應(yīng),時鐘信號的傳輸端口與主機(jī)的數(shù)據(jù)線端口相對應(yīng),以生成第一信號互換程序。當(dāng)主機(jī)未收到第一應(yīng)答信息后,通過調(diào)用第一信號互換程序來實(shí)現(xiàn)主機(jī)的數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號的互換,使得主機(jī)與從機(jī)掛接在預(yù)設(shè)的串行總線上的接線情況相匹配。

      當(dāng)主機(jī)的數(shù)據(jù)線端口和時鐘線端口為可編程時,即兩個端口輸出信號的屬性為可編程時,可以通過調(diào)用第二信號互換程序來實(shí)現(xiàn)主機(jī)的數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號的互換,其中,第二信號互換程序在步驟S101之前生成。

      第二信號互換程序的生成方法包括:設(shè)置數(shù)據(jù)信號的傳輸端口與所述時鐘線端口相對應(yīng),時鐘信號的傳輸端口與所述數(shù)據(jù)線端口相對應(yīng),以生成第二信號互換程序。第二信號互換程序無需通過通用輸入/輸出模擬預(yù)設(shè)的串行總線的方式來調(diào)換主機(jī)的數(shù)據(jù)線端口和時鐘線端口輸出的信號,其只需要重新設(shè)置主機(jī)的數(shù)據(jù)線端口和時鐘線端口輸出的信號內(nèi)容即可,因此,當(dāng)主機(jī)未收到第一應(yīng)答信息時,只需要通過調(diào)用第二信號互換程序即可以實(shí)現(xiàn)主機(jī)的數(shù)據(jù)線端口和時鐘線端口輸出的信號的互換,從而使得主機(jī)與從機(jī)掛接在預(yù)設(shè)的串行總線上的接線情況相匹配。

      第一信號互換程序以及第二信號互換程序可以同時存儲在主機(jī)中,也可以根據(jù)主機(jī)的端口是否可編程來選則兩者之一存儲在主機(jī)中,在兩者均存儲在主機(jī)中的情況下,當(dāng)主機(jī)未接收到第一應(yīng)答信息時,主機(jī)先調(diào)用第二信號互換程序來實(shí)現(xiàn)主機(jī)的數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號的互換,此時,主機(jī)再發(fā)送驗證信息給反接從機(jī),若主機(jī)無法接收到反接從機(jī)反饋的應(yīng)答信息,則說明主機(jī)的端口為不可編程的,此時調(diào)用第一信號互換程序來實(shí)現(xiàn)主機(jī)的數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號的互換,主機(jī)再發(fā)送驗證信息給反接從機(jī),第一信號互換程序與第二信號互換程序的具體存在方式不做具體限定,可以根據(jù)實(shí)際應(yīng)用的設(shè)備的需求而定。

      在步驟S104中,若主機(jī)在第二預(yù)設(shè)時間內(nèi)接收到了反接從機(jī)發(fā)送的第二應(yīng)答信息,則主機(jī)可以與該反接從機(jī)進(jìn)行正常數(shù)據(jù)傳輸。在本優(yōu)選實(shí)施例中,第一預(yù)設(shè)時間與第二預(yù)設(shè)時間相同,主機(jī)發(fā)送的驗證信息包括七位的地址碼和一位讀寫信息,主機(jī)將同時發(fā)送八個時鐘信號,每個時鐘信號對應(yīng)一位數(shù)據(jù)字節(jié),因此主機(jī)需要第九個時鐘期間內(nèi)接收到從機(jī)的應(yīng)答信息。當(dāng)然,在其他實(shí)施例中,第一預(yù)設(shè)時間也可以與第二預(yù)設(shè)時間不同,在此不做具體限制。同時,從機(jī)根據(jù)主機(jī)發(fā)送的驗證信息做的第一應(yīng)答信息和第二應(yīng)答信息可以相同也可以不同,當(dāng)從機(jī)一直處于空閑狀態(tài)時,第一應(yīng)答信息和第二應(yīng)答信息可以相同,均是用于提示主機(jī)可以進(jìn)行數(shù)據(jù)傳輸?shù)膽?yīng)答信息,而當(dāng)從機(jī)處于繁忙狀態(tài)時,第二應(yīng)答信息可以是用于提示主機(jī)等待或者提示主機(jī)當(dāng)前不適合數(shù)據(jù)傳輸?shù)刃畔?,在此不做具體限制。

      請參見圖2,圖2為本發(fā)明優(yōu)選實(shí)施例中的又一種數(shù)據(jù)傳輸方法的流程圖。為了不影響其他正常接入預(yù)設(shè)的串行總線的從機(jī)與主機(jī)之間的數(shù)據(jù)傳輸,在步驟S104之后還包括步驟S105,當(dāng)主機(jī)與反接從機(jī)進(jìn)行數(shù)據(jù)傳輸后,主機(jī)需要判斷是否完成與反接從機(jī)的數(shù)據(jù)傳輸,若完成數(shù)據(jù)傳輸,則主機(jī)將終止調(diào)用的第一信號互換程序或第二信號互換程序,恢復(fù)主機(jī)的數(shù)據(jù)線端口和時鐘線端口輸出的信號,即恢復(fù)主機(jī)的數(shù)據(jù)線端口輸出數(shù)據(jù)信號,時鐘線端口輸出時鐘信號,同時釋放預(yù)設(shè)的串行總線,使得預(yù)設(shè)的串行總線的數(shù)據(jù)線和時鐘線處于高電平狀態(tài),保持預(yù)設(shè)的串行總線處于空閑狀態(tài),這樣可以保證之后主機(jī)與其他正常接入預(yù)設(shè)的串行總線的從機(jī)進(jìn)行數(shù)據(jù)傳輸。

      本發(fā)明優(yōu)選實(shí)施例提供的數(shù)據(jù)傳輸方法,通過第一信號互換程序或第二信號互換程序?qū)⒅鳈C(jī)的數(shù)據(jù)線端口和時鐘線端口輸出的信號互換,從而使得主機(jī)可以與反接的從機(jī)進(jìn)行正常數(shù)據(jù)傳輸,當(dāng)數(shù)據(jù)傳輸完成后,終止第一信號互換程序或第二信號互換程序,恢復(fù)主機(jī)的數(shù)據(jù)線端口和時鐘線端口輸出的信號,使得主機(jī)可以與正確接入預(yù)設(shè)的串行總線的從機(jī)進(jìn)行數(shù)據(jù)傳輸,解決了現(xiàn)有技術(shù)中因從機(jī)反接而引起的器件報廢等問題,實(shí)現(xiàn)了主機(jī)可以與反接從機(jī)進(jìn)行數(shù)據(jù)傳輸,同時又不影響主機(jī)與其他正確接入總線的從機(jī)進(jìn)行數(shù)據(jù)傳輸。

      為了進(jìn)一步地說明本發(fā)明中的數(shù)據(jù)傳輸方法,下面將以具體的應(yīng)用場景來詳細(xì)地解釋。

      在本應(yīng)用場景中,預(yù)設(shè)的串行總線為I2C總線,主機(jī)的數(shù)據(jù)線端口和時鐘線端口為不可編程的。

      主機(jī)檢測到I2C總線處于空閑狀態(tài)后,發(fā)送一個起始信號,使得該主機(jī)主管I2C總線;之后向從機(jī)發(fā)送驗證信息,其中,驗證信息包括從機(jī)的地址碼和讀指令位;主機(jī)將判斷在第九個時鐘期間內(nèi)是否收到從機(jī)根據(jù)所述驗證信息產(chǎn)生的應(yīng)答信息,若否,則說明與驗證信息中的地址碼相對應(yīng)的從機(jī)處于反接狀態(tài),此時主機(jī)先保存該驗證信息,并調(diào)用第一信號互換程序,完成對主機(jī)的數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號互換,其中,第一信號互換程序為采用通用輸入/輸出來模擬I2C總線的通訊協(xié)議,并設(shè)置模擬的通訊協(xié)議中的數(shù)據(jù)信號傳輸端口與主機(jī)的時鐘線端口相對應(yīng),時鐘信號的傳輸端口與主機(jī)的數(shù)據(jù)線端口相對應(yīng)而生成。

      在完成主機(jī)的數(shù)據(jù)線端口和時鐘線端口輸出信號互換之后,主機(jī)與反接從機(jī)掛接在I2C總線上的接線情況相匹配,主機(jī)讀取保存的驗證信息,并將驗證信息通過時鐘線端口發(fā)送給反接從機(jī),此時反接從機(jī)可以通過I2C總線中的時鐘線接收到驗證信息,反接從機(jī)收到驗證信息后,將判斷驗證信息中的地址碼是否與其內(nèi)存儲的地址碼相匹配,若匹配,則發(fā)送應(yīng)答信息來通知主機(jī)可以對其進(jìn)行讀數(shù)據(jù)操作,主機(jī)接收到該應(yīng)答信息后,開始接收反接從機(jī)發(fā)送的數(shù)據(jù)信息,當(dāng)主機(jī)完成對從機(jī)的數(shù)據(jù)讀取操作時,發(fā)送一停止信號,同時終止調(diào)用第一信號互換程序,恢復(fù)主機(jī)的數(shù)據(jù)線端口輸出數(shù)據(jù)信號,時鐘線端口輸出時鐘信號,以便于后續(xù)主機(jī)與其他正確接入I2C總線中的從機(jī)進(jìn)行數(shù)據(jù)傳輸。從而實(shí)現(xiàn)在從機(jī)反接于I2C總線中時,主機(jī)通過調(diào)用第一信號互換程序來將主機(jī)的數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號互換,使得主機(jī)與反接從機(jī)掛接在I2C總線上的接線情況相匹配,從而保證主機(jī)可以與反接從機(jī)進(jìn)行數(shù)據(jù)傳輸,當(dāng)數(shù)據(jù)傳輸結(jié)束后,通過終止第一信號互換程序來恢復(fù)主機(jī)數(shù)據(jù)線端口與時鐘線端口輸出的信號,使得后續(xù)主機(jī)可以與其他正確接入I2C總線的從機(jī)進(jìn)行數(shù)據(jù)傳輸。

      上述僅僅是本發(fā)明數(shù)據(jù)傳輸方法的一個應(yīng)用場景,該應(yīng)用場景是為了進(jìn)一步解釋說明本方法的實(shí)現(xiàn)過程,不能用于限制本發(fā)明。

      請參見圖3,圖3為本發(fā)明優(yōu)選實(shí)施例中的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)示意圖。本優(yōu)選實(shí)施例中的數(shù)據(jù)傳輸裝置11適用于掛接在具有數(shù)據(jù)線SDA和時鐘線SCL的預(yù)設(shè)的串行總線上的主機(jī)10中,預(yù)設(shè)的串行總線包括I2C總線等,主機(jī)10可以應(yīng)用于個人計算機(jī)、服務(wù)器計算機(jī)、手持式或膝上型設(shè)備、移動設(shè)備、多處理器系統(tǒng)、消費(fèi)型電子設(shè)備、小型計算機(jī)、大型計算機(jī)等電子產(chǎn)品內(nèi),在此不做具體限定。

      本優(yōu)選實(shí)施例中的數(shù)據(jù)傳輸裝置11包括:

      第一發(fā)送單元111,用于向從機(jī)發(fā)送驗證信息;

      第一判斷單元112,用于判斷在第一預(yù)設(shè)時間內(nèi)是否接收到所述從機(jī)根據(jù)所述驗證信息反饋的第一應(yīng)答信息;

      信號互換單元113,用于若所述第一判斷單元112未接收到所述第一應(yīng)答信息,則將數(shù)據(jù)線端口傳輸?shù)臄?shù)據(jù)信號和時鐘線端口傳輸?shù)臅r鐘信號互換;

      第二發(fā)送單元114,用于向所述從機(jī)發(fā)送所述驗證信息;

      數(shù)據(jù)傳輸單元115,用于若在第二預(yù)設(shè)時間內(nèi)接收到所述從機(jī)根據(jù)所述驗證信息反饋的第二應(yīng)答信息,則與所述從機(jī)進(jìn)行數(shù)據(jù)傳輸。

      下面將結(jié)合圖3來詳細(xì)地說明本優(yōu)選實(shí)施例中的數(shù)據(jù)傳輸裝置11。

      圖3中,數(shù)據(jù)傳輸裝置11設(shè)置于主機(jī)10內(nèi),主機(jī)10的數(shù)據(jù)線端口12連接到I2C總線的數(shù)據(jù)線SDA上,主機(jī)10的時鐘線端口13連接到I2C總線的時鐘線SCL上,n個從機(jī)也掛接在I2C總線上,從圖中可以看出,從機(jī)2接反了,即從機(jī)2的數(shù)據(jù)端口接到I2C總線的時鐘線上,而時鐘端口接到I2C總線的數(shù)據(jù)線上。在本實(shí)施例中,主機(jī)與從機(jī)掛接在I2C總線上,當(dāng)然也可以掛接在其他總線上,在此不做具體限定。

      當(dāng)主機(jī)10需要與從機(jī)2進(jìn)行數(shù)據(jù)傳輸時,主機(jī)10的第一發(fā)送單元111將發(fā)送驗證信息通過數(shù)據(jù)線端口12輸出至數(shù)據(jù)線SDA中,在本實(shí)施例中,驗證信息由從機(jī)2的地址碼和讀寫位組成,當(dāng)然在其他實(shí)施例中,驗證信息也可以只包含有從機(jī)的地址碼,或者是其他可以唯一識別從機(jī)身份的驗證信息,在此不對驗證信息的具體形式做限制。

      由于從機(jī)2反接,其不能接收到驗證信息,因此也無法根據(jù)驗證信息產(chǎn)生第一應(yīng)答信息。第一判斷單元112判斷在第一預(yù)設(shè)時間內(nèi)是否收到從機(jī)發(fā)送的第一應(yīng)答信息,若否,則說明從機(jī)2處于反接狀態(tài),此時,數(shù)據(jù)傳輸裝置中的存儲單元將保存該驗證信息,并且信號互換單元113將主機(jī)的數(shù)據(jù)線端口12中傳輸?shù)臄?shù)據(jù)信號與時鐘線端口13傳輸?shù)臅r鐘信號互換,即將數(shù)據(jù)信號從主機(jī)的時鐘線端口13輸出,時鐘信號從數(shù)據(jù)線端口12輸出,這樣就可以使主機(jī)10與反接從機(jī)2的兩個端口接線情況相匹配。

      在信號互換單元113完成對數(shù)據(jù)信號和時鐘信號輸出端口的互換之后,第二發(fā)送單元114將讀取該驗證信息,并將驗證信息通過主機(jī)10的時鐘線端口13輸出至I2C總線中,此時從機(jī)2將可以接收到驗證信息,并將驗證信息中的地址碼與其內(nèi)存儲的地址碼做比較,若接收到的驗證信息中的地址碼與其內(nèi)存儲的地址碼相匹配,則從機(jī)2將產(chǎn)生第二應(yīng)答信息,并通過時鐘線SCL傳輸給主機(jī)10。

      主機(jī)10的數(shù)據(jù)線端口12和時鐘線端口13可分為可編程和不可編程,當(dāng)數(shù)據(jù)線端口12和時鐘線端口13為不可編程時,即兩個端口輸出信號的屬性為不可編程時,數(shù)據(jù)傳輸裝置11還包括第一信號互換生成單元,第一信號互換生成單元用于通過調(diào)用通用輸入/輸出模擬的I2C總線的通訊協(xié)議;根據(jù)通訊協(xié)議,設(shè)置數(shù)據(jù)信號的傳輸端口與時鐘線端口13相對應(yīng),時鐘信號的傳輸端口與數(shù)據(jù)線端口12相對應(yīng),以生成第一信號互換程序。當(dāng)主機(jī)10未接收到第一應(yīng)答信息時,信號互換單元113將調(diào)用第一信號互換生成單元生成的第一信號互換程序,將數(shù)據(jù)線端口12傳輸?shù)臄?shù)據(jù)信號和時鐘線端口13傳輸?shù)臅r鐘信號互換,使得主機(jī)10與反接從機(jī)2掛接在I2C總線上的接線情況相匹配。

      當(dāng)數(shù)據(jù)線端口12和時鐘線端口13為可編程時,即兩個端口輸出信號的屬性為可編程時,數(shù)據(jù)傳輸裝置11還包括第二信號互換生成單元,第二信號互換生成單元用于設(shè)置數(shù)據(jù)信號的傳輸端口與時鐘線端口13相對應(yīng),時鐘信號的傳輸端口與數(shù)據(jù)線端口12相對應(yīng),以生成第二信號互換程序。當(dāng)主機(jī)10未接收到第一應(yīng)答信息時,信號互換單元113將調(diào)用第二信號互換生成單元生成的第二信號互換程序,將數(shù)據(jù)線端口12傳輸?shù)臄?shù)據(jù)信號和時鐘線端口13傳輸?shù)臅r鐘信號互換,使得主機(jī)10與反接從機(jī)2掛接在I2C總線上的接線情況相匹配。

      當(dāng)主機(jī)10在第二預(yù)設(shè)時間內(nèi)接收到了反接從機(jī)2發(fā)送的第二應(yīng)答信息,則說明主機(jī)10可以與該反接從機(jī)2進(jìn)行正常數(shù)據(jù)傳輸,數(shù)據(jù)傳輸單元115將根據(jù)驗證信息的讀寫位的指示對從機(jī)2進(jìn)行讀寫數(shù)據(jù)。在本優(yōu)選實(shí)施例中,第一預(yù)設(shè)時間與第二預(yù)設(shè)時間相同,主機(jī)10發(fā)送的驗證信息包括七位的地址碼和一位讀寫信息,主機(jī)10將同時發(fā)送八個時鐘信號,每個時鐘信號對應(yīng)一位數(shù)據(jù)字節(jié),因此主機(jī)10需要在第九個時鐘期間內(nèi)接收到從機(jī)的應(yīng)答信息。當(dāng)然,在其他實(shí)施例中,第一預(yù)設(shè)時間也可以與第二預(yù)設(shè)時間不同,在此不做具體限制。同時,第一應(yīng)答信息和第二應(yīng)答信息可以相同也可以不同,當(dāng)從機(jī)2一直處于空閑狀態(tài)時,第一應(yīng)答信息和第二應(yīng)答信息可以相同,均是用于提示主機(jī)10可以進(jìn)行數(shù)據(jù)傳輸?shù)膽?yīng)答信息,而當(dāng)從機(jī)2處于繁忙狀態(tài)時,第二應(yīng)答信息可以是用于提示主機(jī)10等待或者提示主機(jī)10當(dāng)前不適合數(shù)據(jù)傳輸?shù)刃畔?,在此不做具體限制。

      為了不影響其他正常接入I2C總線的從機(jī)與主機(jī)10之間的數(shù)據(jù)傳輸,當(dāng)主機(jī)10與反接從機(jī)2進(jìn)行數(shù)據(jù)傳輸后,數(shù)據(jù)傳輸裝置11中的第二判斷單元將判斷是否完成與反接從機(jī)2的數(shù)據(jù)傳輸,若完成數(shù)據(jù)傳輸,則將終止調(diào)用的第一信號互換程序或第二信號互換程序,恢復(fù)主機(jī)的數(shù)據(jù)線端口12和時鐘線端口13輸出的信號,即恢復(fù)主機(jī)的數(shù)據(jù)線端口12輸出數(shù)據(jù)信號,時鐘線端口13輸出時鐘信號,同時釋放I2C總線,使得數(shù)據(jù)線SDA和時鐘線SCL處于高電平狀態(tài),這樣可以保證主機(jī)與其他正常接入I2C總線的從機(jī)進(jìn)行數(shù)據(jù)傳輸。

      在本優(yōu)選實(shí)施例中,僅僅示意出一個從機(jī)反接,當(dāng)然在實(shí)際的操作過程中,很有可能在一個I2C總線上出現(xiàn)多個反接的從機(jī),主機(jī)與每個反接的從機(jī)進(jìn)行數(shù)據(jù)傳輸?shù)倪^程與僅存在一個反接從機(jī)的過程相同,在此不再贅述。

      本發(fā)明優(yōu)選實(shí)施例提供的數(shù)據(jù)傳輸裝置,通過信號互換單元113調(diào)用第一信號互換程序或第二信號互換程序?qū)⒅鳈C(jī)的數(shù)據(jù)線端口12和時鐘線端口13輸出的信號互換,從而使得主機(jī)10可以與反接的從機(jī)2進(jìn)行正常數(shù)據(jù)傳輸,當(dāng)數(shù)據(jù)傳輸完成后,第二判斷單元將終止第一信號互換程序或第二信號互換程序,恢復(fù)主機(jī)的數(shù)據(jù)線端口12和時鐘線端口13輸出的信號,使得主機(jī)可以與正確接入總線的從機(jī)進(jìn)行數(shù)據(jù)傳輸,在保證主機(jī)與反接的從機(jī)可以正常數(shù)據(jù)傳輸?shù)耐瑫r,主機(jī)也可以與正常連接的從機(jī)進(jìn)行數(shù)據(jù)傳輸。

      本發(fā)明實(shí)施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中。上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。上述的各裝置或系統(tǒng),可以執(zhí)行相應(yīng)方法實(shí)施例中的方法。

      綜上所述,雖然本發(fā)明已以優(yōu)選實(shí)施例揭露如上,但上述優(yōu)選實(shí)施例并非用以限制本發(fā)明,本領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),均可作各種更動與潤飾,因此本發(fā)明的保護(hù)范圍以權(quán)利要求界定的范圍為準(zhǔn)。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1