數(shù)據(jù)通信的基本方式可分為并行通信與串行通信兩種:
并行通信:是指利用多條數(shù)據(jù)傳輸線將一個資料的各位同時傳送,。它的特點(diǎn)是傳輸速度快,適用于短距離通信,,但要求通訊速率較高的應(yīng)用場合,。
串行通信:是指利用一條傳輸線將資料一位位地順序傳送。特點(diǎn)是通信線路簡單,,利用簡單的線纜就可實現(xiàn)通信,,降低成本,適用于遠(yuǎn)距離通信,,但傳輸速度慢的應(yīng)用場合,。
一、異步通信及其協(xié)議
異步通信以一個字符為傳輸單位,,通信中兩個字符間的時間間隔是不固定的,,然而在同一個字符中的兩個相鄰位代碼間的時間間隔是固定的。
通信協(xié)議(通信規(guī)程):是指通信雙方約定的一些規(guī)則,。在使用異步串口傳送一個字符的信息時,,對資料格式有如下約定:規(guī)定有空閑位、起始位,、資料位,、奇偶校驗位、停止位,。
異步通訊的時序,如圖5-1,。
其中各位的意義如下:
起始位:先發(fā)出一個邏輯”0”信號,,表示傳輸字符的開始。
資料位:緊接著起始位之后,。資料位的個數(shù)可以是4,、5、6,、7,、8等,構(gòu)成一個字符,。通常采用ASCII碼,。從最低位開始傳送,靠時鐘定位,。
奇偶校驗位:資料位加上這一位后,,使得“1”的位數(shù)應(yīng)為偶數(shù)(偶校驗)或奇數(shù)(奇校驗),以此來校驗資料傳送的正確性,。
停止位:它是一個字符數(shù)據(jù)的結(jié)束標(biāo)志,??梢允?位、1.5位,、2位的高電平,。
空閑位:處于邏輯“1”狀態(tài),表示當(dāng)前線路上沒有資料傳送,。
波特率:是衡量資料傳送速率的指針,。表示每秒鐘傳送的二進(jìn)制位數(shù)。例如資料傳送速率為120字符/秒,,而每一個字符為10位,,則其傳送的波特率為10×120=1200字符/秒=1200波特。
注:異步通信是按字符傳輸?shù)?,接收設(shè)備在收到起始信號之后只要在一個字符的傳輸時間內(nèi)能和發(fā)送設(shè)備保持同步就能正確接收,。下一個字符起始位的到來又使同步重新校準(zhǔn)(依靠檢測起始位來實現(xiàn)發(fā)送與接收方的時鐘自同步的)。
二,、資料傳送方式
根據(jù)資料傳送方向的不同有以下三種方式,。如圖5-2所示。
?。?)單工方式 (2)半雙工方式 (3)全雙工方式
圖5-2 資料傳送方式
1,、單工方式
資料始終是從A設(shè)備發(fā)向B設(shè)備。
2,、 半雙工方式
資料能從A設(shè)備傳送到B設(shè)備,,也能從B設(shè)備傳送到A設(shè)備。在任何時候資料都不能同時在兩個方向上傳送,,即每次只能有一個設(shè)備發(fā)送,,另一個設(shè)備接收。但是通訊雙方依照一定的通訊協(xié)議來輪流地進(jìn)行發(fā)送和接收,。
3,、 全雙工方式
允許通信雙方同時進(jìn)行發(fā)送和接收。這時,,A設(shè)備在發(fā)送的同時也可以接收,,B設(shè)備亦同。全雙工方式相當(dāng)于把兩個方向相反的單工方式組合在一起,,因此它需要兩條數(shù)據(jù)傳輸線,。在計算機(jī)串行通訊中主要使用半雙工和全雙工方式。
三,、信號傳輸方式
1,、基帶傳輸方式
在傳輸線路上直接傳輸不加調(diào)制的二進(jìn)制信號,如圖所示。它要求傳送線的頻帶較寬,,傳輸?shù)臄?shù)字信號是矩形波,。
基帶傳輸方式僅適宜于近距離和速度較低的通信。
2,、頻帶傳輸方式
傳輸經(jīng)過調(diào)制的模擬信號
在長距離通信時,,發(fā)送方要用調(diào)制器把數(shù)字信號轉(zhuǎn)換成模擬信號,接收方則用解調(diào)器將接收到的模擬信號再轉(zhuǎn)換成數(shù)字信號,,這就是信號的調(diào)制解調(diào),。
實現(xiàn)調(diào)制和解調(diào)任務(wù)的裝置稱為調(diào)制解調(diào)器(MODEM)。采用頻帶傳輸時,,通信雙方各接一個調(diào)制解調(diào)器,,將數(shù)字信號寄載在模擬信號(載波)上加以傳輸。因此,,這種傳輸方式也稱為載波傳輸方式,。這時的通信線路可以是電話交換網(wǎng),也可以是專用線,。
常用的調(diào)制方式有三種:
調(diào)幅,、調(diào)頻和調(diào)相,分別如下圖所示,。
四,、串行接口標(biāo)準(zhǔn)
串行接口標(biāo)準(zhǔn):指的是計算機(jī)或終端(資料終端設(shè)備DTE)的串行接口電路與調(diào)制解調(diào)器MODEM等(數(shù)據(jù)通信設(shè)備DCE)之間的連接標(biāo)準(zhǔn)。
RS-232C標(biāo)準(zhǔn)
RS-232C是一種標(biāo)準(zhǔn)接口,,D型插座,,采用25芯引腳或9芯引腳的連接器,如圖5-5所示,。
圖5-5
微型計算機(jī)之間的串行通信就是按照RS-232C標(biāo)準(zhǔn)設(shè)計的接口電路實現(xiàn)的,。如果使用一根電話線進(jìn)行通信,那幺計算機(jī)和MODEM之間的聯(lián)機(jī)就是根據(jù)RS-232C標(biāo)準(zhǔn)連接的,。其連接及通信原理如圖5-6所示
圖5-6
RS232信號定義
RS-232C標(biāo)準(zhǔn)規(guī)定接口有25根聯(lián)機(jī),。只有以下9個信號經(jīng)常使用,。
引腳和功能分別如下:
1. TXD(第2腳):發(fā)送資料線,,輸出。發(fā)送資料到MODEM,。
2. RXD(第3腳):接收資料線,,輸入。接收資料到計算機(jī)或終端,。
3. (第4腳):請求發(fā)送,,輸出。計算機(jī)通過此引腳通知MODEM,要求發(fā)送資料,。
4. (第5腳):允許發(fā)送,,輸入。發(fā)出 作為對 的回答,,計算機(jī)才可以進(jìn)行發(fā)送資料,。
5. (第6腳):資料裝置就緒(即MODEM準(zhǔn)備好),輸入,。表示調(diào)制解調(diào)器可以使用,,該信號有時直接接到電源上,這樣當(dāng)設(shè)備連通時即有效,。
6. CD(第8腳):載波檢測(接收線信號測定器),,輸入。表示MODEM已與電話線路連接好,。
7. 如果通信線路是交換電話的一部分,,則至少還需如下兩個信號:
8. RI(第22腳):振鈴指示,輸入,。MODEM若接到交換臺送來的振鈴呼叫信號,,就發(fā)出該信號來通知計算機(jī)或終端。
9. (第20腳):資料終端就緒,,輸出,。計算機(jī)收到RI信號以后,就發(fā)出 信號到MODEM作為回答,,以控制它的轉(zhuǎn)換設(shè)備,,建立通信鏈路。
10. GND(第7腳):信號地
邏輯電平
RS-232C標(biāo)準(zhǔn)采用EIA電平,,規(guī)定:
“1”的邏輯電平在-3V~-15v之間
“0”的邏輯電平在+3V~+15V之間,。
由于EIA電平與TTL電平完全不同,必須進(jìn)行相應(yīng)的電平轉(zhuǎn)換,,MCl488完成TTL電平到EIA電平的轉(zhuǎn)換,,MCl489完成EIA電平到ITL電平的轉(zhuǎn)換。還有MAX232可以同時完成TTL-》EIA和EIA-》TTL的電平轉(zhuǎn)換,。
數(shù)據(jù)通信的基本方式可分為并行通信與串行通信兩種:
并行通信:是指利用多條數(shù)據(jù)傳輸線將一個資料的各位同時傳送,。它的特點(diǎn)是傳輸速度快,適用于短距離通信,,但要求通訊速率較高的應(yīng)用場合,。
串行通信:是指利用一條傳輸線將資料一位位地順序傳送。特點(diǎn)是通信線路簡單,,利用簡單的線纜就可實現(xiàn)通信,,降低成本,適用于遠(yuǎn)距離通信,但傳輸速度慢的應(yīng)用場合,。
一,、異步通信及其協(xié)議
異步通信以一個字符為傳輸單位,通信中兩個字符間的時間間隔是不固定的,,然而在同一個字符中的兩個相鄰位代碼間的時間間隔是固定的,。
通信協(xié)議(通信規(guī)程):是指通信雙方約定的一些規(guī)則。在使用異步串口傳送一個字符的信息時,,對資料格式有如下約定:規(guī)定有空閑位,、起始位、資料位,、奇偶校驗位,、停止位。
異步通訊的時序,,如圖5-1,。
其中各位的意義如下:
起始位:先發(fā)出一個邏輯”0”信號,表示傳輸字符的開始,。
資料位:緊接著起始位之后,。資料位的個數(shù)可以是4、5,、6,、7、8等,,構(gòu)成一個字符,。通常采用ASCII碼。從最低位開始傳送,,靠時鐘定位,。
奇偶校驗位:資料位加上這一位后,使得“1”的位數(shù)應(yīng)為偶數(shù)(偶校驗)或奇數(shù)(奇校驗),,以此來校驗資料傳送的正確性,。
停止位:它是一個字符數(shù)據(jù)的結(jié)束標(biāo)志??梢允?位,、1.5位、2位的高電平,。
空閑位:處于邏輯“1”狀態(tài),,表示當(dāng)前線路上沒有資料傳送,。
波特率:是衡量資料傳送速率的指針,。表示每秒鐘傳送的二進(jìn)制位數(shù)。例如資料傳送速率為120字符/秒,而每一個字符為10位,,則其傳送的波特率為10×120=1200字符/秒=1200波特,。
注:異步通信是按字符傳輸?shù)模邮赵O(shè)備在收到起始信號之后只要在一個字符的傳輸時間內(nèi)能和發(fā)送設(shè)備保持同步就能正確接收,。下一個字符起始位的到來又使同步重新校準(zhǔn)(依靠檢測起始位來實現(xiàn)發(fā)送與接收方的時鐘自同步的),。
二、資料傳送方式
根據(jù)資料傳送方向的不同有以下三種方式,。如圖5-2所示,。
(1)單工方式 (2)半雙工方式 (3)全雙工方式
圖5-2 資料傳送方式
1,、單工方式
資料始終是從A設(shè)備發(fā)向B設(shè)備,。
2、 半雙工方式
資料能從A設(shè)備傳送到B設(shè)備,,也能從B設(shè)備傳送到A設(shè)備,。在任何時候資料都不能同時在兩個方向上傳送,即每次只能有一個設(shè)備發(fā)送,,另一個設(shè)備接收,。但是通訊雙方依照一定的通訊協(xié)議來輪流地進(jìn)行發(fā)送和接收。
3,、 全雙工方式
允許通信雙方同時進(jìn)行發(fā)送和接收,。這時,A設(shè)備在發(fā)送的同時也可以接收,,B設(shè)備亦同,。全雙工方式相當(dāng)于把兩個方向相反的單工方式組合在一起,因此它需要兩條數(shù)據(jù)傳輸線,。在計算機(jī)串行通訊中主要使用半雙工和全雙工方式,。
三、信號傳輸方式
1,、基帶傳輸方式
在傳輸線路上直接傳輸不加調(diào)制的二進(jìn)制信號,,如圖所示。它要求傳送線的頻帶較寬,,傳輸?shù)臄?shù)字信號是矩形波,。
基帶傳輸方式僅適宜于近距離和速度較低的通信。
2,、頻帶傳輸方式
傳輸經(jīng)過調(diào)制的模擬信號
在長距離通信時,,發(fā)送方要用調(diào)制器把數(shù)字信號轉(zhuǎn)換成模擬信號,接收方則用解調(diào)器將接收到的模擬信號再轉(zhuǎn)換成數(shù)字信號,,這就是信號的調(diào)制解調(diào),。
實現(xiàn)調(diào)制和解調(diào)任務(wù)的裝置稱為調(diào)制解調(diào)器(MODEM),。采用頻帶傳輸時,通信雙方各接一個調(diào)制解調(diào)器,,將數(shù)字信號寄載在模擬信號(載波)上加以傳輸,。因此,這種傳輸方式也稱為載波傳輸方式,。這時的通信線路可以是電話交換網(wǎng),,也可以是專用線。
常用的調(diào)制方式有三種:
調(diào)幅,、調(diào)頻和調(diào)相,,分別如下圖所示。
四,、串行接口標(biāo)準(zhǔn)
串行接口標(biāo)準(zhǔn):指的是計算機(jī)或終端(資料終端設(shè)備DTE)的串行接口電路與調(diào)制解調(diào)器MODEM等(數(shù)據(jù)通信設(shè)備DCE)之間的連接標(biāo)準(zhǔn),。
RS-232C標(biāo)準(zhǔn)
RS-232C是一種標(biāo)準(zhǔn)接口,D型插座,,采用25芯引腳或9芯引腳的連接器,,如圖5-5所示。
圖5-5
微型計算機(jī)之間的串行通信就是按照RS-232C標(biāo)準(zhǔn)設(shè)計的接口電路實現(xiàn)的,。如果使用一根電話線進(jìn)行通信,,那幺計算機(jī)和MODEM之間的聯(lián)機(jī)就是根據(jù)RS-232C標(biāo)準(zhǔn)連接的。其連接及通信原理如圖5-6所示
圖5-6
RS232信號定義
RS-232C標(biāo)準(zhǔn)規(guī)定接口有25根聯(lián)機(jī),。只有以下9個信號經(jīng)常使用,。
引腳和功能分別如下:
1. TXD(第2腳):發(fā)送資料線,輸出,。發(fā)送資料到MODEM,。
2. RXD(第3腳):接收資料線,輸入,。接收資料到計算機(jī)或終端,。
3. (第4腳):請求發(fā)送,輸出,。計算機(jī)通過此引腳通知MODEM,,要求發(fā)送資料。
4. (第5腳):允許發(fā)送,,輸入,。發(fā)出 作為對 的回答,計算機(jī)才可以進(jìn)行發(fā)送資料,。
5. (第6腳):資料裝置就緒(即MODEM準(zhǔn)備好),,輸入。表示調(diào)制解調(diào)器可以使用,,該信號有時直接接到電源上,,這樣當(dāng)設(shè)備連通時即有效,。
6. CD(第8腳):載波檢測(接收線信號測定器),輸入,。表示MODEM已與電話線路連接好。
7. 如果通信線路是交換電話的一部分,,則至少還需如下兩個信號:
8. RI(第22腳):振鈴指示,,輸入。MODEM若接到交換臺送來的振鈴呼叫信號,,就發(fā)出該信號來通知計算機(jī)或終端,。
9. (第20腳):資料終端就緒,輸出,。計算機(jī)收到RI信號以后,,就發(fā)出 信號到MODEM作為回答,以控制它的轉(zhuǎn)換設(shè)備,,建立通信鏈路,。
10. GND(第7腳):信號地
邏輯電平
RS-232C標(biāo)準(zhǔn)采用EIA電平,規(guī)定:
“1”的邏輯電平在-3V~-15v之間
“0”的邏輯電平在+3V~+15V之間,。
由于EIA電平與TTL電平完全不同,,必須進(jìn)行相應(yīng)的電平轉(zhuǎn)換,MCl488完成TTL電平到EIA電平的轉(zhuǎn)換,,MCl489完成EIA電平到ITL電平的轉(zhuǎn)換,。還有MAX232可以同時完成TTL-》EIA和EIA-》TTL的電平轉(zhuǎn)換。
除了RS-232C標(biāo)準(zhǔn)以外,,還有一些其它的通用的異步串行接口標(biāo)準(zhǔn),,如:
RS-423A標(biāo)準(zhǔn)
為了克服RS-232C的缺點(diǎn),提高傳送速率,,增加通信距離,,又考慮到與RS-232C的兼容性,美國電子工業(yè)協(xié)會在1987年提出了RS-423A標(biāo)準(zhǔn),。該標(biāo)準(zhǔn)的主要優(yōu)點(diǎn)是在接收端采用了差分輸入,。而差分輸入對共模干擾信號有較高的抑制作用,這樣就提高了通信的可靠性,。RS-423A用-6v表示邏輯“1”,,用+6v表示邏輯“0”,可以直接與RS-232C相接,。采用RS-423A標(biāo)準(zhǔn)以獲得比RS-232C更佳的通信效果,。圖5-7是RS423A的連接示意圖。
圖5-7
RS-422A標(biāo)準(zhǔn)
RS-422A總線采用平衡輸出的發(fā)送器,,差分輸入的接收器,。如圖5-8所示,。
圖5-8
RS-422A的輸出信號線間的電壓為±2v,接收器的識別電壓為±0.2v,。共模范圍±25v,。在高速傳送信號時,應(yīng)該考慮到通信線路的阻抗匹配,,一般在接收端加終端電阻以吸收掉反射波,。電阻網(wǎng)絡(luò)也應(yīng)該是平衡的,如圖5-9所示,。
圖5-9 為RS-422A平衡輸出差分輸示意圖
RS-485標(biāo)準(zhǔn)
RS-485適用于收發(fā)雙方共享一對線進(jìn)行通信,,也適用于多個點(diǎn)之間共享一對線路進(jìn)行總線方式聯(lián)網(wǎng),但通信只能是半雙工的,,線路如圖5-10所示,。
圖5-10
典型的RS232到RS422/485轉(zhuǎn)換芯片有:MAX481/483/485/487/488/489/490/491,SN75175/176/184等等,,它們均只需單一+5v電源供電即可工作(芯片內(nèi)部采用電荷泵方式升壓),。具體使用方法可查閱有關(guān)技術(shù)手冊。
五,、S3C2410內(nèi)置的UART控制器
S3C2410內(nèi)部具有3個獨(dú)立的UART控制器,,每個控制器都可以工作在Interrupt(中斷)模式或DMA(直接內(nèi)存訪問)模式,也就是說UART控制器可以CPU與UART控制器傳送資料的時候產(chǎn)生中斷或DMA請求,。并且每個UART均具有16字節(jié)的FIFO(先入先出寄存器),,支持的最高波特率可達(dá)到230.4Kbps
圖5-11是S3C2410內(nèi)部UART控制器的結(jié)構(gòu)圖
圖5-11
UART的操作
UART的操作分為以下幾個部分,分別是:資料發(fā)送,、資料接收,、產(chǎn)生中斷、產(chǎn)生波特率,、Loopback模式,、紅外模式以及自動流控模式。
資料發(fā)送
發(fā)送的資料幀格式是可以編程設(shè)置的,。它包含了起始位,、5~8個資料位、可選的奇偶校驗位以及1~2位停止位,。這些都是通過UART的控制寄存器 ULCONn 來設(shè)置的,。
資料接收
同發(fā)送一樣,接收的資料幀格式也是可以進(jìn)行編程設(shè)置的,。此外,,還具備了檢測溢出出錯、奇偶校驗出錯,、幀出錯等出錯檢測,,并且每種錯誤都可以置相應(yīng)的錯誤標(biāo)志,。
自動流控模式
S3C2410的UART0和UART1都可以通過各自的nRTS和nCTS信號來實現(xiàn)自動流控。
在自動流控(AFC)模式下nRTS取決于接收端的狀態(tài),,而nCTS控制了發(fā)送斷的操作,。具體地說:只有當(dāng)nCTS有效時(表明接收方的FIFO已經(jīng)準(zhǔn)備就緒來接收資料了),UART才會將FIFO中的資料發(fā)送出去,。在UART接收資料之前,,只要當(dāng)接收FIFO有至少2-byte空余的時候,nRTS就會被置為有效,。圖5-12是UART 自動流控模式的連接方式
圖5-12
中斷/DMA請求產(chǎn)生
S3C2410的每個UART都有7種狀態(tài),,分別是:溢出覆蓋(Overrun)錯誤,、奇偶校驗錯誤,、幀出錯、斷線錯誤,、接收就緒,、發(fā)送緩沖空閑、發(fā)送移位器空閑,。它們在UART狀態(tài)寄存器 UTRSTATn / UERSTATn 中有相應(yīng)的標(biāo)志位,。
波特率發(fā)生器
每個UART控制器都有各自的波特率發(fā)生器來產(chǎn)生發(fā)送和接收資料所用的序列時鐘,波特率發(fā)生器的時鐘源可以CPU內(nèi)部的系統(tǒng)時鐘,,也可以從CPU的 UCLK 管腳由外部取得時鐘信號,,并且可以通過 UCONn 選擇各自的時鐘源。
波特率產(chǎn)生的具體計算方法如下:
當(dāng)選擇CPU內(nèi)部時鐘時:
UBRDIVn=(int)(PCLK/(bps*16))-1,,bps為所需要的波特率值,,PCLK為CPU內(nèi)部外設(shè)總線(APB)的工作時鐘。
當(dāng)需要得到更精確的波特率時,,可以選擇由 UCLK 引入的外部時鐘來生成,。
UBRDIVn=(int)(UCLK/(bps*16))-1
LoopBack操作模式
S3C2410 CPU的UART提供了一種測試模式,也就是這里所說的LoopBack模式,。在設(shè)計系統(tǒng)的具體應(yīng)用時,,為了判斷通訊故障是由于外部的數(shù)據(jù)鏈路上的問題,還是CPU內(nèi)驅(qū)動程序或CPU本身的問題,,這就需要采用LoopBack模式來進(jìn)行測試,。在LoopBack模式中,資料發(fā)送端TXD在UART內(nèi)部就從邏輯上與接收端RXD連在一起,,并可以來驗證資料的收發(fā)是否正常,。
UART控制寄存器
下面將針對UART的各個控制寄存器逐一進(jìn)行講解,以期對UART的操作和設(shè)置能有更進(jìn)一步的了解,。
ULCONn (UART Line Control Register)見圖5-13
圖5-13
Word Length :資料位長度
Number of Stop Bit :停止位數(shù)
Parity Mode :奇偶校驗位類型
Infra-Red Mode :UART/紅外模式選擇(當(dāng)以UART模式工作時,,需設(shè)為“0”)
UCONn (UART Control Register)見圖5-14
Receive Mode :選擇接收模式,。如果是采用DMA模式的話,還需要指定說使用的DMA信道,。
Transmit Mode :同上,。
Send Break Signal :選擇是否在傳1幀資料中途發(fā)送Break信號。
Loopback Mode :選擇是否將UART置于Loopback測試模式,。
Rx Error Status Interrupt Enable :選擇是否使能當(dāng)發(fā)生接收異常時,,是否產(chǎn)生接收錯誤中斷。
Rx Time Out Enable :是否使能接收超時中斷,。
Rx Interrupt Type :選擇接收中斷類型,。
選擇0:Pulse(脈沖式/邊沿式中斷。非FIFO模式時,,一旦接收緩沖區(qū)中有資料,,即產(chǎn)生一個中斷;為FIFO模式時,,一旦當(dāng)FIFO中的資料達(dá)到一定的觸發(fā)水平后,,即產(chǎn)生一個中斷)
選擇1:Level(電平模式中斷。非FIFO模式時,,只要接收緩沖區(qū)中有資料,,即產(chǎn)生中斷;為FIFO模式時,,只要FIFO中的資料達(dá)到觸發(fā)水平后,,即產(chǎn)生中斷)
Tx Interrupt Type :類同于Rx Interrupt Type
Clock Selection :選擇UART波特率發(fā)生器的時鐘源。
圖5-14
UFCONn (UART FIFO Conrtol Register)見圖5-15
FIFO Enable :FIFO使能選擇,。
Rx FIFO Reset :選擇當(dāng)復(fù)位接收FIFO時是否自動清除FIFO中的內(nèi)容,。
Tx FIFO Reset :選擇當(dāng)復(fù)位發(fā)送FIFO時是否自動清除FIFO中的內(nèi)容。
Rx FIFO Trigger Level :選擇接收FIFO的觸發(fā)水平,。
Tx FIFO Trigger Level :選擇發(fā)送FIFO的觸發(fā)水平,。
圖5-15
UMCONn (UART Modem Control Register)見圖5-16
Request to Send :如果在AFC模式下,該位將由UART控制器自動設(shè)置,;否則的話就必須由用戶的軟件來控制,。
Auto Flow Control :選擇是否使能自動流控(AFC)。
圖5-16
UTRSTATn (UART TX/RX Status Register)見圖5-17
Receive buffer data ready :當(dāng)接收緩沖寄存器從UART接收端口接收到有效資料時將自動置“1”,。反之為“0”則表示緩沖器中沒有資料,。
Transmit buffer empty :當(dāng)發(fā)送緩沖寄存器中為空,自動置“1”,;反之表明緩沖器中正有資料等待發(fā)送,。
Transmitter empty :當(dāng)發(fā)送緩沖器中已經(jīng)沒有有效資料時,自動置“1”;反之表明尚有資料未發(fā)送,。
圖5-17
UERSTATn (UART Error Status Register)見圖5-18
Overrun Error :為“1”,,表明發(fā)生Overrun錯誤。
Frame Error :為“1”,。表明發(fā)生Frame(幀)錯誤,。
圖5-18
UFSTATn :(UART FIFO Status Register)見圖5-19
Rx FIFO Count :接收FIFO中當(dāng)前存放的字節(jié)數(shù),。
Tx FIFO Count :發(fā)送FIFO中當(dāng)前存放的字節(jié)數(shù),。
Rx FIFO Full :為“1“表明接收FIFO已滿。
Tx FIFO Full :為“1“表明發(fā)送FIFO已滿,。
圖5-19
UMSTATn?。海║ART FIFO Status Register)見圖5-20
Clear to Send :為“0”表示CTS無效;為“1”表示CTS有效,。
Delta CTS :指示自從上次CPU訪問該位后,,nCTS的狀態(tài)有無發(fā)生改變。
為“0”則說明不曾改變,;反之表明nCTS信號已經(jīng)變化了,。
圖5-20
UTXHn 和 URXHn 分別是UART發(fā)送和接收資料寄存器
這兩個寄存器存放著發(fā)送和接收的資料,,當(dāng)然只有一個字節(jié)8位資料,。需要注意的是在發(fā)生溢出錯誤的時候,接收的資料必須要被讀出來,,否則會引發(fā)下次溢出錯誤
UBRDIVn :(UART Baud Rate Divisor Register)見圖5-21
圖5-21
關(guān)于UART波特率的計算方法,,在前面的內(nèi)容中已經(jīng)有詳細(xì)的闡述,此處不做多余說明,。
小結(jié):讀寫狀態(tài)寄存器UTRSTAT 以及錯誤狀態(tài)寄存UERSTAT,,可以反映芯片目前的讀寫狀態(tài)以及錯誤類型。FIFO 狀態(tài)寄存器UFSTAT 和MODEM 狀態(tài)寄存器UMSTAT,,通過前者可以讀出目前FIFO 是否滿以及其中的字節(jié)數(shù),;通過后者可以讀出目前MODEM 的CTS狀態(tài)。