專利名稱:一種串口防吊死電路的制作方法
技術(shù)領(lǐng)域:
本實用新型涉及異步串行通信,具體地說,涉及在CPU的異步串行通信控制器(SCCserial communication controller)的數(shù)據(jù)發(fā)送端串行發(fā)送數(shù)據(jù)時串口防吊死電路。
采用異步串行通信進行數(shù)據(jù)傳輸時,經(jīng)常使用串行總線形式,一般為一點對多點的主從串口,一個主節(jié)點,其余為從節(jié)點。
當(dāng)主節(jié)點與從節(jié)點之間的串口以總線方式相連時,各從節(jié)點共享一條發(fā)送總線。它們之間的串口通信協(xié)議如下每次通信均由主節(jié)點發(fā)起,首先以廣播的方式向所有的從節(jié)點發(fā)送一個通信地址,各個從節(jié)點據(jù)此地址確定其是否為此次通信的目標(biāo)節(jié)點,確定目標(biāo)節(jié)點后,目標(biāo)節(jié)點與主節(jié)點進行通信。它們的通信采用應(yīng)答的方式,主節(jié)點發(fā)送一個問信息,在規(guī)定的時間里從節(jié)點應(yīng)回送應(yīng)答信息。通信中每個字節(jié)的數(shù)據(jù)傳輸均遵循前述的異步串口數(shù)據(jù)傳輸協(xié)議。
當(dāng)使用串行總線通信時,由于所有從節(jié)點的發(fā)送端全部掛在同一條總線上,正常情況下,只有一個從節(jié)點的發(fā)送端發(fā)送數(shù)據(jù)。當(dāng)主節(jié)點或從節(jié)點沒有數(shù)據(jù)發(fā)送時,通常是發(fā)送高電平,維持串行總線為高;但是如果其中任一個從節(jié)點發(fā)生故障,固定發(fā)送低電平,將會將這條總線一直拉低,其他從節(jié)點將不能再使用這條總線了,一個從節(jié)點損壞將可能吊死整條總線,即發(fā)生所謂總線吊死現(xiàn)象,嚴(yán)重影響到數(shù)據(jù)的正常傳輸,以及整個系統(tǒng)的正常運行。因此,必須對串口發(fā)送端進行防吊死的控制。
本實用新型通過以下技術(shù)方案實現(xiàn)一種串口防吊死電路,位于CPU的異步串行通信控制器的數(shù)據(jù)發(fā)送端與串行總線之間,該電路至少包括用于計時的定時電路、用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路;異步串行通信控制器的數(shù)據(jù)發(fā)送端連接至所述定時電路的啟動計時端;定時電路的串口輸出控制端、異步串行通信控制器的數(shù)據(jù)發(fā)送端連接至所述用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路的輸入端;來自外部的獨立時鐘信號送至定時電路的時鐘信號端;所述的用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路的輸出端連接至串行總線。
較佳地,所述的定時電路至少包括下降沿檢測模塊、計數(shù)器模塊;其中,異步串行通信控制器的數(shù)據(jù)發(fā)送端連接至下降沿檢測模塊的檢測端,下降沿檢測模塊的輸出信號連至控制計數(shù)器模塊啟動的信號端,計數(shù)器模塊的串口輸出控制端、異步串行通信控制器的數(shù)據(jù)發(fā)送端連接至所述用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路的輸入端;來自CPU的復(fù)位信號分別連接至下降沿檢測模塊的復(fù)位端、計數(shù)器模塊的復(fù)位端;所述的時鐘信號連至計數(shù)器模塊的時鐘計數(shù)端。
較佳地,所述的定時電路為集成定時器電路;其中,異步串行通信控制器的數(shù)據(jù)發(fā)送端連接至集成定時器的低觸發(fā)端(TR),異步串行通信控制器的數(shù)據(jù)發(fā)送端、集成定時器的輸出端(OUT)連接至邏輯電路輸入端;集成定時器的低觸發(fā)端(TR)通過一邏輯開關(guān)電路與集成定時器的放電端(DIS)相連。
較佳地,所述的用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路至少包括邏輯門電路、集電極開路電路組成;其中,邏輯門電路的輸入端分別連接至定時電路的串口輸出控制端、異步串行通信控制器的數(shù)據(jù)發(fā)送端,邏輯門電路的輸出端與集電極開路電路的輸入端相連,集電極開路電路的輸出端與串行總線相連。
較佳地,所述的用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路為三態(tài)門邏輯電路,三態(tài)門電路的控制端與所述定時電路的串口輸出控制端相連,三態(tài)門的輸入端與所述異步串行通信控制器的數(shù)據(jù)發(fā)送端相連,三態(tài)門的輸出端連接至串行總線。
其中,所述邏輯門電路為或非門邏輯電路。
所述集電極開路電路是三極管集電極開路電路。
所述的下降沿檢測模塊、計數(shù)器模塊、邏輯門電路由可編程邏輯器件實現(xiàn)。
所述邏輯開關(guān)電路至少包括非門邏輯電路、三極管,非門邏輯電路的輸入端連接至異步串口數(shù)據(jù)發(fā)送端,非門邏輯電路的輸出端連接至三極管的基極,三極管的集電極連接至集成定時器的放電端。
所述的集成定時器為555集成定時器。
本實用新型通過串口防吊死電路的定時電路,在串口數(shù)據(jù)發(fā)送期間,定時電路給數(shù)據(jù)開一個時間窗,使其長度比一個字節(jié)的傳輸時間稍微長一點,可以設(shè)置為比一個字節(jié)多3位,在正常情況下保證數(shù)據(jù)正確地發(fā)送出去;在沒有數(shù)據(jù)發(fā)送期間,電路關(guān)閉串口,由于采用了集電極開路方式,輸出可以為高阻狀態(tài)。即使CPU死機,在沒有數(shù)據(jù)發(fā)出時,CPU的異步串行通信控制器SCC經(jīng)過防吊死電路后,其發(fā)送端仍然會被關(guān)閉,集電極對外輸出高電平或高阻狀態(tài)。因此采用這種防吊死電路不會把串口總線吊死而影響串口總線的通信,與不加此電路的串行總線相比較,可以大大提高串口通信系統(tǒng)的穩(wěn)定性和可靠性。
參見圖3所示,圖3為本實用新型串口防吊死電路示意圖。該串口防吊死電路位于CPU的異步串行通信控制器的數(shù)據(jù)發(fā)送端與串行總線之間,該電路至少包括用于計時的定時電路、用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路;異步串行通信控制器的數(shù)據(jù)發(fā)送端連接至所述定時電路的啟動計時端;定時電路的串口輸出控制端、異步串行通信控制器的數(shù)據(jù)發(fā)送端連接至所述用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路的輸入端;時鐘信號送至定時電路的時鐘信號端;用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路的輸出端連接至串行總線。
參見圖4,圖4為本實用新型實施例1中采用可編程邏輯實現(xiàn)框圖。其中,定時電路至少包括下降沿檢測模塊、計數(shù)器模塊;用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路為邏輯門電路、集電極開路電路;異步串行通信控制器的數(shù)據(jù)發(fā)送端(Scc_txd)連接至下降沿檢測模塊的檢測端,下降沿檢測模塊產(chǎn)生的輸出信號作為計數(shù)器模塊的計數(shù)啟動信號送至計數(shù)器模塊,計數(shù)器模塊的串口輸出控制端(Txd_ctrl)、異步串行通信控制器的數(shù)據(jù)發(fā)送端連接至邏輯門電路輸入端,該邏輯門電路為一或非門,或非門的輸出端(Cpld_scc_txd)連至構(gòu)成集電極開路電路中三極管的基極,三極管的集電極連至串行總線;來自CPU的復(fù)位信號(Reset_n)分別連接至下降沿檢測模塊的復(fù)位端、計數(shù)器模塊的復(fù)位端;來自外部的獨立時鐘信號(Brgo_cpld)送至計數(shù)器模塊,其頻率可與SCC的內(nèi)部波特率相同,例如,假設(shè)主從串口速率為187.5Kbps,那么獨立時鐘信號頻率也為187.5K,以防串行通信控制器SCC故障后沒有時鐘輸出,導(dǎo)致停止計數(shù)而掛死串口總線。圖中,虛線框內(nèi)功能模塊由可編程邏輯器件實現(xiàn),集電極開路電路中的三極管還可是MOS管。
上述實施例1的工作過程如下系統(tǒng)啟動后,通過Reset_n信號置計數(shù)器模塊的串口輸出控制信號Txd_ctrl為高電平,這時Scc_txd被或非門關(guān)閉,對串行總線輸出高阻狀態(tài)。根據(jù)異步串口傳輸協(xié)議,當(dāng)SCC發(fā)送一個字符時,Scc_txd輸出邏輯為0起始位,表明數(shù)據(jù)傳輸?shù)拈_始,下降沿檢測模塊檢測到Scc_txd有一個下降沿后,則置Txd_ctrl為低電平,使或非門打開,SCC發(fā)送的數(shù)據(jù)經(jīng)過或非門和集電極開路電路直通至串行總線,同時計數(shù)器模塊也被啟動計時,計時時間比一個字節(jié)的傳輸時間稍微長一點,可以設(shè)置為比一個字節(jié)多3位,當(dāng)計時時間到時置Txd_ctrl為高電平,則關(guān)閉或非門。同時為了防止SCC誤發(fā)送一個低脈沖或輸入抖動、毛刺等導(dǎo)致的計時錯誤,每當(dāng)Scc_txd上出現(xiàn)一個下降沿,計數(shù)器需重新開始記時,在計時完后置Txd_ctrl為高電平,關(guān)閉與非門。
參見圖5所示,圖5為本實用新型實施例2中采用555集成定時器實現(xiàn)的電路圖。圖中,通過調(diào)節(jié)電阻R1、電容C1可以得到串口數(shù)據(jù)發(fā)送期間的時間窗的大小;異步串行通信控制器的數(shù)據(jù)發(fā)送端連接至555集成定時器的低觸發(fā)端(TR);異步串行通信控制器的數(shù)據(jù)發(fā)送端與一三態(tài)門電路的輸入端相連接,555集成定時器的輸出端(OUT)連接至三態(tài)門電路的控制端,三態(tài)門電路的輸出端連至串行總線;555集成定時器的低觸發(fā)端(TR)連接至一非門邏輯電路的輸入端,非門邏輯電路的輸出端連至一三極管的基極,三極管的集電極連至555集成定時器的放電端(DIS),三極管的發(fā)射極接地。
上述實施例2的工作過程如下根據(jù)異步串口傳輸協(xié)議,當(dāng)SCC沒有數(shù)據(jù)發(fā)送時,Scc_txd為高電平,致使三極管截止,三態(tài)門輸出為高阻狀態(tài);當(dāng)SCC開始發(fā)送數(shù)據(jù)時,Scc_txd輸出邏輯為0起始位,表明數(shù)據(jù)傳輸?shù)拈_始,這時電源通過電阻R1對電容C1充電,開始計時,555集成定時器的輸出信號控制三態(tài)門打開,數(shù)據(jù)直通;計時時間結(jié)束,三態(tài)門關(guān)閉輸出為高阻狀態(tài),不會影響總線。
以上所述僅為本實用新型的較佳實施例而已,并不用以限制本實用新型,凡在本實用新型的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本實用新型的權(quán)利要求范圍之內(nèi)。
權(quán)利要求1.一種串口防吊死電路,其特征在于,該電路位于CPU中異步串行通信控制器的數(shù)據(jù)發(fā)送端與串行總線之間,其至少包括用于計時的定時電路、用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路;異步串行通信控制器的數(shù)據(jù)發(fā)送端連接至所述定時電路的啟動計時端;定時電路的串口輸出控制端、異步串行通信控制器的數(shù)據(jù)發(fā)送端連接至所述的用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路的輸入端;來自外部的獨立時鐘信號送至定時電路的時鐘信號端;所述的用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路的輸出端連接至串行總線。
2.根據(jù)權(quán)利要求1所述的串口防吊死電路,其特征在于,所述的定時電路至少包括下降沿檢測模塊、計數(shù)器模塊;其中,異步串行通信控制器的數(shù)據(jù)發(fā)送端連接至下降沿檢測模塊的檢測端,下降沿檢測模塊的輸出信號端連至控制計數(shù)器模塊啟動的信號端,計數(shù)器模塊的串口輸出控制端、異步串行通信控制器的數(shù)據(jù)發(fā)送端連接至所述的用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路的輸入端;來自CPU的復(fù)位信號分別連接至下降沿檢測模塊的復(fù)位端、計數(shù)器模塊的復(fù)位端;所述的時鐘信號連至計數(shù)器模塊的時鐘計數(shù)端。
3.根據(jù)權(quán)利要求1所述的串口防吊死電路,其特征在于,所述的定時電路為集成定時器電路;其中,異步串行通信控制器的數(shù)據(jù)發(fā)送端連接至集成定時器的低觸發(fā)端(TR),異步串行通信控制器的數(shù)據(jù)發(fā)送端、集成定時器的輸出端(OUT)連接至邏輯電路輸入端;集成定時器的低觸發(fā)端(TR)通過一邏輯開關(guān)電路與集成定時器的放電端(DIS)相連。
4.根據(jù)權(quán)利要求1所述的串口防吊死電路,其特征在于,所述的用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路至少包括邏輯門電路、集電極開路電路組成;其中,邏輯門電路的輸入端分別連接至定時電路的串口輸出控制端、異步串行通信控制器的數(shù)據(jù)發(fā)送端,邏輯門電路的輸出端與集電極開路電路的輸入端相連,集電極開路電路的輸出端與串行總線相連。
5.根據(jù)權(quán)利要求1所述的串口防吊死電路,其特征在于,所述的用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路為三態(tài)門邏輯電路,三態(tài)門電路的控制端與所述定時電路的串口輸出控制端相連,三態(tài)門的輸入端與所述異步串行通信控制器的數(shù)據(jù)發(fā)送端相連,三態(tài)門的輸出端連接至串行總線。
6.根據(jù)權(quán)利要求4所述的串口防吊死電路,其特征在于,所述邏輯門電路為或非門邏輯電路。
7.根據(jù)權(quán)利要求4所述的串口防吊死電路,其特征在于,所述集電極開路電路是三極管集電極開路電路。
8.根據(jù)權(quán)利要求2或4所述的串口防吊死電路,其特征在于,所述的下降沿檢測模塊、計數(shù)器模塊、邏輯門電路由可編程邏輯器件實現(xiàn)。
9.根據(jù)權(quán)利要求3所述的串口防吊死電路,其特征在于,所述邏輯開關(guān)電路至少包括非門邏輯電路、三極管,非門邏輯電路的輸入端連接至異步串口數(shù)據(jù)發(fā)送端,非門邏輯電路的輸出端連接至三極管的基極,三極管的集電極連接至集成定時器的放電端。
10.根據(jù)權(quán)利要求3或9所述的串口防吊死電路,其特征在于,所述的集成定時器為555集成定時器。
專利摘要本實用新型公開了一種串口防吊死電路,該電路位于CPU的異步串行通信控制器的數(shù)據(jù)發(fā)送端與串行總線之間,至少包括用于計時的定時電路、用于控制異步串行通信控制器的數(shù)據(jù)發(fā)送端與總線連接狀態(tài)的邏輯控制電路;異步串行通信控制器的數(shù)據(jù)發(fā)送端連接至所述定時電路的啟動計時端;定時電路的串口輸出控制端、異步串行通信控制器的數(shù)據(jù)發(fā)送端連接至所述邏輯控制電路的輸入端;來自外部的獨立時鐘信號送至定時電路的時鐘信號端;邏輯控制電路的輸出端連接至串行總線。所述定時電路可用555集成定時器實現(xiàn),或用可編程邏輯器件實現(xiàn)。該電路在串口數(shù)據(jù)發(fā)送期間,給數(shù)據(jù)開一個時間窗,即使CPU死機,CPU串口發(fā)送端仍保持高電平,保證串口總線的正常通信。
文檔編號H04L29/02GK2537177SQ02202999
公開日2003年2月19日 申請日期2002年2月6日 優(yōu)先權(quán)日2002年2月6日
發(fā)明者謝壽波, 王勇, 萬守銀 申請人:華為技術(shù)有限公司