串行通訊的基本概念:與外界的信息交換稱為通訊。基本的通訊方式有并行通訊和串行通訊兩種。 一條信息的各位數據被同時傳送的通訊方式稱為并行通訊。并行通訊的特點是:各數據位同時傳送,傳送速度快、效率高,但有多少數據位就需多少根數據線,因此傳送成本高,且只適用于近距離(相距數米)的通訊。 一條信息的各位數據被逐位按順序傳送的通訊方式稱為串行通訊。串行通訊的特點是:數據位傳送,傳按位順序進行,最少只需一根傳輸線即可完成,成本低但送速度慢。串行通訊的距離可以從幾米到幾千米。 根據信息的傳送方向,串行通訊可以進一步分為單工、半雙工和全雙工三種。信息只能單向傳送為單工;信息能雙向傳送但不能同時雙向傳送稱為半雙工;信息能夠同時雙向傳送則稱為全雙工。 串行通訊又分為異步通訊和同步通訊兩種方式。在單片機中,主要使用異步通訊方式。 MCS_51單片機有一個全雙工串行口。全雙工的串行通訊只需要一根輸出線和一根輸入線。數據的輸出又稱發送數據(TXD),數據的輸入又稱接收數據(RXD)。串行通訊中主要有兩個技術問題,一個是數據傳送、另一個是數據轉換。數據傳送主要解決傳送中的標準、格式及工作方式等問題。數據轉換是指數據的串并行轉換。具體說,在發送端,要把并行數據轉換為串行數據;而在接收端,卻要把接收到的串行數據轉換為并行數據。 在串行通信中,數據通常是在兩個站(如終端和微機)之間進行傳送,按照數據流的方向可分成三種基本的傳送方式:全雙工、半雙工、和單工。但單工目前已很少采用,下面僅介紹前兩種方式。 1、全雙工方式(full duplex) 當數據的發送和接收分流,分別由兩根不同的傳輸線傳送時,通信雙方都能在同一時刻進行發送和接收操作,這樣的傳送方式就是全雙工制,如圖1所示。在全雙工方式下,通信系統的每一端都設置了發送器和接收器,因此,能控制數據同時在兩個方向上傳送。全雙工方式無需進行方向的切換,因此,沒有切換操作所產生的時間延遲,這對那些不能有時間延誤的交互式應用(例如遠程監測和控制系統)十分有利。這種方式要求通訊雙方均有發送器和接收器,同時,需要2根數據線傳送數據信號。(可能還需要控制線和狀態線,以及地線)。
 圖1 比如,計算機主機用串行接口連接顯示終端,而顯示終端帶有鍵盤。這樣,一方面鍵盤上輸入的字符送到主機內存;另一方面,主機內存的信息可以送到屏幕顯示。通常,往鍵盤上打入1個字符以后,先不顯示,計算機主機收到字符后,立即回送到終端,然后終端再把這個字符顯示出來。這樣,前一個字符的回送過程和后一個字符的輸入過程是同時進行的,即工作于全雙工方式。 2、半雙式方式(half duplex) 若使用同一根傳輸線既作接收又作發送,雖然數據可以在兩個方向上傳送,但通信雙方不能同時收發數據,這樣的傳送方式就是半雙工制,如圖2所示。采用半雙工方式時,通信系統每一端的發送器和接收器,通過收/發開關轉接到通信線上,進行方向的切換,因此,會產生時間延遲。收/發開關實際上是由軟件控制的電子開關。
 圖2 當計算機主機用串行接口連接顯示終端時,在半雙工方式中,輸入過程和輸出過程使用同一通路。有些計算機和顯示終端之間采用半雙工方式工作,這時,從鍵盤打入的字符在發送到主機的同時就被送到終端上顯示出來,而不是用回送的辦法,所以避免了接收過程和發送過程同時進行的情況。 目前多數終端和串行接口都為半雙工方式提供了換向能力,也為全雙工方式提供了兩條獨立的引腳。在實際使用時,一般并不需要通信雙方同時既發送又接收,像打印機這類的單向傳送設備,半雙工甚至單工就能勝任,也無需倒向。> |