




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第5章基于S3C2410的系統硬件設計 串口通信1. 通信通信 通信:通信:計算機與外界進行信息交換統稱為通信。計算機與外界進行信息交換統稱為通信。 嵌入式系統應用于數據采集或工業控制時嵌入式系統應用于數據采集或工業控制時,往往作為往往作為前端機前端機(下位機下位機)安裝在工業現場安裝在工業現場,遠離遠離主機主機,現場數據采用現場數據采用串行通信方式串行通信方式發往發往主機主機(上位機上位機)進行處理進行處理,以降低通信成本以降低通信成本,提高通信可靠性提高通信可靠性.如下圖所示如下圖所示. 5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電
2、路 編程實例編程實例嵌嵌入入式式嵌嵌入入式式嵌嵌入入式式通信方式有兩種通信方式有兩種:1.并行通信并行通信(Parallel):所傳送數據的所傳送數據的各位同時發送或接收各位同時發送或接收,數據數據有多少位就需要多少根數據線。有多少位就需要多少根數據線。計算機內部的數據傳送一計算機內部的數據傳送一般均采用并行方式。般均采用并行方式。特點特點:速度快速度快,成本高成本高,適合近距離傳輸適合近距離傳輸(相距數米相距數米) 如如計算機并口計算機并口,打印機打印機,8255 . 2.串行通信串行通信(Serial):所傳送所傳送數據的各位按順序一位一位數據的各位按順序一位一位地發送地發送或接收。只需或
3、接收。只需一根數據一根數據,一根地線一根地線,共共2根根(如雙向通信發送如雙向通信發送和接收各需和接收各需1根數據線根數據線.)計算機與外界的數據傳送一般均計算機與外界的數據傳送一般均采用串行方式。采用串行方式。特點特點:成本低成本低,硬件方便硬件方便,串行通訊的距離可以從串行通訊的距離可以從幾米到幾千米幾米到幾千米,傳輸速度低傳輸速度低.5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例52. 串行通
4、信的特點串行通信的特點特點特點1:只用一根通信線在一個方向上傳輸信息,這根只用一根通信線在一個方向上傳輸信息,這根線上既要傳送線上既要傳送數據信息數據信息又要傳送又要傳送聯絡信息聯絡信息;特點特點2:為了能夠識別在一根線上串行傳送的信息流中,為了能夠識別在一根線上串行傳送的信息流中,哪一部分是聯絡信息,哪一部分是數據信息,需要通哪一部分是聯絡信息,哪一部分是數據信息,需要通信雙方事先作出一系列的通信約定,這就是協議信雙方事先作出一系列的通信約定,這就是協議, 即即信信息格式必須事先用協議約定息格式必須事先用協議約定。5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART
5、 UART接口電路接口電路 編程實例編程實例7串行通訊串行通訊的數據傳輸方向的數據傳輸方向 按通信方向分類按通信方向分類:單工、半雙工、全雙工單工、半雙工、全雙工通信方式通信方式 1. 單工方式單工方式(Simplex Mode):如果在通信過程的任意如果在通信過程的任意時刻時刻,信息只能由信息只能由一方一方A傳到另一方傳到另一方B,則稱為單工則稱為單工.一一端是發送端端是發送端,另外一端是接收端另外一端是接收端:如如廣播電臺和收音機廣播電臺和收音機5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例82.半雙工方式半雙工方
6、式 (Half Duplex) 如果在如果在任意時刻任意時刻,信息既可由信息既可由A傳到傳到B,又能由又能由B傳傳A,但只能由一個方向上的傳輸存在但只能由一個方向上的傳輸存在,稱為半雙工傳輸稱為半雙工傳輸.每每端口有一個端口有一個發送器和一個接收器發送器和一個接收器,通過開關連接在線通過開關連接在線路上路上,數據可以數據可以雙向傳送雙向傳送,但不能同時發送和接收但不能同時發送和接收. 要要通過換向器轉換方向通過換向器轉換方向.如如對講機對講機.5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例93.全雙工方式全雙工方式(F
7、ull Duplex) 如果在如果在任意時刻任意時刻,線路上存在線路上存在A到到B和和B到到A的雙向的雙向信號傳輸信號傳輸,則稱為全雙工則稱為全雙工.通信雙方用兩個通信雙方用兩個獨立獨立的收的收發器單獨連接發器單獨連接,可以可以同時發送和接收數據同時發送和接收數據,因而提高因而提高了速度了速度.如如電話機電話機.5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例3.串行通信常用術語串行通信常用術語1)波特率:波特率:指每秒鐘傳送信號的數量指每秒鐘傳送信號的數量,單位為波特(,單位為波特(Baud)。)。比特率:比特率:每秒
8、鐘傳送二進制數的信號數每秒鐘傳送二進制數的信號數(即二進制數的位數,或稱電信(即二進制數的位數,或稱電信號數),單位是號數),單位是bps(bit per second)或寫成)或寫成b/s(位(位/秒)。秒)。 在計算機串行通信中,傳送的信號是二進制信號,波特率與比特率數在計算機串行通信中,傳送的信號是二進制信號,波特率與比特率數值上相等。單位采用值上相等。單位采用bps。例:例:串行通信的數據傳送的速率是串行通信的數據傳送的速率是120字符字符/秒,而每個字符規定包含秒,而每個字符規定包含10位數字,則傳輸波特率為:位數字,則傳輸波特率為: 120字符字符/秒秒 10位位/字符字符=120
9、0位位/秒秒= 1200bps 若每個電信號所含信息量為1比特,則波特率等于比特率。若每個符號所含信息量不等于1比特,則波特率不等于比特率。在計算機中 ,每個符號所含信息量剛好等于1比特。于是就造成了波特率與每秒傳輸二進制位數這兩者的吻合。因此,在計算機數據傳輸中人們常將比特率稱為波特率。5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例3.串行通信常用術語串行通信常用術語2)發送時鐘和接收時鐘)發送時鐘和接收時鐘發送器使用的時鐘信號稱為發送時鐘發送時鐘,接收器使用的時鐘信號稱為接收時鐘接收時鐘。作用:在串行通信中,發送器
10、需要用一定頻率的時鐘信號來決定發送的每一位數據所占用的時間長度。接收器也需要用一定頻率的時鐘信號來檢測每一位輸入數據。 串行通信所傳送的二進制數據序列在發送時是以發送時鐘作為數據位的劃分界限,在接收時是以接收時鐘作為數據位的檢測和采樣定時的。5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例3.串行通信常用術語串行通信常用術語2)發送時鐘和接收時鐘)發送時鐘和接收時鐘5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例數據的收發過程數據的收發過程數據的發
11、送過程:數據的發送過程:寫數據到發送器的數據輸出寄存器寫數據到發送器的數據輸出寄存器 在發送時鐘的在發送時鐘的脈沖信號作用下將數據裝入并入串出移位寄存器脈沖信號作用下將數據裝入并入串出移位寄存器 在發送時鐘控制在發送時鐘控制下,把移位寄存器中的數據串行逐位移出到串行輸出線上。下,把移位寄存器中的數據串行逐位移出到串行輸出線上。每個數據位每個數據位的時間間隔由發送時鐘周期來劃分。的時間間隔由發送時鐘周期來劃分。數據的接收過程是:數據的接收過程是:在接收時鐘的控制下,每隔一定時間采樣一個數據位在接收時鐘的控制下,每隔一定時間采樣一個數據位 按時鐘節拍將數據依次移入接收器中的串入并出移位寄存器按時鐘
12、節拍將數據依次移入接收器中的串入并出移位寄存器 在接在接收時鐘的脈沖信號作用下將數據裝配到數據輸入寄存器收時鐘的脈沖信號作用下將數據裝配到數據輸入寄存器 CPU讀取讀取數據并存入系統存儲器中。數據并存入系統存儲器中。3.串行通信常用術語串行通信常用術語3)波特率因子)波特率因子 波特率因子:波特率因子:收發時鐘頻率與波特率之間存在的比例系數。波特率 = 收發時鐘頻率 / 波特率因子當發送(或接收)時鐘頻率一定時,通過選擇不同的波特率因子(1、16、64),即可得到不同的波特率。可見:波特率因子就是對時鐘頻率進行分頻,從而得到波特率的分頻系數。5.5 串行接口串行接口 串行接口基本原理與結構串行
13、接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例3.串行通信常用術語串行通信常用術語4)差錯校驗)差錯校驗校驗是數據通信中的重要環節之一,常用的校驗方法有下述兩種:校驗是數據通信中的重要環節之一,常用的校驗方法有下述兩種: 奇偶校驗:奇偶校驗:在所傳輸的有效數據位中附加冗余位(即檢驗位),利用冗余位的存在,使整個信息位(包括有效信息和校驗位)中“1”的個數具有奇數或偶數的特性。這種利用信息位中“1”的個數奇偶性來達到校驗目的的編碼,稱為奇偶校驗碼。 CRC校驗(循環冗余校驗:校驗(循環冗余校驗: Cyclic Redundancy Check ) :利用編碼的原理,對傳送
14、的二進制碼序列,按特定規則產生相應的校驗碼(CRC校驗碼),并將CRC校驗碼放在有效信息代碼之后,形成一個新的二進制序列,將其發送出去;接收時,依據特定的規則檢查傳輸過程是否產生差錯,如發現有錯,可要求發送方重傳,或作其它專門處理。 生成CRC碼的基本原理:任意一個由二進制位串組成的代碼都可以和一個系數僅為0和1取值的多項式一一對應。例如:代碼1010111對應的多項式為x6+x4+x2+x+1,而多項式為x5+x3+x2+x+1對應的代碼101111。 5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例3.串行通信常用術
15、語串行通信常用術語4)差錯校驗)差錯校驗校驗是數據通信中的重要環節之一,常用的校驗方法有下述兩種:校驗是數據通信中的重要環節之一,常用的校驗方法有下述兩種: 奇偶校驗:奇偶校驗:CRC校驗(循環冗余校驗:校驗(循環冗余校驗: Cyclic Redundancy Check ) : 特點:特點:它的編碼效率高,校驗能力強,對隨機錯碼和突發錯碼(即連續多位產生錯碼)均能以較低的冗余度進行嚴格檢錯。而且它是基于整個數據塊傳輸的一種校驗方法,所以同步串行通信多采用CRC校驗。 5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例4.
16、串行通信的分類:串行通信的分類:同步方式:同步方式:以數據塊為單位進行數據傳送,包括同步字符、數據以數據塊為單位進行數據傳送,包括同步字符、數據塊和校驗字符塊和校驗字符CRC。優點:數據傳輸速率較高;優點:數據傳輸速率較高;缺點:要求發送時鐘和接收時鐘保持嚴格同步。數據格式缺點:要求發送時鐘和接收時鐘保持嚴格同步。數據格式如下圖所示。如下圖所示。 5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例串行通信的分類:串行通信的分類:異步方式:異步方式:以字符為單位進行數據傳送,每一個字符均按固定的以字符為單位進行數據傳送,每一
17、個字符均按固定的字符格式傳送,又被稱為幀字符格式傳送,又被稱為幀。優點:優點:不需要傳送同步脈沖,可靠性高,所需設備簡單;不需要傳送同步脈沖,可靠性高,所需設備簡單;缺點:缺點:字符幀中因包含有起始位和停止位而降低了有效數字符幀中因包含有起始位和停止位而降低了有效數據的傳輸速率。數據格式如下圖所示:據的傳輸速率。數據格式如下圖所示:5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例5. 信號的調制與解調信號的調制與解調調制:調制:進行長距離傳輸時,需要在發送端將進行長距離傳輸時,需要在發送端將數字信號轉換成數字信號轉換成適
18、合適合電話網傳輸的電話網傳輸的模擬信號模擬信號,這一過程稱為,這一過程稱為“調制調制”;解調解調:在接收端將電話網上傳輸的在接收端將電話網上傳輸的模擬信號還原成原來的數字信模擬信號還原成原來的數字信號號,這一過程稱為,這一過程稱為“解調解調”。數字信號數字信號模擬信號模擬信號數字信號數字信號5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例6.串行接口Serial Interfac:是指數據一位位地順序傳送,其特點是通信線路簡單,只要一對傳輸線就可以實現雙向通信,并可以利用電話線,從而大大降低了成本,特別適用于遠距離通信,
19、但傳送速度較慢。串口的出現是在1980年前后,數據傳輸率是115kbps230kbps。串口出現的初期是為了實現連接計算機外設的目的,初期串口一般用來連接鼠標和外置Modem以及老式攝像頭和寫字板等設備。串口也可以應用與由于兩臺計算機(或設備)之間的互聯及數據傳輸。目前串口多用于工控和測量設備以及部分通信設備中。 串行接口按電氣標準及協議來分包括RS-232C、RS-422、RS485等。RS-232C、RS-422與RS-485標準只對接口的電氣特性做出規定,不涉及接插件、電纜或協議。 5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路
20、編程實例編程實例a) EIA RS-232C:是是異步串行異步串行通信中應用最廣泛的標準總線,是通信中應用最廣泛的標準總線,是美國美國EIA(Electronic Industries Association,電子工業聯合會)開發公布的通信協議。,電子工業聯合會)開發公布的通信協議。適合于數據傳輸速率在適合于數據傳輸速率在0-20kb/s范圍內的通信,包括了按位串行傳輸的電氣和機范圍內的通信,包括了按位串行傳輸的電氣和機械方面的規定。在微機通信接口中被廣泛采用。械方面的規定。在微機通信接口中被廣泛采用。1. 電氣特性:電氣特性: 邏輯邏輯1:-3V - -15V,典型值為,典型值為-12V;
21、邏輯邏輯0:+3V - +15V ,典型值為,典型值為+12V2電平轉換電平轉換 下圖為下圖為EIA RS232C與與TTL電路之間進行電平轉換的示意圖電路之間進行電平轉換的示意圖1488: 輸入為輸入為TTL電平,電平, 輸出為輸出為RS-232C電平電平1489: 輸入為輸入為RS-232C電平,電平, 輸出為輸出為TTL電平電平5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例EIA RS-232C:3傳輸距離及通信速率:傳輸距離及通信速率:RS232C標準規定標準規定DTE和和DCE之間最之間最大傳輸距離為大傳輸距
22、離為15m。傳輸數據速率不能高于。傳輸數據速率不能高于20Kbp/s。4連接器連接器 最常用的最常用的RS232C連接器是連接器是DB9型連接器(也有型連接器(也有25型連接型連接器器),如下圖所示。),如下圖所示。5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例(a) DB-25 (b) DB-925芯和9芯D型插接件引腳的定義和信號之間的對應關系5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例EIA RS-232C:5RS232C的接口信號的接
23、口信號1)請求發送請求發送RTS(Request to send):):表示表示DTE請求請求DCE發送數據。發送數據。2)允許發送允許發送CTS(Clear to send):):表示表示DCE準備接收準備接收DTE發來的數據。發來的數據。3)數據裝置準備好數據裝置準備好DSR(Data Set Ready):):此信號有效(此信號有效(ON狀態)時狀態)時表明表明MODEM處于可以使用的狀態。處于可以使用的狀態。4)數據終端準備好數據終端準備好DTR(Data Terminal Ready):):此信號有效(此信號有效(ON狀狀態)時表明數據終端可以使用。態)時表明數據終端可以使用。5)載
24、波檢測載波檢測DCD(Data Carrier Detection):):此信號用來表示此信號用來表示DCE已接已接通通信信道,通知通通信信道,通知DTE準備接收數據。準備接收數據。6)振鈴指示振鈴指示RI(Ringing):):當當MODEM檢測到線路上有振鈴呼叫信號時,檢測到線路上有振鈴呼叫信號時,使該信號有效(使該信號有效(ON狀態)。狀態)。7)發送數據發送數據TxD(Transimitted Data):):通過通過TxD線計算機將串行數據線計算機將串行數據發送到發送到DCE。8)接收數據接收數據RxD(Received Data):):通過通過RxD線計算機接收從線計算機接收從DC
25、E送來送來的串行數據。的串行數據。9)GND:地。地。DTE:數據終端設備,如PC 。DCE:數據通信設備,如MODEM 5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例EIA RS-232C:信號線的連接信號線的連接1) 遠距離連接遠距離連接 遠距離連接需要加調制解調器遠距離連接需要加調制解調器MODEM,如下圖所示。,如下圖所示。2)近距離連接)近距離連接 近距離連接不用近距離連接不用MODEM,如下頁圖所示。,如下頁圖所示。5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口
26、電路接口電路 編程實例編程實例2)近距離連接:)近距離連接: 近距離連接不用近距離連接不用MODEM,如下圖所示。,如下圖所示。5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例計算機利用RS-232C接口進行串口通信,有簡單連接和完全連接兩種連接方式。簡單連接又稱三線連接,即只連接發送數據線、接收數據線和信號地,如圖6.1.2所示。如果應用中還需要使用RS-232C的控制信號,則采用完全連接方式,如圖6.1.3所示。在波特率不高于9 600 bps的情況下進行串口通信時,通信線路的長度通常要求小于15米,否則可能出現數據
27、丟失現象。圖6.1.2 簡單連接形式 圖6.1.3 完全連接形式 b)RS-422串行通信接口:串行通信接口:是RS-232的改進型,允許在相同傳輸線上連接多個接收節點,最多可接10個節點,即一個主設備(Master),其余10個為從設備(Salve),從設備之間不能通信。RS-422支持一點對多點(單機發送多機接收,最多10個)的雙向通信。vRS-422的特性:最大傳輸距離:4000英尺(約1219m);最大傳輸速率:10Mb/s。注:傳輸速率與平衡雙絞線的長度有關,只有在很短的距離下才能獲得最高傳輸速率。在最大傳輸距離時,傳輸速率為100Kb/s。一般100m長的雙絞線上所能獲得的最大傳輸
28、速率僅為1 Mb/s。5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例C)RS-485串行總線接口:串行總線接口:在RS-422的基礎上,為擴展應用范圍,EIA制定了RS-485標準,增加了多點、雙向通信能力。vRS-485的特性:的特性: RS-485可以采用二線與四線方式,二線制可實現真正的多點雙向通信。而采用四線連接時,與RS-422一樣只能實現點對多的通信,即只能有一個主設備,其余為從設備。RS-485可以連接多達32個設備。RS-485收發器采用平衡發送和差分接收,即在發送端,驅動器將在發送端,驅動器將TTL電
29、平信號轉換成差分信號輸出;電平信號轉換成差分信號輸出;在接收端,接收器將差分信號變成在接收端,接收器將差分信號變成TTL電平電平,因此具有抑制共模干擾的能力。接收器能夠檢測低達200mV的電壓,具有高的靈敏度,故數據傳輸距離可達千米以上(幾十米至上千米)。RS-485的共模輸出電壓在-7+12V之間,接收器最小輸入阻抗為12k。RS-485滿足所有RS-422的規范,所以RS-485的驅動器可以在RS-422網絡中應用。RS-485的最大傳輸速率:10Mb/s。在最大傳輸距離時,傳輸速率為100Kb/s。RS-485需兩個終端電阻,接在傳輸總線的兩端,要求電阻阻值約等于傳輸電纜的特性阻抗。在短
30、距離傳輸(300m以下)時可不需終端電阻。5.5 串行接口串行接口 串行接口基本原理與結串行接口基本原理與結構構UART UART接口電路接口電路 編程實例編程實例6.1.2 S3C2410A的的UART1UART (Universal Asynchronous Receiver and Transmitter,通用異步收發器)簡介:,通用異步收發器)簡介:組成:主要由數據線接口、控制邏輯、配置寄存器、波特率發生器、發送部分和接收部分組成;傳輸方式:采用異步串行通信方式,采用RS-232C 9芯接插件(DB-9)連接,是廣泛使用的串行數據傳輸方式,5.5 串行接口串行接口 串行接口基本原理與結
31、構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例圖6.1.4 UART的字符傳輸格式 5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例UART以字符為單位進行數據傳輸,每個字符的傳輸格式如圖6.1.4所示,包括線路空閑狀態(高電平)、起始位(低電平)、58位數據位、校驗位(可選)和停止位(位數可以是1、1.5或2位)。這種格式通過起始位和停止位來實現字符的同步。UART內部一般具有配置寄存器,通過該寄存器可以配置數據位數(58位)、是否有校驗位和校驗的類型以及停止位的位數 (1位、1.5位或2
32、位)等。2S3C2410A的的UART結構結構vS3C2410A的UART提供3個獨立的異步串行I/O口,都可運行于中斷模式或DMA模式。在使用系統時鐘的情況下,UART可以支持最高230.4Kbps的傳輸速率。如果外部設備通過UEXTCLK為UART提供時鐘,那么UART的傳輸速率可以更高。每個UART通道包含兩個用于接收和發送數據的16字節的FIFO緩沖寄存器。v如圖6.1.5所示,S3C2410A的UART由波特率發生器、發送器、接收器以及控制單元組成。波特率發生器的時鐘可以由PCLK或UEXTCLK提供。發送器和接收器包含16字節的FIFO緩沖寄存器和數據移位器。發送時,數據被寫入FI
33、FO,然后拷貝到發送移位器中,接下來數據通過發送數據引腳(TxDn)被發送。接收時,接收到的數據從接收數據引腳(RxDn)移入,然后從移位器拷貝到FIFO中。 5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例圖圖6.1.5 S3C2410A的的UART方框圖(具有方框圖(具有FIFO)發送緩沖寄存器發送緩沖寄存器發送移位器發送移位器波特率波特率發送器發送器接收移位器接收移位器接收緩沖寄存器接收緩沖寄存器3S3C2410A UART的操作:的操作:包含有數據發送、數據接收、中斷產生、波特率發生、回送模式、紅外模式和自動流控
34、制等。(1)數據發送()數據發送(Data Transmission):):發送的數據幀是可編程的。它包括1個起始位、58個數據位、1個可選的奇偶校驗位和12個停止位,具體設置由行控制寄存器(ULCONn)確定。發送器還可以產生暫停狀態,在一幀發送期間連續輸出“0”。在當前發送的字完全發送完成之后發出暫停信號。在暫停信號發出后,繼續發送數據到Tx FIFO(發送保持寄存器在非FIFO模式)。(2)數據接收()數據接收(Data Reception):):與數據發送類似,接收的數據幀也是可編程的。它包括1個起始位,58個數據位、1個可選的奇偶校驗位和12個停止位,具體設置由行控制寄存器(ULCO
35、Nn)確定。接收器可以檢測溢出錯誤和幀錯誤接收器可以檢測溢出錯誤和幀錯誤。溢出錯誤溢出錯誤指新數據在舊數據還沒有被讀出之前就將其覆蓋了。幀錯誤幀錯誤指接收的數據沒有有效的停止位。注:當在3個字時間段沒有接收任何數據和在FIFO模式RxFIFO不空時,產生接收暫停狀態。5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例(3)自動流控制()自動流控制(Auto Flow Control,AFC)如圖6.1.6所示,S3C2410A的UART0和UART1使用nRTS和nCTS信號支持自動流控制。在這種情況下,它可以連接到外部的
36、UART。如果用戶希望將UART連接到Modem,則需要通過軟件來禁止UMCONn寄存器中的自動流控制位并控制nRTS信號。圖6.1.6 UART AFC接口5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例a)UART A發送發送b)UART A接收接收在AFC狀態,nRTS根據接收器的狀態和nCTS信號控制發送器的操作。只有當nCTS信號是有效時(在AFC狀態,nCTS表示其他UART的FIFO已經準備好接收數據),UART的發送器才發送在FIFO中的數據。在UART接收數據之前,當其接收FIFO具有多余2字節的空閑空
37、間時,nRTS有效;如果其接收FIFO的空閑空間少于1字節,則nRTS無效(在AFC狀態,nRTS指示它自己的接收FIFO已經準備好接收數據)。(4)RS-232接口(接口(RS-232C interface)如果用戶希望將UART連接到Modem接口,則需要使用nRTS、nCTS、nDSR、nDTR、DCD和nRI信號。在這個狀態,用戶可以使用通用的I/O接口,通過軟件來控制這些信號,因為AFC不支持RS-232C接口。5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例(5)中斷)中斷DMA請求產生(請求產生(Inter
38、rupt/DMA Request Generation)S3C2410A的每個UART有5個狀態(Tx/Rx/Error)信號:溢出錯誤、幀錯誤、接收緩沖數據準備好、發送緩沖空、發送移位器空。這些狀態通過相關的狀態寄存器(UTRSTATn/UERSTATn)指示。v溢出錯誤和幀錯誤指示接收數據時發生的錯誤狀態。如控制寄存器UCONn中的接收錯誤狀態中斷使能位置1,那么溢出錯誤和幀錯誤的任何一個都可以產生接收錯誤狀態中斷請求。當檢測到接收錯誤狀態中斷請求時,可以通過讀UERSTSTn的值來確定引起請求的信號。v如控制寄存器(UCONn)中的接收模式置為“1”(中斷請求模式或查詢模式),那么在FI
39、FO模式,當接收器將接收移位器中的數據傳送到接收FIFO寄存器中,并且接收的數據量達到RxFIFO的觸發水平時,則產生Rx中斷。在非FIFO模式,如果采用中斷請求和查詢模式,當把接收移位器中的數據傳送到接收保持寄存器中時,將產生Rx中斷。5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例v如控制寄存器(UCONn)中的發送模式置為1(中斷請求模式或查詢模式),那么在FIFO模式,當發送器將發送FIFO寄存器中的數據傳送到發送移位器中,并且發送FIFO中剩余的發送數據量達到TxFIFO的觸發水平時,則產生Tx中斷。在非FIF
40、O模式,如果采用中斷請求和查詢模式,當把發送保持寄存器中的數據傳送到發送移位器時,將產生Tx中斷。v如果在控制寄存器中的接收模式和發送模式選擇了DMAn請求模式,那么在上面提到的情況下將產生DMAn請求,而不是Rx或Tx中斷。5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例(6)波特率的產生()波特率的產生(Baud-Rate Generation)每個UART的波特率發生器為發送器和接收器提供連續的時鐘。波特率發生器的時鐘源可以選擇使用S3C2410A的內部系統時鐘或UEXTCLK。換句話說,通過設置UCONn的時鐘選
41、擇位可以選擇不同的分頻值。波特率時鐘可以通過對源時鐘(PCLK或者UEXTCLK)16分頻和對在UART波特率系數寄存器(UBRDIVn)中的16位分頻數設置得到。(7)回送模式()回送模式(Loopback Mode)S3C2410A DART提供一種測試模式,即回送模式,用于發現通信連接中的孤立錯誤。這種模式在結構上使UART的RXD與TXD連接。因此,在這個模式,發送的數據通過RXD被接收器接收。該模式通過設置UART控制寄存器(UCONn)的回送位來進行選擇。 (8)紅外模式()紅外模式(Infra-Red (IR) Mode)S3C2410A的UART模塊支持紅外發送和接收,該模式可
42、以通過設置UART行控制寄存器(ULCONn)中的紅外模式位來選擇。5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例4S3C2410A UART專用寄存器的配置專用寄存器的配置(1)UART行控制寄存器(ULCONn) UART行控制寄存器是UART通道0UART通道2行控制寄存器,包含有ULCON0、ULCON1和ULCON2,為可讀寫寄存器,地址為0 x5000 0000、0 x5000 4000和0 x5000 8000,其位功能如表6.1.2所列,復位值為0 x00,推薦使用值為0 x3。5.5 串行接口串行接口
43、 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例表表6.1.2 UART行控制寄存器的位功能行控制寄存器的位功能ULCONn的位功能 位 設置 保留 7 保留位 紅外正常模式選擇 6 0:正常模式;1:紅外模式 奇偶校驗模式選擇 5:3 0 xx:無奇偶校驗;100:奇校驗101:偶校驗110:強制奇偶校驗校驗1;111:強制奇偶校驗校驗0 停止位選擇 2 0:每幀1個停止位;1:每幀2個停止位 發送或者接收字長設置 1:0 00:5位;01:6位;10:7位;11:8位 5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構U
44、ART UART接口電路接口電路 編程實例編程實例(2)UART控制寄存器(UCONn)UART控制寄存器(UCONn)是UART通道0UART通道2控制寄存器,包含有UCON0、 UCON1和UCON2,為可讀寫寄存器,地址為0 x5000 0004、0 x5000 4004和0 x5000 8004,其位功能如表6.1.3所列,復位值為0 x00,推薦使用值為0 x245。5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例表表6.1.3 UART控制寄存器(控制寄存器(UCONn)的位功能)的位功能 UCONn的位功能
45、位設置波特率時鐘選擇100:使用PCLK ,UBRDIVn = (int)(PCLK / (bps x 16) ) -1;1:使用UEXTCLK(GPH8),UBRDIVn=(int)(UEXTCLK/(bps16)-1發送中斷請求類型選擇90:脈沖;1:電平接收中斷請求類型選擇80:脈沖;1:電平Rx超時中斷使能控制70:禁止;1:使能接收錯誤狀態中斷使能控制60:禁止;1:使能回送模式選擇50:正常模式;1:回送模式保留4保留位5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例發送模式選擇3:2確定將Tx數據寫入UAR
46、T發送緩沖寄存器的模式。00:禁止;01:中斷請求或查詢模式;10:DMA0請求(僅UART0),DMA3請求(僅UART2);11:DMA1請求(僅UART1)接收模式選擇1:0確定從UART接收緩沖寄存器讀數據的模式。00:禁止;01:中斷請求或查詢模式;10:DMA0請求(僅UART0),DMA3請求(僅UART2);11:DMA1請求(僅UART1)5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例(3)UART FIFO控制寄存器(UFCONn)UART FIFO控制寄存器(UFCONn)是UART通道0UART
47、通道2的FIFO控制寄存器,包含有UFCON0、 UFCON1和UFCON2,為可讀寫寄存器,地址為0 x5000 0008、0 x5000 4008和0 x5000 8008,其位功能如表6.1.4所列,復位值為0 x0,推薦使用值為0 x0。5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例表6.1.4 UART FIFO控制寄存器(UFCONn)的位功能 UFCONn的位功能位描述發送FIFO的觸發條件選擇7:600:空;01:4字節;10:8字節;11:12字節接收FIFO的觸發條件選擇5:400:4字節;01:8
48、字節;10:12字節;11:16字節保留3保留位Tx FIFO復位位2該位在FIFO復位后自動清除。0:正常;1:Tx FIFO復位Rx FIFO復位位1該位在FIFO復位后自動清除0:正常;1:Rx FIFO復位FIFO使能控制00:禁止;1:使能(4)UART Modem控制寄存器(UMCONn)UART Modem控制寄存器(UMCONn)是UART通道0和 UART通道1 調制解調器控制寄存器,包含有UMCON0和 UMCON1,為可讀寫寄存器,地址為0 x5000 000C、0 x5000 400C和0 x5000 800C,其中0 x5000 800C為保留寄存器,其位功能如表6.
49、1.5所列,復位值為0 x0,推薦使用值為0 x0。5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例表6.1.5 UART Modem控制寄存器(UMCONn)的位功能UMCONn的位功能位描述發送FIFO的觸發條件選擇7:600:空;01:4字節;10:8字節;11:12字節接收FIFO的觸發條件選擇5:400:4字節;01:8字節;10:12字節;11:16字節保留3保留位Tx FIFO復位位2該位在FIFO復位后自動清除。0:正常;1:Tx FIFO復位Rx FIFO復位位1該位在FIFO復位后自動清除0:正常;1
50、:Rx FIFO復位FIFO使能控制00:禁止;1:使能5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例5.5 串行接口串行接口 (5)UART發送緩沖數據寄存器(UTXH0,UTXH1和UTXH2 )用來保存發送數據。(L:小端模式:B:大端模式) 寄存器地址讀/寫描述復位值UTXH00 x50000020(L)0 x50000023(B)W(字節)UART通道0發送緩存寄存器-UTXH10 x50004020(L)0 x50004023(B)W(字節)UART通道1發送緩存寄存器-UTXH20 x50008020(L
51、)0 x50008023(B)W(字節)UART通道2發送緩存寄存器-串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例UTXH0,UTXH1和UTXH2寄存器相應位描述UTXHn位描述復位值TXDATAn7:0UARTn的發送數據-5.5 串行接口串行接口 (6)UART接收數據的緩沖寄存器(URXH0,URXH1和URXH2)保存接收數據。 寄存器地址讀/寫描述復位值URXH00 x50000024(L)0 x50000027(B)R(字節)UART通道0接收緩存寄存器-URXH10 x50004024(L)0 x50004027(B)R(字節
52、)UART通道1接收緩存寄存器-URXH20 x50008024(L)0 x50008027(B)R(字節)UART通道2接收緩存寄存器-串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例URXH0,URXH1和URXH2寄存器相應位描述URXHn位描述復位值RXDATAn7:0UARTn接收的數據-5.5 串行接口串行接口 (7)UART 發送接收狀態寄存器 (UTRSTAT0,UTRSTAT1和UTRSTAT2 )串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例寄存器地址讀/寫描述復位值UTRST
53、AT00 x50000010RUART通道0發送接收狀態寄存器0 x6UTRSTAT10 x50004010RUART通道1發送接收狀態寄存器0 x6UTRSTAT20 x50008010RUART通道2發送接收狀態寄存器0 x65.5 串行接口串行接口 (7)UART 發送接收狀態寄存器 (UTRSTAT0,UTRSTAT1和UTRSTAT2 )串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例UTRSTAT0、UTRSTAT1和UTRSTAT2寄存器相應位描述UTRSTATn20位描述復位值發送器為空2當發送緩存和發送移位寄存器為空時,自動置1
54、。0 :不為空;1:發生器為空1發送緩存為空1當發送緩存為空時,自動置1。0:發送緩存不為空;1:發送緩存為空1接受緩存數據準備就緒0接收緩存寄存器包含有效數據,自動置1。0:接收緩存寄存器空1:接收緩存寄存器有接收到的有效數據05.5 串行接口串行接口 (8)UART錯誤狀態寄存器 (UERSTAT0,UERSTAT1和UERSTAT2 ) UERSTAT0、UERSTAT1和UERSTAT2寄存器描述串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例寄存器地址讀/寫描述復位值UERSTAT00 x50000014RUART通道0接收錯誤狀態寄存
55、器0 x0UERSTAT10 x50004014RUART通道1接收錯誤狀態寄存器0 x0UERSTAT20 x50008014RUART通道2接收錯誤狀態寄存器0 x05.5 串行接口串行接口 (8)UART錯誤狀態寄存器 (UERSTAT0,UERSTAT1和UERSTAT2 ) UERSTAT0、UERSTAT1和UERSTAT2寄存器描述串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例UERSTATn位位描述描述復位值復位值保留保留3 3保留保留0 0幀錯誤幀錯誤2 2在接收操作中,任何時候發生幀錯誤該位都將自動置在接收操作中,任何時候發
56、生幀錯誤該位都將自動置1 1。0 0:接收時未發生幀錯誤:接收時未發生幀錯誤1 1:接收時發生幀錯誤:接收時發生幀錯誤0 0保留保留1 1保留保留0 0溢出錯誤溢出錯誤0 0在接收操作中,任何時候發生幀錯誤該位都將自動置在接收操作中,任何時候發生幀錯誤該位都將自動置1 1。0 0:接收時未發生溢出錯誤:接收時未發生溢出錯誤1 1:接收時發生溢出錯誤:接收時發生溢出錯誤0 0(9)UART FIFO狀態寄存器 (UFSTAT0,UFSTAT1和UFSTAT2 ) UFSTAT0、UFSTAT1和UFSTAT2寄存器描述 5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UAR
57、T UART接口電路接口電路 編程實例編程實例寄存器地址讀/寫描述復位值UFSTAT00 x50000018RUART通道0 FIFO狀態寄存器0 x00UFSTAT10 x50004018RUART通道1 FIFO狀態寄存器0 x00UFSTAT20 x50008018RUART通道2 FIFO狀態寄存器0 x00(9) UFSTAT0、UFSTAT1和UFSTAT2寄存器描述 5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例UFSTATn位描述復位值保留15:10保留0發送FIFO滿9發送操作中,發送FIFO滿的任何
58、時候,該位都將自動置10:0字節=發送FIFO數據 =15字節1:滿0接收FIFO滿8接收操作中,接收FIFO滿的任何時候,該位都將自動置1。0:0字節=接收FIFO數據 0-6.1.3 與 S3C2410A UART連接的串行接口電路1S3C2410A UART與與RS-232C的接口電路的接口電路v要完成最基本的串行通信功能,實際上只需要RXD、TXD和GND即可。由于RS-232C標準所定義的高、低電平信號與S3C2410A系統的LVTTL電路所定義的高、低電平信號不同,RS-232C標準采用負邏輯方式,標準邏輯“1”對應-3V-15V電平,標準邏輯“0”對應+3V+15V電平。vLVT
59、TL的標準邏輯“1”對應23.3V電平,標準邏輯“0”對應00.4V電平。顯然,兩者間要進行通信必須經過信號電平的轉換。目前常使用的電平轉換電路有MAX232等。S3C2410A與MAX232的接口電路如4.21所示。v在圖6.1.7中,包含有UART0和UART1與RS-232C的接口電路,通過9芯的D型插頭與外設連接。也可設計數據發送與接收的狀態指示LED,當有數據通過串行口傳輸時,LED閃爍,便于用戶掌握其工作狀態,以及進行軟、硬件的調試。 5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UART接口電路接口電路 編程實例編程實例圖圖6.1.7 S3C24
60、10A的的RS-232C接口電路接口電路 6.1.4 S3C2410A UART編程實例v工程模板uart.c文件參考v本程序實例實現從UART0接收數據,然后分別從UART0和UART1發送出去。其功能可以把鍵盤敲擊的字符通過PC機的串口發送給ARM系統上的UART0,ARM系統上的UART0接收到字符后,再通過UART0和UART1送給PC機,這樣就完成了串口間的收發數據。要實現以上數據的收發功能,需要編寫的主要代碼如下。1定義與定義與UART相關的寄存器相關的寄存器以UART0為例,需要定義的寄存器如下:5.5 串行接口串行接口 串行接口基本原理與結構串行接口基本原理與結構UART UA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國桑葉項目創業計劃書
- 中國肉用仔雞飼料項目創業計劃書
- 中國康復醫療機械項目創業計劃書
- 中國計算機系統排除故障項目創業計劃書
- 中國干香菇項目創業計劃書
- 中國鵝養殖業項目創業計劃書
- 乙炔鋼瓶試題及答案
- 樂山保安考試題及答案
- 家具定制配送安裝合同協議
- 小學五年級上冊作文
- 2025年新高考2卷(新課標Ⅱ卷)英語試卷
- 2024年全國統一高考英語試卷(新課標Ⅰ卷)含答案
- 人教版高一下學期期末考試數學試卷與答案解析(共五套)
- MOOC 思辨式英文寫作-南開大學 中國大學慕課答案
- T∕ACSC 01-2022 輔助生殖醫學中心建設標準(高清最新版)
- 《白內障》ppt課件
- Resume(簡歷英文版)
- 報價單模板(中英文
- 股骨頸骨折中醫診療方案
- 苯甲苯連續精餾裝置工藝設計 精餾塔設計說明書 化工設計
- 高中通用技術會考(學業水平測試)復習大綱
評論
0/150
提交評論