首页
/
每日頭條
/
生活
/
rs232和rs485的外形區别
rs232和rs485的外形區别
更新时间:2024-11-30 09:26:56

串口是串行接口(serial port)的簡稱,也稱為串行通信接口或COM接口。

串口通信是指采用串行通信協議(serial communication)在一條信号線上将數據一個比特一個比特地逐位進行傳輸的通信模式。

串口按電氣标準及協議來劃分,包括RS-232-C、RS-422、RS485等。

1.串行通信

在串行通信中,數據在1位寬的單條線路上進行傳輸,一個字節的數據要分為8次,由低位到高位按順序一位一位的進行傳送。

串行通信的數據是逐位傳輸的,發送方發送的每一位都具有固定的時間間隔,這就要求接收方也要按照發送方同樣的時間間隔來接收每一位。不僅如此,接收方還必須能夠确定一個信息組的開始和結束。

常用的兩種基本串行通信方式包括同步通信和異步通信。

1.1串行同步通信

同步通信(SYNC:synchronous data communication)是指在約定的通信速率下,發送端和接收端的時鐘信号頻率和相位始終保持一緻(同步),這樣就保證了通信雙方在發送和接收數據時具有完全一緻的定時關系。

圖1 異步通信數據格式

(1)起始位:起始位必須是持續一個比特時間的邏輯0電平,标志傳輸一個字符的開始,接收方可用起始位使自己的接收時鐘與發送方的數據同步。

(2)數據位:數據位緊跟在起始位之後,是通信中的真正有效信息。數據位的位數可以由通信雙方共同約定,一般可以是5位、7位或8位,标準的ASCII碼是0~127(7位),擴展的ASCII碼是0~255(8位)。傳輸數據時先傳送字符的低位,後傳送字符的高位。

(3)奇偶校驗位:奇偶校驗位僅占一位,用于進行奇校驗或偶校驗,奇偶檢驗位不是必須有的。如果是奇校驗,需要保證傳輸的數據總共有奇數個邏輯高位;如果是偶校驗,需要保證傳輸的數據總共有偶數個邏輯高位。

舉例來說,假設傳輸的數據位為01001100,如果是奇校驗,則奇校驗位為0(要确保總共有奇數個1),如果是偶校驗,則偶校驗位為1(要确保總共有偶數個1)。

由此可見,奇偶校驗位僅是對數據進行簡單的置邏輯高位或邏輯低位,不會對數據進行實質的判斷,這樣做的好處是接收設備能夠知道一個位的狀态,有可能判斷是否有噪聲幹擾了通信以及傳輸的數據是否同步。

(4)停止位:停止位可以是是1位、1.5位或2位,可以由軟件設定。它一定是邏輯1電平,标志着傳輸一個字符的結束。

(5)空閑位:空閑位是指從一個字符的停止位結束到下一個字符的起始位開始,表示線路處于空閑狀态,必須由高電平來填充。

1.2.2異步通信的數據發送過程

清楚了異步通信的數據格式之後,就可以按照指定的數據格式發送數據了,發送數據的具體步驟如下:

(1)初始化後或者沒有數據需要發送時,發送端輸出邏輯1,可以有任意數量的空閑位。

(2)當需要發送數據時,發送端首先輸出邏輯0,作為起始位。

(3)接着就可以開始輸出數據位了,發送端首先輸出數據的最低位D0,然後是D1,最後是數據的最高位。

(4)如果設有奇偶檢驗位,發送端輸出檢驗位。

(5)最後,發送端輸出停止位(邏輯1)。

(6)如果沒有信息需要發送,發送端輸出邏輯1(空閑位),如果有信息需要發送,則轉入步驟(2)。

1.2.3異步通信的數據接收過程

在異步通信中,接收端以接收時鐘和波特率因子決定每一位的時間長度。下面以波特率因子等于16(接收時鐘每16個時鐘周期使接收移位寄存器移位一次)為例來說明。

(1)開始通信,信号線為空閑(邏輯1),當檢測到由1到0的跳變時,開始對接收時鐘計數。

(2)當計到8個時鐘的時候,對輸入信号進行檢測,若仍然為低電平,則确認這是起始位,而不是幹擾信号。

(3)接收端檢測到起始位後,隔16個接收時鐘對輸入信号檢測一次,把對應的值作為D0位數據。

(4)再隔16個接收時鐘,對輸入信号檢測一次,把對應的值作為D1位數據,直到全部數據位都輸入。

(5)檢驗奇偶檢驗位。

(6)接收到規定的數據位個數和校驗位之後,通信接口電路希望收到停止位(邏輯1),若此時未收到邏輯1,說明出現了錯誤,在狀态寄存器中置“幀錯誤”标志;若沒有錯誤,對全部數據位進行奇偶校驗,無校驗錯時,把數據位從移位寄存器中取出送至數據輸入寄存器,若校驗錯,在狀态寄存器中置“奇偶錯”标志。

