新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM-Linux s3c2440 之UART分析(一)

        ARM-Linux s3c2440 之UART分析(一)

        作者: 時間:2016-11-19 來源:網絡 收藏
        在分析ARM-Linux s3c2440UART的時有必要先了解 s3c2440A中串口的硬件知識。也就是本文----

        硬件篇:

        本文引用地址:http://www.104case.com/article/201611/318131.htm

        S3c2440A串口提供三個獨立的異步串行通信I/O端口(asynchronousserial I/O ports)。每一個串口均可以以普通中斷方式或者DMA方式進行數據收發,采用系統時鐘時,最大速率為115.2kbps.如果采用外部時鐘(UEXTCLK),UART速度可以更快。每個串口包含有2個64-byte的FIFO緩存區用來發送或傳輸數據。

        S3c2440A 串口具有可編程波特率,紅外(IR)收發數據,1或者2 位的停止位(stop),5/6/7/8 位數據寬度和奇偶校驗功能(parity checking)。

        每個串口由波特率產生單元,發送單元,接收單元和控制單元組成。如下圖所示,波特產生單元的時鐘可以是PCLK,FCLK/n,或者UEXTCLK(外部輸入的時鐘)。發送和接收單元包含有一個64-byte的FIFOs(先入先出隊列)和數據移位器。發送數據時,數據被寫進FIFO然后拷貝到數據移位器后發送數據,最后數據被一位一位由數據發送腳(TxDn)送出。類似的,數據在接收時,數據一位一位的由數據接收腳(RxDn)接收,然后拷貝到FIFO緩存區。

        寄存器:

        串口的控制寄存器有三個:UCON0 ~ UCON1分別對應于每一個串口,用于設置UART的工作模式,波特率,中斷類型等。

        狀態寄存器:UTRSTAT0 ~UTRSTAT2, 用于串口工作時,接收/發送的狀態指示

        FIFO控制寄存器: UFCON0 ~ UFCON2, 用于對FIFO的設置。

        FIFO狀態寄存器: UFSTAT0 ~ UFSTAT2, 用于表示FIFO緩存中的狀態

        對于Arm-linux s3c2440串口的使用,主要是對以上寄存器的操作。

        下一篇將結合源碼分析arm-linux s3c2440串口驅動的實現(軟件篇)



        關鍵詞: ARMLinuxs3c2440UAR

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 黄石市| 乐至县| 隆林| 岫岩| 温泉县| 合川市| 大田县| 庄浪县| 沛县| 廉江市| 册亨县| 镇巴县| 湾仔区| 宁夏| 科技| 专栏| 额济纳旗| 湖口县| 柳河县| 曲阜市| 广州市| 潢川县| 泰州市| 泰顺县| 拜城县| 萨迦县| 屏山县| 临湘市| 怀安县| 贡嘎县| 浮梁县| 邯郸市| 沈丘县| 三河市| 谷城县| 革吉县| 大丰市| 永修县| 沐川县| 余庆县| 务川|