两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于i的制作方法

文檔序號(hào):6279221閱讀:164來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):基于i的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及工業(yè)控制領(lǐng)域,尤其涉及用于現(xiàn)場(chǎng)過(guò)程控制的實(shí)時(shí)數(shù)據(jù)采集和數(shù)據(jù)通信的基于I2C的通信系統(tǒng)及通信方法。
背景技術(shù)
工業(yè)控制現(xiàn)場(chǎng)中工況條件十分惡劣。高溫、高壓以及各種各樣的干擾源,很容易造成器件損壞及系統(tǒng)故障,進(jìn)而導(dǎo)致數(shù)據(jù)采集中斷或者通信中止。然而,工業(yè)控制過(guò)程中對(duì)系統(tǒng)的可靠性要求非常高,系統(tǒng)運(yùn)行出現(xiàn)故障將導(dǎo)致嚴(yán)重后果。特別在實(shí)時(shí)控制過(guò)程中,數(shù)據(jù)要求實(shí)時(shí)采集并轉(zhuǎn)發(fā)到上位機(jī)進(jìn)行監(jiān)控,各個(gè)器件不能停止工作,所以工業(yè)控制系統(tǒng)中通常采用冗余配置方式解決這個(gè)問(wèn)題,以此提高系統(tǒng)可靠性。冗余配置即采用多塊實(shí)現(xiàn)相同功能的卡件或者多個(gè)相同器件進(jìn)行備份工作,當(dāng)工作卡或工作器件出現(xiàn)故障時(shí),立即切換到備份卡或備份器件繼續(xù)工作。
I2C總線是PHILIPS制定的一種串行總線標(biāo)準(zhǔn),總線由兩根線構(gòu)成,串行數(shù)據(jù)線(SDA)和串行時(shí)鐘線(SCL),因此總線占用的空間非常小,減少了電路板的空間和芯片管腳的數(shù)量,降低了互聯(lián)成本,而且支持多個(gè)主機(jī)或從機(jī)接入總線,支持多站在總線上輪循通信?;贗2C的通信系統(tǒng)可以包括從機(jī)和主機(jī)。從機(jī)和主機(jī)通過(guò)I2C總線進(jìn)行通信。如果在同一總線上掛載的從機(jī)是多個(gè)相同I2C器件,由于擁有I2C總線接口的I2C器件已配置固定地址類(lèi)型,則在通信過(guò)程中主機(jī)尋址時(shí)將導(dǎo)致地址混亂,數(shù)據(jù)收發(fā)錯(cuò)誤。
I2C總線支持多機(jī)接入總線,保證數(shù)據(jù)正確發(fā)送到目標(biāo)地址,是建立在相對(duì)復(fù)雜的握手信號(hào)基礎(chǔ)上的。總線完成一次連接,主機(jī)依次向目標(biāo)從機(jī)發(fā)送啟動(dòng)信號(hào)、地址信息、數(shù)據(jù)信息以及結(jié)束信號(hào),對(duì)應(yīng)的目標(biāo)從機(jī)確認(rèn)后返回應(yīng)答信號(hào)ACK。在整個(gè)數(shù)據(jù)信息傳輸過(guò)程中,發(fā)送方收到接受方應(yīng)答信號(hào)ACK才能發(fā)送下一包數(shù)據(jù),以此完成一次握手協(xié)議。如果在通信過(guò)程中一方產(chǎn)生故障,另一方將處于長(zhǎng)時(shí)間等待狀態(tài),總線處于忙狀態(tài),其他站點(diǎn)無(wú)法使用總線,造成總線資源的極大的浪費(fèi)。另外,現(xiàn)有基于I2C的通信系統(tǒng)進(jìn)行主機(jī)和從機(jī)的通信時(shí),通信雙方的握手協(xié)議給冗余配置帶來(lái)了困難,當(dāng)主機(jī)或從機(jī)發(fā)生故障時(shí),接入I2C總線的備份主機(jī)或備份從機(jī)在冗余切換時(shí),不能確定目前通信雙方處于哪一階段,要繼續(xù)對(duì)接握手協(xié)議有一定困難,進(jìn)而不能滿(mǎn)足現(xiàn)有工業(yè)現(xiàn)場(chǎng)過(guò)程控制的實(shí)時(shí)性和穩(wěn)定性的要求。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于I2C的通信系統(tǒng)及通信方法,使得在現(xiàn)場(chǎng)實(shí)時(shí)控制過(guò)程中,采用I2C搭建通信鏈路,各站點(diǎn)(包括主機(jī)和/或從機(jī))進(jìn)行冗余配置,實(shí)現(xiàn)基于I2C通信鏈路的多機(jī)通信,允許I2C站點(diǎn)地址的靈活配置,以解決了冗余切換時(shí)握手對(duì)接的問(wèn)題。
為了達(dá)到上述目的,本發(fā)明公開(kāi)了一種基于I2C的通信系統(tǒng),包括總站、若干分站及主控制器,其中,總站采用并行數(shù)據(jù)連線主控制器、主控制器和分站之間采用I2C雙線規(guī)則進(jìn)行物理連線,總站和/或分站設(shè)置對(duì)應(yīng)的冗余站點(diǎn),所述主控制器包括數(shù)據(jù)傳輸控制單元和冗余管理單元,其中數(shù)據(jù)傳輸控制單元,在總站和分站之間完成并行數(shù)據(jù)和串行數(shù)據(jù)的轉(zhuǎn)換,并實(shí)現(xiàn)時(shí)鐘同步;冗余管理單元根據(jù)總線上數(shù)據(jù)傳輸出現(xiàn)的異??刂普军c(diǎn)的冗余切換。
優(yōu)選地,所述主控制器還包括計(jì)時(shí)單元,所述計(jì)時(shí)單元連接冗余管理單元,以便冗余管理單元定時(shí)檢測(cè)時(shí)鐘脈沖判斷作為主機(jī)的站點(diǎn)工作是否正常以及定時(shí)檢測(cè)數(shù)據(jù)線判斷作為從機(jī)的站點(diǎn)工作是否正常,進(jìn)而控制相應(yīng)站點(diǎn)進(jìn)行尋址設(shè)置轉(zhuǎn)換到冗余站點(diǎn)。
優(yōu)選地,作為主機(jī)的站點(diǎn)和作為從機(jī)的站點(diǎn)進(jìn)行數(shù)據(jù)通信的數(shù)據(jù)格式包括開(kāi)始信號(hào)、地址信息、傳輸數(shù)據(jù)信息及結(jié)束信號(hào),所述地址信息包括源地址和目標(biāo)地址。
作為主機(jī)的站點(diǎn)為總站或分站,總站和分站之間采用分站主機(jī)模式或總站主機(jī)模式進(jìn)行通信。
本發(fā)明還公開(kāi)了一種通信方法,包括以下步驟(1)作為主機(jī)的站點(diǎn)產(chǎn)生開(kāi)始信號(hào),喚醒連接在I2C總線上的其它站點(diǎn);(2)作為主機(jī)的站點(diǎn)發(fā)送目標(biāo)地址及相應(yīng)的讀/寫(xiě)控制信號(hào),作為目標(biāo)地址對(duì)應(yīng)從機(jī)的目標(biāo)站點(diǎn)返回應(yīng)答信號(hào);(3)作為主機(jī)的站點(diǎn)和目標(biāo)站點(diǎn)之間進(jìn)行數(shù)據(jù)通信;(4)在數(shù)據(jù)通信過(guò)程中,主控制器根據(jù)總線上數(shù)據(jù)傳輸出現(xiàn)的異常控制相應(yīng)站點(diǎn)的冗余切換。
步驟(3)具體為a1主控制器保存作為主機(jī)站點(diǎn)的源地址和需要訪問(wèn)站點(diǎn)的目標(biāo)地址;a2發(fā)送數(shù)據(jù)的發(fā)送方發(fā)送數(shù)據(jù),接收方產(chǎn)生響應(yīng);a3發(fā)送方接收到接收方發(fā)送的響應(yīng)信息后,發(fā)送下一包數(shù)據(jù),直至所有數(shù)據(jù)發(fā)送完畢;a4作為主機(jī)的站點(diǎn)發(fā)送結(jié)束信號(hào),釋放總線。
步驟(4)具體為b1主控制器定時(shí)檢測(cè)時(shí)鐘脈沖判斷作為主機(jī)的站點(diǎn)工作是否正常以及定時(shí)檢測(cè)數(shù)據(jù)線判斷作為從機(jī)的站點(diǎn)工作是否正常;
b2若作為主機(jī)的站點(diǎn)出現(xiàn)故障,則主控制器先向總線發(fā)出重新啟動(dòng)信號(hào),再將故障主機(jī)的冗余站地址作為目標(biāo)地址和將先前通信的從機(jī)地址作為源地址進(jìn)行發(fā)送,主機(jī)冗余站進(jìn)入工作狀態(tài),繼續(xù)和所述從機(jī)進(jìn)行通信;b3若作為從機(jī)的站點(diǎn)出現(xiàn)故障,則主控制器向作為主機(jī)的站點(diǎn)發(fā)送一特定應(yīng)答信號(hào),所述主機(jī)向所述從機(jī)的冗余站的地址作為目標(biāo)地址發(fā)起啟動(dòng)信號(hào),重新進(jìn)行數(shù)據(jù)通信。
步驟(1)之前還包括預(yù)先配置總站、分站及冗余站點(diǎn)的地址。
和現(xiàn)有技術(shù)相比,本發(fā)明采用I2C物理連線和時(shí)序邏輯,通過(guò)主控制器搭建支持站點(diǎn)冗余的I2C串行總線。每個(gè)通信站點(diǎn)可進(jìn)行1N冗余配置,實(shí)現(xiàn)多站點(diǎn)間的主從通信。主控制器作為總線上數(shù)據(jù)傳輸?shù)闹修D(zhuǎn)站,完成總站并行數(shù)據(jù)到I2C標(biāo)準(zhǔn)數(shù)據(jù)格式的轉(zhuǎn)換,提高了總站處理效率和數(shù)據(jù)傳輸速度。主控制器實(shí)現(xiàn)冗余檢測(cè)功能,冗余切換使用特定時(shí)序邏輯和相應(yīng)切換動(dòng)作使得能夠平滑過(guò)渡。每個(gè)站點(diǎn)設(shè)置特定的地址信息,根據(jù)地址尋址所要通信的站點(diǎn),冗余檢測(cè)也根據(jù)地址信息定位故障站,冗余檢測(cè)完全在總線上完成,無(wú)需附加多余的電路實(shí)現(xiàn)冗余檢測(cè)和切換。該裝置電路簡(jiǎn)單,通信方式靈活,速率高,采用站點(diǎn)冗余后通信可靠性大大提高。


