第 一 章 基 本 通 訊 介 紹 1-1 引 言 通 訊 的 種 類 通 常 可 以 區 分 為 兩 種, 其 一 為 並 列 傳 輸 式 的 通 訊 (Parallel Communication), 另 一 種 則 為 串 列 傳 輸 式 的 通 訊 (Serial Communication) 所 謂 的 並 列 通 訊 即 是 一 次 的 傳 輸 量 為 多 個 位 元, 而 串 列 通 訊 則 是 一 次 只 傳 輸 一 個 位 元 ( 也 就 是 一 個 電 壓 準 位 狀 態 ), 它 們 之 間 的 資 料 傳 輸 量 就 相 差 了 數 倍 之 多 ; 但 並 不 是 說 串 列 通 訊 就 不 好, 它 之 所 以 存 在 了 那 麼 久, 自 然 有 它 的 長 處 並 列 通 訊 雖 然 可 以 在 一 次 的 資 料 傳 輸 中 就 傳 輸 了 多 個 位 元, 但 是 因 為 資 料 電 壓 傳 輸 的 過 程 中 容 易 因 線 路 的 因 素, 而 使 得 電 壓 準 位 發 生 變 化 ( 最 常 見 的 是 電 壓 衰 減 問 題 以 及 訊 號 間 互 相 干 擾 問 題 (Cross Talk), 因 而 使 得 傳 輸 的 資 料 發 生 錯 誤, 如 果 傳 輸 線 比 較 長 的 話, 電 壓 衰 減 效 應 及 干 擾 問 題 會 更 加 明 顯, 資 料 的 錯 誤 也 就 會 比 較 容 易 發 生 ; 相 較 之 下, 串 列 通 訊 一 次 只 傳 一 個 位 元, 處 理 的 資 料 電 壓 只 有 一 個 準 位, 因 此 比 較 不 容 易 把 資 料 漏 失, 再 加 上 一 些 防 範 措 施 後, 要 漏 失 就 更 不 容 易 了 由 最 早 的 串 列 通 訊 發 展 到 現 在, 基 於 不 同 類 型 的 需 求, 串 列 通 訊 的 樣 式 也 愈 來 愈 多, 而 並 列 通 訊 的 發 展, 其 實 也 不 曾 間 斷 過, 在 傳 輸 距 離 較 短 的 應 用 場 合 中, 使 用 並 列 通 訊 的 高 傳 輸 率 特 性, 可 以 讓 資 料 的 傳 輸 更 快 在 部 分 科 學 儀 器 醫 療 診 斷 儀 器, 由 於 需 要 傳 輸 的 資 料 量 都 相 當 大, 因 此 使 用 並 列 傳 輸 介 面 ( 如 GPIB LPT), 就 經 常 見 到 以 下 僅 就 並 列 埠 ( 印 表 機 埠 ) 及 串 列 埠 (RS-232) 之 相 關 知 識 及 應 用 作 一 說 明 1-1
1-2 並 列 埠 1-2-1 相 關 知 識 一 般 來 說, 並 列 通 訊 的 方 式 使 用 在 印 表 機 上 是 最 為 普 遍 的, 而 且 連 接 的 線 路 通 常 也 不 會 太 長, 由 於 利 用 印 表 機 埠 進 行 資 料 的 傳 輸 是 一 次 八 個 位 元, 所 以 必 須 使 用 八 條 線 路 來 傳 遞 資 料, 這 八 條 線 分 別 代 表 一 個 位 元 組 中 的 八 個 位 元 當 然 通 訊 若 只 有 資 料 線 是 不 夠 的, 還 需 要 一 些 輔 助 的 線 路, 這 些 輔 助 的 線 路, 用 來 包 括 了 資 料 確 認 忙 碌 狀 態 控 制 等 等 的 訊 息 傳 送, 一 個 標 準 的 印 表 機 所 需 要 的 線 路 總 共 18 條, 其 中 的 17 條 分 別 用 來 掌 管 不 同 的 資 訊, 另 一 條 則 為 地 線 掌 控 這 18 條 線 路 就 可 以 利 用 印 表 機 埠 作 為 控 制 外 部 設 備 的 管 道 1-2-2 電 腦 上 的 印 表 機 埠 檢 查 電 腦 的 後 面 接 頭 部 分, 有 一 個 25Pin 母 頭 的 連 接 座, 這 就 是 印 表 機 埠 這 是 個 人 電 腦 的 標 準 配 備, 到 目 前 為 止 還 沒 有 改 變 過 印 表 機 埠 共 有 25 支 腳, 但 不 是 每 支 腳 都 有 被 使 用 到, 這 些 腳 位 被 區 分 為 三 主 要 的 功 能, 分 別 是 資 料 的 傳 送, 檢 查 印 表 機 的 狀 態 及 控 制 印 表 機, 其 外 觀 如 下 圖 1-1 所 示 : 圖 1-1 印 表 機 埠 接 腳 圖 1 資 料 埠 腳 位 : DB0( 資 料 位 元 0):PIN2 DB1( 資 料 位 元 1):PIN3 DB2( 資 料 位 元 2):PIN4 DB3( 資 料 位 元 3):PIN5 DB4( 資 料 位 元 4):PIN6 DB5( 資 料 位 元 5):PIN7 1-2
DB6( 資 料 位 元 6):PIN8 DB7( 資 料 位 元 7):PIN9 當 我 們 要 藉 由 印 表 機 埠 傳 送 資 料 時, 就 是 改 變 這 八 支 腳 位 的 狀 態 而 達 到 傳 送 資 料 的 目 的, 例 如 我 們 要 傳 送 C 這 個 字 元 出 去 時, 由 於 它 在 ASCII 表 上 的 定 義 是 43H, 轉 換 成 二 進 位 的 表 示 法 的 話 就 是 0100 0011, 所 以 上 述 八 支 腳 位 狀 態 就 必 須 傳 出 這 組 電 位 的 資 料 換 個 角 度 來 說 我 們 也 可 以 把 這 八 支 腳 當 成 一 般 的 數 位 輸 出 而 這 個 位 址 的 資 料 是 可 讀 寫 的, 表 示 我 們 可 以 把 資 料 寫 進 去, 也 可 以 把 資 料 讀 出 來, 不 過 讀 進 來 的 也 是 我 們 上 一 次 寫 進 去 的 資 料 或 是 原 來 保 留 在 裡 面 的 資 料, 並 不 是 由 印 表 機 輸 出 到 電 腦 的 資 料, 這 點 是 必 須 注 意 的 2 狀 態 埠 腳 位 : 狀 態 位 元 0 (TIME-OUT) 狀 態 位 元 1 ( 未 使 用 ) 狀 態 位 元 2 ( 未 使 用 ) 狀 態 位 元 3 ERROR (0= 發 生 錯 誤 ):PIN15 狀 態 位 元 4 ON-LINE (1=ON-LINE):PIN13 狀 態 位 元 5 EMPTY (1= 紙 張 用 完 ):PIN12 狀 態 位 元 6 ACK (0= 認 可 訊 號 ):PIN10 狀 態 位 元 7 BUSY (0= 忙 碌 ):PIN11 3 控 制 埠 腳 位 : 控 制 位 元 0 DP (1= 欲 將 資 料 送 至 印 表 機 0):PIN1 控 制 位 元 1 LF (1= 自 動 跳 行 ):PIN14 控 制 位 元 2 INI (0= 初 始 化 印 表 機 ):PIN16 控 制 位 元 3 PR (1= 印 表 機 讀 取 輸 出 資 料 ):PIN17 控 制 位 元 4 (0= 除 能 IRQ,1= 認 可 致 能 訊 號 IRQ) 控 制 位 元 5 ( 未 使 用 ) 控 制 位 元 6 ( 未 使 用 ) 控 制 位 元 7 ( 未 使 用 ) 1-3
1-3 串 列 埠 1-3-1 相 關 知 識 串 列 通 訊 指 的 是 兩 交 換 信 息 者 的 資 料 流 動, 而 其 資 料 流 動 的 方 式 是 一 個 位 元 接 著 一 個 位 元 有 順 序 地 由 一 個 方 向 至 另 一 個 方 向 流 動 電 腦 之 間 透 過 這 種 方 式 傳 送 資 料 已 經 有 一 段 相 當 久 遠 的 時 間, 而 且 到 現 在 還 是 一 直 不 斷 地 對 串 列 傳 輸 作 改 良, 希 望 能 夠 達 到 更 遠 的 距 離 和 更 好 的 效 果 一 般 在 電 腦 上 使 用 的 串 列 通 訊 介 面 為 RS-232, 而 在 工 業 上 也 有 使 用 RS-422/485, 兩 者 的 差 異 在 於 傳 送 資 料 的 穩 定 度 RS-422/485 採 用 差 動 式 的 傳 輸 方 式, 傳 輸 距 離 最 遠 可 達 1200 公 尺 ; 而 RS-232 使 用 單 接 點 的 方 式 傳 輸 資 料, 距 離 最 遠 可 達 15 公 尺 串 列 通 訊 方 法 不 斷 發 展 到 現 在, 前 幾 年 興 起 的 USB(Universal Serial Bus 通 用 串 列 匯 流 排 ), 已 經 有 慢 慢 取 代 RS-232 的 趨 勢 USB 也 是 串 列 通 訊 的 一 種, 其 速 度 由 1.5MB 開 始 最 高 可 達 12MB, 而 且 還 在 往 上 發 展, 現 在 的 電 腦 都 配 有 USB 埠 USB 埠 採 用 的 訊 號 傳 輸 方 式 類 似 於 RS-485, 也 是 採 用 差 動 式 的 訊 號 傳 輸 來 抵 抗 雜 訊 的 干 擾 另 外 還 有 一 種 IEEE-1394 介 面 其 速 度 也 趨 向 1GB 也 是 屬 於 串 列 傳 輸 的 一 種 1-3-2 電 腦 上 的 串 列 埠 檢 查 電 腦 後 面 的 接 頭 原 則 上 有 兩 個 9PIN 的 接 頭, 這 就 是 串 列 通 訊 埠, 電 腦 上 的 串 列 通 訊 埠 一 定 是 公 頭, 電 腦 上 的 串 列 埠 通 常 為 RS-232 最 常 使 用 拿 來 和 數 據 機 作 連 接, 而 其 腳 位 的 定 義 也 是 依 據 和 數 據 機 實 際 連 接 而 制 定 出 來 的, 電 路 圖 符 號 如 下 圖 1-2 所 示 : 1-4
圖 1-2 RS-232 接 腳 圖 1 腳 位 的 定 義 PIN1:CD 載 波 偵 測 PIN2:RXD 接 收 字 元 PIN3:TXD 傳 送 字 元 PIN4:DTR 資 料 端 備 妥 PIN5:GND 地 線 PIN6:DSR 資 料 備 妥 PIN7:RTS 要 求 傳 送 PIN8:CTS 清 除 以 傳 送 PIN9: RI 響 鈴 偵 測 2 資 料 的 流 動 方 向 RS-232 的 每 一 支 腳 位 都 有 它 的 功 能, 也 有 它 訊 號 流 動 的 方 向, 原 來 的 RS-232 設 計 之 初 是 用 來 接 數 據 機 作 傳 輸 之 用 的, 也 因 此 我 們 以 數 據 機 作 為 例 子 來 說 明 他 的 方 向 及 功 能 CD : 電 腦 數 據 機 數 據 機 通 知 電 腦 有 載 波 被 偵 測 RXD : 電 腦 數 據 機 接 收 資 料 TXD : 電 腦 數 據 機 傳 送 資 料 DTR : 電 腦 數 據 機 電 腦 告 訴 數 據 機 可 以 進 行 資 料 傳 輸 GND : 電 腦 = 數 據 機 地 線 DSR : 電 腦 數 據 機 數 據 機 告 訴 電 腦 : 資 料 備 妥 RTS : 電 腦 數 據 機 電 腦 要 求 數 據 機 將 資 料 送 出 CTS : 電 腦 數 據 機 數 據 機 通 知 電 腦 可 送 出 資 料 RI : 電 腦 數 據 機 數 據 機 通 知 電 腦 有 電 話 進 來 1-5
3 腳 位 的 電 壓 串 列 埠 的 狀 態 或 數 值 是 經 由 一 連 串 的 電 壓 變 化 而 得 到, 串 列 晶 片 將 電 壓 訊 號 作 處 理 後, 變 成 使 用 者 可 以 了 解 的 各 個 狀 態 或 資 料 在 RS-232 的 規 範 中, 電 壓 在 +3V~ +15V( 一 般 使 用 +6V) 之 間 稱 為 0 或 SPACE, 一 般 用 途 是 作 為 ON 電 壓 ; 在 -3V~-15V( 一 般 使 用 -6V) 之 間 稱 為 1 或 MARK, 一 般 用 途 是 作 為 OFF, 有 時 候 以 HIGH LOW 更 能 表 現 初 期 實 際 狀 況 4 串 列 埠 參 數 串 列 埠 的 通 訊 方 式 是 一 個 位 元 組 被 拆 成 一 個 接 著 一 個 的 位 元 而 傳 送 出 去, 接 到 此 電 位 訊 息 的 一 方, 再 將 此 一 個 一 個 的 位 元 組 合 成 原 來 的 位 元 組, 如 此 形 成 一 個 位 元 組 的 完 整 傳 送 在 傳 輸 的 進 行 過 程 中 雙 方 當 然 得 說 明 白, 到 底 是 如 何 傳 送 資 料 的, 否 則 雙 方 沒 有 一 個 共 同 的 解 碼 方 式, 恐 怕 無 法 了 解 對 方 所 傳 過 來 的 資 料 意 義 ; 因 此 雙 方 為 了 可 以 溝 通 起 見, 必 須 遵 守 一 定 的 通 訊 規 則, 這 個 規 則 就 是 通 訊 埠 的 初 始 化 通 訊 埠 的 初 始 化 有 以 下 數 項 需 設 定 : (1) 資 料 的 傳 送 單 位 : 串 列 通 訊 埠 所 傳 送 的 資 料 是 字 元 形 態, 工 業 界 使 用 的 有 ASCII 字 元 碼 及 JIS 字 元 碼 ASCII 碼 使 用 了 8 個 位 元 形 成 一 個 字 元, 而 JIS 碼 則 以 7 個 位 元 形 成 一 個 字 元 歐 美 的 設 備 多 使 用 8 個 位 元 的 資 料 組, 而 日 本 的 設 備 則 多 使 用 7 個 位 元 為 一 個 資 料 組 以 實 際 的 RS-232 傳 輸 上 看 來, 由 於 工 業 界 常 使 用 的 PLC 大 多 只 是 傳 送 文 字 碼, 因 此 只 要 7 個 位 元 就 可 以 將 ASCII 碼 的 0~127 號 字 碼 表 達 出 來, 所 有 的 可 見 字 元 也 落 在 此 範 圍 內, 所 以 只 要 7 個 資 料 位 元 數 就 夠 了 不 同 的 情 形 下 會 使 用 到 不 同 的 傳 送 單 位, 使 用 多 少 個 位 元 合 成 一 個 位 元 組, 必 須 先 行 確 定 1-6
(2) 起 始 位 元 及 停 止 位 元 : 當 雙 方 準 備 要 開 始 傳 送 資 料 時, 發 送 端 會 在 所 送 出 的 字 元 前 後, 分 別 加 上 低 電 位 的 起 始 位 元 及 高 電 位 的 停 止 位 元, 接 收 端 會 依 起 始 位 元 及 停 止 位 元 的 設 定, 確 實 地 接 收 到 字 元 當 加 入 了 起 始 位 元 及 停 止 位 元, 也 才 比 較 容 易 達 到 多 字 元 的 接 收 能 力, 起 始 位 元 固 定 為 一 個 位 元, 而 停 止 位 元 則 有 1 1.5 2 個 位 元 等 多 種 選 擇, 只 要 通 訊 雙 方 協 議 通 過 即 可 (3) 同 位 位 元 的 檢 查 : 同 位 位 元 是 用 來 檢 查 所 傳 送 資 料 的 正 確 性 的 一 種 核 對 碼, 又 分 成 奇 同 位 及 偶 同 位 兩 種, 分 別 是 檢 查 字 元 碼 中 1 的 數 目 是 奇 數 或 是 偶 數 將 傳 送 字 元 依 上 述 的 說 明 組 合 起 來 之 後, 就 形 成 了 傳 輸 資 料 的 格 式 如 下 : 起 始 位 元 + 傳 送 字 元 + 同 位 位 元 + 停 止 位 元 因 此 假 設 在 傳 輸 時 用 了 1 個 起 始 位 元, 傳 送 字 元 為 八 個 位 元,1 個 停 止 位 元, 不 使 用 同 位 元 檢 查, 則 所 傳 輸 的 資 料 總 共 10 個 位 元, 所 以 此 時 最 小 的 傳 輸 單 元 是 以 10 位 元 為 單 位, 如 果 採 用 不 同 的 資 料 位 元 數, 同 位 元 檢 查, 停 止 位 元, 則 每 次 傳 輸 的 位 元 組 中 的 位 元 數 都 不 相 同 若 我 們 採 用 19200bps 的 傳 輸 速 度, 每 一 秒 便 可 傳 輸 19200/10=1920(Bytes) 的 資 料 5 串 列 埠 的 工 作 模 式 當 電 腦 在 作 資 料 的 傳 送 與 接 收 時, 傳 輸 線 上 的 資 料 流 動 情 形 可 以 分 成 三 種, 當 資 料 流 動 只 有 一 個 方 向 時, 稱 為 單 工 ; 當 資 料 流 動 是 雙 向, 但 同 一 時 間 只 能 一 個 方 向 行 進, 稱 為 半 雙 工 ; 當 同 時 具 有 兩 個 方 向 的 傳 輸 能 力 時, 我 們 成 為 全 雙 工,RS-232 使 用 的 是 全 雙 工 的 模 式 1-7