我是哪根蔥

關於部落格
不才的我,只能轉轉別人的文章或新聞,還請大家多多包涵與指教,希望有朝一日也讓別人轉轉自己的文章...
  • 28523

    累積人氣

  • 0

    今日人氣

    0

    訂閱人氣

【電腦】序列通訊作業概述

 

何謂序列?

序列幾乎為所有電腦的裝置通訊協定標準。請別與通用序列匯流排 (Universal serial bus,USB) 產生混肴。大多數的電腦均配備 2 組 EIA-232 架構的序列埠。序列亦為常見的通訊協定,適用於多款裝置的儀控作業,並可搭配 EIA-232 通訊埠使用多款 GPIB 相容的裝置。此外,使用者可透過資料擷取的序列通訊功能,進而整合遠端取樣裝置。請注意,EIA-232 與 EIA-485/422 亦可為所謂的 RS-232 與 RS-485/422。

序列通訊的概念極為簡單。序列埠將同時傳送並接收 1 個位元 (Bit) 的資訊位元組 (Byte)。雖然此傳輸量低於平行通訊作業,卻可傳輸完整的位元組;適用於較長距離的通訊作業。以 IEEE 488 規格的平行通訊作業為例,設備之間的接線總長度不得超過 20 公尺;任 2 組裝置之間的長度不得超過 2 公尺。而序列卻可達最長 1200 公尺。

一般情況下,工程師均使用序列傳輸 ASCII 資料。並透過 3 種傳輸線完成通訊作業 - 接地線 (Ground)、傳送線 (Transmit),與接收線 (Receive)。由於序列屬於非同步化,因此序列埠可於其中 1 個通道傳送資料,並於另 1 個通道接收資料。其他通道可視情況而進行交握 (Handshaking)。重要的序列特性為鮑率 (Baud rate)、資料位元、停止位元 (Stop bit),與奇偶同位 (Parity)。若要溝通 2 組通訊埠,則必須符合這些參數:

  1. 鮑率 (Baud rate) 為通訊的速度量測作業,顯示每秒所傳輸的位元數。舉例來說,300 鮑率即為每秒達 300 個位元。工程師所稱的時脈週期 (Clock cycle) 即為鮑率;若協定呼叫訊號 (Protocol call) 為 4800 鮑率,意即時脈為 4800 Hz。亦表示序列埠以 4800 Hz 的速率,進行資料通道的取樣。常見的電話線路鮑率為 14400、28800,與 33600。鮑率當然可以大於上述這些數字,但這些速率將限制設備之間的距離。因此高鮑率均用於裝置距離相近的通訊作業,常見的即為 GPIB 裝置。
  2. 資料位元數 (Data bit),代表傳輸作業中的實際資料位元。當電腦傳送資訊框架 (Frame) 時,實際資料總數可能不滿 8 位元。框架的標準數值為 5、7,與 8 位元。應根據所傳輸的資訊,選擇所需的設定。舉例來說,標準 ASCII 可為 0 ~ 127 的數值 (7 位元)。延伸的 ASCII 則使用 0 ~ 255 (8 位元)。若傳輸中的資料為標準 ASCII,則各個框架若能傳送 7 位元資料,即屬高效率的通訊作業。1 個框架即為單一位元組 (Byte) 的傳輸,包含開始/停止 (Start/stop) 位元、資料位元,與奇偶校驗 (Parity)。由於所選的通訊協定將影響實際位元數,因此可使用「框架 (Frame)」代表所有的範例。
  3. 停止位元 (Stop bit) 可針對單一框架的通訊作業末端發出訊號。常見數值為 1、1.5,與 2 位元。由於資料將受到跨通道的時脈所影響,而各組裝置又具有自己的時脈,因此任 2 組裝置可能會稍稍落後同步化作業。因此,停止位元不僅可指出傳輸作業末端,並可為電腦時脈速度提供發生錯誤的空間。停止位元所佔的位元數越多,則不同時脈的同步化越具彈性;但亦將拖慢傳輸速度。
  4. 奇偶校驗 (Parity) 為序列通訊作業錯誤檢查的簡易形式。奇偶校驗具分為 4 種類型 – Even、Odd、Marked,與 Spaced。亦可不使用奇偶校驗。針對 Even 與 Odd,序列埠將設定奇偶校驗位 (Parity bit,為資料位元之後的最後 1 個位元) 為 1 個數值,以確認該傳輸作業具有邏輯高位 (Logic-high) 位元的 Even 或 Odd 數。舉例來說,若資料為 011,針對 Even 奇偶校驗的奇偶校驗位則為 0,才能讓邏輯高位位元的數字為 Even。在奇偶校驗為 Odd 的情況下,奇偶校驗位「1」將導致「3」的邏輯高位位元。Marked 與 Spaced 的奇偶校驗將不會實際檢查資料位元,但會根據 Marked 奇偶校驗設定高的奇偶校驗位,或根據 Spaced 奇偶校驗設定低的奇偶校驗位。此將讓接收裝置了解位元的狀態,以進一步判定雜訊是否使資料發生中斷,或傳送與接收裝置是否尚未同步化。
相簿設定
標籤設定
相簿狀態