圖1為本發(fā)明基于I2C的通信系統(tǒng)的結(jié)構(gòu)示意圖;圖2為本發(fā)明采用的數(shù)據(jù)傳輸格式的結(jié)構(gòu)示意圖;圖3為本發(fā)明基于I2C的通信方法的流程圖。
具體實(shí)施例方式
以下結(jié)合附圖,具體說(shuō)明本發(fā)明。
本文中提到的主站是指I2C標(biāo)準(zhǔn)當(dāng)中的主動(dòng)提出通信請(qǐng)求的站點(diǎn),開(kāi)始信號(hào)、地址信息、傳輸數(shù)據(jù)信息及結(jié)束信號(hào)都由主站發(fā)出,從站是指被主站尋址的站點(diǎn)。總站作為主站是指總站主動(dòng)和分站建立連接,分站在設(shè)計(jì)當(dāng)中也可作為主站是指分站可以主動(dòng)和總站建立連接,但各個(gè)分站之間不進(jìn)行通信。
請(qǐng)參閱圖1,其為本發(fā)明基于I2C的通信系統(tǒng)的結(jié)構(gòu)示意圖。它包括總站、若干分站和主控制器。
總站和分站可以分別設(shè)置若干冗余站點(diǎn),當(dāng)然,本發(fā)明也可以根據(jù)具體的應(yīng)用環(huán)境僅設(shè)置總站的冗余站點(diǎn)或僅設(shè)置分站的冗余站點(diǎn)。冗余站點(diǎn)的個(gè)數(shù)可以根據(jù)站點(diǎn)的地址信息和總線驅(qū)動(dòng)能力來(lái)設(shè)定。比如,I2C總線采用7個(gè)bit作為地址信息,則根據(jù)I2C總線標(biāo)準(zhǔn)對(duì)地址可以制定統(tǒng)一分配。如總線上總共有8個(gè)分站的站點(diǎn),各個(gè)站點(diǎn)地址可設(shè)定為00H、10H、20H、30H、40H、50H、60H、70H。地址i0H-iFH可以作為站點(diǎn)地址iOH的分站的冗余站的地址(i屬于
之間的整數(shù))。如地址01H-0FH可以作為站點(diǎn)00H的冗余站的地址。該些分站的冗余站的站點(diǎn)個(gè)數(shù)最大可達(dá)16。上述公開(kāi)的僅為地址分配的一具體實(shí)施例,當(dāng)然,地址分配還可以根據(jù)實(shí)際需求靈活配置,以便在通信過(guò)程中發(fā)生故障后,可以根據(jù)地址分配規(guī)則確定冗余站點(diǎn)的地址。
總站采用并行數(shù)據(jù)連線主控制器,主控制器和各個(gè)分站之間采用I2C雙線規(guī)則進(jìn)行物理連接。主控制器可以采用CPLD(可編程邏輯器件)來(lái)完成,主要用于建立總站和分站之間的數(shù)據(jù)通信及發(fā)生異常時(shí)控制站點(diǎn)的冗余切換。主控制器可以包括數(shù)據(jù)傳輸控制單元、冗余管理單元和計(jì)時(shí)單元,其中數(shù)據(jù)傳輸控制單元,在總站和分站之間完成并行數(shù)據(jù)和串行數(shù)據(jù)的轉(zhuǎn)換,并實(shí)現(xiàn)時(shí)鐘同步;冗余管理單元根據(jù)總線上數(shù)據(jù)傳輸出現(xiàn)的異常控制站點(diǎn)的冗余切換;計(jì)時(shí)單元,連接冗余管理單元,以便冗余管理單元定時(shí)檢測(cè)時(shí)鐘脈沖判斷作為主機(jī)的站點(diǎn)工作是否正常以及定時(shí)檢測(cè)數(shù)據(jù)線判斷作為從機(jī)的站點(diǎn)工作是否正常,進(jìn)而控制相應(yīng)站點(diǎn)進(jìn)行地址設(shè)置轉(zhuǎn)換到冗余站點(diǎn)。
冗余管理單元可以根據(jù)計(jì)時(shí)單元計(jì)時(shí)定時(shí)檢測(cè)作為主機(jī)的站點(diǎn)及作為從機(jī)的站點(diǎn)工作是否正常,也可以實(shí)時(shí)檢測(cè)通信過(guò)程中作為主機(jī)的站點(diǎn)及作為從機(jī)的站點(diǎn)工作是否正常。因此,計(jì)時(shí)單元也可以根據(jù)具體情況決定是否進(jìn)行設(shè)定。
分站可以采用CPU對(duì)I/O口線進(jìn)行軟件編程,也可以直接采用可編程邏輯器件實(shí)現(xiàn)。若采用CPU對(duì)I/O口進(jìn)行軟件編程,則物理連線占用CPU兩個(gè)I/O口作為I2C總線的SDA串行數(shù)據(jù)線的接口及作為串行時(shí)鐘線的接口。I2C總線在傳送數(shù)據(jù)過(guò)程中共有三種類(lèi)型信號(hào),分別是開(kāi)始信號(hào)(S)、結(jié)束信號(hào)(P)和應(yīng)答信號(hào)(ACK)。為此,還需要通過(guò)軟件編程預(yù)先在分站上設(shè)定開(kāi)始信號(hào)、結(jié)束信號(hào)和應(yīng)答信號(hào)。以下給出的是本發(fā)明上述信號(hào)設(shè)定的一實(shí)施例,但并非局限于此。
開(kāi)始信號(hào)SCL為高電平時(shí),SDA由高電平向低電平跳變,開(kāi)始傳送數(shù)據(jù)。
結(jié)束信號(hào)SCL為低電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。
應(yīng)答信號(hào)接收數(shù)據(jù)的站點(diǎn)在接收到數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的站點(diǎn)發(fā)出特定的低電平脈沖。接收到數(shù)據(jù)的長(zhǎng)度可以根據(jù)具體情況設(shè)定,比如,接收到8bit的數(shù)據(jù)時(shí),接收數(shù)據(jù)的站點(diǎn)即發(fā)送表明應(yīng)答的低電平脈沖。
總站通常作為主機(jī)與多個(gè)分站輪循通信,壓力比較大,因此采用并行線和主控制器進(jìn)行通信,以緩解傳輸壓力。比如,總站發(fā)送一個(gè)字節(jié)到主控制器只要1個(gè)時(shí)鐘周期,而分站接收需要8個(gè)時(shí)鐘周期。總站并行數(shù)據(jù)經(jīng)主控制器后轉(zhuǎn)換為I2C標(biāo)準(zhǔn)數(shù)據(jù)格式與分站通信。總站與主控制器的連線如圖1所示,并行線PDA.n和時(shí)鐘線PCL與主控制器相連。在表示時(shí)序PCL等同與SCL,PDA.n(PDA.n為PDA并行總線中其中一根線)等同與SDA,用這兩根線來(lái)模擬I2C時(shí)序,其時(shí)序?yàn)殚_(kāi)始信號(hào)PCL為高電平時(shí),PDA.n由高電平向低電平跳變,開(kāi)始傳送數(shù)據(jù)。
結(jié)束信號(hào)PCL為低電平時(shí),PDA.n由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。
應(yīng)答信號(hào)接收數(shù)據(jù)的站點(diǎn)在接收到數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的站點(diǎn)發(fā)出特定的低電平脈沖。接收到數(shù)據(jù)的長(zhǎng)度可以根據(jù)具體情況設(shè)定,比如,接收到8bit的數(shù)據(jù)時(shí),接收數(shù)據(jù)的站點(diǎn)即發(fā)送表明應(yīng)答的低電平脈沖。
主控制器在總站、分站之間需完成并行數(shù)據(jù)和串行數(shù)據(jù)的轉(zhuǎn)換,并實(shí)現(xiàn)時(shí)鐘的同步。其實(shí)現(xiàn)為在主控制器內(nèi)開(kāi)辟8位寄存器BUF,在一個(gè)PCL脈沖期間,BUF進(jìn)行一次數(shù)據(jù)更新,而把BUF數(shù)據(jù)都傳到I2C總線上需要8個(gè)SCL脈沖。設(shè)一握手信號(hào)使數(shù)據(jù)收發(fā)同步,即BUF與分站完成8個(gè)周期數(shù)據(jù)傳輸后,和總站之間傳達(dá)應(yīng)答信息,總站再開(kāi)始收/發(fā)一字節(jié)數(shù)據(jù)。
總站和分站都可以作為主機(jī),也就是說(shuō),總站和分站可以采用多主機(jī)模式進(jìn)行通信,即各I2C分站可以被動(dòng)尋址也可以主動(dòng)尋址進(jìn)行數(shù)據(jù)收發(fā)。比如采用分站主機(jī)模式和總站主機(jī)模式。
1)分站主機(jī)模式當(dāng)總線空閑時(shí)任何分站都可以試圖占用總線,作為主機(jī)與總站建立連接,控制總線傳輸狀態(tài)。
2)總站主機(jī)模式總站可以作為主機(jī)對(duì)任一分站尋址,這樣總站可以對(duì)每個(gè)分站輪循通信,控制總線。
其中分站與總站通信的數(shù)據(jù)經(jīng)主控制器轉(zhuǎn)換成一端為總站可以識(shí)別的格式,另一端為符合I2C標(biāo)準(zhǔn)的格式。采用多主機(jī)方式便于建立適合各種應(yīng)用靈活的通信方式。
作為主機(jī)的站點(diǎn)和作為從機(jī)的站點(diǎn)之間進(jìn)行數(shù)據(jù)通信的數(shù)據(jù)格式包括開(kāi)始信號(hào)、地址信息、傳輸數(shù)據(jù)信息及結(jié)束信號(hào),所述地址信息包括源地址和目標(biāo)地址。本發(fā)明采用的傳輸?shù)臄?shù)據(jù)格式如圖2所示,包括開(kāi)始信號(hào)、地址信息、傳輸數(shù)據(jù)信息及結(jié)束信號(hào)。為了配合冗余切換,本發(fā)明在地址信息中加入源地址信息。即為使主控制器冗余檢測(cè)時(shí)正確判斷通信雙方,當(dāng)作為主機(jī)的站點(diǎn)出現(xiàn)故障時(shí),可以根據(jù)源地址尋址其相應(yīng)的冗余站。本發(fā)明的目標(biāo)地址和源地址用7bit表示,最后一位為讀寫(xiě)方式位,每包數(shù)據(jù)也為8bit,后面均跟一響應(yīng)位,收到響應(yīng)后才開(kāi)始下一包數(shù)據(jù)的傳輸。冗余站在總線上根據(jù)不同的地址來(lái)區(qū)分。
基于上述公開(kāi)的通信系統(tǒng),本發(fā)明提供了一種通信方法。請(qǐng)參閱圖3,其為本發(fā)明基于I2C的通信方法的流程圖。它包括以下步驟S110作為主機(jī)的站點(diǎn)產(chǎn)生開(kāi)始信號(hào),喚醒連接在I2C總線上的其它站點(diǎn);主機(jī)產(chǎn)生一開(kāi)始信號(hào)SCL(PCL)線是高電平,SDA(PDA.n)線從高電平向低電平切換。連在I2C總線上的站點(diǎn)收到開(kāi)始信號(hào),都將被喚醒。站點(diǎn)包括冗余站點(diǎn),因?yàn)槿哂嗾臼菬醾浞荨?br> S120作為主機(jī)的站點(diǎn)發(fā)送目標(biāo)地址及相應(yīng)的讀/寫(xiě)控制信號(hào),作為目標(biāo)地址對(duì)應(yīng)從機(jī)的目標(biāo)站點(diǎn)返回應(yīng)答信號(hào)。
主機(jī)發(fā)送目標(biāo)地址信息(比如,8bit的目標(biāo)地址),最后一位為讀寫(xiě)方式位。所尋址的目標(biāo)從機(jī)收到相對(duì)應(yīng)的地址信息,產(chǎn)生響應(yīng)ACK與主機(jī)建立連接。其它站點(diǎn)不產(chǎn)生響應(yīng),返回原狀態(tài)。主控制器保存目標(biāo)地址。
S130作為主機(jī)的站點(diǎn)和目標(biāo)站點(diǎn)之間進(jìn)行數(shù)據(jù)通信。
主機(jī)和從機(jī)中發(fā)送數(shù)據(jù)一方稱(chēng)為發(fā)送方,接收數(shù)據(jù)一方稱(chēng)為接收方。則包括首先,發(fā)送方發(fā)送數(shù)據(jù),接收方產(chǎn)生響應(yīng);然后,發(fā)送方接收到接收方發(fā)送的響應(yīng)信息后,發(fā)送下一包數(shù)據(jù),直至所有數(shù)據(jù)發(fā)送完畢;最后,作為主機(jī)的站點(diǎn)發(fā)送結(jié)束信號(hào),釋放總線。
當(dāng)接收方收到1字節(jié)后產(chǎn)生響應(yīng),響應(yīng)為發(fā)送方釋放SDA(PDA.n)線(高),在響應(yīng)的時(shí)鐘脈沖期間接收方必須將SDA(PDA.n)線拉低使它在這個(gè)時(shí)鐘脈沖的高電平期間保持穩(wěn)定的低電平。發(fā)送方收到響應(yīng)才發(fā)送下一包數(shù)據(jù)。接收方接收到多少數(shù)據(jù)字節(jié)后才進(jìn)行響應(yīng)可以根據(jù)具體情況進(jìn)行設(shè)定,不局限于1字節(jié)。
S140在上述數(shù)據(jù)通信過(guò)程中,主控制器根據(jù)總線上數(shù)據(jù)傳輸出現(xiàn)的異??刂葡鄳?yīng)站點(diǎn)的冗余切換。
主控制器收到主機(jī)的開(kāi)始信號(hào)后,進(jìn)入冗余檢測(cè)狀態(tài)。記錄通信雙方地址信息,以便發(fā)生故障時(shí)可以準(zhǔn)確定位。主控制器實(shí)時(shí)進(jìn)行冗余檢測(cè),檢測(cè)時(shí)鐘線SCL(PCL)判斷主機(jī)工作狀態(tài),檢測(cè)數(shù)據(jù)線SDA(PDA.n)判斷從機(jī)工作狀態(tài)。計(jì)時(shí)單元計(jì)時(shí),隔時(shí)間T檢測(cè)一下總線上的時(shí)鐘線和數(shù)據(jù)線,若出現(xiàn)異常,進(jìn)入冗余處理模式。具體過(guò)程如下b1主控制器定時(shí)檢測(cè)時(shí)鐘脈沖判斷作為主機(jī)的站點(diǎn)工作是否正常以及定時(shí)檢測(cè)數(shù)據(jù)線判斷作為從機(jī)的站點(diǎn)工作是否正常;b2若作為主機(jī)的站點(diǎn)出現(xiàn)故障,則主控制器先向總線發(fā)出重新啟動(dòng)信號(hào),再將故障主機(jī)的冗余站地址作為目標(biāo)地址和將先前通信的從機(jī)地址作為源地址進(jìn)行發(fā)送,主機(jī)冗余站進(jìn)入工作狀態(tài),繼續(xù)和所述從機(jī)進(jìn)行通信;即,主控制器向總線發(fā)重新啟動(dòng)信號(hào)Sr,送出目標(biāo)地址和源地址后接著就發(fā)送停止信號(hào)。目標(biāo)地址為故障主機(jī)的冗余站地址,源地址為先前通信的從機(jī)地址。以此來(lái)喚醒主機(jī)冗余站,主機(jī)冗余站收到該信號(hào)后進(jìn)入工作狀態(tài),仍然作為主機(jī),立即發(fā)送啟動(dòng)信號(hào),地址指向先前從機(jī),繼續(xù)進(jìn)行通信。
b3若作為從機(jī)的站點(diǎn)出現(xiàn)故障,則主控制器向作為主機(jī)的站點(diǎn)發(fā)送一特定應(yīng)答信號(hào),所述主機(jī)向所述從機(jī)的冗余站的地址作為目標(biāo)地址發(fā)起啟動(dòng)信號(hào),重新進(jìn)行數(shù)據(jù)通信。
即,主控制器向主機(jī)發(fā)一特定應(yīng)答信號(hào)ACK。即當(dāng)SCL(PCL)是高電平時(shí)SDA(PDA.0)線由低電平向高電平切換表示,這個(gè)信號(hào)對(duì)從機(jī)來(lái)說(shuō)代表停止信號(hào),這里主機(jī)把它作為從機(jī)故障產(chǎn)生標(biāo)志。主機(jī)收到此信號(hào)就認(rèn)為所尋址從機(jī)產(chǎn)生故障,發(fā)送重新啟動(dòng)信號(hào)Sr,并尋址該從機(jī)的冗余站,根據(jù)預(yù)先的地址配置規(guī)則確定從站冗余站的地址。在本實(shí)施例中,即在原目標(biāo)地址上加1即為冗余站的地址。
當(dāng)通信站點(diǎn)完成冗余切換后,主控制器繼續(xù)進(jìn)行冗余檢測(cè),直到通信終止。主控制器檢測(cè)冗余還需要記錄故障站地址,當(dāng)要尋址該故障站時(shí)重定向到其對(duì)應(yīng)的冗余站。
在冗余切換過(guò)程中總線處于忙狀態(tài),防止其他站試圖占用總線。讓主控制器承擔(dān)冗余檢測(cè)功能,提高了各站點(diǎn)的工作效率,相應(yīng)站點(diǎn)無(wú)需對(duì)通信故障進(jìn)行檢測(cè),當(dāng)要冗余切換時(shí),主控制器將作出響應(yīng)信號(hào),使故障站點(diǎn)順利切換到其冗余站。
以上公開(kāi)的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化,都應(yīng)落在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種基于I2C的通信系統(tǒng),其特征在于,包括總站、若干分站及主控制器,其中,總站采用并行數(shù)據(jù)連線主控制器、主控制器和分站之間采用I2C雙線規(guī)則進(jìn)行物理連線,總站和/或分站設(shè)置對(duì)應(yīng)的冗余站點(diǎn),所述主控制器包括數(shù)據(jù)傳輸控制單元和冗余管理單元,其中數(shù)據(jù)傳輸控制單元,在總站和分站之間完成并行數(shù)據(jù)和串行數(shù)據(jù)的轉(zhuǎn)換,并實(shí)現(xiàn)時(shí)鐘同步;冗余管理單元根據(jù)總線上數(shù)據(jù)傳輸出現(xiàn)的異??刂普军c(diǎn)的冗余切換。
2.如權(quán)利要求1所述的基于I2C的通信系統(tǒng),其特征在于,所述主控制器還包括計(jì)時(shí)單元,所述計(jì)時(shí)單元連接冗余管理單元,以便冗余管理單元定時(shí)檢測(cè)時(shí)鐘脈沖判斷作為主機(jī)的站點(diǎn)工作是否正常以及定時(shí)檢測(cè)數(shù)據(jù)線判斷作為從機(jī)的站點(diǎn)工作是否正常,進(jìn)而控制相應(yīng)站點(diǎn)進(jìn)行尋址轉(zhuǎn)換到冗余站點(diǎn)。
3.如權(quán)利要求1或2所述的基于I2C的通信系統(tǒng),其特征在于,作為主機(jī)的站點(diǎn)和作為從機(jī)的站點(diǎn)進(jìn)行數(shù)據(jù)通信的數(shù)據(jù)格式包括開(kāi)始信號(hào)、地址信息、傳輸數(shù)據(jù)信息及結(jié)束信號(hào),所述地址信息包括源地址和目標(biāo)地址。
4.如權(quán)利要求2或3所述的基于I2C的通信系統(tǒng),其特征在于,作為主機(jī)的站點(diǎn)為總站或分站,總站和分站之間采用分站主機(jī)模式或總站主機(jī)模式進(jìn)行通信。
5.一種基于權(quán)項(xiàng)1的通信方法,其特征在于,包括以下步驟(1)作為主機(jī)的站點(diǎn)產(chǎn)生開(kāi)始信號(hào),喚醒連接在I2C總線上的其它站點(diǎn);(2)作為主機(jī)的站點(diǎn)發(fā)送目標(biāo)地址及相應(yīng)的讀/寫(xiě)控制信號(hào),作為目標(biāo)地址對(duì)應(yīng)從機(jī)的目標(biāo)站點(diǎn)返回應(yīng)答信號(hào);(3)作為主機(jī)的站點(diǎn)和目標(biāo)站點(diǎn)之間進(jìn)行數(shù)據(jù)通信;(4)在數(shù)據(jù)通信過(guò)程中,主控制器根據(jù)總線上數(shù)據(jù)傳輸出現(xiàn)的異??刂葡鄳?yīng)站點(diǎn)的冗余切換。
6.如權(quán)利要求5所述的基于I2C的通信方法,其特征在于,步驟(3)具體為a1主控制器保存作為主機(jī)站點(diǎn)的源地址和需要訪問(wèn)站點(diǎn)的目標(biāo)地址;a2發(fā)送數(shù)據(jù)的發(fā)送方發(fā)送數(shù)據(jù),接收方產(chǎn)生響應(yīng);a3發(fā)送方接收到接收方發(fā)送的響應(yīng)信息后,發(fā)送下一包數(shù)據(jù),直至所有數(shù)據(jù)發(fā)送完畢;a4作為主機(jī)的站點(diǎn)發(fā)送結(jié)束信號(hào),釋放總線。
7.如權(quán)利要求5或6所述的基于I2C的通信方法,其特征在于,步驟(4)具體為b1主控制器定時(shí)檢測(cè)時(shí)鐘脈沖判斷作為主機(jī)的站點(diǎn)工作是否正常以及定時(shí)檢測(cè)數(shù)據(jù)線判斷作為從機(jī)的站點(diǎn)工作是否正常;b2若作為主機(jī)的站點(diǎn)出現(xiàn)故障,則主控制器先向總線發(fā)出重新啟動(dòng)信號(hào),再將故障主機(jī)的冗余站地址作為目標(biāo)地址和將先前通信的從機(jī)地址作為源地址進(jìn)行發(fā)送,主機(jī)冗余站進(jìn)入工作狀態(tài),繼續(xù)和所述從機(jī)進(jìn)行通信;b3若作為從機(jī)的站點(diǎn)出現(xiàn)故障,則主控制器向作為主機(jī)的站點(diǎn)發(fā)送一特定應(yīng)答信號(hào),所述主機(jī)向所述從機(jī)的冗余站的地址作為目標(biāo)地址發(fā)起啟動(dòng)信號(hào),重新進(jìn)行數(shù)據(jù)通信。
8.如權(quán)利要求5或7所述的基于I2C的通信方法,其特征在于,步驟(1)之前還包括預(yù)先配置總站、分站及冗余站點(diǎn)的地址。
全文摘要
一種基于I
文檔編號(hào)G05B19/418GK1821913SQ20061000299
公開(kāi)日2006年8月23日 申請(qǐng)日期2006年1月26日 優(yōu)先權(quán)日2006年1月26日
發(fā)明者黃文君, 靳旭哲, 鐘國(guó)慶, 徐能 申請(qǐng)人:中控科技集團(tuán)有限公司, 浙江大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
夹江县| 清苑县| 新建县| 万载县| 仪陇县| 安西县| 措美县| 马边| 二连浩特市| 云浮市| 蒲江县| 古丈县| 清远市| 克什克腾旗| 静安区| 石景山区| 离岛区| 武城县| 左云县| 柞水县| 当雄县| 忻城县| 金沙县| 清新县| 黎城县| 云南省| 赫章县| 满洲里市| 长子县| 北流市| 玉溪市| 山东| 宝兴县| 绍兴县| 麻阳| 偃师市| 阳高县| 鱼台县| 龙胜| 鞍山市| 黑水县|