內容簡介
本書主要介紹面向嵌入式開發的串列通信技術,從晶片和電路板入手介紹硬體,從原始碼入手介紹軟體,以便讀者可以將這些技術嵌入自己的設計中。本書既包括理論基礎,也包含實際產品設計方案。首先介紹串列通信協定、Modbus協定、HART協定,然後介紹RS-485串列通信的組網技術和通信轉換器產品等內容,接著重點介紹乙太網串口伺服器的硬體和軟體設計,以便讀者進行嵌入式系統的開發。本書公開了實用的Modbus串口協定轉換器和Modbus數據採集模組的全套設計資料,以及幾種HART智慧型變送器的全套設計方案,作者還將自己的多項USB專利技術在本書中予以公開,如USB光纖傳輸技術、USB共享器、USB數據採集器、USB網路隔離器等。
圖書目錄
第1章 串列通信協定 (1)
1.1 串列通信簡史 (1)
1.2 為什麼要組成通信網 (2)
1.3 什麼是串列通信 (3)
1.3.1 串列通信的概念和特點 (3)
1.3.2 串列通信的分類 (3)
1.3.3 串列通信的工作模式 (4)
1.3.4 串列通信參數 (5)
1.4 RS-232標準 (6)
1.5 RS-485標準 (7)
1.6 RS-422標準 (8)
1.7 RS-232與RS-485的區別 (8)
1.8 單片機的串口多機通信 (10)
第2章 Modbus協定 (12)
2.1 Modbus入門 (12)
2.1.1 Modbus的幾個特點 (13)
2.1.2 Modbus網路的三種傳輸模式 (13)
2.1.3 Modbus與串口的關係 (13)
2.1.4 Modbus與串列通信的區別 (14)
2.2 Modbus協定簡介 (14)
2.2.1 Modbus協定簡述 (14)
2.2.2 Modbus通信使用的主-從技術 (14)
2.2.3 查詢-回應周期 (15)
2.3 Modbus的ASCII和RTU傳輸模式 (15)
2.3.1 ASCII模式 (16)
2.3.2 RTU模式 (17)
2.4 ASCII和RTU訊息幀 (17)
2.4.1 ASCII幀 (17)
2.4.2 RTU幀 (17)
2.4.3 地址域 (18)
2.4.4 功能域 (18)
2.4.5 數據域 (18)
2.4.6 錯誤檢測域 (19)
2.4.7 字元的連續傳輸 (19)
2.5 錯誤檢測方法 (19)
2.5.1 奇偶校驗 (20)
2.5.2 LRC檢測 (20)
2.5.3 CRC檢測 (20)
2.6 Modbus的功能碼定義 (22)
2.6.1 功能碼在Modbus RTU信息幀中的位置 (23)
2.6.2 常用功能碼 (23)
2.6.3 全部功能碼的作用 (24)
2.7 Modbus的TCP傳輸模式 (25)
第3章 HART協定 (28)
3.1 HART協定概述 (29)
3.2 HART通信結構模型 (30)
3.2.1 HART協定物理層 (31)
3.2.2 HART協定數據鏈路層 (31)
3.2.3 HART協定套用層 (32)
3.2.4 各層間的功能關係 (33)
3.3 HART的訊息幀結構 (33)
3.4 HART的操作命令 (36)
3.4.1 通用命令 (37)
3.4.2 普通命令 (37)
3.4.3 特殊命令 (38)
第4章 RS-485串列通信技術 (39)
4.1 RS-485/RS-422多機通信的組網方式 (39)
4.1.1 典型的RS-485匯流排式通信方式 (39)
4.1.2 菊花鏈式多機通信方式 (40)
4.1.3 星形RS-485多機通信方式 (40)
4.1.4 單環自愈RS-485多機通信方式 (41)
4.2 串口光纖多機通信的組網方式 (41)
4.2.1 簡單的一對一串口光纖通信方式 (42)
4.2.2 匯流排式串口光纖多機通信方式 (42)
4.2.3 環形串口光纖多機通信方式 (43)
4.2.4 對串式串口光纖多機通信方式 (43)
4.3 串列通信的VB程式 (44)
4.4 地址串口轉換的實現 (51)
4.4.1 地址串口轉換器的使用 (51)
4.4.2 地址串口轉換器的硬體設計 (53)
4.4.3 地址串口轉換的純軟體實現 (55)
4.5 RS-485的節點數和距離極限 (57)
4.5.1 帶中繼功能的串口轉換器 (58)
4.5.2 突破RS-485節點數和距離極限的布線方式 (59)
4.5.3 RS-485多機通信節點數的極限 (59)
4.5.4 無數據丟失的RS-485傳輸距離的理論極限 (60)
4.5.5 無誤碼的RS-485傳輸距離的理論極限 (60)
4.5.6 其他介質和其他匯流排的理論極限 (60)
4.6 串口波特率轉換的實現 (61)
4.6.1 串口波特率轉換器的使用 (61)
4.6.2 串口波特率轉換器的硬體設計和單片機軟體 (62)
4.6.3 串口波特率轉換的純軟體實現 (64)
4.7 RS-232轉RS-485通信電路 (65)
4.7.1 RS-232轉RS-485通信電路的設計 (65)
4.7.2 RS-232連線埠供電技術 (66)
4.8 無源RS-232數據採集器 (68)
4.8.1 LTC1290晶片描述 (68)
4.8.2 硬體電路設計及QBASIC程式 (69)
4.8.3 數據採集器產品及VB程式 (71)
第5章 乙太網串口伺服器 (73)
5.1 乙太網通信幀格式 (73)
5.1.1 乙太網第二版(V2) (73)
5.1.2 IEEE 802系列 (74)
5.2 乙太網串口伺服器的發展 (75)
5.2.1 第一代產品:10 Mb/s乙太網串口伺服器 (76)
5.2.2 第二代產品:光電隔離100 Mb/s乙太網串口伺服器 (76)
5.2.3 對乙太網虛擬串口的評論 (77)
5.3 乙太網串口伺服器的使用 (78)
5.4 乙太網串口伺服器的設計 (81)
5.5 PC設定和檢測軟體的參數配置操作 (82)
5.5.1 分配IP位址 (82)
5.5.2 配置設備參數 (84)
5.6 PC設定和檢測軟體的演示操作 (86)
5.6.1 TCP→RS-232 (86)
5.6.2 RS-232→TCP (87)
5.7 內部單片機的軟體開發設計 (87)
5.7.1 軟體要實現的功能目標 (88)
5.7.2 軟體流程圖 (88)
5.7.3 各類API接口函式 (90)
5.7.4 內部單片機的程式代碼 (92)
第6章 Modbus串列通信技術 (94)
6.1 Modbus調試精靈軟體 (94)
6.2 將普通串口設備接入Modbus (95)
6.2.1 安裝與性能 (95)
6.2.2 通信格式及軟體使用 (96)
6.2.3 PC的VB選地址程式 (97)
6.2.4 模組的硬體設計 (103)
6.2.5 模組的內部單片機程式 (104)
6.3 超小的Modbus測量模組 (107)
6.3.1 安裝及性能 (107)
6.3.2 通信格式及軟體使用 (108)
6.3.3 Modbus測量模組的硬體設計 (109)
6.3.4 Modbus測量模組的內部單片機程式設計 (110)
6.3.5 Modbus測量模組的外接PC程式設計 (112)
6.3.6 外接A/D轉換晶片的Modbus測量模組的設計 (119)
第7章 HART智慧型變送器 (122)
7.1 HART Modem的原理與套用 (123)
7.1.1 HART Modem的原理 (123)
7.1.2 A5191HRT的性能與引腳功能 (124)
7.1.3 A5191HRT的內部結構與工作原理 (125)
7.2 HART協定通信模組的設計 (126)
7.2.1 HART協定通信模組的硬體電路設計 (126)
7.2.2 HART協定通信模組的軟體設計 (127)
7.3 RS-232與HART轉換器的設計 (127)
7.3.1 RS-232與HART轉換器的設計原理 (127)
7.3.2 DS8500的基本工作原理 (128)
7.3.3 用DS8500實現的RS-232與HART轉換器 (130)
7.4 一種HART智慧型變送器的設計 (130)
7.4.1 設計原理圖 (131)
7.4.2 HART智慧型變送器設計及實現 (131)
7.5 HART溫濕度智慧型變送器的設計 (134)
7.5.1 系統整體設計方案 (134)
7.5.2 Modem通信模組 (135)
7.5.3 HT2012在HART協定中的套用 (137)
7.5.4 MSP430與HT2012的接口設計 (139)
7.5.5 HT2012與外部接口 (139)
7.5.6 單片機MSP430性能 (141)
7.5.7 MSP430與D/A轉換晶片AD421的接口設計 (141)
7.5.8 智慧型變送器的軟體設計 (142)
第8章 USB通信技術套用 (146)
8.1 通過光纖傳輸USB信號 (147)
8.1.1 實現原理 (147)
8.1.2 將USB信號轉換為便於光纖傳輸的信號 (147)
8.1.3 信號的處理方式 (149)
8.1.4 用光纖實現USB遠程通信的其他方案 (150)
8.2 USB信號的光電隔離 (151)
8.2.1 USB光電隔離器 (152)
8.2.2 USB光電隔離技術 (152)
8.2.3 USB信號線的有待改進之處 (153)
8.3 無須設定的USB共享器 (154)
8.3.1 USB共享器的使用 (154)
8.3.2 雙USB共享的切換邏輯 (155)
8.3.3 USB共享器的硬體設計 (156)
8.3.4 USB共享器的單片機軟體設計 (157)
8.4 USB數據採集器 (159)
8.4.1 USB微型數據採集器的使用 (160)
8.4.2 數據採集器硬體電路設計 (160)
8.4.3 數據採集軟體設計 (162)
8.5 採用USB私有協定的網路隔離器 (169)
8.5.1 網路隔離方案特徵 (169)
8.5.2 網路隔離的具體實施方式 (170)
8.5.3 網路安全檔案交換器 (172)
第9章 CAN串口轉換器 (174)
9.1 CAN匯流排介紹 (174)
9.1.1 CAN協定和CAN匯流排的特點 (175)
9.1.2 CAN協定數據幀格式 (175)
9.2 CAN串口轉換器CAN232B的使用 (177)
9.2.1 產品概述 (177)
9.2.2 性能指標 (177)
9.2.3 典型套用 (178)
9.2.4 配置說明 (178)
9.3 PC端配置和測試軟體說明 (178)
9.3.1 串口參數設定 (179)
9.3.2 CAN參數設定 (179)
9.3.3 按鈕說明 (181)
9.3.4 套用注意事項 (181)
9.3.5 CAN匯流排數據轉發到串口示例 (182)
9.4 CAN串口轉換器CAN232B的硬體電路設計 (182)
9.4.1 電路PCB設計 (182)
9.4.2 電路原理圖設計 (183)
9.5 在Delphi中用SPCOMM實現PC端串口編程 (183)
9.5.1 SPCOMM控制項的安裝 (185)
9.5.2 SPCOMM的屬性、方法和事件 (185)
9.5.3 SPCOMM的使用 (185)
9.6 CAN232B的PC端程式原始碼 (187)
9.7 內部單片機的軟體開發設計 (199)
參考文獻 (218)