小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

S3C2440

 zzjiwang 2014-09-29

      通用異步收發(fā)器簡稱UART,即“Universal Asynchronous Receiver Transmitter”

      s3c2440提供了三個UART端口,它們都可以通過查詢、中斷和DMA方式傳輸數(shù)據(jù),而且每個UART都分別有一個64個字節(jié)的接收FIFO和一個64個字節(jié)的發(fā)送FIFO。UART由波特率發(fā)生器、發(fā)送器、接收器和控制邏輯組成,使用系統(tǒng)時鐘可以達(dá)到115.2Kbit/s,如果使用UEXTCLK引腳提供的外部時鐘,則可以達(dá)到更高的波特率,波特率可以通過編程進行控制。UART的結(jié)構(gòu)示意圖如下所示:

S3C2440—UART原理簡介 - 23號的wj - 偉堅的博客
      UART的工作原理是:當(dāng)發(fā)送數(shù)據(jù)時,CPU先將數(shù)據(jù)寫入發(fā)送FIFO中,然后UART會自動將FIFO中的數(shù)據(jù)復(fù)制到“發(fā)送移位器”中,發(fā)送移位器將數(shù)據(jù)一位一位(先發(fā)最低位)地發(fā)送到TXDn數(shù)據(jù)線上(根據(jù)設(shè)定的格式、插入開始位。校驗位和停止位)。接收數(shù)據(jù)時,“接收移位器”將RXDn數(shù)據(jù)線上的數(shù)據(jù)一位一位(同樣是先發(fā)最低位)接收進來,然后復(fù)制到接收FIFO中,CPU即可從中讀取數(shù)據(jù)。
     S3C2440 UART有3個獨立通道,每個通道支持的停止位有1位、2位,數(shù)據(jù)位有5、6、7、8位,支持校驗功能,另外還有紅外發(fā)送/接收功能。
     在使用UART之前,需要設(shè)置波特率、傳輸格式(有多少個數(shù)據(jù)位、是否使用校驗位、是奇校驗還是偶校驗、有多少個停止位、是否使用流量控制),選擇UART通道的工作模式為中斷模式或DMA模式。
     下面我們來介紹一下UART比較重要的寄存器。
1、UBRDIVn  寄存器(UART BAUD RATE DIVISOR):設(shè)置比特率
      根據(jù)給定的波特率、所選擇的時鐘源的頻率,可以通過以下公式計算UBRDIVn寄存器的值(n為0~2,對應(yīng)3個UART通道)
S3C2440—UART原理簡介 - 23號的wj - 偉堅的博客
 2.ULCONn寄存器(UART LINE CONTROL):設(shè)置傳輸格式
ULCONn寄存器(n為0~2),假如我們要設(shè)置UART0的傳輸格式為:8位數(shù)據(jù)位,每幀1個停止位,無奇偶校驗位,普通模式。就要設(shè)置ULCON0的[7:0]為00000011  如下圖紅色標(biāo)記所示
S3C2440—UART原理簡介 - 23號的wj - 偉堅的博客
 3、UCONx寄存器  (UART CONTROL)
      UCONn寄存器用于選擇UART時鐘源,設(shè)置UART中斷方式等。S3C244 UART有三個時鐘源PCLK、UEXTCLK、FCLK/n,這里我們只列出[11:0] 位,因為[15:12]是保留,使用默認(rèn)值0000 ,這里我們不理它。
S3C2440—UART原理簡介 - 23號的wj - 偉堅的博客
S3C2440—UART原理簡介 - 23號的wj - 偉堅的博客
S3C2440—UART原理簡介 - 23號的wj - 偉堅的博客
4、UFCONn寄存器(UART FIFO CONTROL)、UFSTATn寄存器(UART FIFO STATUS)
       UFCONn寄存器用于設(shè)置是否使用FIFO,設(shè)置各個FIFO的觸發(fā)閾值,即發(fā)送FIFO中有多少個數(shù)據(jù)時產(chǎn)生中斷,接收FIFO中有多少個數(shù)據(jù)時產(chǎn)生中斷。
      讀取UFSTATn寄存器可以知道各個FIFO是否已經(jīng)滿、其中有多少個數(shù)據(jù)。當(dāng)不使用FIFO時候,可認(rèn)為FIFO的深度為1,使用FIFO時候S3C2440的FIFO的深度是64比S3C2440多了4倍。
S3C2440—UART原理簡介 - 23號的wj - 偉堅的博客 
5、UMCONn寄存器(UART MODEM CONTROL)UMSTATn寄存器(UART MODEM STATUS)
     這兩類寄存器用于流量控制,我們一般不會用到。
6、UTRSTATn寄存器(UART TX/RX STATUS)
UTRSTATn寄存器用來表明數(shù)據(jù)是否已經(jīng)發(fā)送完畢、是否已經(jīng)接收到數(shù)據(jù)。
接受緩沖區(qū)數(shù)據(jù)就緒[0]位:表示當(dāng)接收到數(shù)據(jù)時,此位被自動設(shè)為1
發(fā)送緩沖區(qū)空[1]位:表示當(dāng)發(fā)送緩沖區(qū)中沒有數(shù)據(jù)時,此位被自動設(shè)為1
發(fā)送器空[2]位: 表示當(dāng)發(fā)送緩沖區(qū)中沒有數(shù)據(jù),并且最后一個數(shù)據(jù)也已經(jīng)發(fā)送出去時,此位被自動設(shè)為1
S3C2440—UART原理簡介 - 23號的wj - 偉堅的博客
7、UERSTATn寄存器(UART ERROR STATUS)
     這個寄存器用來表示各種錯誤是否發(fā)送。
S3C2440—UART原理簡介 - 23號的wj - 偉堅的博客
8、UTXHn寄存器(UART TRANSMIT BUFFER REGISTER)
  CPU將數(shù)據(jù)寫入這個寄存器,UART即會將它保存到緩沖區(qū)中,并自動發(fā)送出去。
S3C2440—UART原理簡介 - 23號的wj - 偉堅的博客
9、URXHn寄存器(UART RECEIVE BUFFER REGISTER)
  當(dāng)UART接收到數(shù)據(jù)時,CPU讀取這個寄存器,即可獲得數(shù)據(jù)。
S3C2440—UART原理簡介 - 23號的wj - 偉堅的博客
—————————————————————————————————————————————————————
     UART的講解就到這里結(jié)束啦。S3C2440—UART原理簡介 - 23號的wj - 偉堅的博客
 
 
 
 
 
 
 

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多