當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] today,we will study the UART of S3C2410,there is no doubt that the datasheet of S3C2410 is very important. let’s go! UART special registers (1)UART LINE CONTROL REGISTER there are three UART line

today,we will study the UART of S3C2410,there is no doubt that the datasheet of S3C2410 is very important.

let’s go!

UART special registers

(1)UART LINE CONTROL REGISTER

there are three UART line control registers including ULCON0.ULCON1.and ULCON2 in the UART block.the address of three register is here:

ok .let me introduce every bit of this register:

this register decide the structure of data which will be transmmitted with UART:

(2)UART CONTROL REGISTER

there are three UARTcontrol register including UCON0,UCN1,UCON2 in the UART block.


以下位轉(zhuǎn)載

每一個(gè)uart都包含一個(gè)波特率發(fā)生器(Baudrate Generator),發(fā)送器(Transmitter),接收器(Receiver)以及一個(gè)控制邏輯(Control Unit)。如下圖:11-1。

  波特率發(fā)生器使用的時(shí)鐘可以為PCLK(默認(rèn))或者UEXTCLK(主要是為了達(dá)到更高的波特率,默認(rèn)使用PCLK最高為230.4k bps)。發(fā)送器和接受器分別包括一個(gè)16-byte的FIFO以及一個(gè)數(shù)據(jù)移位器(data shifter)。數(shù)據(jù)通過發(fā)送引腳(TxDn)和接收引腳(RxDn)進(jìn)行發(fā)送和接收。

發(fā)送數(shù)據(jù)時(shí),CPU通過內(nèi)部總線將要發(fā)送的數(shù)據(jù)寫入Transmit buffer,對(duì)程序員來講即將數(shù)據(jù)寫入Transmit Holding Register(若使用FIFO Mode也是寫入這個(gè)寄存器,硬件內(nèi)部會(huì)自動(dòng)判斷)。然后Transmitter按照Buad-rate Generator產(chǎn)生的波特率將Transmit Buffer內(nèi)的數(shù)據(jù)移入Transmit Shifter, 最后通過TXDn引腳發(fā)送出去。

接收數(shù)據(jù)時(shí),接收引腳(RxDn)按一定波特率進(jìn)行數(shù)據(jù)接收進(jìn)來存放在 Receive Shifter然后再移入Receive Buffer。對(duì)程序員來講即通過Receive Holding Register讀取接收到的數(shù)據(jù)(類似發(fā)送,不管是否使用FIFO Mode都是讀該寄存器獲取接收到的數(shù)據(jù))。

Transmit Holding Register和Receive Holding Register都是8 bit大小的寄存器,即每次可讀寫一個(gè)字節(jié)數(shù)據(jù)。

  3) 波特率的計(jì)算

  波特率時(shí)鐘主要是用來提供串口數(shù)據(jù)發(fā)送和接收時(shí)所需要的時(shí)鐘信號(hào)。

  計(jì)算方法為源時(shí)鐘(默認(rèn)為PCLK)除以16以及一個(gè)16位分頻因子 (divisor)。分頻因子的值存儲(chǔ)在baudrate divisor register (UBRDIVn)內(nèi),由用戶指定。通常我們計(jì)算波特率的方法為根據(jù)想要的波特率反過來計(jì)算divisor, 然后將該值寫入Divisor Register(UBRDIVn)寄存器內(nèi)。公式如下:

UBRDIVn = (int)(PCLK/(bps x 16) ) -1,

Bps為我們需要設(shè)置的波特率,比如115200。

串口通訊基礎(chǔ)及S3C2410 UART控制器(轉(zhuǎn))

作者:深圳遠(yuǎn)峰

數(shù)據(jù)通信的基本方式可分為并行通信與串行通信兩種:
并行通信:是指利用多條數(shù)據(jù)傳輸線將一個(gè)資料的各位同時(shí)傳送。它的特點(diǎn)是傳輸速度快,適用于短距離通信,但要求通訊速率較高的應(yīng)用場(chǎng)合。
串行通信:是指利用一條傳輸線將資料一位位地順序傳送。特點(diǎn)是通信線路簡(jiǎn)單,利用簡(jiǎn)單的線纜就可實(shí)現(xiàn)通信,降低成本,適用于遠(yuǎn)距離通信,但傳輸速度慢的應(yīng)用場(chǎng)合。
一、異步通信及其協(xié)議
異步通信以一個(gè)字符為傳輸單位,通信中兩個(gè)字符間的時(shí)間間隔是不固定的,然而在同一個(gè)字符中的兩個(gè)相鄰位代碼間的時(shí)間間隔是固定的。
通信協(xié)議(通信規(guī)程):是指通信雙方約定的一些規(guī)則。在使用異步串口傳送一個(gè)字符的信息時(shí),對(duì)資料格式有如下約定:規(guī)定有空閑位、起始位、資料位、奇偶校驗(yàn)位、停止位。
異步通訊的時(shí)序,如圖5-1。

