標籤:串列通訊 單片機
★基本通訊方式●並行通訊方式
通常是指資料位元組中的各位上的資料通過多條資料線同時進行傳送,每一位元據都需要一條資料線。這種方式的特點:傳輸速度相對較快,但是如果進行長距離的資料傳送,成本會很高。
●串列通訊方式
串列通訊就是將資料分成一位一位的,在一條資料線上逐個的進行傳輸。因此對於一個位元組的資料至少需要分八次傳輸,相比並行通訊,傳輸速度慢。串列通訊又分為:同步串列通訊和非同步串列通訊。
●非同步串列通訊方式
非同步串列通訊是指:發送方和接收方各自有各自的時鐘控制資料的發送和接收。非同步通訊是以幀為單位進行傳輸,幀與幀之間的間隙可以是任意的。一幀字元資訊由四部分組成:
起始位、資料位元、同位位元、停止位。它的特點:不要求雙方時鐘一樣,每幀之間要加上起始位、校正位、停止位,並且各幀之間有間隔,傳輸效率不高。
●同步串列通訊方式
同步通訊是要建立發送方時鐘對接收方時鐘直接控制,使時鐘同步。
★串口通訊的制式
●單工:資料 傳輸只能沿一個方向傳輸,不能反過來傳輸
●半雙工:可以雙向進行傳輸,但是不能同時進行雙向傳輸
●全雙工系統:資料可以同時進行雙向傳輸
★串口通訊錯誤校正
●同位
奇數同位時,資料中1的個數與校正位1的個數之和為奇數;偶校正時,資料中1的個數與校正位1的個數之和應為偶數。
●代碼和校正
代碼和是發送方將所發資料求和產生一個位元組的校正幀,與接收方對所接收的資料所求得和進行比較,如果相符則說明沒有差錯;否則認為傳輸過程中出現差錯。
●迴圈冗餘校正
通過某種數學運算實現有效資訊與校正位之間的迴圈校正。錯誤修正能力比較強。
★傳輸速率
傳輸速率是用來表示串口通訊時的速率的。每秒傳送二進位代碼的位元。1傳輸速率 = 1位/秒。
●傳輸速率的計算
串列口共有四種工作方式,其中方式0和方式2的傳輸速率是固定的,方式1和方式3的傳輸速率是根據T1的溢出率決定的。
傳輸速率計算定時器初值的方法:
一般情況下,都是通過確定傳輸速率的值B來確定定時器的初始值。一般的計算方法(51單片機串口方式1):
如果使用的晶振是11.0592MHZ,那麼我們可以知道刻度是1/11.0592MHZ;因為一個機器周期等於12個刻度,因此完成一個機器周期所用的時間就是12/11.0592MHZ。因為定時器每計數一次就花費1個機器周期,假設定時器所計的數為M,那麼定時器溢出一次所用的時間就是T = M*(12/11.0592MHZ);溢出率就是T的倒數。因此可以根據公式B = (2^SMOD/32)*(1/T),然後就可以求得M,同時就知道了定時器的初始值256-M。
★與串列口相關的寄存器
IE中斷允許寄存器
TMOD定時器/計數器工作方式寄存器
TCON定時器/計數器控制寄存器
SCON串列口控制寄存器