欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

異步串行數(shù)據(jù)線信息收發(fā)方法及異步串行收發(fā)器的制作方法

文檔序號:7668344閱讀:295來源:國知局
專利名稱:異步串行數(shù)據(jù)線信息收發(fā)方法及異步串行收發(fā)器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,特別涉及異步串行數(shù)據(jù)收發(fā)技術(shù)。
背景技術(shù)
異步串行數(shù)據(jù)信號線上的信息包括字符數(shù)據(jù)信息與非字符信息,非字符信息包括Idle序 列、Break序列。Idle序列是連續(xù)的邏輯l,表示接口數(shù)據(jù)信號線空閑。Break序列是大于等 于一個字符長度(含起始、停止位)的連續(xù)的邏輯0,作為帶內(nèi)控制信號。
已有的通用異步收發(fā)器不能獨立地定量接收和發(fā)送非字符信息序列。如圖1所示,通用 異步收發(fā)器(UART)包括字符收發(fā)器、中斷控制器,接收數(shù)據(jù)信號線(RXD)與字符收發(fā)器的 輸入端相連,字符收發(fā)器的輸出端與發(fā)送數(shù)據(jù)信號線(TXD)相連,字符收發(fā)器的控制端與中 斷控制器相連,字符收發(fā)器與中斷控制器分別通過局部總線(Local—bus)與系統(tǒng)通信。
具體地說,通用異步收發(fā)器接收Idle序列不直接產(chǎn)生任何接收動作,應用系統(tǒng)只能將無 接收信息間接判斷為收到Idle序列;通過停止發(fā)送的方法來間接發(fā)送Idle序列。通用異步收 發(fā)器只能在接收Break序列的起點和終點產(chǎn)生報告信息;控制發(fā)送Break序列的起點和終點。
而一些通信協(xié)議需要直接地定量接收和發(fā)送Idle及Break序列,采用通用異步收發(fā)器實 現(xiàn)這類通信協(xié)議需要配置外部定時器,在控制軟件的配合下,間接地接收和發(fā)送Idle及 Break序歹[J。
目前使用外部定時器解決異步串行數(shù)據(jù)通信中接收和發(fā)送Idle序列及Break序列需要較 大的系統(tǒng)開銷,大幅度增加軟件的復雜度,在控制多個異步串口時會嚴重降低系統(tǒng)的性能。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是:提供一種不依賴外部定時器,能定量收發(fā)非字符信息的方 法及實現(xiàn)該方法的異步串行收發(fā)器。
本發(fā)明為解決上述技術(shù)問題所采用的技術(shù)方案是提供一種異步串行數(shù)據(jù)線信息收發(fā)方 法,異步串行收發(fā)器通過異步串行數(shù)據(jù)線收發(fā)字符數(shù)據(jù)信息,其特征在于,還包括收發(fā)非字 符信息的步驟
a、 異步串行收發(fā)器從異步串行數(shù)據(jù)線接收非字符信息時,識別非字符信息的序列類型 并統(tǒng)計非字符信息的序列長度,定量接收非字符信息,并向系統(tǒng)報告收到非字符信息事件;
b、 異步串行收發(fā)器向異步串行數(shù)據(jù)線發(fā)送非字符信息時,根據(jù)從系統(tǒng)收到的發(fā)送非字
符信息事件,定量發(fā)送非字符信息。
非字符信息為Idle序列或Break序列。
具體的,步驟a所述定量接收非字符信息,對于接收Idle序列時具體為預先設(shè)定Idle 序列最小值、Idle序列分段報告長度、Idle序列最大值;所述Idle序列最大值〉Idle序列分 段報告長度〉Idle序列最小值;分類處理過程如下
(1) 如待接收的Idle序列長度《Idle序列最小值,異步串行收發(fā)器統(tǒng)計完該Idle序列 長度后,異步串行收發(fā)器忽略該Idle序列,不向系統(tǒng)報告收到Idle序列事件;
(2) 如ldle序列最小值〈待接收的Idle序列長度《Idle序列分段報告長度,異步串行 收發(fā)器定量接收的Idle序列長度等于統(tǒng)計的Idle序列長度,并向系統(tǒng)報告收到Idle序列事件
(3) 如ldle序列分段報告長度〈待接收的Idle序列長度〈Idle序列最大值,每當統(tǒng)計 的Idle序列長度等于Idle序列分段報告長度時,異步串行收發(fā)器就向系統(tǒng)報告一次收到Idle 序列事件并清零重新分段統(tǒng)計Idle序列長度,直至到本Idle序列的終點,最后一次向系統(tǒng)報 告收到Idle序列事件;除最后一次報告收到Idle序列事件外,異步串行收發(fā)器定量接收的 Idle序列長度等于Idle序列分段報告長度;最后一次報告收到Idle序列事件中,異步串行收 發(fā)器定量接收的Idle序列長度等于最后一次分段統(tǒng)計的Idle序列長度;
(4) 如ldle序列最大值《待接收的Idle序列長度時,每當統(tǒng)計的Idle序列長度等于 Idle序列分段報告長度時,異步串行收發(fā)器就向系統(tǒng)報告一次收到Idle序列事件并清零重新 分段統(tǒng)計Idle序列長度,直至累計的Idle序列長度等于Idle序列最大值時,異步串行收發(fā)器 停止統(tǒng)計并最后一次向系統(tǒng)報告收到Idle序列事件;除最后一次報告收到Idle序列事件外, 異步串行收發(fā)器定量接收的Idle序列長度等于Idle序列分段報告長度;最后一次報告收到 Idle序列事件中,異步串行收發(fā)器定量接收的Idle序列長度等于累計到Idle序列最大值時, 最后一次分段統(tǒng)計的Idle序列長度;
所述待接收的I dl e序列是指異步串行數(shù)據(jù)線上連續(xù)的 一段I dl e序列。 具體的,步驟b所述定量發(fā)送非字符信息,對于發(fā)送Idle序列時具體為預先設(shè)定待發(fā) 送的Idle序列長度;
當異步串行收發(fā)器發(fā)送完待發(fā)送的Idle序列,且根據(jù)系統(tǒng)發(fā)送事件隊列順序已有其它字 符信息或非字符信息序列需要發(fā)送,則異步串行收發(fā)器根據(jù)系統(tǒng)發(fā)送事件隊列順序發(fā)送已有 待發(fā)送的內(nèi)容;
當異步串行收發(fā)器發(fā)送完待發(fā)送的Idle序列,且異步串行收發(fā)器無任何內(nèi)容需要發(fā)送,
則繼續(xù)發(fā)送Idle序列直到收到系統(tǒng)發(fā)送事件。
具體的,步驟a所述定量接收非字符信息,對于接收Break序列時具體為預先設(shè)定 Break序列最大值、Break序列分段報告長度,所述Break序列最大值〉Break序列分段報告長 度;
(1) 當待接收的Break序列長度等于一個字符的長度,異步串行數(shù)據(jù)收發(fā)器向系統(tǒng)報告 收到Break序列事件,進入步驟(2);
(2) 如待接收的Break序列長度《Break序列分段報告長度,異步串行收發(fā)器統(tǒng)計完該 Idle序列長度后,立即向系統(tǒng)報告收到Break序列和Break序列終止事件;異步串行收發(fā)器定 量接收的Break序列長度等于統(tǒng)計的Break序列長度;
(3) 如Break序列分段報告長度〈待接收的Break序列長度〈Break序列最大值,每當統(tǒng) 計的Break序列長度等于Break序列分段報告長度時,異步串行收發(fā)器就向系統(tǒng)報告一次收到 Break序列事件并清零重新分段統(tǒng)計Break序列長度,直至到本Break序列的終點,最后一次 向系統(tǒng)報告收到Break序列事件和Break序列終止事件;除最后一次報告收到Break序列事件 外,異步串行收發(fā)器定量接收的Break序列長度等于Break序列分段報告長度;最后一次報告 收到Break序列事件中,異步串行收發(fā)器定量接收的Break序列長度等于最后一次分段統(tǒng)計的 Break序列長度;
(4) 如待接收的Break序列S Break序列最大值;每當統(tǒng)計的Break序列長度等于Break 序列分段報告長度時,異步串行收發(fā)器就向系統(tǒng)報告一次收到Break序列事件并清零重新分 段統(tǒng)計Break序列長度,直至累計的Break序列長度等于Break序列最大值時,異步串行收發(fā) 器停止統(tǒng)計并最后一次向系統(tǒng)報告收到Break序列事件,直到該Break序列終點才報告Break 序列終止事件;除最后一次報告收到Break序列事件外,異步串行收發(fā)器定量接收的Break序 列長度等于Break序列分段報告長度;最后一次報告收到Break序列事件中異步串行收發(fā)器定 量接收的Break序列長度等于累計到Break序列最大值時,最后一次分段統(tǒng)計時的Break序列 長度;
所述待接收的Break序列是指異步串行數(shù)據(jù)線上連續(xù)的一段Break序列。 具體的,步驟b所述定量發(fā)送非字符信息,對于發(fā)送Break序列時具體為預先設(shè)定待發(fā) 送的Break序列長度;
當異步串行收發(fā)器發(fā)送完待發(fā)送的Break序列,且根據(jù)系統(tǒng)發(fā)送事件隊列順序已有其它 字符信息或非字符信息序列需要發(fā)送,則異步串行收發(fā)器根據(jù)系統(tǒng)發(fā)送事件隊列順序發(fā)送已 有待發(fā)送的內(nèi)容;
當異步串行收發(fā)器發(fā)送完待發(fā)送的Break序列,且異步串行收發(fā)器無任何內(nèi)容需要發(fā)送 ,則異步串行收發(fā)器發(fā)送Idle序列直到收到系統(tǒng)發(fā)送事件。
本發(fā)明還提供了一種實現(xiàn)上述方法的異步串行收發(fā)器,包括字符收發(fā)器、中斷控制器, 中斷控制器與字符收發(fā)器相連,還包括非字符信息識別器、定量接收單元;非字符信息識別 器的輸入端、字符收發(fā)器的輸入端分別與接收數(shù)據(jù)信號線相連;非字符信息識別器與定量接 收單元相連;定量接收單元的輸出端連接中斷控制器;
所述非字符信息識別器用于識別非字符信息的序列類型;
所述定量接收單元用于統(tǒng)計非字符信息的序列長度,定量接收非字符信息。
具體的,定量接收單元包括計數(shù)器、接收比較器、接收比較寄存器、非字符信息控制器 、接收長度寄存器、接收隊列控制器;非字符信息識別器與計數(shù)器相連;接收比較寄存器與 接收比較器的一個輸入端相連,接收比較器的另一個輸入端與計數(shù)器相連;非字符信息控制 器分別與接收比較器、計數(shù)器、非字符信息識別器相連;非字符信息控制器的控制端與計數(shù) 器相連;非字符信息控制器的輸出端分別與接收長度寄存器與接收隊列控制器相連,接收隊 列控制器的輸出端連接中斷控制器;
所述計數(shù)器用于統(tǒng)計待接收的非字符信息的序列長度;
所述接收比較寄存器用于存儲預先設(shè)定的控制接收序列長度值;
所述接收比較器用于比較待接收的非字符信息的序列長度與控制接收序列長度值,將比 較結(jié)果輸出到非字符信息控制器;
所述接收長度寄存器用于存儲定量接收的非字符信息;
所述非字符信息控制器用于根據(jù)所述比較結(jié)果將定量接收的非字符信息寫入接收長度寄 存器,并向接收隊列控制器報告接收到非字符信息事件;
所述接收隊列控制器用于將來自于非字符信息控制器、字符收發(fā)器的報告事件組織成隊 列,按序向中斷控制器發(fā)出事件報告信號。
具體的,所述定量接收單元包括Idle序列定量接收單元、Break序列定量接收單元,所 述接收比較寄存器保存的預先設(shè)定的控制接收序列長度值包括Idle序列最小值、Idle序列 分段報告長度、Idle序列最大值。所述接收比較寄存器存儲的預先設(shè)定的控制接收序列長度 值還包括Break序列分段報告長度、Break序列最大值。
進一步的,異步串行收發(fā)器還包括定量發(fā)送單元,定量發(fā)送單元輸出端連接發(fā)送數(shù)據(jù)信 號線相連。
定量發(fā)送單元包括發(fā)送隊列控制器、發(fā)送長度寄存器;所述字符收發(fā)器與發(fā)送隊列控制
器的一個輸入端相連;發(fā)送長度寄存器與發(fā)送隊列控制器的另一個輸入端相連;發(fā)送隊列控 制器的輸出端連接發(fā)送數(shù)據(jù)信號線,發(fā)送隊列控制器還與中斷控制器相連; 所述發(fā)送長度寄存器用于保存已設(shè)定的待發(fā)送的非字符信息;
所述發(fā)送隊列控制器用于將收到的發(fā)送事件組織成隊列,根據(jù)已設(shè)定的待發(fā)送非字符信 息序列長度,按序向發(fā)送數(shù)據(jù)信號線發(fā)送。
定量發(fā)送單元包括Idle序列定量發(fā)送單元、Break序列定量發(fā)送單元,所述發(fā)送長度寄 存器保存的已設(shè)定的待發(fā)送的非字符信息包括Idle序列、Break序列。
本發(fā)明的有益效果是,異步串行收發(fā)器能直接地收發(fā)非字符信息序列,其實現(xiàn)方法相比 現(xiàn)有方法相比有效減小系統(tǒng)開銷,降低軟件的復雜度。


圖l為通用異步收發(fā)器示意圖; 圖2為本發(fā)明異步串行收發(fā)器示意圖; 圖3為本發(fā)明異步串行收發(fā)器的實施例邏輯電路框圖。
具體實施例方式
為了能定量收發(fā)非字符信息,本發(fā)明在通用異步收發(fā)器(包括字符收發(fā)器、中斷控制器
)的基礎(chǔ)上增加了非字符信息識別器、定量接收單元、定量發(fā)送單元。如圖2所示,非字符
信息識別器的輸入端、字符收發(fā)器的輸入端分別與接收數(shù)據(jù)信號線相連;非字符信息識別器
與定量接收單元相連;定量接收單元、定量發(fā)送單元分別連接中斷控制器。
非字符信息識別器用于識別非字符信息的序列類型; 定量接收單元用于統(tǒng)計非字符信息序列的序列長度;
定量接收單元包括計數(shù)器、接收比較器、接收比較寄存器、非字符信息控制器、接收長 度寄存器、接收隊列控制器;非字符信息識別器與計數(shù)器相連;計數(shù)器用于統(tǒng)計非字符信息 識別器識別出的非字符信息序列(待接收的非字符信息)的序列長度;接收比較寄存器與接 收比較器的一個輸入端相連,接收比較器的另一個輸入端與計數(shù)器相連;非字符信息控制器 分別與接收比較器、計數(shù)器、非字符信息識別器相連;非字符信息控制器的控制端與計數(shù)器 相連;
其中接收比較器、接收比較寄存器、非字符信息控制器用于定量接收非字符信息序列。 非字符信息識別器與計數(shù)器相連。非字符信息識別器輸出一路信號到非字符信息控制器 告知其已收到非字符信息;接收比較器一方面接收計數(shù)器統(tǒng)計出的非字符信息序列的序列長 度,另一方面將接收比較寄存器中設(shè)定的長度值與計數(shù)器統(tǒng)計出的非字符信息序列的序列長
度作比較,將比較結(jié)果送到非字符信息控制器,該比較結(jié)果用于控制非字符信息控制器從計 數(shù)器直接獲得的非字符信息序列的序列長度做出定量接收的處理,即控制非字符信息控制器 將定量接收的非字符信息寫入接收長度寄存器并向接收隊列控制器報告收到非字符信息序列 事件;字符收發(fā)器、非字符信息控制器的輸出端與接收隊列控制器相連,接收隊列控制器將 來自于非字符信息控制器、字符收發(fā)器的報告事件組織成隊列,按序向中斷控制器發(fā)出事件 報告信號。
定量發(fā)送單元包括發(fā)送隊列控制器、發(fā)送長度寄存器;字符收發(fā)器與發(fā)送隊列控制器的 一個輸入端相連,發(fā)送長度寄存器保存有預先設(shè)定的非字符信息發(fā)送比較值;發(fā)送長度寄存 器與發(fā)送隊列控制器的另一個輸入端相連;發(fā)送隊列控制器的輸出端連接發(fā)送數(shù)據(jù)信號線; 發(fā)送隊列控制器根據(jù)已設(shè)定的待發(fā)送非字符信息序列長度,控制對當前非字符信息序列的發(fā) 送狀態(tài),定量按序向發(fā)送數(shù)據(jù)信號線發(fā)送異步串行數(shù)據(jù),從而達到定量發(fā)送的目的。
當然,不設(shè)置定量發(fā)送單元也能實現(xiàn)定量收發(fā)非字符信息。定量接收單元向按序向中斷 控制器發(fā)出事件報告信號后,由系統(tǒng)發(fā)送異步串行數(shù)據(jù)。
實施例以本發(fā)明定量收發(fā)Idle序列與Break序列的異步串行收發(fā)器為例,定量接收單元包括 Idle序列定量接收單元、Break序列定量接收單元;定量發(fā)送單元包括Idle序列定量發(fā)送單 元、Break序列定量發(fā)送單元。字符數(shù)據(jù)長度以字節(jié)為單位;因為Idle序列和Break序列都是 重復的碼元序列,所以Idle序列和Break序列長度以碼元為單位。
對于Idle序列,定量收發(fā)是限定異步串行收發(fā)器從異步串行數(shù)據(jù)線接收Idle序列以及向 異步串行數(shù)據(jù)線發(fā)送Idle序列的長度的最大值與最小值;對于Break序列為限定異步串行收 發(fā)器從異步串行數(shù)據(jù)線接收Break序列以及向異步串行數(shù)據(jù)線發(fā)送Break序列的長度的最大值
要實現(xiàn)Idle序列定量接收和發(fā)送需要下列5個寄存器和2個計數(shù)器
1) Idle序列最小值寄存器讀寫寄存器,是接收比較寄存器之一,用于由系統(tǒng)設(shè)置期 望刪除的Idle序列碎片的最大長度數(shù)值,即接收Idle序列的長度最小值,避免接收Idle序列 碎片;
2) Idle序列最大值寄存器讀寫寄存器,是接收比較寄存器之一,用于對一個長的 Idle序列,由系統(tǒng)設(shè)置期望的限制長度數(shù)值,即接收Idle序列的長度最大值,限制接收長度
3) Idle序列分段報告寄存器讀寫寄存器,是接收比較寄存器之一,用于在接收Idle
序列限制寄存器設(shè)置值較大時,由系統(tǒng)設(shè)置期望的報告間隔長度數(shù)值,本發(fā)明收發(fā)器分段向 系統(tǒng)報告收到Idle序列事件,改善報告的實時性;
4) 接收Idle序列長度寄存器只讀寄存器,用于所述收發(fā)器向系統(tǒng)報告收到Idle序列 事件時,裝入接收到的定量Idle序列長度值;
5) Idle序列報告計數(shù)器內(nèi)部計數(shù)器,用于統(tǒng)計上次報告收到Idle序列事件之后新接 收到的Idle序列長度;收發(fā)器報告收到Idle序列事件時將接收Idle序列報告計數(shù)器的計數(shù)值 裝入接收Idle序列長度寄存器,清零接收Idle序列報告計數(shù)器,重新開始計數(shù);
6) Idle序列累加計數(shù)器內(nèi)部計數(shù)器,用于從Idle序列起點累計連續(xù)Idle序列的長度
7) Idle序列發(fā)送長度寄存器讀寫寄存器,用于由系統(tǒng)設(shè)置要發(fā)送的Idle序列長度數(shù) 值,控制異步串行收發(fā)器發(fā)送Idle序列的長度。
要實現(xiàn)Break序列的定量接收和發(fā)送部件需要下列4個寄存器和2個計數(shù)器
1) Break序列最大值寄存器讀寫寄存器,是接收比較寄存器之一,用于對一個長的 Break序列,由系統(tǒng)設(shè)置期望的限制接收長度數(shù)值,即接收Break序列的長度最大值,限制接 收長度;
2) Break序列分段報告寄存器讀寫寄存器,是接收比較寄存器之一,用于在接收 Break序列限制寄存器設(shè)置值較大時,由系統(tǒng)設(shè)置期望的報告間隔長度數(shù)值;異步串行收發(fā) 器分段向系統(tǒng)報告收到Break序列事件,保證報告的實時性;
3) 接收Break序列寄存器只讀寄存器,是接收比較寄存器之一,用于異步串行收發(fā)器 向系統(tǒng)報告收到Break序列事件時,裝入接收到的定量Break序列長度值;
4) Break序列報告計數(shù)器內(nèi)部計數(shù)器,用于統(tǒng)計上次報告收到Break序列事件之后新 接收到的Break序列長度;異步串行收發(fā)器報告收到Break序列事件時將接收Break序列報告 計數(shù)器的計數(shù)值裝入接收Break序列寄存器,清零接收Break序列報告計數(shù)器,重新開始計數(shù)
5) Break序列長度累加計數(shù)器內(nèi)部計數(shù)器,用于累計連續(xù)Break序列的長度;
6) Break序列發(fā)送長度寄存器讀寫寄存器,用于由系統(tǒng)寫入要發(fā)送的Break序列長度 值,控制所述異步串行收發(fā)器發(fā)送Break序列的長度。
字符數(shù)據(jù)、Break序列和Idle序列在異步串行接口數(shù)據(jù)信號線上是先后串行出現(xiàn)的,本 發(fā)明用接收事件隊列來表達發(fā)生的收到字符、Break序列和Idle序列事件之間的時間順序, 用發(fā)送事件隊列來表達需要發(fā)送的字符、Break序列和Idle序列的時間順序。 異步串行收發(fā)器定量接收Idle序列具體包括如下處理過程
預先設(shè)定Idle序列最小值、Idle序列分段報告長度、Idle序列最大值;將設(shè)定的Idle序 列最小值保存于Idle序列最小值寄存器、Idle序列分段值保存于Idle序列分段報告寄存器、 Idle序列最大值保存于Idle序列最大值寄存器中;所述Idle序列最大值〉Idle序列分段報告 長度〉Idle序列最小值;待接收的Idle序列是指異步串行數(shù)據(jù)線上連續(xù)的一段Idle序列;
(1) 如待接收的Idle序列長度《Idle序列最小值,異步串行收發(fā)器統(tǒng)計完該Idle序列 長度后,異步串行收發(fā)器忽略該Idle序列;不向系統(tǒng)報告收到Idle序列事件;
(2) 如ldle序列最小值〈待接收的Idle序列長度《Idle序列分段報告長度,異步串行 收發(fā)器定量接收的Idle序列長度等于統(tǒng)計的Idle序列長度,并向系統(tǒng)報告收到Idle序列事件
(3) 如ldle序列分段報告長度〈待接收的Idle序列長度〈Idle序列最大值,每當統(tǒng)計 的Idle序列長度等于Idle序列分段報告長度時,異步串行收發(fā)器就向系統(tǒng)報告一次收到Idle 序列事件并清零重新分段統(tǒng)計Idle序列長度,對于分為多段多次報告的Idle序列,累計的 Idle序列長度不清零,從Idle序列起點繼續(xù)累計本Idle序列長度,直至到本Idle序列的終點 ,最后一次向系統(tǒng)報告收到Idle序列事件;除最后一次報告收到Idle序列事件外,異步串行 收發(fā)器定量接收的Idle序列長度等于Idle序列分段報告長度;最后一次報告收到Idle序列事 件中,異步串行收發(fā)器定量接收的Idle序列長度等于最后一次統(tǒng)計的Idle序列長度;
(4) 如ldle序列最大值《待接收的Idle序列長度時,每當統(tǒng)計的Idle序列長度等于 Idle序列分段報告長度時,異步串行收發(fā)器就向系統(tǒng)報告一次收到Idle序列事件并清零重新 分段統(tǒng)計本Idle序列長度,對于分為多段多次報告的Idle序列,累計的Idle序列長度為不清 零,從Idle序列起點繼續(xù)累計本Idle序列長度,直至累計的Idle序列長度等于Idle序列最大 值時,異步串行收發(fā)器停止統(tǒng)計并最后一次向系統(tǒng)報告收到Idle序列事件,之后異步串行收 發(fā)器不再報告收到限長Idle序列事件,直到下一個Idle序列起點才重新計數(shù);除最后一次報 告收到Idle序列事件外,異步串行收發(fā)器定量接收的Idle序列長度等于Idle序列分段報告長 度;最后一次報告收到Idle序列事件中,異步串行收發(fā)器定量接收的Idle序列長度等于累計 到I dl e序列最大值時最后 一次分段統(tǒng)計的I dl e序列長度。
異步串行收發(fā)器定量接收Break序列具體包括如下處理過程預先設(shè)定Break序列最大值 、Break序列分段報告長度,將設(shè)定的Break序列分段報告長度保存于Break序列分段報告寄 存器,Break序列最大值保存于Break序列最大值寄存器中,所述Break序列最大值〉Break序 列分段報告長度;待接收的Break序列是指異步串行數(shù)據(jù)線上連續(xù)的一段Break序列;
(1) 當待接收的Break序列長度等于一個字符的長度,異步串行數(shù)據(jù)收發(fā)器向系統(tǒng)報告 收到Break序列事件,進入步驟(2);
(2) 如待接收的Break序列長度《Break序列分段報告長度,異步串行收發(fā)器統(tǒng)計完該 Idle序列長度后,立即向系統(tǒng)報告收到Break序列和Break序列終止事件;異步串行收發(fā)器定 量接收的Break序列長度等于統(tǒng)計的Break序列長度;
(3) 如Break序列分段報告長度〈待接收的Break序列長度〈Break序列最大值,每當統(tǒng) 計的Break序列長度等于Break序列分段報告長度時,異步串行收發(fā)器就向系統(tǒng)報告一次收到 Break序列事件并清零重新分段統(tǒng)計Break序列長度,直至到本Break序列的終點,最后一次 向系統(tǒng)報告收到Break序列事件和Break序列終止事件;除最后一次報告收到Break序列事件 外,異步串行收發(fā)器定量接收的Break序列長度等于Break序列分段報告長度;最后一次報告 收到Break序列事件中,異步串行收發(fā)器定量接收的Break序列長度等于最后一次分段統(tǒng)計的 Break序列長度;
(4) 如待接收的Break序列S Break序列最大值;每當統(tǒng)計的Break序列長度等于Break 序列分段報告長度時,異步串行收發(fā)器就向系統(tǒng)報告一次收到Break序列事件并清零重新分 段統(tǒng)計Break序列長度,直至累計的Break序列長度等于Break序列最大值時,異步串行收發(fā) 器停止統(tǒng)計并最后一次向系統(tǒng)報告收到Break序列事件,直到該Break序列終點才報告Break 序列終止事件;除最后一次報告收到Break序列事件外,異步串行收發(fā)器定量接收的Break序 列長度等于Break序列分段報告長度;最后一次報告收到Break序列事件中,異步串行收發(fā)器 定量接收的Break序列長度等于累計到Break序列最大值時,最后一次分段統(tǒng)計的Break序列 長度。
異步串行收發(fā)器定量發(fā)送Idle序列,包括如下步驟根據(jù)發(fā)送長度寄存器中已預先設(shè)定 的待發(fā)送的Idle序列長度;
當異步串行收發(fā)器發(fā)送完待發(fā)送的Idle序列,且根據(jù)系統(tǒng)發(fā)送事件隊列順序已有其它字 符信息或非字符信息序列需要發(fā)送,則異步串行收發(fā)器根據(jù)系統(tǒng)發(fā)送事件隊列順序發(fā)送已有 待發(fā)送的內(nèi)容;
當異步串行收發(fā)器發(fā)送完待發(fā)送的Idle序列,且異步串行收發(fā)器無任何內(nèi)容需要發(fā)送, 則繼續(xù)發(fā)送Idle序列直到收到系統(tǒng)發(fā)送事件。
異步串行收發(fā)器定量發(fā)送Break序列,包括如下步驟根據(jù)發(fā)送長度寄存器中已預先設(shè) 定的待發(fā)送的Break序列;
當異步串行收發(fā)器發(fā)送完待發(fā)送的Break序列,且根據(jù)系統(tǒng)發(fā)送事件隊列順序已有其它
字符信息或非字符信息序列需要發(fā)送,則異步串行收發(fā)器根據(jù)系統(tǒng)發(fā)送事件隊列順序發(fā)送已 有待發(fā)送的內(nèi)容;
當待發(fā)送的Break序列長度等于設(shè)定的Break序列發(fā)送比較值,且異步串行收發(fā)器無任何 內(nèi)容需要發(fā)送,則發(fā)送Idle序列直到收到系統(tǒng)發(fā)送事件。
如圖3所示,異步串行收發(fā)器與系統(tǒng)連接的接口包括中斷請求信號線INT和局部總線 Local—bus,與異步串行電平轉(zhuǎn)換電路連接的接口包括發(fā)送信號線TXD和接收信號線RXD。圖3 未示出異步串行控制信號線,以下也不贅述。
異步串行收發(fā)器中接收數(shù)據(jù)信號線RXD分別與非字符信息識別器、字符收發(fā)器相連;非 字符信息識別器分別通過Idle序列定量接收單元、Break序列定量接收單元相連;定量發(fā)送 單元與中斷控制器相連,定量發(fā)送單元還與字符收發(fā)器和發(fā)送數(shù)據(jù)信號線TXD相連。
圖3中,Idle序列定量接收單元包括Idle序列報告計數(shù)器、Idle序列累加計數(shù)器、Idle 序列分段報告寄存器、Idle序列最小值寄存器、Idle序列最大值寄存器、Idle序列控制器、 接收Idle序列長度寄存器、接收隊列控制器。
Idle序列定量發(fā)送單元包括Idle序列發(fā)送長度寄存器、發(fā)送隊列控制器。
Break序列定量接收單元包括Break序列報告計數(shù)器、Break序列累加計數(shù)器、Break序列 分段報告寄存器、Break序列最大值寄存器、Break序列控制器、接收Break序列長度寄存器 、接收隊列控制器。
Break序列定量發(fā)送單元包括Break序列發(fā)送長度寄存器、發(fā)送隊列控制器。
字符收發(fā)器,用于收發(fā)異步字符數(shù)據(jù),本發(fā)明所述異步串行收發(fā)器的接收字符的功能和 使用方法與通用異步收發(fā)器相同。本發(fā)明所述字符收發(fā)器還增加輸出一路信號Rec—char 信號(接收字符信號)。Rec—char信號從一個字符碼元序列的起始位開始到停止位結(jié)束期間 為邏輯0,其余時間為邏輯l,即在Rec—char信號為邏輯l時,表示從接收數(shù)據(jù)信號線RXD上收 到非字符碼元。
字符收發(fā)器從起始位開始,檢測到數(shù)據(jù)位碼元為全O,并且停止位碼元也為O,即判斷為 Break序列,輸出檢測到Break序列信號至Break序列控制器。由于字符收發(fā)器檢査整個字符 碼元長度后,才能識別出Break序列,因此在檢査整個字符碼元長度期間,字符收發(fā)器輸出 的Rec—char信號為邏輯0,即在出現(xiàn)Break序列時,字符收發(fā)器輸出Rec—char信號為邏輯l的 起始位置滯后于實際Break序列起始位置一個字符長度。
字符收發(fā)器從停止位結(jié)束開始,檢測到數(shù)據(jù)線碼元為l,即判斷為Idle序列,輸出的 Rec—char信號由邏輯O變?yōu)檫壿媗,因此在出現(xiàn)Idle序列時,字符收發(fā)器輸出的Rec—char信號
為邏輯l的起始位置與實際Idle序列起始位置同步。
非字符信息識別器,用于識別接收數(shù)據(jù)信號線RXD上收到的非字符碼元是Idle序列還是 Break序列。非字符信息識別器輸出Idle信號和Break信號,輸出信號為邏輯l期間表示收到 相應的序列,輸出信號為邏輯O期間表示沒有收到相應的序列。
Idle信號輸出至Idle序列報告計數(shù)器和Idle序列累加計數(shù)器。Idle序列報告計數(shù)器和 Idle序列累加計數(shù)器在所述非字符信息識別器輸出所述Idle信號為邏輯l期間進行計數(shù),計 數(shù)所用時鐘信號頻率與字符波特率相同。
Idle序列報告計數(shù)器的計數(shù)輸出作為比較器l的一個輸入值,Idle序列分段報告寄存器 的設(shè)置值作為所述比較器l的另一個輸入值, 一旦所述Idle序列報告計數(shù)器的計數(shù)輸出值大 于等于Idle序列分段報告寄存器的設(shè)置值,比較器l的比較結(jié)果信號即為邏輯l,否則為邏輯 0。所述比較器l的比較結(jié)果信號輸出至Idle序列控制器。
Idle序列累加計數(shù)器的計數(shù)輸出作為比較器2的一個輸入值,Idle序列最小值寄存器的 設(shè)置值作為比較器2的另一個輸入值, 一旦所述Idle序列長度累加計數(shù)器的計數(shù)輸出值大于 等于Idle序列最小值寄存器的設(shè)置值,比較器2的比較結(jié)果信號即為邏輯1,否則為邏輯0。 比較器2的比較結(jié)果信號輸出至Idle序列控制器。
Idle序列累加計數(shù)器的計數(shù)輸出作為比較器3的一個輸入值,Idle序列最大值寄存器的 設(shè)置數(shù)值作為所述比較器3的另一個輸入數(shù)值, 一旦Idle序列長度累加計數(shù)器的計數(shù)輸出值 大于等于Idle序列最大值寄存器的設(shè)置值,比較器3的比較結(jié)果信號即為邏輯1,否則為邏輯 0。比較器3的比較結(jié)果信號輸出至Idle序列控制器。
Idle序列控制器的輸入信號除比較器l、比較器2和比較器3輸出的比較結(jié)果信號外,還 包括非字符信息識別器輸出的Idle信號和Idle序列長度報告計數(shù)器的計數(shù)輸出信號。
非字符信息識別器輸出的Idle信號狀態(tài)為邏輯l時,當比較器l的比較結(jié)果信號狀態(tài)為邏 輯l、比較器3的比較結(jié)果信號狀態(tài)為邏輯0、比較器2的比較結(jié)果信號狀態(tài)由邏輯0變?yōu)檫壿? ,表明目前接收的Idle序列長度達到分段長度但未達到Idle序列最大值,Idle序列控制器 將Idle序列長度報告計數(shù)器的計數(shù)輸出值寫入接收Idle序列長度寄存器,并向接收隊列控制 器報告收到Idle序列事件。Idle序列控制器同時通過清零信號l (邏輯0電平信號)清零Idle 序列長度報告計數(shù)器。
非字符信息識別器輸出的Idle信號狀態(tài)為邏輯l時,當比較器3的比較結(jié)果信號狀態(tài)由邏 輯0變?yōu)檫壿?,表明當前接收的Idle序列長度達到Idle序列最大值,Idle序列控制器將 Idle序列長度報告計數(shù)器的計數(shù)輸出值寫入接收Idle序列長度寄存器,并向接收隊列控制器報告收到Idle序列事件。Idle序列控制器發(fā)出清零信號l (邏輯0電平信號)清零并封鎖Idle 序列長度報告計數(shù)器,發(fā)出清零信號2清零并封鎖所述接收Idle序列長度累加計數(shù)器,在該 Idle序列后續(xù)期間一直保持所述清零并封鎖狀態(tài),直到該Idle序列終止,Idle序列控制器 才發(fā)出清零信號l (邏輯l電平信號)和清零信號2 (邏輯l電平信號)解除對Idle序列長度報 告計數(shù)器和I dl e序列長度累加計數(shù)器的封鎖。
當比較器1的比較結(jié)果為邏輯0,表明本Idle序列是碎片,所述接收Idle序列報告控制器 無動作。
非字符信息識別器輸出的Idle信號狀態(tài)由邏輯1變?yōu)檫壿?時,表明Idle序列終止。
由于Break信號的起始位置滯后于實際Break序列起始位置一個字符長度,因此以下對于 Break序列長度的計數(shù)均不含實際Break序列頭部一個字符長度的數(shù)值。
Break信號輸出至Break序列報告計數(shù)器和接收Break序列累加計數(shù)器。Break序列報告 計數(shù)器和Break序列累加計數(shù)器在非字符信息識別器輸出Break信號為邏輯l期間進行計數(shù), 計數(shù)所用時鐘信號頻率與字符波特率相同。
Break序列報告計數(shù)器的計數(shù)輸出作為比較器4的一個輸入值,Break序列分段報告寄存 器的設(shè)置值作為比較器4的另一個輸入值, 一旦Break序列報告計數(shù)器的計數(shù)輸出值大于等于 所述接收Break序列分段報告寄存器的設(shè)置值,比較器4的比較結(jié)果信號即為邏輯l,否則為 邏輯0。比較器4的比較結(jié)果信號輸出至Break序列控制器。
Break序列累加計數(shù)器的計數(shù)輸出作為比較器5的一個輸入值,Break序列最大值寄存器 的設(shè)置值作為比較器5的另一個輸入值, 一旦Break序列累加計數(shù)器的計數(shù)輸出值大于等于 Break序列最大值寄存器的設(shè)置值,比較器5的比較結(jié)果信號即為邏輯l,否則為邏輯0。比較 器5的比較結(jié)果信號輸出至Break序列控制器。
接收Break序列控制器的輸入信號除比較器4和比較器5輸出的比較結(jié)果信號外,還包括 非字符信息識別器輸出的Break信號和Break序列報告計數(shù)器的計數(shù)輸出信號、以及字符收發(fā) 器輸出的Break序列檢測信號。
字符收發(fā)器輸出的Break序列檢測信號狀態(tài)為邏輯l時,表明字符收發(fā)器檢測到一個字符 長度的Break序列,Break序列控制器向接收隊列控制器報告收到一個字符長度Break序列事 件,寫入接收Break序列長度數(shù)據(jù)寄存器的數(shù)值為一個字符長度,同時通過清零信號5清零字 符收發(fā)器中Break序列檢測信號。
非字符信息識別器輸出的Break信號狀態(tài)為邏輯l時,當比較器4的比較結(jié)果信號狀態(tài)由 邏輯0變?yōu)檫壿?,比較器5的比較結(jié)果信號狀態(tài)為邏輯0,表明當前Break序列長度達到分段 長度但未達到Break序列最大值,Break序列控制器將Break序列報告計數(shù)器的計數(shù)輸出值寫 入接收Break序列長度寄存器,并向接收隊列控制器報告收到持續(xù)Break序列事件。Break序 列控制器同時通過清零信號3清零Break序列長度報告計數(shù)器。
非字符信息識別器輸出的Break信號狀態(tài)為邏輯l時,當比較器5的比較結(jié)果信號狀態(tài)由 邏輯0變?yōu)檫壿?,表明當前Break序列長度達到Break序列最大值,Break序列控制器將 Break序列報告計數(shù)器的計數(shù)輸出值寫入接收Break序列長度寄存器,并向接收隊列控制器報 告收到持續(xù)Break序列事件。Break序列控制器發(fā)出清零信號3 (邏輯0電平信號)清零并封鎖 Break序列報告計數(shù)器,發(fā)出清零信號4 (邏輯0電平信號)清零并封鎖接收Break序列累加計 數(shù)器,在本Break序列后續(xù)期間一直保持所述清零并封鎖狀態(tài),直到本Break序列終止Break 序列控制器才發(fā)出清零信號3 (邏輯l電平信號)和清零信號4 (邏輯l電平信號)解除對 Break序列報告計數(shù)器和Break序列累加計數(shù)器的封鎖,并報告收到Break序列終止事件。
非字符信息識別器輸出的Break信號狀態(tài)由邏輯l變?yōu)檫壿婳時,表明Break序列終止。當 比較器5的比較結(jié)果信號狀態(tài)為邏輯0,表明當前接收的Break序列長度未達到Break序列最大 值,Break序列控制器將Break序列報告計數(shù)器的計數(shù)輸出值寫入接收Break序列寄存器,并 向接收隊列控制器報告收到Break序列終止事件。Break序列控制器同時發(fā)出清零信號3清零 Break序列報告計數(shù)器,發(fā)出清零信號4清零Break序列累加計數(shù)器。
所述接收隊列控制器接收的報告事件包括
字符收發(fā)器報告的收到字符事件;
字符收發(fā)器報告的所述檢測到Break序列事件;
接收Idle序列報告控制器報告的所述收到Idle序列事件;
接收Break序列報告控制器報告的所述收到一個字符長度Break序列事件;
接收Break序列報告控制器報告的所述收到持續(xù)Break序列事件;
Break序列報告控制器報告的接收Break序列終止事件。
接收隊列控制器將其收到的所述各種報告事件組織成隊列,按序向中斷控制器發(fā)出事件 報告信號,中斷控制器接收到事件報告信號后產(chǎn)生中斷請求信號INT。中斷控制器在已有中 斷請求信號INT未被響應的情況下,控制接收隊列控制器暫不發(fā)出新的事件報告信號。
Idle序列發(fā)送長度寄存器,用于控制所述異步串行收發(fā)器發(fā)送Idle序列的長度,由系統(tǒng) 向I dl e序列發(fā)送長度寄存器設(shè)置要發(fā)送的I dl e序列長度數(shù)值。
Break序列發(fā)送長度寄存器,用于控制所述異步串行收發(fā)器發(fā)送Break序列的長度,由系 統(tǒng)向Break序列發(fā)送長度寄存器寫入要發(fā)送的Break序列長度數(shù)值。
發(fā)送隊列控制器,將其收到的各種發(fā)送事件組織成隊列,按序向發(fā)送數(shù)據(jù)信號線TXD發(fā) 送。當發(fā)送隊列控制器發(fā)送完字符數(shù)據(jù)、Break序列或Idle序列,或者余下的未發(fā)送完部分 達到設(shè)置水平時,發(fā)送隊列控制器向中斷控制器發(fā)出發(fā)送事件報告信號,中斷控制器接收到 發(fā)送事件報告信號后產(chǎn)生中斷請求信號INT。所述中斷控制器在已有中斷請求信號INT未被響 應的情況下,控制所述發(fā)送隊列控制器暫不發(fā)出新的發(fā)送事件報告信號。
以上所述僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟 悉該技術(shù)的人在本發(fā)明揭露的技術(shù)范圍以內(nèi),可以輕易想到的變化或替換,都應涵蓋在本發(fā) 明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應該以權(quán)利要求書的保護范圍為準。
權(quán)利要求
權(quán)利要求1異步串行數(shù)據(jù)線信息收發(fā)方法,異步串行收發(fā)器通過異步串行數(shù)據(jù)線收發(fā)字符數(shù)據(jù)信息,其特征在于,還包括收發(fā)非字符信息的步驟a、異步串行收發(fā)器從異步串行數(shù)據(jù)線接收非字符信息時,識別非字符信息的序列類型并統(tǒng)計非字符信息的序列長度,定量接收非字符信息,并向系統(tǒng)報告收到非字符信息事件;b、異步串行收發(fā)器向異步串行數(shù)據(jù)線發(fā)送非字符信息時,根據(jù)從系統(tǒng)收到的發(fā)送非字符信息事件,定量發(fā)送非字符信息。
2.如權(quán)利要求l所述異步串行數(shù)據(jù)線信息收發(fā)方法,其特征在于,所 述非字符信息為Idle序列。
3.如權(quán)利要求2所述異步串行數(shù)據(jù)線信息收發(fā)方法,其特征在于,步 驟a所述定量接收非字符信息,對于接收Idle序列時具體為預先設(shè)定Idle序列最小值、 Idle序列分段報告長度、Idle序列最大值;所述Idle序列最大值〉Idle序列分段報告長度〉 Idle序列最小值;分類處理過程如下(1) 如待接收的Idle序列長度《Idle序列最小值,異步串行收發(fā)器統(tǒng)計完該Idle序列 長度后,異步串行收發(fā)器忽略該Idle序列,不向系統(tǒng)報告收到Idle序列事件;(2) 如ldle序列最小值〈待接收的Idle序列長度《Idle序列分段報告長度,異步串行 收發(fā)器定量接收的Idle序列長度等于統(tǒng)計的Idle序列長度,并向系統(tǒng)報告收到Idle序列事件(3) 如ldle序列分段報告長度〈待接收的Idle序列長度〈Idle序列最大值,每當統(tǒng)計 的Idle序列長度等于Idle序列分段報告長度時,異步串行收發(fā)器就向系統(tǒng)報告一次收到Idle 序列事件并清零重新分段統(tǒng)計Idle序列長度,直至到本Idle序列的終點,最后一次向系統(tǒng)報 告收到Idle序列事件;除最后一次報告收到Idle序列事件外,異步串行收發(fā)器定量接收的 Idle序列長度等于Idle序列分段報告長度;最后一次報告收到Idle序列事件中,異步串行收 發(fā)器定量接收的Idle序列長度等于最后一次分段統(tǒng)計的Idle序列長度;(4) 如ldle序列最大值《待接收的Idle序列長度時,每當統(tǒng)計的Idle序列長度等于 Idle序列分段報告長度時,異步串行收發(fā)器就向系統(tǒng)報告一次收到Idle序列事件并清零重新 分段統(tǒng)計Idle序列長度,直至累計的Idle序列長度等于Idle序列最大值時,異步串行收發(fā)器 停止統(tǒng)計并最后一次向系統(tǒng)報告收到Idle序列事件;除最后一次報告收到Idle序列事件外, 異步串行收發(fā)器定量接收的Idle序列長度等于Idle序列分段報告長度;最后一次報告收到 Idle序列事件中,異步串行收發(fā)器定量接收的Idle序列長度等于累計到Idle序列最大值時, 最后一次分段統(tǒng)計的Idle序列長度;所述待接收的I dl e序列是指異步串行數(shù)據(jù)線上連續(xù)的 一段I dl e序列。
4.如權(quán)利要求3所述異步串行數(shù)據(jù)線信息收發(fā)方法,其特征在于,步 驟b所述定量發(fā)送非字符信息,對于發(fā)送Idle序列時具體為根據(jù)發(fā)送長度寄存器中系統(tǒng)已 預先設(shè)定待發(fā)送的Idle序列長度;當異步串行收發(fā)器發(fā)送完待發(fā)送的Idle序列,且根據(jù)系統(tǒng)發(fā)送事件隊列順序已有其它 字符信息或非字符信息序列需要發(fā)送,則異步串行收發(fā)器根據(jù)系統(tǒng)發(fā)送事件隊列順序發(fā)送已 有待發(fā)送的內(nèi)容;當異步串行收發(fā)器發(fā)送完待發(fā)送的Idle序列,且異步串行收發(fā)器無任何內(nèi)容需要發(fā)送 ,則繼續(xù)發(fā)送Idle序列直到收到系統(tǒng)發(fā)送事件。
5.如權(quán)利要求2至4任一項權(quán)利要求所述異步串行數(shù)據(jù)線信息收發(fā)方 法,其特征在于,所述非字符信息還包括Break序列。
6.如權(quán)利要求5所述異步串行數(shù)據(jù)線信息收發(fā)方法,其特征在于,步 驟a所述定量接收非字符信息,對于接收Break序列時具體為預先設(shè)定Break序列最大值、 Break序列分段報告長度,所述Break序列最大值〉Break序列分段報告長度;(1) 當待接收的Break序列長度等于一個字符的長度,異步串行數(shù)據(jù)收發(fā)器向系統(tǒng)報 告收到Break序列事件,進入步驟(2);(2) 如待接收的Break序列長度《Break序列分段報告長度,異步串行收發(fā)器統(tǒng)計完該 Idle序列長度后,立即向系統(tǒng)報告收到Break序列和Break序列終止事件;異步串行收發(fā)器定 量接收的Break序列長度等于統(tǒng)計的Break序列長度;(3) 如Break序列分段報告長度〈待接收的Break序列長度〈Break序列最大值,每當 統(tǒng)計的Break序列長度等于Break序列分段報告長度時,異步串行收發(fā)器就向系統(tǒng)報告一次收 到Break序列事件并清零重新分段統(tǒng)計Break序列長度,直至到本Break序列的終點,最后一 次向系統(tǒng)報告收到Break序列事件和Break序列終止事件;除最后一次報告收到Break序列事 件外,異步串行收發(fā)器定量接收的Break序列長度等于Break序列分段報告長度;最后一次報告收到Break序列事件中,異步串行收發(fā)器定量接收的Break序列長度等于最后一次分段統(tǒng)計 的Break序列長度;(4)如待接收的Break序列S Break序列最大值;每當統(tǒng)計的Break序列長度等于Break 序列分段報告長度時,異步串行收發(fā)器就向系統(tǒng)報告一次收到Break序列事件并清零重新分 段統(tǒng)計Break序列長度,直至累計的Break序列長度等于Break序列最大值時,異步串行收發(fā) 器停止統(tǒng)計并最后一次向系統(tǒng)報告收到Break序列事件,直到該Break序列終點才報告Break 序列終止事件;除最后一次報告收到Break序列事件外,異步串行收發(fā)器定量接收的Break序 列長度等于Break序列分段報告長度;最后一次報告收到Break序列事件中異步串行收發(fā)器定 量接收的Break序列長度等于累計到Break序列最大值時,最后一次分段統(tǒng)計時的Break序列 長度;所述待接收的Break序列是指異步串行數(shù)據(jù)線上連續(xù)的一段Break序列。
7.如權(quán)利要求6所述異步串行數(shù)據(jù)線信息收發(fā)方法,其特征在于,步 驟b所述定量發(fā)送非字符信息,對于發(fā)送Break序列時具體為根據(jù)發(fā)送長度寄存器中系統(tǒng)已 預先設(shè)定待發(fā)送的Break序列長度;當異步串行收發(fā)器發(fā)送完待發(fā)送的Break序列,且根據(jù)系統(tǒng)發(fā)送事件隊列順序已有其它 當待發(fā)送的Break序列長度等于設(shè)定的Break序列發(fā)送比較值,且異步串行收發(fā)器無任 何內(nèi)容需要發(fā)送,則發(fā)送Idle序列直到收到系統(tǒng)發(fā)送事件。
8.異步串行收發(fā)器,包括字符收發(fā)器、中斷控制器,中斷控制器與 字符收發(fā)器相連,其特征在于,還包括非字符信息識別器、定量接收單元;非字符信息識別 器的輸入端、字符收發(fā)器的輸入端分別與接收數(shù)據(jù)信號線相連;非字符信息識別器與定量接 收單元相連;定量接收單元的輸出端連接中斷控制器;所述非字符信息識別器用于識別非字符信息的序列類型; 所述定量接收單元用于統(tǒng)計非字符信息的序列長度,定量接收非字符信息。
9.如權(quán)利要求8所述異步串行收發(fā)器,其特征在于,定量接收單元包 括計數(shù)器、接收比較器、接收比較寄存器、非字符信息控制器、接收長度寄存器、接收隊列 控制器;非字符信息識別器與計數(shù)器相連;接收比較寄存器與接收比較器的一個輸入端相連 ,接收比較器的另一個輸入端與計數(shù)器相連;非字符信息控制器分別與接收比較器、計數(shù)器 、非字符信息識別器相連;非字符信息控制器的控制端與計數(shù)器相連;非字符信息控制器的 輸出端分別與接收長度寄存器和接收隊列控制器相連,接收隊列控制器的輸出端連接中斷控 制器; 所述計數(shù)器用于統(tǒng)計待接收的非字符信息的序列長度; 所述接收比較寄存器用于存儲預先設(shè)定的控制接收序列長度值;所述接收比較器用于比較待接收的非字符信息的序列長度與控制接收序列長度值,將 比較結(jié)果輸出到非字符信息控制器;所述接收長度寄存器用于存儲定量接收的非字符信息;所述非字符信息控制器用于根據(jù)所述比較結(jié)果將定量接收的非字符信息寫入接收長度 寄存器,并向接收隊列控制器報告接收到非字符信息事件;所述接收隊列控制器用于將來自于非字符信息控制器、字符收發(fā)器的報告事件組織成 隊列,按序向中斷控制器發(fā)出事件報告信號。
10.如權(quán)利要求9所述異步串行收發(fā)器,其特征在于,所述定量接收 單元包括Idle序列定量接收單元,所述接收比較寄存器保存的預先設(shè)定的控制接收序列長度 值包括Idle序列最小值、Idle序列分段報告長度、Idle序列最大值。
11.如權(quán)利要求10所述異步串行收發(fā)器,其特征在于,所述定量接收 單元還包括Break序列定量接收單元,所述接收比較寄存器存儲的預先設(shè)定的控制接收序列 長度值還包括Break序列分段報告長度、Break序列最大值。
12.如權(quán)利要求8或9所述異步串行收發(fā)器,其特征在于,還包括定量 發(fā)送單元,定量發(fā)送單元輸出端連接發(fā)送數(shù)據(jù)信號線相連。
13.如權(quán)利要求12所述異步串行收發(fā)器,其特征在于,定量發(fā)送單元 包括發(fā)送隊列控制器、發(fā)送長度寄存器;所述字符收發(fā)器與發(fā)送隊列控制器的一個輸入端相 連;發(fā)送長度寄存器與發(fā)送隊列控制器的另一個輸入端相連;發(fā)送隊列控制器的輸出端連接 發(fā)送數(shù)據(jù)信號線,發(fā)送隊列控制器還與中斷控制器相連;所述發(fā)送長度寄存器用于保存已設(shè)定的待發(fā)送的非字符信息;所述發(fā)送隊列控制器用于將收到的發(fā)送事件組織成隊列,根據(jù)已設(shè)定的待發(fā)送非字符 信息序列長度,按序向發(fā)送數(shù)據(jù)信號線發(fā)送。
14.如權(quán)利要求13所述異步串行收發(fā)器,其特征在于,所述定量發(fā)送 單元包括Idle序列定量發(fā)送單元、Break序列定量發(fā)送單元,所述發(fā)送長度寄存器保存的已 設(shè)定的待發(fā)送的非字符信息包括Idle序列、Break序列。
全文摘要
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,特別涉及異步串行數(shù)據(jù)收發(fā)技術(shù)。本發(fā)明要解決的技術(shù)問題是提供一種不依賴外部定時器,能定量收發(fā)非字符信息的方法及實現(xiàn)該方法的異步串行收發(fā)器。本發(fā)明所采用的技術(shù)方案是一種異步串行數(shù)據(jù)線信息收發(fā)方法,異步串行收發(fā)器通過異步串行數(shù)據(jù)線收發(fā)字符數(shù)據(jù)信息,其特征在于,還包括收發(fā)非字符信息的步驟。本發(fā)明還提供了一種實現(xiàn)上述方法的異步串行收發(fā)器,包括字符收發(fā)器、中斷控制器,中斷控制器與字符收發(fā)器相連,還包括非字符信息識別器、定量接收單元。本發(fā)明的有益效果是,異步串行收發(fā)器能直接地收發(fā)非字符信息序列,其實現(xiàn)方法相比現(xiàn)有方法,有效減小系統(tǒng)開銷,降低軟件的復雜度。
文檔編號H04L7/00GK101383819SQ20071020158
公開日2009年3月11日 申請日期2007年9月5日 優(yōu)先權(quán)日2007年9月5日
發(fā)明者馮克平 申請人:邁普(四川)通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
彭州市| 镶黄旗| 汝城县| 泽州县| 宁德市| 阿瓦提县| 云龙县| 乌兰县| 蒙自县| 黎平县| 旬邑县| 石景山区| 芷江| 叙永县| 乐都县| 稻城县| 平遥县| 佛教| 虹口区| 合山市| 苏州市| 铜川市| 贺兰县| 恩施市| 惠来县| 兴文县| 射阳县| 西乡县| 兰考县| 瑞安市| 甘泉县| 乐亭县| 苍南县| 沙洋县| 石楼县| 无棣县| 岱山县| 永平县| 冷水江市| 巫溪县| 西和县|