其中各位的意義如下:
起始位:先發(fā)出一個(gè)邏輯”0”信號(hào),表示傳輸字符的開始。
資料位:緊接著起始位之后。資料位的個(gè)數(shù)可以是4、5、6、7、8等,構(gòu)成一個(gè)字符。通常采用ASCII碼。從最低位開始傳送,靠時(shí)鐘定位。
奇偶校驗(yàn)位:資料位加上這一位后,使得“1”的位數(shù)應(yīng)為偶數(shù)(偶校驗(yàn))或奇數(shù)(奇校驗(yàn)),以此來校驗(yàn)資料傳送的正確性。
停止位:它是一個(gè)字符數(shù)據(jù)的結(jié)束標(biāo)志??梢允?位、1.5位、2位的高電平。
空閑位:處于邏輯“1”狀態(tài),表示當(dāng)前線路上沒有資料傳送。
波特率:是衡量資料傳送速率的指針。表示每秒鐘傳送的二進(jìn)制位數(shù)。例如資料傳送速率為120字符/秒,而每一個(gè)字符為10位,則其傳送的波特率為10×120=1200字符/秒=1200波特。
注:異步通信是按字符傳輸?shù)模邮赵O(shè)備在收到起始信號(hào)之后只要在一個(gè)字符的傳輸時(shí)間內(nèi)能和發(fā)送設(shè)備保持同步就能正確接收。下一個(gè)字符起始位的到來又使同步重新校準(zhǔn)(依靠檢測(cè)起始位來實(shí)現(xiàn)發(fā)送與接收方的時(shí)鐘自同步的)。
二、資料傳送方式
根據(jù)資料傳送方向的不同有以下三種方式。如圖5-2所示。

(1)單工方式
(2)半雙工方式
(3)全雙工方式

圖5-2 資料傳送方式

1、單工方式
資料始終是從A設(shè)備發(fā)向B設(shè)備。
2、 半雙工方式
資料能從A設(shè)備傳送到B設(shè)備,也能從B設(shè)備傳送到A設(shè)備。在任何時(shí)候資料都不能同時(shí)在兩個(gè)方向上傳送,即每次只能有一個(gè)設(shè)備發(fā)送,另一個(gè)設(shè)備接收。但是通訊雙方依照一定的通訊協(xié)議來輪流地進(jìn)行發(fā)送和接收。
3、 全雙工方式
允許通信雙方同時(shí)進(jìn)行發(fā)送和接收。這時(shí),A設(shè)備在發(fā)送的同時(shí)也可以接收,B設(shè)備亦同。全雙工方式相當(dāng)于把兩個(gè)方向相反的單工方式組合在一起,因此它需要兩條數(shù)據(jù)傳輸線。在計(jì)算機(jī)串行通訊中主要使用半雙工和全雙工方式。
三、信號(hào)傳輸方式
1、基帶傳輸方式
在傳輸線路上直接傳輸不加調(diào)制的二進(jìn)制信號(hào),如圖所示。它要求傳送線的頻帶較寬,傳輸?shù)臄?shù)字信號(hào)是矩形波。
基帶傳輸方式僅適宜于近距離和速度較低的通信。

2、頻帶傳輸方式
傳輸經(jīng)過調(diào)制的模擬信號(hào)
在長(zhǎng)距離通信時(shí),發(fā)送方要用調(diào)制器把數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),接收方則用解調(diào)器將接收到的模擬信號(hào)再轉(zhuǎn)換成數(shù)字信號(hào),這就是信號(hào)的調(diào)制解調(diào)。
實(shí)現(xiàn)調(diào)制和解調(diào)任務(wù)的裝置稱為調(diào)制解調(diào)器(MODEM)。采用頻帶傳輸時(shí),通信雙方各接一個(gè)調(diào)制解調(diào)器,將數(shù)字信號(hào)寄載在模擬信號(hào)(載波)上加以傳輸。因此,這種傳輸方式也稱為載波傳輸方式。這時(shí)的通信線路可以是電話交換網(wǎng),也可以是專用線。
常用的調(diào)制方式有三種:
調(diào)幅、調(diào)頻和調(diào)相,分別如下圖所示。

四、串行接口標(biāo)準(zhǔn)
串行接口標(biāo)準(zhǔn):指的是計(jì)算機(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ì)算機(jī)之間的串行通信就是按照RS-232C標(biāo)準(zhǔn)設(shè)計(jì)的接口電路實(shí)現(xiàn)的。如果使用一根電話線進(jìn)行通信,那幺計(jì)算機(jī)和MODEM之間的聯(lián)機(jī)就是根據(jù)RS-232C標(biāo)準(zhǔn)連接的。其連接及通信原理如圖5-6所示

-->

編輯精選

技術(shù)子站

關(guān)閉
關(guān)閉