歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> mini6410 實現 Linux 串口驅動詳解

mini6410 實現 Linux 串口驅動詳解

日期:2017/3/1 10:48:56   编辑:Linux編程

為了實現串口通信,需要在嵌入式linux下編寫相應的驅動程序。在嵌入式系統中,串口被看做終端設備tty。終端設備是unix體系中一個非常重要的對象,內容非常復雜,它是整個unix人機交互的基礎,其地位並不亞於文件系統在操作系統中的作用。筆者muge0913在此對uart驅動進行整理。

一、串口概述

串口分為:同步傳輸(usrt)和異步傳輸(uart),其中異步傳輸是嵌入系統中最長用的通信設備,串口常被當做控制台使用。

①同步傳輸:發送端和接收端使用同一個時鐘。其時序如下:

②異步傳輸:在數據傳輸過程中,接收時鐘和發送時鐘是不同步的,即在串行總線上並沒有時鐘線。

傳輸前有相應的起始位,然後緊接著發送數據位(5~8位有用戶定義),最後是奇偶校驗位和停止位。如圖:

二、串口物理層連接問題

因為串口電纜有交叉和直連接之分,其接口有公頭和母頭之分,所以其連接有6中連接方式:

①兩頭公頭的直線電纜

②兩頭母頭的交叉線

③兩頭公頭的交叉線

④兩個母頭的直線電纜

⑤一公頭一母頭的直線電纜

⑥一公頭一母頭的交叉線

在大多數的異步通信中不需要流的控制,所以3根線就能滿座嵌入式設備通信的要求,但是為了保持兼容常常使用下面的連接方法:

三、arm11中的uart

①概述:

S3C6410X的UART提供四個獨立的異步串行I / O(SIO)端口。異步串行I / O(SIO)端口,每個都可以在基於中斷或基於DMA模式。換句話說,UART可以產生中斷或DMA請求MEM和UART之間的數據傳輸。UART也可支持最大3Mbps的比特率。每個UART通道包含兩個64字節的FIFO的接收和傳輸的。

②特點

Copyright © Linux教程網 All Rights Reserved