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

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

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

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


圖l為通用異步收發(fā)器示意圖; 圖2為本發(fā)明異步串行收發(fā)器示意圖; 圖3為本發(fā)明異步串行收發(fā)器的實(shí)施例邏輯電路框圖。
具體實(shí)施例方式
為了能定量收發(fā)非字符信息,本發(fā)明在通用異步收發(fā)器(包括字符收發(fā)器、中斷控制器
)的基礎(chǔ)上增加了非字符信息識(shí)別器、定量接收單元、定量發(fā)送單元。如圖2所示,非字符
信息識(shí)別器的輸入端、字符收發(fā)器的輸入端分別與接收數(shù)據(jù)信號(hào)線相連;非字符信息識(shí)別器
與定量接收單元相連;定量接收單元、定量發(fā)送單元分別連接中斷控制器。
非字符信息識(shí)別器用于識(shí)別非字符信息的序列類型; 定量接收單元用于統(tǒng)計(jì)非字符信息序列的序列長(zhǎng)度;
定量接收單元包括計(jì)數(shù)器、接收比較器、接收比較寄存器、非字符信息控制器、接收長(zhǎng) 度寄存器、接收隊(duì)列控制器;非字符信息識(shí)別器與計(jì)數(shù)器相連;計(jì)數(shù)器用于統(tǒng)計(jì)非字符信息 識(shí)別器識(shí)別出的非字符信息序列(待接收的非字符信息)的序列長(zhǎng)度;接收比較寄存器與接 收比較器的一個(gè)輸入端相連,接收比較器的另一個(gè)輸入端與計(jì)數(shù)器相連;非字符信息控制器 分別與接收比較器、計(jì)數(shù)器、非字符信息識(shí)別器相連;非字符信息控制器的控制端與計(jì)數(shù)器 相連;
其中接收比較器、接收比較寄存器、非字符信息控制器用于定量接收非字符信息序列。 非字符信息識(shí)別器與計(jì)數(shù)器相連。非字符信息識(shí)別器輸出一路信號(hào)到非字符信息控制器 告知其已收到非字符信息;接收比較器一方面接收計(jì)數(shù)器統(tǒng)計(jì)出的非字符信息序列的序列長(zhǎng) 度,另一方面將接收比較寄存器中設(shè)定的長(zhǎng)度值與計(jì)數(shù)器統(tǒng)計(jì)出的非字符信息序列的序列長(zhǎng)
度作比較,將比較結(jié)果送到非字符信息控制器,該比較結(jié)果用于控制非字符信息控制器從計(jì) 數(shù)器直接獲得的非字符信息序列的序列長(zhǎng)度做出定量接收的處理,即控制非字符信息控制器 將定量接收的非字符信息寫入接收長(zhǎng)度寄存器并向接收隊(duì)列控制器報(bào)告收到非字符信息序列 事件;字符收發(fā)器、非字符信息控制器的輸出端與接收隊(duì)列控制器相連,接收隊(duì)列控制器將 來自于非字符信息控制器、字符收發(fā)器的報(bào)告事件組織成隊(duì)列,按序向中斷控制器發(fā)出事件 報(bào)告信號(hào)。
定量發(fā)送單元包括發(fā)送隊(duì)列控制器、發(fā)送長(zhǎng)度寄存器;字符收發(fā)器與發(fā)送隊(duì)列控制器的 一個(gè)輸入端相連,發(fā)送長(zhǎng)度寄存器保存有預(yù)先設(shè)定的非字符信息發(fā)送比較值;發(fā)送長(zhǎng)度寄存 器與發(fā)送隊(duì)列控制器的另一個(gè)輸入端相連;發(fā)送隊(duì)列控制器的輸出端連接發(fā)送數(shù)據(jù)信號(hào)線; 發(fā)送隊(duì)列控制器根據(jù)已設(shè)定的待發(fā)送非字符信息序列長(zhǎng)度,控制對(duì)當(dāng)前非字符信息序列的發(fā) 送狀態(tài),定量按序向發(fā)送數(shù)據(jù)信號(hào)線發(fā)送異步串行數(shù)據(jù),從而達(dá)到定量發(fā)送的目的。
當(dāng)然,不設(shè)置定量發(fā)送單元也能實(shí)現(xiàn)定量收發(fā)非字符信息。定量接收單元向按序向中斷 控制器發(fā)出事件報(bào)告信號(hào)后,由系統(tǒng)發(fā)送異步串行數(shù)據(jù)。
實(shí)施例以本發(fā)明定量收發(fā)Idle序列與Break序列的異步串行收發(fā)器為例,定量接收單元包括 Idle序列定量接收單元、Break序列定量接收單元;定量發(fā)送單元包括Idle序列定量發(fā)送單 元、Break序列定量發(fā)送單元。字符數(shù)據(jù)長(zhǎng)度以字節(jié)為單位;因?yàn)镮dle序列和Break序列都是 重復(fù)的碼元序列,所以Idle序列和Break序列長(zhǎng)度以碼元為單位。
對(duì)于Idle序列,定量收發(fā)是限定異步串行收發(fā)器從異步串行數(shù)據(jù)線接收Idle序列以及向 異步串行數(shù)據(jù)線發(fā)送Idle序列的長(zhǎng)度的最大值與最小值;對(duì)于Break序列為限定異步串行收 發(fā)器從異步串行數(shù)據(jù)線接收Break序列以及向異步串行數(shù)據(jù)線發(fā)送Break序列的長(zhǎng)度的最大值
要實(shí)現(xiàn)Idle序列定量接收和發(fā)送需要下列5個(gè)寄存器和2個(gè)計(jì)數(shù)器
1) Idle序列最小值寄存器讀寫寄存器,是接收比較寄存器之一,用于由系統(tǒng)設(shè)置期 望刪除的Idle序列碎片的最大長(zhǎng)度數(shù)值,即接收Idle序列的長(zhǎng)度最小值,避免接收Idle序列 碎片;
2) Idle序列最大值寄存器讀寫寄存器,是接收比較寄存器之一,用于對(duì)一個(gè)長(zhǎng)的 Idle序列,由系統(tǒng)設(shè)置期望的限制長(zhǎng)度數(shù)值,即接收Idle序列的長(zhǎng)度最大值,限制接收長(zhǎng)度
3) Idle序列分段報(bào)告寄存器讀寫寄存器,是接收比較寄存器之一,用于在接收Idle
序列限制寄存器設(shè)置值較大時(shí),由系統(tǒng)設(shè)置期望的報(bào)告間隔長(zhǎng)度數(shù)值,本發(fā)明收發(fā)器分段向 系統(tǒng)報(bào)告收到Idle序列事件,改善報(bào)告的實(shí)時(shí)性;
4) 接收Idle序列長(zhǎng)度寄存器只讀寄存器,用于所述收發(fā)器向系統(tǒng)報(bào)告收到Idle序列 事件時(shí),裝入接收到的定量Idle序列長(zhǎng)度值;
5) Idle序列報(bào)告計(jì)數(shù)器內(nèi)部計(jì)數(shù)器,用于統(tǒng)計(jì)上次報(bào)告收到Idle序列事件之后新接 收到的Idle序列長(zhǎng)度;收發(fā)器報(bào)告收到Idle序列事件時(shí)將接收Idle序列報(bào)告計(jì)數(shù)器的計(jì)數(shù)值 裝入接收Idle序列長(zhǎng)度寄存器,清零接收Idle序列報(bào)告計(jì)數(shù)器,重新開始計(jì)數(shù);
6) Idle序列累加計(jì)數(shù)器內(nèi)部計(jì)數(shù)器,用于從Idle序列起點(diǎn)累計(jì)連續(xù)Idle序列的長(zhǎng)度
7) Idle序列發(fā)送長(zhǎng)度寄存器讀寫寄存器,用于由系統(tǒng)設(shè)置要發(fā)送的Idle序列長(zhǎng)度數(shù) 值,控制異步串行收發(fā)器發(fā)送Idle序列的長(zhǎng)度。
要實(shí)現(xiàn)Break序列的定量接收和發(fā)送部件需要下列4個(gè)寄存器和2個(gè)計(jì)數(shù)器
1) Break序列最大值寄存器讀寫寄存器,是接收比較寄存器之一,用于對(duì)一個(gè)長(zhǎng)的 Break序列,由系統(tǒng)設(shè)置期望的限制接收長(zhǎng)度數(shù)值,即接收Break序列的長(zhǎng)度最大值,限制接 收長(zhǎng)度;
2) Break序列分段報(bào)告寄存器讀寫寄存器,是接收比較寄存器之一,用于在接收 Break序列限制寄存器設(shè)置值較大時(shí),由系統(tǒng)設(shè)置期望的報(bào)告間隔長(zhǎng)度數(shù)值;異步串行收發(fā) 器分段向系統(tǒng)報(bào)告收到Break序列事件,保證報(bào)告的實(shí)時(shí)性;
3) 接收Break序列寄存器只讀寄存器,是接收比較寄存器之一,用于異步串行收發(fā)器 向系統(tǒng)報(bào)告收到Break序列事件時(shí),裝入接收到的定量Break序列長(zhǎng)度值;
4) Break序列報(bào)告計(jì)數(shù)器內(nèi)部計(jì)數(shù)器,用于統(tǒng)計(jì)上次報(bào)告收到Break序列事件之后新 接收到的Break序列長(zhǎng)度;異步串行收發(fā)器報(bào)告收到Break序列事件時(shí)將接收Break序列報(bào)告 計(jì)數(shù)器的計(jì)數(shù)值裝入接收Break序列寄存器,清零接收Break序列報(bào)告計(jì)數(shù)器,重新開始計(jì)數(shù)
5) Break序列長(zhǎng)度累加計(jì)數(shù)器內(nèi)部計(jì)數(shù)器,用于累計(jì)連續(xù)Break序列的長(zhǎng)度;
6) Break序列發(fā)送長(zhǎng)度寄存器讀寫寄存器,用于由系統(tǒng)寫入要發(fā)送的Break序列長(zhǎng)度 值,控制所述異步串行收發(fā)器發(fā)送Break序列的長(zhǎng)度。
字符數(shù)據(jù)、Break序列和Idle序列在異步串行接口數(shù)據(jù)信號(hào)線上是先后串行出現(xiàn)的,本 發(fā)明用接收事件隊(duì)列來表達(dá)發(fā)生的收到字符、Break序列和Idle序列事件之間的時(shí)間順序, 用發(fā)送事件隊(duì)列來表達(dá)需要發(fā)送的字符、Break序列和Idle序列的時(shí)間順序。 異步串行收發(fā)器定量接收Idle序列具體包括如下處理過程
預(yù)先設(shè)定Idle序列最小值、Idle序列分段報(bào)告長(zhǎng)度、Idle序列最大值;將設(shè)定的Idle序 列最小值保存于Idle序列最小值寄存器、Idle序列分段值保存于Idle序列分段報(bào)告寄存器、 Idle序列最大值保存于Idle序列最大值寄存器中;所述Idle序列最大值〉Idle序列分段報(bào)告 長(zhǎng)度〉Idle序列最小值;待接收的Idle序列是指異步串行數(shù)據(jù)線上連續(xù)的一段Idle序列;
(1) 如待接收的Idle序列長(zhǎng)度《Idle序列最小值,異步串行收發(fā)器統(tǒng)計(jì)完該Idle序列 長(zhǎng)度后,異步串行收發(fā)器忽略該Idle序列;不向系統(tǒng)報(bào)告收到Idle序列事件;
(2) 如ldle序列最小值〈待接收的Idle序列長(zhǎng)度《Idle序列分段報(bào)告長(zhǎng)度,異步串行 收發(fā)器定量接收的Idle序列長(zhǎng)度等于統(tǒng)計(jì)的Idle序列長(zhǎng)度,并向系統(tǒng)報(bào)告收到Idle序列事件
(3) 如ldle序列分段報(bào)告長(zhǎng)度〈待接收的Idle序列長(zhǎng)度〈Idle序列最大值,每當(dāng)統(tǒng)計(jì) 的Idle序列長(zhǎng)度等于Idle序列分段報(bào)告長(zhǎng)度時(shí),異步串行收發(fā)器就向系統(tǒng)報(bào)告一次收到Idle 序列事件并清零重新分段統(tǒng)計(jì)Idle序列長(zhǎng)度,對(duì)于分為多段多次報(bào)告的Idle序列,累計(jì)的 Idle序列長(zhǎng)度不清零,從Idle序列起點(diǎn)繼續(xù)累計(jì)本Idle序列長(zhǎng)度,直至到本Idle序列的終點(diǎn) ,最后一次向系統(tǒng)報(bào)告收到Idle序列事件;除最后一次報(bào)告收到Idle序列事件外,異步串行 收發(fā)器定量接收的Idle序列長(zhǎng)度等于Idle序列分段報(bào)告長(zhǎng)度;最后一次報(bào)告收到Idle序列事 件中,異步串行收發(fā)器定量接收的Idle序列長(zhǎng)度等于最后一次統(tǒng)計(jì)的Idle序列長(zhǎng)度;
(4) 如ldle序列最大值《待接收的Idle序列長(zhǎng)度時(shí),每當(dāng)統(tǒng)計(jì)的Idle序列長(zhǎng)度等于 Idle序列分段報(bào)告長(zhǎng)度時(shí),異步串行收發(fā)器就向系統(tǒng)報(bào)告一次收到Idle序列事件并清零重新 分段統(tǒng)計(jì)本Idle序列長(zhǎng)度,對(duì)于分為多段多次報(bào)告的Idle序列,累計(jì)的Idle序列長(zhǎng)度為不清 零,從Idle序列起點(diǎn)繼續(xù)累計(jì)本Idle序列長(zhǎng)度,直至累計(jì)的Idle序列長(zhǎng)度等于Idle序列最大 值時(shí),異步串行收發(fā)器停止統(tǒng)計(jì)并最后一次向系統(tǒng)報(bào)告收到Idle序列事件,之后異步串行收 發(fā)器不再報(bào)告收到限長(zhǎng)Idle序列事件,直到下一個(gè)Idle序列起點(diǎn)才重新計(jì)數(shù);除最后一次報(bào) 告收到Idle序列事件外,異步串行收發(fā)器定量接收的Idle序列長(zhǎng)度等于Idle序列分段報(bào)告長(zhǎng) 度;最后一次報(bào)告收到Idle序列事件中,異步串行收發(fā)器定量接收的Idle序列長(zhǎng)度等于累計(jì) 到I dl e序列最大值時(shí)最后 一次分段統(tǒng)計(jì)的I dl e序列長(zhǎng)度。
異步串行收發(fā)器定量接收Break序列具體包括如下處理過程預(yù)先設(shè)定Break序列最大值 、Break序列分段報(bào)告長(zhǎng)度,將設(shè)定的Break序列分段報(bào)告長(zhǎng)度保存于Break序列分段報(bào)告寄 存器,Break序列最大值保存于Break序列最大值寄存器中,所述Break序列最大值〉Break序 列分段報(bào)告長(zhǎng)度;待接收的Break序列是指異步串行數(shù)據(jù)線上連續(xù)的一段Break序列;
(1) 當(dāng)待接收的Break序列長(zhǎng)度等于一個(gè)字符的長(zhǎng)度,異步串行數(shù)據(jù)收發(fā)器向系統(tǒng)報(bào)告 收到Break序列事件,進(jìn)入步驟(2);
(2) 如待接收的Break序列長(zhǎng)度《Break序列分段報(bào)告長(zhǎng)度,異步串行收發(fā)器統(tǒng)計(jì)完該 Idle序列長(zhǎng)度后,立即向系統(tǒng)報(bào)告收到Break序列和Break序列終止事件;異步串行收發(fā)器定 量接收的Break序列長(zhǎng)度等于統(tǒng)計(jì)的Break序列長(zhǎng)度;
(3) 如Break序列分段報(bào)告長(zhǎng)度〈待接收的Break序列長(zhǎng)度〈Break序列最大值,每當(dāng)統(tǒng) 計(jì)的Break序列長(zhǎng)度等于Break序列分段報(bào)告長(zhǎng)度時(shí),異步串行收發(fā)器就向系統(tǒng)報(bào)告一次收到 Break序列事件并清零重新分段統(tǒng)計(jì)Break序列長(zhǎng)度,直至到本Break序列的終點(diǎn),最后一次 向系統(tǒng)報(bào)告收到Break序列事件和Break序列終止事件;除最后一次報(bào)告收到Break序列事件 外,異步串行收發(fā)器定量接收的Break序列長(zhǎng)度等于Break序列分段報(bào)告長(zhǎng)度;最后一次報(bào)告 收到Break序列事件中,異步串行收發(fā)器定量接收的Break序列長(zhǎng)度等于最后一次分段統(tǒng)計(jì)的 Break序列長(zhǎng)度;
(4) 如待接收的Break序列S Break序列最大值;每當(dāng)統(tǒng)計(jì)的Break序列長(zhǎng)度等于Break 序列分段報(bào)告長(zhǎng)度時(shí),異步串行收發(fā)器就向系統(tǒng)報(bào)告一次收到Break序列事件并清零重新分 段統(tǒng)計(jì)Break序列長(zhǎng)度,直至累計(jì)的Break序列長(zhǎng)度等于Break序列最大值時(shí),異步串行收發(fā) 器停止統(tǒng)計(jì)并最后一次向系統(tǒng)報(bào)告收到Break序列事件,直到該Break序列終點(diǎn)才報(bào)告Break 序列終止事件;除最后一次報(bào)告收到Break序列事件外,異步串行收發(fā)器定量接收的Break序 列長(zhǎng)度等于Break序列分段報(bào)告長(zhǎng)度;最后一次報(bào)告收到Break序列事件中,異步串行收發(fā)器 定量接收的Break序列長(zhǎng)度等于累計(jì)到Break序列最大值時(shí),最后一次分段統(tǒng)計(jì)的Break序列 長(zhǎng)度。
異步串行收發(fā)器定量發(fā)送Idle序列,包括如下步驟根據(jù)發(fā)送長(zhǎng)度寄存器中已預(yù)先設(shè)定 的待發(fā)送的Idle序列長(zhǎng)度;
當(dāng)異步串行收發(fā)器發(fā)送完待發(fā)送的Idle序列,且根據(jù)系統(tǒng)發(fā)送事件隊(duì)列順序已有其它字 符信息或非字符信息序列需要發(fā)送,則異步串行收發(fā)器根據(jù)系統(tǒng)發(fā)送事件隊(duì)列順序發(fā)送已有 待發(fā)送的內(nèi)容;
當(dāng)異步串行收發(fā)器發(fā)送完待發(fā)送的Idle序列,且異步串行收發(fā)器無任何內(nèi)容需要發(fā)送, 則繼續(xù)發(fā)送Idle序列直到收到系統(tǒng)發(fā)送事件。
異步串行收發(fā)器定量發(fā)送Break序列,包括如下步驟根據(jù)發(fā)送長(zhǎng)度寄存器中已預(yù)先設(shè) 定的待發(fā)送的Break序列;
當(dāng)異步串行收發(fā)器發(fā)送完待發(fā)送的Break序列,且根據(jù)系統(tǒng)發(fā)送事件隊(duì)列順序已有其它
字符信息或非字符信息序列需要發(fā)送,則異步串行收發(fā)器根據(jù)系統(tǒng)發(fā)送事件隊(duì)列順序發(fā)送已 有待發(fā)送的內(nèi)容;
當(dāng)待發(fā)送的Break序列長(zhǎng)度等于設(shè)定的Break序列發(fā)送比較值,且異步串行收發(fā)器無任何 內(nèi)容需要發(fā)送,則發(fā)送Idle序列直到收到系統(tǒng)發(fā)送事件。
如圖3所示,異步串行收發(fā)器與系統(tǒng)連接的接口包括中斷請(qǐng)求信號(hào)線INT和局部總線 Local—bus,與異步串行電平轉(zhuǎn)換電路連接的接口包括發(fā)送信號(hào)線TXD和接收信號(hào)線RXD。圖3 未示出異步串行控制信號(hào)線,以下也不贅述。
異步串行收發(fā)器中接收數(shù)據(jù)信號(hào)線RXD分別與非字符信息識(shí)別器、字符收發(fā)器相連;非 字符信息識(shí)別器分別通過Idle序列定量接收單元、Break序列定量接收單元相連;定量發(fā)送 單元與中斷控制器相連,定量發(fā)送單元還與字符收發(fā)器和發(fā)送數(shù)據(jù)信號(hào)線TXD相連。
圖3中,Idle序列定量接收單元包括Idle序列報(bào)告計(jì)數(shù)器、Idle序列累加計(jì)數(shù)器、Idle 序列分段報(bào)告寄存器、Idle序列最小值寄存器、Idle序列最大值寄存器、Idle序列控制器、 接收Idle序列長(zhǎng)度寄存器、接收隊(duì)列控制器。
Idle序列定量發(fā)送單元包括Idle序列發(fā)送長(zhǎng)度寄存器、發(fā)送隊(duì)列控制器。
Break序列定量接收單元包括Break序列報(bào)告計(jì)數(shù)器、Break序列累加計(jì)數(shù)器、Break序列 分段報(bào)告寄存器、Break序列最大值寄存器、Break序列控制器、接收Break序列長(zhǎng)度寄存器 、接收隊(duì)列控制器。
Break序列定量發(fā)送單元包括Break序列發(fā)送長(zhǎng)度寄存器、發(fā)送隊(duì)列控制器。
字符收發(fā)器,用于收發(fā)異步字符數(shù)據(jù),本發(fā)明所述異步串行收發(fā)器的接收字符的功能和 使用方法與通用異步收發(fā)器相同。本發(fā)明所述字符收發(fā)器還增加輸出一路信號(hào)Rec—char 信號(hào)(接收字符信號(hào))。Rec—char信號(hào)從一個(gè)字符碼元序列的起始位開始到停止位結(jié)束期間 為邏輯0,其余時(shí)間為邏輯l,即在Rec—char信號(hào)為邏輯l時(shí),表示從接收數(shù)據(jù)信號(hào)線RXD上收 到非字符碼元。
字符收發(fā)器從起始位開始,檢測(cè)到數(shù)據(jù)位碼元為全O,并且停止位碼元也為O,即判斷為 Break序列,輸出檢測(cè)到Break序列信號(hào)至Break序列控制器。由于字符收發(fā)器檢査整個(gè)字符 碼元長(zhǎng)度后,才能識(shí)別出Break序列,因此在檢査整個(gè)字符碼元長(zhǎng)度期間,字符收發(fā)器輸出 的Rec—char信號(hào)為邏輯0,即在出現(xiàn)Break序列時(shí),字符收發(fā)器輸出Rec—char信號(hào)為邏輯l的 起始位置滯后于實(shí)際Break序列起始位置一個(gè)字符長(zhǎng)度。
字符收發(fā)器從停止位結(jié)束開始,檢測(cè)到數(shù)據(jù)線碼元為l,即判斷為Idle序列,輸出的 Rec—char信號(hào)由邏輯O變?yōu)檫壿媗,因此在出現(xiàn)Idle序列時(shí),字符收發(fā)器輸出的Rec—char信號(hào)
為邏輯l的起始位置與實(shí)際Idle序列起始位置同步。
非字符信息識(shí)別器,用于識(shí)別接收數(shù)據(jù)信號(hào)線RXD上收到的非字符碼元是Idle序列還是 Break序列。非字符信息識(shí)別器輸出Idle信號(hào)和Break信號(hào),輸出信號(hào)為邏輯l期間表示收到 相應(yīng)的序列,輸出信號(hào)為邏輯O期間表示沒有收到相應(yīng)的序列。
Idle信號(hào)輸出至Idle序列報(bào)告計(jì)數(shù)器和Idle序列累加計(jì)數(shù)器。Idle序列報(bào)告計(jì)數(shù)器和 Idle序列累加計(jì)數(shù)器在所述非字符信息識(shí)別器輸出所述Idle信號(hào)為邏輯l期間進(jìn)行計(jì)數(shù),計(jì) 數(shù)所用時(shí)鐘信號(hào)頻率與字符波特率相同。
Idle序列報(bào)告計(jì)數(shù)器的計(jì)數(shù)輸出作為比較器l的一個(gè)輸入值,Idle序列分段報(bào)告寄存器 的設(shè)置值作為所述比較器l的另一個(gè)輸入值, 一旦所述Idle序列報(bào)告計(jì)數(shù)器的計(jì)數(shù)輸出值大 于等于Idle序列分段報(bào)告寄存器的設(shè)置值,比較器l的比較結(jié)果信號(hào)即為邏輯l,否則為邏輯 0。所述比較器l的比較結(jié)果信號(hào)輸出至Idle序列控制器。
Idle序列累加計(jì)數(shù)器的計(jì)數(shù)輸出作為比較器2的一個(gè)輸入值,Idle序列最小值寄存器的 設(shè)置值作為比較器2的另一個(gè)輸入值, 一旦所述Idle序列長(zhǎng)度累加計(jì)數(shù)器的計(jì)數(shù)輸出值大于 等于Idle序列最小值寄存器的設(shè)置值,比較器2的比較結(jié)果信號(hào)即為邏輯1,否則為邏輯0。 比較器2的比較結(jié)果信號(hào)輸出至Idle序列控制器。
Idle序列累加計(jì)數(shù)器的計(jì)數(shù)輸出作為比較器3的一個(gè)輸入值,Idle序列最大值寄存器的 設(shè)置數(shù)值作為所述比較器3的另一個(gè)輸入數(shù)值, 一旦Idle序列長(zhǎng)度累加計(jì)數(shù)器的計(jì)數(shù)輸出值 大于等于Idle序列最大值寄存器的設(shè)置值,比較器3的比較結(jié)果信號(hào)即為邏輯1,否則為邏輯 0。比較器3的比較結(jié)果信號(hào)輸出至Idle序列控制器。
Idle序列控制器的輸入信號(hào)除比較器l、比較器2和比較器3輸出的比較結(jié)果信號(hào)外,還 包括非字符信息識(shí)別器輸出的Idle信號(hào)和Idle序列長(zhǎng)度報(bào)告計(jì)數(shù)器的計(jì)數(shù)輸出信號(hào)。
非字符信息識(shí)別器輸出的Idle信號(hào)狀態(tài)為邏輯l時(shí),當(dāng)比較器l的比較結(jié)果信號(hào)狀態(tài)為邏 輯l、比較器3的比較結(jié)果信號(hào)狀態(tài)為邏輯0、比較器2的比較結(jié)果信號(hào)狀態(tài)由邏輯0變?yōu)檫壿? ,表明目前接收的Idle序列長(zhǎng)度達(dá)到分段長(zhǎng)度但未達(dá)到Idle序列最大值,Idle序列控制器 將Idle序列長(zhǎng)度報(bào)告計(jì)數(shù)器的計(jì)數(shù)輸出值寫入接收Idle序列長(zhǎng)度寄存器,并向接收隊(duì)列控制 器報(bào)告收到Idle序列事件。Idle序列控制器同時(shí)通過清零信號(hào)l (邏輯0電平信號(hào))清零Idle 序列長(zhǎng)度報(bào)告計(jì)數(shù)器。
非字符信息識(shí)別器輸出的Idle信號(hào)狀態(tài)為邏輯l時(shí),當(dāng)比較器3的比較結(jié)果信號(hào)狀態(tài)由邏 輯0變?yōu)檫壿?,表明當(dāng)前接收的Idle序列長(zhǎng)度達(dá)到Idle序列最大值,Idle序列控制器將 Idle序列長(zhǎng)度報(bào)告計(jì)數(shù)器的計(jì)數(shù)輸出值寫入接收Idle序列長(zhǎng)度寄存器,并向接收隊(duì)列控制器報(bào)告收到Idle序列事件。Idle序列控制器發(fā)出清零信號(hào)l (邏輯0電平信號(hào))清零并封鎖Idle 序列長(zhǎng)度報(bào)告計(jì)數(shù)器,發(fā)出清零信號(hào)2清零并封鎖所述接收Idle序列長(zhǎng)度累加計(jì)數(shù)器,在該 Idle序列后續(xù)期間一直保持所述清零并封鎖狀態(tài),直到該Idle序列終止,Idle序列控制器 才發(fā)出清零信號(hào)l (邏輯l電平信號(hào))和清零信號(hào)2 (邏輯l電平信號(hào))解除對(duì)Idle序列長(zhǎng)度報(bào) 告計(jì)數(shù)器和I dl e序列長(zhǎng)度累加計(jì)數(shù)器的封鎖。
當(dāng)比較器1的比較結(jié)果為邏輯0,表明本Idle序列是碎片,所述接收Idle序列報(bào)告控制器 無動(dòng)作。
非字符信息識(shí)別器輸出的Idle信號(hào)狀態(tài)由邏輯1變?yōu)檫壿?時(shí),表明Idle序列終止。
由于Break信號(hào)的起始位置滯后于實(shí)際Break序列起始位置一個(gè)字符長(zhǎng)度,因此以下對(duì)于 Break序列長(zhǎng)度的計(jì)數(shù)均不含實(shí)際Break序列頭部一個(gè)字符長(zhǎng)度的數(shù)值。
Break信號(hào)輸出至Break序列報(bào)告計(jì)數(shù)器和接收Break序列累加計(jì)數(shù)器。Break序列報(bào)告 計(jì)數(shù)器和Break序列累加計(jì)數(shù)器在非字符信息識(shí)別器輸出Break信號(hào)為邏輯l期間進(jìn)行計(jì)數(shù), 計(jì)數(shù)所用時(shí)鐘信號(hào)頻率與字符波特率相同。
Break序列報(bào)告計(jì)數(shù)器的計(jì)數(shù)輸出作為比較器4的一個(gè)輸入值,Break序列分段報(bào)告寄存 器的設(shè)置值作為比較器4的另一個(gè)輸入值, 一旦Break序列報(bào)告計(jì)數(shù)器的計(jì)數(shù)輸出值大于等于 所述接收Break序列分段報(bào)告寄存器的設(shè)置值,比較器4的比較結(jié)果信號(hào)即為邏輯l,否則為 邏輯0。比較器4的比較結(jié)果信號(hào)輸出至Break序列控制器。
Break序列累加計(jì)數(shù)器的計(jì)數(shù)輸出作為比較器5的一個(gè)輸入值,Break序列最大值寄存器 的設(shè)置值作為比較器5的另一個(gè)輸入值, 一旦Break序列累加計(jì)數(shù)器的計(jì)數(shù)輸出值大于等于 Break序列最大值寄存器的設(shè)置值,比較器5的比較結(jié)果信號(hào)即為邏輯l,否則為邏輯0。比較 器5的比較結(jié)果信號(hào)輸出至Break序列控制器。
接收Break序列控制器的輸入信號(hào)除比較器4和比較器5輸出的比較結(jié)果信號(hào)外,還包括 非字符信息識(shí)別器輸出的Break信號(hào)和Break序列報(bào)告計(jì)數(shù)器的計(jì)數(shù)輸出信號(hào)、以及字符收發(fā) 器輸出的Break序列檢測(cè)信號(hào)。
字符收發(fā)器輸出的Break序列檢測(cè)信號(hào)狀態(tài)為邏輯l時(shí),表明字符收發(fā)器檢測(cè)到一個(gè)字符 長(zhǎng)度的Break序列,Break序列控制器向接收隊(duì)列控制器報(bào)告收到一個(gè)字符長(zhǎng)度Break序列事 件,寫入接收Break序列長(zhǎng)度數(shù)據(jù)寄存器的數(shù)值為一個(gè)字符長(zhǎng)度,同時(shí)通過清零信號(hào)5清零字 符收發(fā)器中Break序列檢測(cè)信號(hào)。
非字符信息識(shí)別器輸出的Break信號(hào)狀態(tài)為邏輯l時(shí),當(dāng)比較器4的比較結(jié)果信號(hào)狀態(tài)由 邏輯0變?yōu)檫壿?,比較器5的比較結(jié)果信號(hào)狀態(tài)為邏輯0,表明當(dāng)前Break序列長(zhǎng)度達(dá)到分段 長(zhǎng)度但未達(dá)到Break序列最大值,Break序列控制器將Break序列報(bào)告計(jì)數(shù)器的計(jì)數(shù)輸出值寫 入接收Break序列長(zhǎng)度寄存器,并向接收隊(duì)列控制器報(bào)告收到持續(xù)Break序列事件。Break序 列控制器同時(shí)通過清零信號(hào)3清零Break序列長(zhǎng)度報(bào)告計(jì)數(shù)器。
非字符信息識(shí)別器輸出的Break信號(hào)狀態(tài)為邏輯l時(shí),當(dāng)比較器5的比較結(jié)果信號(hào)狀態(tài)由 邏輯0變?yōu)檫壿?,表明當(dāng)前Break序列長(zhǎng)度達(dá)到Break序列最大值,Break序列控制器將 Break序列報(bào)告計(jì)數(shù)器的計(jì)數(shù)輸出值寫入接收Break序列長(zhǎng)度寄存器,并向接收隊(duì)列控制器報(bào) 告收到持續(xù)Break序列事件。Break序列控制器發(fā)出清零信號(hào)3 (邏輯0電平信號(hào))清零并封鎖 Break序列報(bào)告計(jì)數(shù)器,發(fā)出清零信號(hào)4 (邏輯0電平信號(hào))清零并封鎖接收Break序列累加計(jì) 數(shù)器,在本Break序列后續(xù)期間一直保持所述清零并封鎖狀態(tài),直到本Break序列終止Break 序列控制器才發(fā)出清零信號(hào)3 (邏輯l電平信號(hào))和清零信號(hào)4 (邏輯l電平信號(hào))解除對(duì) Break序列報(bào)告計(jì)數(shù)器和Break序列累加計(jì)數(shù)器的封鎖,并報(bào)告收到Break序列終止事件。
非字符信息識(shí)別器輸出的Break信號(hào)狀態(tài)由邏輯l變?yōu)檫壿婳時(shí),表明Break序列終止。當(dāng) 比較器5的比較結(jié)果信號(hào)狀態(tài)為邏輯0,表明當(dāng)前接收的Break序列長(zhǎng)度未達(dá)到Break序列最大 值,Break序列控制器將Break序列報(bào)告計(jì)數(shù)器的計(jì)數(shù)輸出值寫入接收Break序列寄存器,并 向接收隊(duì)列控制器報(bào)告收到Break序列終止事件。Break序列控制器同時(shí)發(fā)出清零信號(hào)3清零 Break序列報(bào)告計(jì)數(shù)器,發(fā)出清零信號(hào)4清零Break序列累加計(jì)數(shù)器。
所述接收隊(duì)列控制器接收的報(bào)告事件包括
字符收發(fā)器報(bào)告的收到字符事件;
字符收發(fā)器報(bào)告的所述檢測(cè)到Break序列事件;
接收Idle序列報(bào)告控制器報(bào)告的所述收到Idle序列事件;
接收Break序列報(bào)告控制器報(bào)告的所述收到一個(gè)字符長(zhǎng)度Break序列事件;
接收Break序列報(bào)告控制器報(bào)告的所述收到持續(xù)Break序列事件;
Break序列報(bào)告控制器報(bào)告的接收Break序列終止事件。
接收隊(duì)列控制器將其收到的所述各種報(bào)告事件組織成隊(duì)列,按序向中斷控制器發(fā)出事件 報(bào)告信號(hào),中斷控制器接收到事件報(bào)告信號(hào)后產(chǎn)生中斷請(qǐng)求信號(hào)INT。中斷控制器在已有中 斷請(qǐng)求信號(hào)INT未被響應(yīng)的情況下,控制接收隊(duì)列控制器暫不發(fā)出新的事件報(bào)告信號(hào)。
Idle序列發(fā)送長(zhǎng)度寄存器,用于控制所述異步串行收發(fā)器發(fā)送Idle序列的長(zhǎng)度,由系統(tǒng) 向I dl e序列發(fā)送長(zhǎng)度寄存器設(shè)置要發(fā)送的I dl e序列長(zhǎng)度數(shù)值。
Break序列發(fā)送長(zhǎng)度寄存器,用于控制所述異步串行收發(fā)器發(fā)送Break序列的長(zhǎng)度,由系 統(tǒng)向Break序列發(fā)送長(zhǎng)度寄存器寫入要發(fā)送的Break序列長(zhǎng)度數(shù)值。
發(fā)送隊(duì)列控制器,將其收到的各種發(fā)送事件組織成隊(duì)列,按序向發(fā)送數(shù)據(jù)信號(hào)線TXD發(fā) 送。當(dāng)發(fā)送隊(duì)列控制器發(fā)送完字符數(shù)據(jù)、Break序列或Idle序列,或者余下的未發(fā)送完部分 達(dá)到設(shè)置水平時(shí),發(fā)送隊(duì)列控制器向中斷控制器發(fā)出發(fā)送事件報(bào)告信號(hào),中斷控制器接收到 發(fā)送事件報(bào)告信號(hào)后產(chǎn)生中斷請(qǐng)求信號(hào)INT。所述中斷控制器在已有中斷請(qǐng)求信號(hào)INT未被響 應(yīng)的情況下,控制所述發(fā)送隊(duì)列控制器暫不發(fā)出新的發(fā)送事件報(bào)告信號(hào)。
以上所述僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟 悉該技術(shù)的人在本發(fā)明揭露的技術(shù)范圍以內(nèi),可以輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā) 明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
權(quán)利要求1異步串行數(shù)據(jù)線信息收發(fā)方法,異步串行收發(fā)器通過異步串行數(shù)據(jù)線收發(fā)字符數(shù)據(jù)信息,其特征在于,還包括收發(fā)非字符信息的步驟a、異步串行收發(fā)器從異步串行數(shù)據(jù)線接收非字符信息時(shí),識(shí)別非字符信息的序列類型并統(tǒng)計(jì)非字符信息的序列長(zhǎng)度,定量接收非字符信息,并向系統(tǒng)報(bào)告收到非字符信息事件;b、異步串行收發(fā)器向異步串行數(shù)據(jù)線發(fā)送非字符信息時(shí),根據(jù)從系統(tǒng)收到的發(fā)送非字符信息事件,定量發(fā)送非字符信息。
2.如權(quán)利要求l所述異步串行數(shù)據(jù)線信息收發(fā)方法,其特征在于,所 述非字符信息為Idle序列。
3.如權(quán)利要求2所述異步串行數(shù)據(jù)線信息收發(fā)方法,其特征在于,步 驟a所述定量接收非字符信息,對(duì)于接收Idle序列時(shí)具體為預(yù)先設(shè)定Idle序列最小值、 Idle序列分段報(bào)告長(zhǎng)度、Idle序列最大值;所述Idle序列最大值〉Idle序列分段報(bào)告長(zhǎng)度〉 Idle序列最小值;分類處理過程如下(1) 如待接收的Idle序列長(zhǎng)度《Idle序列最小值,異步串行收發(fā)器統(tǒng)計(jì)完該Idle序列 長(zhǎng)度后,異步串行收發(fā)器忽略該Idle序列,不向系統(tǒng)報(bào)告收到Idle序列事件;(2) 如ldle序列最小值〈待接收的Idle序列長(zhǎng)度《Idle序列分段報(bào)告長(zhǎng)度,異步串行 收發(fā)器定量接收的Idle序列長(zhǎng)度等于統(tǒng)計(jì)的Idle序列長(zhǎng)度,并向系統(tǒng)報(bào)告收到Idle序列事件(3) 如ldle序列分段報(bào)告長(zhǎng)度〈待接收的Idle序列長(zhǎng)度〈Idle序列最大值,每當(dāng)統(tǒng)計(jì) 的Idle序列長(zhǎng)度等于Idle序列分段報(bào)告長(zhǎng)度時(shí),異步串行收發(fā)器就向系統(tǒng)報(bào)告一次收到Idle 序列事件并清零重新分段統(tǒng)計(jì)Idle序列長(zhǎng)度,直至到本Idle序列的終點(diǎn),最后一次向系統(tǒng)報(bào) 告收到Idle序列事件;除最后一次報(bào)告收到Idle序列事件外,異步串行收發(fā)器定量接收的 Idle序列長(zhǎng)度等于Idle序列分段報(bào)告長(zhǎng)度;最后一次報(bào)告收到Idle序列事件中,異步串行收 發(fā)器定量接收的Idle序列長(zhǎng)度等于最后一次分段統(tǒng)計(jì)的Idle序列長(zhǎng)度;(4) 如ldle序列最大值《待接收的Idle序列長(zhǎng)度時(shí),每當(dāng)統(tǒng)計(jì)的Idle序列長(zhǎng)度等于 Idle序列分段報(bào)告長(zhǎng)度時(shí),異步串行收發(fā)器就向系統(tǒng)報(bào)告一次收到Idle序列事件并清零重新 分段統(tǒng)計(jì)Idle序列長(zhǎng)度,直至累計(jì)的Idle序列長(zhǎng)度等于Idle序列最大值時(shí),異步串行收發(fā)器 停止統(tǒng)計(jì)并最后一次向系統(tǒng)報(bào)告收到Idle序列事件;除最后一次報(bào)告收到Idle序列事件外, 異步串行收發(fā)器定量接收的Idle序列長(zhǎng)度等于Idle序列分段報(bào)告長(zhǎng)度;最后一次報(bào)告收到 Idle序列事件中,異步串行收發(fā)器定量接收的Idle序列長(zhǎng)度等于累計(jì)到Idle序列最大值時(shí), 最后一次分段統(tǒng)計(jì)的Idle序列長(zhǎng)度;所述待接收的I dl e序列是指異步串行數(shù)據(jù)線上連續(xù)的 一段I dl e序列。
4.如權(quán)利要求3所述異步串行數(shù)據(jù)線信息收發(fā)方法,其特征在于,步 驟b所述定量發(fā)送非字符信息,對(duì)于發(fā)送Idle序列時(shí)具體為根據(jù)發(fā)送長(zhǎng)度寄存器中系統(tǒng)已 預(yù)先設(shè)定待發(fā)送的Idle序列長(zhǎng)度;當(dāng)異步串行收發(fā)器發(fā)送完待發(fā)送的Idle序列,且根據(jù)系統(tǒng)發(fā)送事件隊(duì)列順序已有其它 字符信息或非字符信息序列需要發(fā)送,則異步串行收發(fā)器根據(jù)系統(tǒng)發(fā)送事件隊(duì)列順序發(fā)送已 有待發(fā)送的內(nèi)容;當(dāng)異步串行收發(fā)器發(fā)送完待發(fā)送的Idle序列,且異步串行收發(fā)器無任何內(nèi)容需要發(fā)送 ,則繼續(xù)發(fā)送Idle序列直到收到系統(tǒng)發(fā)送事件。
5.如權(quán)利要求2至4任一項(xiàng)權(quán)利要求所述異步串行數(shù)據(jù)線信息收發(fā)方 法,其特征在于,所述非字符信息還包括Break序列。
6.如權(quán)利要求5所述異步串行數(shù)據(jù)線信息收發(fā)方法,其特征在于,步 驟a所述定量接收非字符信息,對(duì)于接收Break序列時(shí)具體為預(yù)先設(shè)定Break序列最大值、 Break序列分段報(bào)告長(zhǎng)度,所述Break序列最大值〉Break序列分段報(bào)告長(zhǎng)度;(1) 當(dāng)待接收的Break序列長(zhǎng)度等于一個(gè)字符的長(zhǎng)度,異步串行數(shù)據(jù)收發(fā)器向系統(tǒng)報(bào) 告收到Break序列事件,進(jìn)入步驟(2);(2) 如待接收的Break序列長(zhǎng)度《Break序列分段報(bào)告長(zhǎng)度,異步串行收發(fā)器統(tǒng)計(jì)完該 Idle序列長(zhǎng)度后,立即向系統(tǒng)報(bào)告收到Break序列和Break序列終止事件;異步串行收發(fā)器定 量接收的Break序列長(zhǎng)度等于統(tǒng)計(jì)的Break序列長(zhǎng)度;(3) 如Break序列分段報(bào)告長(zhǎng)度〈待接收的Break序列長(zhǎng)度〈Break序列最大值,每當(dāng) 統(tǒng)計(jì)的Break序列長(zhǎng)度等于Break序列分段報(bào)告長(zhǎng)度時(shí),異步串行收發(fā)器就向系統(tǒng)報(bào)告一次收 到Break序列事件并清零重新分段統(tǒng)計(jì)Break序列長(zhǎng)度,直至到本Break序列的終點(diǎn),最后一 次向系統(tǒng)報(bào)告收到Break序列事件和Break序列終止事件;除最后一次報(bào)告收到Break序列事 件外,異步串行收發(fā)器定量接收的Break序列長(zhǎng)度等于Break序列分段報(bào)告長(zhǎng)度;最后一次報(bào)告收到Break序列事件中,異步串行收發(fā)器定量接收的Break序列長(zhǎng)度等于最后一次分段統(tǒng)計(jì) 的Break序列長(zhǎng)度;(4)如待接收的Break序列S Break序列最大值;每當(dāng)統(tǒng)計(jì)的Break序列長(zhǎng)度等于Break 序列分段報(bào)告長(zhǎng)度時(shí),異步串行收發(fā)器就向系統(tǒng)報(bào)告一次收到Break序列事件并清零重新分 段統(tǒng)計(jì)Break序列長(zhǎng)度,直至累計(jì)的Break序列長(zhǎng)度等于Break序列最大值時(shí),異步串行收發(fā) 器停止統(tǒng)計(jì)并最后一次向系統(tǒng)報(bào)告收到Break序列事件,直到該Break序列終點(diǎn)才報(bào)告Break 序列終止事件;除最后一次報(bào)告收到Break序列事件外,異步串行收發(fā)器定量接收的Break序 列長(zhǎng)度等于Break序列分段報(bào)告長(zhǎng)度;最后一次報(bào)告收到Break序列事件中異步串行收發(fā)器定 量接收的Break序列長(zhǎng)度等于累計(jì)到Break序列最大值時(shí),最后一次分段統(tǒng)計(jì)時(shí)的Break序列 長(zhǎng)度;所述待接收的Break序列是指異步串行數(shù)據(jù)線上連續(xù)的一段Break序列。
7.如權(quán)利要求6所述異步串行數(shù)據(jù)線信息收發(fā)方法,其特征在于,步 驟b所述定量發(fā)送非字符信息,對(duì)于發(fā)送Break序列時(shí)具體為根據(jù)發(fā)送長(zhǎng)度寄存器中系統(tǒng)已 預(yù)先設(shè)定待發(fā)送的Break序列長(zhǎng)度;當(dāng)異步串行收發(fā)器發(fā)送完待發(fā)送的Break序列,且根據(jù)系統(tǒng)發(fā)送事件隊(duì)列順序已有其它 當(dāng)待發(fā)送的Break序列長(zhǎng)度等于設(shè)定的Break序列發(fā)送比較值,且異步串行收發(fā)器無任 何內(nèi)容需要發(fā)送,則發(fā)送Idle序列直到收到系統(tǒng)發(fā)送事件。
8.異步串行收發(fā)器,包括字符收發(fā)器、中斷控制器,中斷控制器與 字符收發(fā)器相連,其特征在于,還包括非字符信息識(shí)別器、定量接收單元;非字符信息識(shí)別 器的輸入端、字符收發(fā)器的輸入端分別與接收數(shù)據(jù)信號(hào)線相連;非字符信息識(shí)別器與定量接 收單元相連;定量接收單元的輸出端連接中斷控制器;所述非字符信息識(shí)別器用于識(shí)別非字符信息的序列類型; 所述定量接收單元用于統(tǒng)計(jì)非字符信息的序列長(zhǎng)度,定量接收非字符信息。
9.如權(quán)利要求8所述異步串行收發(fā)器,其特征在于,定量接收單元包 括計(jì)數(shù)器、接收比較器、接收比較寄存器、非字符信息控制器、接收長(zhǎng)度寄存器、接收隊(duì)列 控制器;非字符信息識(shí)別器與計(jì)數(shù)器相連;接收比較寄存器與接收比較器的一個(gè)輸入端相連 ,接收比較器的另一個(gè)輸入端與計(jì)數(shù)器相連;非字符信息控制器分別與接收比較器、計(jì)數(shù)器 、非字符信息識(shí)別器相連;非字符信息控制器的控制端與計(jì)數(shù)器相連;非字符信息控制器的 輸出端分別與接收長(zhǎng)度寄存器和接收隊(duì)列控制器相連,接收隊(duì)列控制器的輸出端連接中斷控 制器; 所述計(jì)數(shù)器用于統(tǒng)計(jì)待接收的非字符信息的序列長(zhǎng)度; 所述接收比較寄存器用于存儲(chǔ)預(yù)先設(shè)定的控制接收序列長(zhǎng)度值;所述接收比較器用于比較待接收的非字符信息的序列長(zhǎng)度與控制接收序列長(zhǎng)度值,將 比較結(jié)果輸出到非字符信息控制器;所述接收長(zhǎng)度寄存器用于存儲(chǔ)定量接收的非字符信息;所述非字符信息控制器用于根據(jù)所述比較結(jié)果將定量接收的非字符信息寫入接收長(zhǎng)度 寄存器,并向接收隊(duì)列控制器報(bào)告接收到非字符信息事件;所述接收隊(duì)列控制器用于將來自于非字符信息控制器、字符收發(fā)器的報(bào)告事件組織成 隊(duì)列,按序向中斷控制器發(fā)出事件報(bào)告信號(hào)。
10.如權(quán)利要求9所述異步串行收發(fā)器,其特征在于,所述定量接收 單元包括Idle序列定量接收單元,所述接收比較寄存器保存的預(yù)先設(shè)定的控制接收序列長(zhǎng)度 值包括Idle序列最小值、Idle序列分段報(bào)告長(zhǎng)度、Idle序列最大值。
11.如權(quán)利要求10所述異步串行收發(fā)器,其特征在于,所述定量接收 單元還包括Break序列定量接收單元,所述接收比較寄存器存儲(chǔ)的預(yù)先設(shè)定的控制接收序列 長(zhǎng)度值還包括Break序列分段報(bào)告長(zhǎng)度、Break序列最大值。
12.如權(quán)利要求8或9所述異步串行收發(fā)器,其特征在于,還包括定量 發(fā)送單元,定量發(fā)送單元輸出端連接發(fā)送數(shù)據(jù)信號(hào)線相連。
13.如權(quán)利要求12所述異步串行收發(fā)器,其特征在于,定量發(fā)送單元 包括發(fā)送隊(duì)列控制器、發(fā)送長(zhǎng)度寄存器;所述字符收發(fā)器與發(fā)送隊(duì)列控制器的一個(gè)輸入端相 連;發(fā)送長(zhǎng)度寄存器與發(fā)送隊(duì)列控制器的另一個(gè)輸入端相連;發(fā)送隊(duì)列控制器的輸出端連接 發(fā)送數(shù)據(jù)信號(hào)線,發(fā)送隊(duì)列控制器還與中斷控制器相連;所述發(fā)送長(zhǎng)度寄存器用于保存已設(shè)定的待發(fā)送的非字符信息;所述發(fā)送隊(duì)列控制器用于將收到的發(fā)送事件組織成隊(duì)列,根據(jù)已設(shè)定的待發(fā)送非字符 信息序列長(zhǎng)度,按序向發(fā)送數(shù)據(jù)信號(hào)線發(fā)送。
14.如權(quán)利要求13所述異步串行收發(fā)器,其特征在于,所述定量發(fā)送 單元包括Idle序列定量發(fā)送單元、Break序列定量發(fā)送單元,所述發(fā)送長(zhǎng)度寄存器保存的已 設(shè)定的待發(fā)送的非字符信息包括Idle序列、Break序列。
全文摘要
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,特別涉及異步串行數(shù)據(jù)收發(fā)技術(shù)。本發(fā)明要解決的技術(shù)問題是提供一種不依賴外部定時(shí)器,能定量收發(fā)非字符信息的方法及實(shí)現(xiàn)該方法的異步串行收發(fā)器。本發(fā)明所采用的技術(shù)方案是一種異步串行數(shù)據(jù)線信息收發(fā)方法,異步串行收發(fā)器通過異步串行數(shù)據(jù)線收發(fā)字符數(shù)據(jù)信息,其特征在于,還包括收發(fā)非字符信息的步驟。本發(fā)明還提供了一種實(shí)現(xiàn)上述方法的異步串行收發(fā)器,包括字符收發(fā)器、中斷控制器,中斷控制器與字符收發(fā)器相連,還包括非字符信息識(shí)別器、定量接收單元。本發(fā)明的有益效果是,異步串行收發(fā)器能直接地收發(fā)非字符信息序列,其實(shí)現(xiàn)方法相比現(xiàn)有方法,有效減小系統(tǒng)開銷,降低軟件的復(fù)雜度。
文檔編號(hào)H04L7/00GK101383819SQ20071020158
公開日2009年3月11日 申請(qǐng)日期2007年9月5日 優(yōu)先權(quán)日2007年9月5日
發(fā)明者馮克平 申請(qǐng)人:邁普(四川)通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
密云县| 永靖县| 黑水县| 达州市| 香格里拉县| 阿城市| 桂平市| 光泽县| 永胜县| 元朗区| 武陟县| 黎川县| 平遥县| 诸城市| 囊谦县| 霍城县| 海南省| 防城港市| 义马市| 梓潼县| 瓦房店市| 当雄县| 长宁区| 宜宾市| 滕州市| 枣阳市| 沾化县| 且末县| 彰武县| 师宗县| 镇江市| 平远县| 柏乡县| 彩票| 黔西| 巴中市| 治县。| 白河县| 玉溪市| 鄂尔多斯市| 日照市|