(7)本幀信息全部接收完,把線路上出現的高電平作為空閑位。

(8)當信号再次變為低時,開始進入下一幀的檢測。

以上就是異步通信中數據發送和接收的全過程了。

1.3幾個概念

為了更好的理解串口通信,我們還需要了解幾個串口通信當中的基本概念。

(1)發送時鐘:發送數據時,首先将要發送的數據送入移位寄存器,然後在發送時鐘的控制下,将該并行數據逐位移位輸出。

(2)接收時鐘:在接收串行數據時,接收時鐘的上升沿對接收數據采樣,進行數據位檢測,并将其移入接收器的移位寄存器中,最後組成并行數據輸出。

(3)波特率因子:波特率因子是指發送或接收1個數據位所需要的時鐘脈沖個數。

2.串口接頭

常用的串口接頭有兩種,一種是9針串口(簡稱DB-9),一種是25針串口(簡稱DB-25)。每種接頭都有公頭和母頭之分,其中帶針狀的接頭是公頭,而帶孔狀的接頭是母頭。9針串口的外觀如圖2所示。

rs232和rs485的外形區别(你很熟悉RS485和RS232這些位你懂嗎)1

圖2 DB-9外觀圖

由圖2可以看出,在9針串口接頭中,公頭和母頭的管腳定義順序是不一樣,這一點需要特别注意。那麼,這些管腳都有什麼作用呢?9針串口和25針串口常用管腳的功能說明如圖3所示。

rs232和rs485的外形區别(你很熟悉RS485和RS232這些位你懂嗎)2

圖3 9針串口和25針串口常用管腳功能說明

3.RS-232C标準

常用的串行通信接口标準有RS-232C、RS-422、RS-423和RS-485。其中,RS-232C作為串行通信接口的電氣标準定義了數據終端設備(DTE:data terminal equipment)和數據通信設備(DCE:data communication equipment)間按位串行傳輸的接口信息,合理安排了接口的電氣信号和機械要求,在世界範圍内得到了廣泛的應用。

3.1電氣特性

RS-232C對電器特性、邏輯電平和各種信号功能都做了規定,如下:

在TXD和RXD數據線上:

(1)邏輯1為-3~-15V的電壓

(2)邏輯0為3~15V的電壓

在RTS、CTS、DSR、DTR和DCD等控制線上:

(1)信号有效(ON狀态)為3~15V的電壓

(2)信号無效(OFF狀态)為-3~-15V的電壓

由此可見,RS-232C是用正負電壓來表示邏輯狀态,與晶體管-晶體管邏輯集成電路(TTL)以高低電平表示邏輯狀态的規定正好相反。

3.2信号線分配

RS-232C标準接口有25條線,其中,4條數據線、11條控制線、3條定時線以及7條備用和未定義線。那麼,這些信号線在9針串口和25針串口的管腳上是如何分配的呢?9針串口和25針串口信号線分配如圖4所示。

rs232和rs485的外形區别(你很熟悉RS485和RS232這些位你懂嗎)3

圖4 9針串口和25針串口信号線分配示意圖

下面對這些信号線做個簡單的介紹。

(1)數據裝置準備好(DSR),有效狀态(ON)表示數據通信設備處于可以使用狀态。

(2)數據終端準備好(DTR),有效狀态(ON)表示數據終端設備處于可以使用狀态。

這兩個設備狀态信号有效,隻表示設備本身可用,并不說明通信鍊路可以開始進行通信了,能否開始進行通信要由下面的一些控制信号決定。

(3)請求發送(RTS),用來表示數據終端設備(DTE)請求數據通信設備(DCE)發送數據。

(4)允許發送(CTS),用來表示數據通信設備(DCE)已經準備好了數據,可以向數據終端設備(DTE)發送數據,是對請求發送信号RTS的響應。

請求發送(RTS)和允許發送(CTS)用于半雙工的通信系統中,在全雙工的系統中,不需要使用請求發送(RTS)和允許發送(CTS)信号,直接将其置為ON即可。

(5)數據載波檢出(DCD),用于表示數據通信設備(DCE)已接通通信鍊路,告知數據終端設備(DTE)準備接收數據。

(6)振鈴指示(RI),當數據通信設備收到交換台送來的振鈴呼叫信号時,使該信号有效(ON),通知終端,已被呼叫。

(7)發送數據(TXD),數據終端設備(DTE)通過該信号線将串行數據發送到數據通信設備(DCE)。

(8)接收信号(RXD),數據終端設備(DTE)通過該信号線接收從數據通信設備(DCE)發來的串行數據。

(9)地線(SG、PG),分别表示信号地和保護地信号線。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
Copyright 2023-2024 - www.tftnews.com All Rights Reserved