本發(fā)明涉及通信,特別涉及一種多路i2c主設(shè)備訪問多節(jié)點(diǎn)系統(tǒng)中各節(jié)點(diǎn)的方法。
背景技術(shù):
1、在多節(jié)點(diǎn)系統(tǒng)中,通常會(huì)掛有多個(gè)i2c主設(shè)備。實(shí)際應(yīng)用中,會(huì)存在多個(gè)i2c主設(shè)備共同訪問多節(jié)點(diǎn)系統(tǒng)中存在的各從設(shè)備。
2、這些i2c主設(shè)備彼此獨(dú)立,存在同時(shí)訪問同一個(gè)節(jié)點(diǎn)下同一個(gè)從設(shè)備的情況,因此可能存在i2c指令混亂的問題,導(dǎo)致i2c傳輸發(fā)生異常錯(cuò)誤。同樣的在進(jìn)行i2c廣播時(shí),無法知道是哪個(gè)節(jié)點(diǎn)沒有回復(fù),或者回復(fù)的nak(否定應(yīng)答)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種多路i2c主設(shè)備訪問多節(jié)點(diǎn)系統(tǒng)中各節(jié)點(diǎn)的方法,以解決背景技術(shù)中的問題。
2、為解決上述技術(shù)問題,本發(fā)明提供了一種多路i2c主設(shè)備訪問多節(jié)點(diǎn)系統(tǒng)中各節(jié)點(diǎn)的方法,包括:
3、訪問遠(yuǎn)端節(jié)點(diǎn)時(shí),記錄i2c主設(shè)備和訪問的節(jié)點(diǎn)信息,根據(jù)匹配關(guān)系轉(zhuǎn)成相應(yīng)的目標(biāo)地址,存儲(chǔ)在指令包中,通過傳輸系統(tǒng)傳輸?shù)竭h(yuǎn)端;遠(yuǎn)端的節(jié)點(diǎn)收到指令包后,從指令包中解析出i2c主設(shè)備信息和目標(biāo)節(jié)點(diǎn)信息,根據(jù)目標(biāo)節(jié)點(diǎn)信息決定是否需要傳輸給下一個(gè)節(jié)點(diǎn),或是訪問自己本身;如需回復(fù)i2c指令,將記錄下的i2c主設(shè)備信息組在回復(fù)的指令包中;
4、訪問近端節(jié)點(diǎn)時(shí),根據(jù)回復(fù)包中的i2c主設(shè)備信息,對(duì)相應(yīng)的i2c主設(shè)備進(jìn)行答復(fù)。
5、在一種實(shí)施方式中,所述多節(jié)點(diǎn)系統(tǒng)包括i2c主設(shè)備0~i2c主設(shè)備n、節(jié)點(diǎn)0~節(jié)點(diǎn)n,其中i2c主設(shè)備0和i2c主設(shè)備1通過i2c總線與節(jié)點(diǎn)0相連,節(jié)點(diǎn)0與節(jié)點(diǎn)1~節(jié)點(diǎn)n遵循傳輸協(xié)議通過線纜相連;其中,節(jié)點(diǎn)1~節(jié)點(diǎn)n通過i2c總線外掛多個(gè)類似的系統(tǒng),組成級(jí)聯(lián)系統(tǒng)。
6、在一種實(shí)施方式中,所述i2c主設(shè)備0與所述i2c主設(shè)備n同時(shí)訪問節(jié)點(diǎn)0時(shí),由于是近端訪問,節(jié)點(diǎn)0根據(jù)優(yōu)先級(jí),優(yōu)先與i2c主設(shè)備0完成i2c傳輸,同時(shí)拉低與i2c主設(shè)備n交互的時(shí)鐘線;當(dāng)與i2c主設(shè)備0的傳輸完成后,節(jié)點(diǎn)0與i2c主設(shè)備n的時(shí)鐘線被放開,開始完成與i2c主設(shè)備n的傳輸。
7、在一種實(shí)施方式中,多個(gè)i2c主設(shè)備分別訪問近端與遠(yuǎn)端節(jié)點(diǎn),由于分別是訪問的近端遠(yuǎn)端不同節(jié)點(diǎn),兩者相互獨(dú)立互不干擾,無需仲裁。
8、在一種實(shí)施方式中,多個(gè)i2c主設(shè)備分別訪問遠(yuǎn)端不同線纜下的節(jié)點(diǎn)1與節(jié)點(diǎn)n,節(jié)點(diǎn)0在收到i2c主設(shè)備0和i2c主設(shè)備n的訪問請(qǐng)求后,分別記錄下i2c主設(shè)備信息和訪問節(jié)點(diǎn)信息,按規(guī)則轉(zhuǎn)譯成目標(biāo)地址,由此節(jié)點(diǎn)0在分別向遠(yuǎn)端節(jié)點(diǎn)1和節(jié)點(diǎn)n傳輸i2c指令包時(shí),知道該筆傳輸?shù)脑搭^與目標(biāo)。
9、在一種實(shí)施方式中,多個(gè)i2c主設(shè)備分別訪問遠(yuǎn)端同一線纜下的節(jié)點(diǎn)1時(shí),節(jié)點(diǎn)0根據(jù)優(yōu)先級(jí),優(yōu)先與i2c主設(shè)備0完成i2c傳輸,拉低與i2c主設(shè)備n交互的時(shí)鐘線,同時(shí)記錄下i2c主設(shè)備信息0和訪問節(jié)點(diǎn)信息1,并轉(zhuǎn)譯為傳輸包中目標(biāo)地址;節(jié)點(diǎn)1在回復(fù)該筆i2c傳輸時(shí)用的目標(biāo)地址應(yīng)包含收到的i2c主設(shè)備信息,以及自身的節(jié)點(diǎn)信息,節(jié)點(diǎn)0才能根據(jù)收到的目標(biāo)地址信息決定回復(fù)正確的i2c主設(shè)備;當(dāng)與i2c主設(shè)備0的傳輸完成后,節(jié)點(diǎn)0與i2c主設(shè)備n的時(shí)鐘線會(huì)被放開,開始完成與i2c主設(shè)備n的傳輸,由此i2c主設(shè)備0和i2c主設(shè)備n實(shí)現(xiàn)對(duì)節(jié)點(diǎn)1的訪問。
10、在一種實(shí)施方式中,如果i2c主設(shè)備0訪問節(jié)點(diǎn)1時(shí)發(fā)生超時(shí),視作此次i2c傳輸結(jié)束,與i2c主設(shè)備n的傳輸會(huì)開始。
11、本發(fā)明提供的一種多路i2c主設(shè)備訪問多節(jié)點(diǎn)系統(tǒng)中各節(jié)點(diǎn)的方法,需要將主設(shè)備信息與節(jié)點(diǎn)地址信息按照一定的規(guī)則轉(zhuǎn)譯成傳輸包中的目標(biāo)地址,由此將i2c傳輸打上標(biāo)簽,區(qū)分多個(gè)i2c主設(shè)備的訪問,避免了多個(gè)i2c主設(shè)備同時(shí)訪問出現(xiàn)混亂的情況。
1.一種多路i2c主設(shè)備訪問多節(jié)點(diǎn)系統(tǒng)中各節(jié)點(diǎn)的方法,其特征在于,包括:
2.如權(quán)利要求1所述的多路i2c主設(shè)備訪問多節(jié)點(diǎn)系統(tǒng)中各節(jié)點(diǎn)的方法,其特征在于,所述多節(jié)點(diǎn)系統(tǒng)包括i2c主設(shè)備0~i2c主設(shè)備n、節(jié)點(diǎn)0~節(jié)點(diǎn)n,其中i2c主設(shè)備0和i2c主設(shè)備1通過i2c總線與節(jié)點(diǎn)0相連,節(jié)點(diǎn)0與節(jié)點(diǎn)1~節(jié)點(diǎn)n遵循傳輸協(xié)議通過線纜相連;其中,節(jié)點(diǎn)1~節(jié)點(diǎn)n通過i2c總線外掛多個(gè)類似的系統(tǒng),組成級(jí)聯(lián)系統(tǒng)。
3.如權(quán)利要求2所述的多路i2c主設(shè)備訪問多節(jié)點(diǎn)系統(tǒng)中各節(jié)點(diǎn)的方法,其特征在于,所述i2c主設(shè)備0與所述i2c主設(shè)備n同時(shí)訪問節(jié)點(diǎn)0時(shí),由于是近端訪問,節(jié)點(diǎn)0根據(jù)優(yōu)先級(jí),優(yōu)先與i2c主設(shè)備0完成i2c傳輸,同時(shí)拉低與i2c主設(shè)備n交互的時(shí)鐘線;當(dāng)與i2c主設(shè)備0的傳輸完成后,節(jié)點(diǎn)0與i2c主設(shè)備n的時(shí)鐘線被放開,開始完成與i2c主設(shè)備n的傳輸。
4.如權(quán)利要求2所述的多路i2c主設(shè)備訪問多節(jié)點(diǎn)系統(tǒng)中各節(jié)點(diǎn)的方法,其特征在于,多個(gè)i2c主設(shè)備分別訪問近端與遠(yuǎn)端節(jié)點(diǎn),由于分別是訪問的近端遠(yuǎn)端不同節(jié)點(diǎn),兩者相互獨(dú)立互不干擾,無需仲裁。
5.如權(quán)利要求2所述的多路i2c主設(shè)備訪問多節(jié)點(diǎn)系統(tǒng)中各節(jié)點(diǎn)的方法,其特征在于,多個(gè)i2c主設(shè)備分別訪問遠(yuǎn)端不同線纜下的節(jié)點(diǎn)1與節(jié)點(diǎn)n,節(jié)點(diǎn)0在收到i2c主設(shè)備0和i2c主設(shè)備n的訪問請(qǐng)求后,分別記錄下i2c主設(shè)備信息和訪問節(jié)點(diǎn)信息,按規(guī)則轉(zhuǎn)譯成目標(biāo)地址,由此節(jié)點(diǎn)0在分別向遠(yuǎn)端節(jié)點(diǎn)1和節(jié)點(diǎn)n傳輸i2c指令包時(shí),知道該筆傳輸?shù)脑搭^與目標(biāo)。
6.如權(quán)利要求2所述的多路i2c主設(shè)備訪問多節(jié)點(diǎn)系統(tǒng)中各節(jié)點(diǎn)的方法,其特征在于,多個(gè)i2c主設(shè)備分別訪問遠(yuǎn)端同一線纜下的節(jié)點(diǎn)1時(shí),節(jié)點(diǎn)0根據(jù)優(yōu)先級(jí),優(yōu)先與i2c主設(shè)備0完成i2c傳輸,拉低與i2c主設(shè)備n交互的時(shí)鐘線,同時(shí)記錄下i2c主設(shè)備信息0和訪問節(jié)點(diǎn)信息1,并轉(zhuǎn)譯為傳輸包中目標(biāo)地址;節(jié)點(diǎn)1在回復(fù)該筆i2c傳輸時(shí)用的目標(biāo)地址應(yīng)包含收到的i2c主設(shè)備信息,以及自身的節(jié)點(diǎn)信息,節(jié)點(diǎn)0才能根據(jù)收到的目標(biāo)地址信息決定回復(fù)正確的i2c主設(shè)備;當(dāng)與i2c主設(shè)備0的傳輸完成后,節(jié)點(diǎn)0與i2c主設(shè)備n的時(shí)鐘線會(huì)被放開,開始完成與i2c主設(shè)備n的傳輸,由此i2c主設(shè)備0和i2c主設(shè)備n實(shí)現(xiàn)對(duì)節(jié)點(diǎn)1的訪問。
7.如權(quán)利要求6所述的多路i2c主設(shè)備訪問多節(jié)點(diǎn)系統(tǒng)中各節(jié)點(diǎn)的方法,其特征在于,如果i2c主設(shè)備0訪問節(jié)點(diǎn)1時(shí)發(fā)生超時(shí),視作此次i2c傳輸結(jié)束,與i2c主設(shè)備n的傳輸會(huì)開始。