專利名稱:一種可消除1553b協(xié)議誤判的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)控制領(lǐng)域,涉及一種可消除155 協(xié)議誤判的方法。
背景技術(shù):
155 總線接口 SoC芯片中,嵌入了 155 協(xié)議控制器,為滿足155 協(xié)議有效性需求,根據(jù)GJB5186的要求,需要完成超長的發(fā)送命令或者超長的接收狀態(tài)字的判斷。根據(jù)GJB5186標(biāo)準(zhǔn)規(guī)定1553協(xié)議控制器作為總線控制器(BC)并執(zhí)行BC- > RT 命令,對(duì)應(yīng)的RT在接收完數(shù)據(jù)后,將向總線控制器響應(yīng)一個(gè)狀態(tài)字。此時(shí),如果在總線控制器接收到RT響應(yīng)的狀態(tài)字后,還連續(xù)接收到一個(gè)有效數(shù)據(jù)字,那么在總線控制器中,這種情況應(yīng)該認(rèn)為是一種消息錯(cuò)誤;但是如果在總線控制器接收到RT響應(yīng)的狀態(tài)字后,還繼續(xù)接收到一位或者幾位數(shù)據(jù)位,但并不構(gòu)成一個(gè)完整的數(shù)據(jù)字,那么這應(yīng)該是一種正常情況。然而,由于超長的發(fā)送命令或者超長的接收狀態(tài)字,作為遠(yuǎn)程終端使用的時(shí),接收到的發(fā)送命令字如果字長大于一個(gè)字,遠(yuǎn)程終端將不向BC響應(yīng)狀態(tài)字;作為總線控制器使用的時(shí),遠(yuǎn)程終端響應(yīng)的接收狀態(tài)字如果字長大于一個(gè)字,將置位消息錯(cuò)狀態(tài),在判斷時(shí),錯(cuò)誤率高。
發(fā)明內(nèi)容
為了解決背景技術(shù)中存在的上述技術(shù)問題,本發(fā)明提供了一種錯(cuò)誤率低的可消除 1553B協(xié)議誤判的方法。本發(fā)明的技術(shù)解決方案是本發(fā)明提供了一種可消除155 協(xié)議誤判的方法,其特殊之處在于所述方法包括以下步驟1)總線控制器獲取由遠(yuǎn)程終端發(fā)送的狀態(tài)字或遠(yuǎn)程終端獲取由總線控制器發(fā)送的命令;2)在結(jié)束步驟1)之后的一段時(shí)間內(nèi)判斷連接總線控制器和遠(yuǎn)程終端的總線是否回歸空閑狀態(tài),若已經(jīng)回歸空閑狀態(tài),則進(jìn)行步驟3);若尚未回歸空閑狀態(tài),則結(jié)束;3)判斷總線控制器或遠(yuǎn)程終端是否繼續(xù)收到有效數(shù)據(jù),若是,則總線控制器認(rèn)為總線傳輸過程錯(cuò)誤;若否,則總線控制器認(rèn)為總線傳輸過程正確。上述步驟2)中是通過總線的低電平來判斷總線是否回歸空閑狀態(tài)。上述步驟2)中總線回歸空閑狀態(tài)的具體實(shí)現(xiàn)方式是若在一段時(shí)間內(nèi)總線的低電平值是零,則認(rèn)為總線回歸空閑狀態(tài);若在一段時(shí)間內(nèi)總線的低電平值是非零,則認(rèn)為總線沒有回歸空閑狀態(tài)。上述有效數(shù)據(jù)是符合155 協(xié)議的有規(guī)律的字節(jié)。本發(fā)明的優(yōu)點(diǎn)是本發(fā)明根據(jù)GJB5186的要求,完成超長的發(fā)送命令或者超長的接收狀態(tài)字的判斷。1553協(xié)議控制器作為遠(yuǎn)程終端(RT)并響應(yīng)RT->BC命令,RT在接收完命令后,將向總線控制器響應(yīng)一個(gè)狀態(tài)字和相應(yīng)的數(shù)據(jù)字。此時(shí),如果遠(yuǎn)程終端在接收到BC- > RT命令之后繼續(xù)接收到一個(gè)有效數(shù)據(jù)字,那么在遠(yuǎn)程終端中,這種情況應(yīng)該認(rèn)為是一種消息錯(cuò)誤, 并不再響應(yīng)BC- > RT命令;但是如果在遠(yuǎn)程終端接收到RT- > BC命令后,還繼續(xù)接收到一位或者幾位數(shù)據(jù)位,但并不構(gòu)成一個(gè)完整的數(shù)據(jù)字。155 總線協(xié)議控制器可作為遠(yuǎn)程終端使用,或者總線控制器來使用。作為總線控制器使用的時(shí),發(fā)出總線控制命令,并檢測遠(yuǎn)程終端響應(yīng)的狀態(tài)字;作為遠(yuǎn)程終端使用的時(shí),根據(jù)接收到的命令字做出相應(yīng)的響應(yīng),本發(fā)明能正確識(shí)別消息錯(cuò)誤情況,具有錯(cuò)誤率低,易于實(shí)現(xiàn)等優(yōu)點(diǎn)。
具體實(shí)施例方式本發(fā)明是基于GJB5186標(biāo)準(zhǔn)規(guī)定,提供了一種可消除155 協(xié)議誤判的方法,該方法包括以下步驟1)總線控制器獲取由遠(yuǎn)程終端發(fā)送的狀態(tài)字或遠(yuǎn)程終端獲取由總線控制器發(fā)送的命令;2)在結(jié)束步驟1)之后的一段時(shí)間內(nèi)通過總線的低電平來判斷連接總線控制器和遠(yuǎn)程終端的總線是否回歸空閑狀態(tài),若在一段時(shí)間內(nèi)總線的低電平值是零,則認(rèn)為總線回歸空閑狀態(tài);若在一段時(shí)間內(nèi)總線的低電平值是非零,則認(rèn)為總線沒有回歸空閑狀態(tài)。若已經(jīng)回歸空閑狀態(tài),則進(jìn)行步驟3);若尚未回歸空閑狀態(tài),則結(jié)束;3)判斷總線控制器或遠(yuǎn)程終端是否繼續(xù)收到有效數(shù)據(jù),若是,則總線控制器認(rèn)為總線傳輸過程錯(cuò)誤;若否,則總線控制器認(rèn)為總線傳輸過程正確,有效數(shù)據(jù)是符合155 協(xié)議的有規(guī)律的字節(jié)。為了便于說明,本發(fā)明提出以下具體實(shí)施例為了正確判斷上述兩種消息錯(cuò)誤情況(1)在BC模式下并執(zhí)行BC_>RT命令,當(dāng)BC接收到狀態(tài)字之后,協(xié)議處理器狀態(tài)機(jī)將處于SW2Wcmp狀態(tài),表示1553IP正在通過DMA向存貯器寫接收到的最后一個(gè)狀態(tài)字,保持此狀態(tài)直到1553B IP通過DMA操作向存貯器寫操作結(jié)束而且總線回到空閑狀態(tài),然后在下一個(gè)周期后狀態(tài)機(jī)將跳轉(zhuǎn)到setsw狀態(tài),表示1553B IP成功完成BC_>RT命令。當(dāng)狀態(tài)機(jī)處于SW2Wcmp狀態(tài),在等待1553B IP通過DMA操作向存貯器寫操作結(jié)束而且總線回到空閑狀態(tài)的過程中,如果155 繼續(xù)收到一個(gè)以上的字,則觸發(fā)錯(cuò)誤位狀態(tài), 表示1553B IP檢測到RT響應(yīng)的錯(cuò)誤。(2)當(dāng)155 協(xié)議處理器處于RT模式下,當(dāng)RT接收到RT_>BC命令后,協(xié)議處理器狀態(tài)機(jī)處于dbrcmp狀態(tài),表示1553協(xié)議處理器正在通過DMA向內(nèi)嵌存貯器讀描述塊,保持此狀態(tài)直到DMA向存貯器讀操作結(jié)束而且總線回到空閑狀態(tài)。那么下一個(gè)周期后狀態(tài)機(jī)將跳轉(zhuǎn)到setsw狀態(tài),表示1553B IP成功接接收到RT_>BC命令;當(dāng)狀態(tài)機(jī)處于dbrcmp狀態(tài),而且RT接收到RT_>BC命令后,在等待DMA向存貯器讀操作結(jié)束和總線回到空閑狀態(tài)過程中,如果1553B IP繼續(xù)收到一個(gè)以上的字,則置位錯(cuò)誤位,則觸發(fā)錯(cuò)誤位狀態(tài),表示1553B IP檢測RT->BC命令的錯(cuò)誤。
權(quán)利要求
1.一種可消除M53B協(xié)議誤判的方法,其特征在于所述可消除155 協(xié)議誤判的方法包括以下步驟1)總線控制器獲取由遠(yuǎn)程終端發(fā)送的狀態(tài)字或遠(yuǎn)程終端獲取由總線控制器發(fā)送的命令;2)在結(jié)束步驟1)之后的一段時(shí)間內(nèi)判斷連接總線控制器和遠(yuǎn)程終端的總線是否回歸空閑狀態(tài),若已經(jīng)回歸空閑狀態(tài),則進(jìn)行步驟3);若尚未回歸空閑狀態(tài),則結(jié)束;3)判斷總線控制器或遠(yuǎn)程終端是否繼續(xù)收到有效數(shù)據(jù),若是,則總線控制器認(rèn)為總線傳輸過程錯(cuò)誤;若否,則總線控制器認(rèn)為總線傳輸過程正確。
2.根據(jù)權(quán)利要求1所述的可消除155 協(xié)議誤判的方法,其特征在于所述步驟2)中是通過總線的低電平來判斷總線是否回歸空閑狀態(tài)。
3.根據(jù)權(quán)利要求2所述的可消除155 協(xié)議誤判的方法,其特征在于所述步驟2)中總線回歸空閑狀態(tài)的具體實(shí)現(xiàn)方式是若在一段時(shí)間內(nèi)總線的低電平值是零,則認(rèn)為總線回歸空閑狀態(tài);若在一段時(shí)間內(nèi)總線的低電平值是非零,則認(rèn)為總線沒有回歸空閑狀態(tài)。
4.根據(jù)權(quán)利要求1或2或3所述的可消除155 協(xié)議誤判的方法,其特征在于所述有效數(shù)據(jù)是符合M53B協(xié)議的有規(guī)律的字節(jié)。
全文摘要
本發(fā)明涉及一種可消除1553B協(xié)議誤判的方法,該方法包括以下步驟1)總線控制器獲取由遠(yuǎn)程終端發(fā)送的狀態(tài)字或遠(yuǎn)程終端獲取由總線控制器發(fā)送的命令;2)在結(jié)束步驟1)之后的一段時(shí)間內(nèi)判斷連接總線控制器和遠(yuǎn)程終端的總線是否回歸空閑狀態(tài),若已經(jīng)回歸空閑狀態(tài),則進(jìn)行步驟3);若尚未回歸空閑狀態(tài),則結(jié)束;3)判斷總線控制器或遠(yuǎn)程終端是否繼續(xù)收到有效數(shù)據(jù),若是,則總線控制器認(rèn)為總線傳輸過程錯(cuò)誤;若否,則總線控制器認(rèn)為總線傳輸過程正確。本發(fā)明提供了一種錯(cuò)誤率低的可消除1553B協(xié)議誤判的方法。
文檔編號(hào)G06F13/42GK102486765SQ20101057467
公開日2012年6月6日 申請日期2010年12月6日 優(yōu)先權(quán)日2010年12月6日
發(fā)明者廖寅龍, 田澤, 許宏杰, 趙強(qiáng), 郭蒙 申請人:中國航空工業(yè)集團(tuán)公司第六三一研究所