專利名稱:一種智能電器的固件模塊結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及一種智能電器串行總線,具體涉及一種智能電器的固 件模塊結(jié)構(gòu)。
背景技術(shù):
現(xiàn)有技術(shù)中,將智能電器與計算機(jī)相連,具有多種方式。例如,采用
USB接口。該方式的不足在于,USB接口的數(shù)據(jù)傳輸距離為1-2米,無法滿 足實(shí)際應(yīng)用的需求。同時,USB接口所可插接的USB設(shè)備個數(shù)往往只有幾個, 這影響了用戶的使用。
中國專利文獻(xiàn)公開號CN2566355公開了 一種應(yīng)用于串行總線集群式網(wǎng) 絡(luò)管理系統(tǒng)中的串行管理總線接口模塊,它包括有一標(biāo)準(zhǔn)485芯片,在所 述標(biāo)準(zhǔn)485芯片的驅(qū)動端串接有兩個保護(hù)電阻。使用其串行管理總線接口 模塊,無論網(wǎng)絡(luò)最終端的負(fù)載類型如何、負(fù)載數(shù)目在不大于8的范圍內(nèi)變 化的情況下,都可以保證系統(tǒng)設(shè)備間的通訊穩(wěn)定、可靠。
所述現(xiàn)有技術(shù)未解決智能電器之間通過RS-485的接口規(guī)范進(jìn)行數(shù)據(jù)通 信功能的技術(shù)難題。
實(shí)用新型內(nèi)容
本實(shí)用新型所要解決的技術(shù)問題是提供一種能使智能電器之間通過 RS-4 8 5的接口規(guī)范進(jìn)行數(shù)據(jù)通信的智能電器的固件模塊結(jié)構(gòu)。
為解決上述技術(shù)問題,本實(shí)用新型提供了一種智能電器的固件模塊結(jié) 構(gòu),包括主模塊、數(shù)據(jù)包處理模塊、數(shù)據(jù)包發(fā)送模塊和字節(jié)發(fā)送模塊; 主模塊、數(shù)據(jù)包處理模塊、數(shù)據(jù)包發(fā)送模塊和字節(jié)發(fā)送模塊依次串聯(lián)構(gòu)成 調(diào)用連接關(guān)系。
所述主模塊和數(shù)據(jù)包處理模塊之間還包括數(shù)據(jù)接收模塊,主模塊與數(shù) 據(jù)接收才莫塊之間為中斷調(diào)用連接關(guān)系,數(shù)據(jù)接收模塊與數(shù)據(jù)包處理模塊之 間為調(diào)用連"^妄關(guān)系。
3本實(shí)用新型具有積極的效果(i〕本實(shí)用新型的一種智能電器的固件 模塊結(jié)構(gòu)中,主模塊、數(shù)據(jù)包處理模塊、數(shù)據(jù)包發(fā)送模塊和字節(jié)發(fā)送模塊 依次串聯(lián)構(gòu)成調(diào)用連接關(guān)系,從而實(shí)現(xiàn)了智能電器之間通過RS-485的接口 規(guī)范進(jìn)行數(shù)據(jù)通信。
圖1為本實(shí)用新型的智能電器的固件模塊結(jié)構(gòu)的示意圖2為本實(shí)用新型的智能電器的固件才莫塊結(jié)構(gòu)的主程序片匡圖。
具體實(shí)施方式(實(shí)施例1)
見圖l,本實(shí)施例的智能電器的固件模塊結(jié)構(gòu)包括主模塊l、數(shù)據(jù)包 處理模塊3、數(shù)據(jù)包發(fā)送模塊4和字節(jié)發(fā)送模塊5;主模塊l、數(shù)據(jù)包處理 模塊3、數(shù)據(jù)包發(fā)送模塊4和字節(jié)發(fā)送模塊5依次串聯(lián)構(gòu)成調(diào)用連接關(guān)系。 所述主模塊1和數(shù)據(jù)包處理模塊3之間還包括數(shù)據(jù)接收模塊2,主模塊1與 數(shù)據(jù)接收模塊2之間為中斷調(diào)用連接關(guān)系,數(shù)據(jù)接收模塊2與數(shù)據(jù)包處理 模塊3之間為調(diào)用連接關(guān)系。
見圖2,智能電器中的微處理器MCU上電后,首先屏蔽通信接口,始化 其所有端口、存儲區(qū)、定時器和中斷服務(wù)程序。之后,允許通信接口工作。 這個過程確保了 MCU正確響應(yīng)數(shù)據(jù)通信產(chǎn)生的中斷。
數(shù)據(jù)接收采用中斷方式,該程序?yàn)橹袛喾?wù)程序。
微處理器帶有串行接口 ,通過對接口初始化,可以設(shè)置接口的工作方 式。 一種工作方式是,當(dāng)接收到的數(shù)據(jù)后面一位(第9位)為1時才產(chǎn)生 中斷;另一種工作方式是,不論第9位是0或1,只要有數(shù)據(jù)都產(chǎn)生中斷。
令牌包正是利用這個特點(diǎn)。首先設(shè)置接口,使得發(fā)送數(shù)據(jù)后面一位(第 9位)為1時,才產(chǎn)生中斷的工作方式。令牌包的第9位設(shè)置為1,當(dāng)發(fā)送 令牌包時,所有端點(diǎn)上連接的微處理器均產(chǎn)生中斷。只有和自己地址相同 的端點(diǎn)改變接口的工作方式,形成不論第9位是0或1,只要有數(shù)據(jù)都產(chǎn)生 中斷功能,稱之為數(shù)據(jù)接口狀態(tài)。其它端點(diǎn)的工作方式不變。這樣以后主 機(jī)發(fā)送信息的第9位非1,因此,只有該端點(diǎn)可以接收。其它端點(diǎn)不響應(yīng)。 這樣主機(jī)與端點(diǎn)之間形成了 一條數(shù)據(jù)管道。
當(dāng)主才兒與端點(diǎn)之間的數(shù)據(jù)通信完成后,主機(jī)發(fā)送通^各:撤消包,該端點(diǎn) 上的微處理器改變接口的工作方式,撤消數(shù)據(jù)管道。當(dāng)接口接收到信息時產(chǎn)生中斷,微處理器通過判斷接口的狀態(tài),就可 以斷定是數(shù)據(jù),還是包是令牌包,或是其它類型的包。如果是令牌包并與 端點(diǎn)地址相同,就將接口改變成為數(shù)據(jù)接口。如果本端點(diǎn)是數(shù)據(jù)接收接口, 通過判定接收包的第一個字節(jié),就可以斷定包的類型確認(rèn)包、不確認(rèn) 包、通^^敎消包、數(shù)據(jù)包。
對不同的數(shù)據(jù)包有不同的處理方法,確認(rèn)包、不確認(rèn)包設(shè)置相應(yīng)的標(biāo)
志;當(dāng)接收到通路撤消包時,微處理器改變接口狀態(tài),成為非數(shù)據(jù)接口; 收到數(shù)據(jù)包時,當(dāng)接收到131個字節(jié)時,設(shè)置收到數(shù)據(jù)包標(biāo)志,和包處理 標(biāo)志,主程序^r測到包處理標(biāo)志時,調(diào)用包處理程序。
該程序主要實(shí)現(xiàn)接收到主機(jī)發(fā)送信息的處理程序。端點(diǎn)從主機(jī)接收到 的包共有三大類
1) 數(shù)據(jù)包類
數(shù)據(jù)包又分為8種格式,每種格式中各個字節(jié)有明確的定義(具體的 定義見IASB總線的數(shù)據(jù)規(guī)約)。接收到數(shù)據(jù)包后,首先進(jìn)行CRC校驗(yàn),不 正確時,發(fā)送不確認(rèn)包,請求主機(jī)重新發(fā)送;正確時,發(fā)送確認(rèn)包,并根 據(jù)輸入、輸出的數(shù)據(jù)類型進(jìn)行數(shù)據(jù)包的拆分,或是組包發(fā)送。
2) 握手包類
握手包分為確認(rèn)握手包和不確認(rèn)握手包。當(dāng)端點(diǎn)向主機(jī)發(fā)送數(shù)據(jù)包后, 主機(jī)才向端點(diǎn)發(fā)送該種類型的包。確認(rèn)握手包,說明端點(diǎn)發(fā)送的數(shù)據(jù)已被 主機(jī)正確接收。確認(rèn)握手包已在數(shù)據(jù)接收程序中處理;不確認(rèn)握手包,說 明端點(diǎn)發(fā)送的數(shù)據(jù)主機(jī)接收不正確,此時,端點(diǎn)應(yīng)當(dāng)重新發(fā)送數(shù)據(jù)。為了 避免反復(fù)發(fā)送數(shù)據(jù),造成智能電器微處理器死機(jī)現(xiàn)象,在這里設(shè)置了重發(fā) 計數(shù)器,當(dāng)重發(fā)次數(shù)超過某一極限時,端點(diǎn)停止重發(fā)操作。
3) 通iWL消包
通路撤消包是,主機(jī)與端點(diǎn)通信結(jié)束后,主機(jī)撤消通信數(shù)據(jù)管道的包。 通路撤消包已在數(shù)據(jù)接收程序中處理。
信息發(fā)送程序分為兩個層次,包發(fā)送程序和字節(jié)發(fā)送程序。前者實(shí)現(xiàn) 的是面向包的發(fā)送功能;后者實(shí)現(xiàn)的是將包按字節(jié)發(fā)送功能。
調(diào)用包發(fā)送程后,首先判別要發(fā)送的信息包的類型。信息包的類型決 定了要發(fā)送的字節(jié)數(shù)。根據(jù)IASB的通信協(xié)議,握手包為l個字節(jié),數(shù)據(jù)包 為131個字節(jié)。此時,按照順序逐個發(fā)送即可。
有許多情況會產(chǎn)生端點(diǎn)發(fā)送超時的錯誤。為了簡化處理方法,當(dāng)出現(xiàn)超時錯誤時,端點(diǎn)將改變通信端口的數(shù)據(jù)接收狀態(tài),斷開與主機(jī)的連接。 如果是一般的錯誤,主機(jī)再次呼叫端點(diǎn)時,連接將再次建立。不會帶來嚴(yán) 重的后果。
字節(jié)發(fā)送程序,主要實(shí)現(xiàn)安照位方式向IASB總線發(fā)送數(shù)據(jù)的功能。在 發(fā)送數(shù)據(jù)前,判斷串行接口中發(fā)送緩沖器是否為空,為空則發(fā)送,否則等 待。
為了避免出錯造成死機(jī)現(xiàn)象,本程序中加入了等待超時判斷。實(shí)現(xiàn)的 方法是,每判斷一次發(fā)送緩沖器,給計時計數(shù)單元加l。當(dāng)該單元數(shù)值超出 一定極限時,認(rèn)為是超時出錯。
超時的原因很多,其中之一是因?yàn)槎它c(diǎn)與總線斷開,致使發(fā)送緩沖器 中無字符,如果不處理,會造成智能電器的微處理器死機(jī)。為了避免該現(xiàn) 象的產(chǎn)生,采用了端點(diǎn)主動與主機(jī)斷開通路的方法。如果不是因?yàn)榭偩€故 障,而是偶然原因造成的超時,這樣處理方法會造成主機(jī)認(rèn)為端點(diǎn)為空的 結(jié)果。但是,主機(jī)下一次尋呼端點(diǎn)時,即可以恢復(fù)連接,不會造成嚴(yán)重后 果。
權(quán)利要求1、一種智能電器的固件模塊結(jié)構(gòu),其特征在于包括主模塊(1)、數(shù)據(jù)包處理模塊(3)、數(shù)據(jù)包發(fā)送模塊(4)和字節(jié)發(fā)送模塊(5);主模塊(1)、數(shù)據(jù)包處理模塊(3)、數(shù)據(jù)包發(fā)送模塊(4)和字節(jié)發(fā)送模塊(5)依次串聯(lián)構(gòu)成調(diào)用連接關(guān)系。
2、 根據(jù)權(quán)利要求1所述的一種智能電器的固件模塊結(jié)構(gòu),其特征在于 所述主模塊(1)和數(shù)據(jù)包處理模塊(3 )之間還包括數(shù)據(jù)接收模塊(2 ), 主模塊(1)與數(shù)據(jù)接收模塊(2)之間為中斷調(diào)用連接關(guān)系,數(shù)據(jù)接收模 塊(2)與數(shù)據(jù)包處理模塊(3)之間為調(diào)用連接關(guān)系。
專利摘要本實(shí)用新型涉及一種智能電器的固件模塊結(jié)構(gòu)。其包括主模塊、數(shù)據(jù)包處理模塊、數(shù)據(jù)包發(fā)送模塊和字節(jié)發(fā)送模塊;主模塊、數(shù)據(jù)包處理模塊、數(shù)據(jù)包發(fā)送模塊和字節(jié)發(fā)送模塊依次串聯(lián)構(gòu)成調(diào)用連接關(guān)系。還包括數(shù)據(jù)接收模塊,主模塊與數(shù)據(jù)接收模塊之間為中斷調(diào)用連接關(guān)系,數(shù)據(jù)接收模塊與數(shù)據(jù)包處理模塊之間為調(diào)用連接關(guān)系。本實(shí)用新型的一種智能電器的固件模塊結(jié)構(gòu)能使智能電器之間通過RS-485的接口規(guī)范進(jìn)行數(shù)據(jù)通信。
文檔編號H04L12/40GK201274489SQ200820121879
公開日2009年7月15日 申請日期2008年7月29日 優(yōu)先權(quán)日2008年7月29日
發(fā)明者包志舟, 鄒啟友 申請人:人民電器集團(tuán)有限公司