80C196KB與PC機之間的遠程通訊系統設計
發布時間:2008/6/3 0:00:00 訪問次數:545
摘要:本文介紹了一種用80c196kb單片機和pc機控制modem進行遠程數據傳輸的技術,提出了一套自行設計的糾錯協議。本設計已成功應用于某供電局電網諧波實時監測系統。 關鍵詞:80c196kb單片機 modem 數據傳輸 在許多實時監測系統中,經常需要接收距離較遠的測控點數據,如何快速可靠的實現數據的遠程傳輸是這些監測系統必須解決的問題。在監測現場,為了降低系統的成本,往往采用單片機系統作為數據采集和記錄單元;在中央控制中心,常常利用pc機來完成人機會話及與監測現場的通信。數據的遠程傳輸目前經常用調制解調器(modem)通過電話線來進行。本文將介紹一套實用的主從式遠程通記系統。其下位機由16位單片機80c196kb承提,上位機的管理平臺則基于界面友好、功能強大的visual basic 6.0。 1 80c196與pc間的通訊方式 用80c196kb單片機的串行接口和調制解調器以及現有的電話線來實現遠程雙向通訊的系統方框圖如圖1所示。 在利用現有電話線進行數據傳輸的串行通訊時,必須把將要傳送的數據按先后順序,在公共信道上逐位傳送。 串行通訊對字符編碼、字符格式和傳輸速度都有具體規定,必須嚴格遵守。 異步串行通訊數據的傳送格式由四部分組成,即起始位、數據位、奇偶校驗位和終止位。通訊協議要求在發送端每傳送一個字符都必須要有起始位、數據位、奇偶校驗位和一個終止位的字符串;而在接收端,也要按照起始位、數據位、奇偶校驗位和一個終止位的字符串進行計數接收。 2 80c196kb與modem間的接口 rs-232c的標準規定,邏輯“0”表示其電位應在+5~+15v之間,邏輯“1”表示其電位應在-5~-15v之間,而80c196kb單片機串口電閏為ttl電平,因此必須要通過電平轉換才能符合串行通訊標準。具體的接口電路如圖2所示。 電路中采用in-tersil公司生產的只需+5v供電的串行收/發驅動器芯片icl232來進行電平的轉換和驅動。當終端(196kb)處于操作規程狀態并可接收數據時,為了能將此信息傳送給modem,則必須使用管腳4上的數據終端就緒(dtr)信號;同樣地,為使終端設備(196kb)能夠將數據傳輸的信息通知調制解調器,就必須使用管腳7上的請求發送(rts)信號。 由圖2可見,單片機db(9芯)只給調制解調器的rs-232接口(9芯)提供三條信號線,即發送數據(txd)、接收數據(rxd)和信號地sg。為了使數據鏈路能正常工作,可將調制解調器rs-232接口的4腳(dtr)和7腳(rts)置高,以使之長期有效。 表1列出了rs-232的管腳及描述。表中的dte為數據終端設備(data terminal equipment)。本文中指下位機80c196kb和上位機pc,而dce則表示數據通信設備(data communication equipment)。本文中指調制解調器。
表1 rs-232各引腳描述 管腳編號 信號描述 通用縮寫 來自dce 至dte 1 載波檢測 cd x 2 接收數據 rd x 3 發送數據 td x 4 數據終端就緒 dtr x 5 信號地 sg
摘要:本文介紹了一種用80c196kb單片機和pc機控制modem進行遠程數據傳輸的技術,提出了一套自行設計的糾錯協議。本設計已成功應用于某供電局電網諧波實時監測系統。 關鍵詞:80c196kb單片機 modem 數據傳輸 在許多實時監測系統中,經常需要接收距離較遠的測控點數據,如何快速可靠的實現數據的遠程傳輸是這些監測系統必須解決的問題。在監測現場,為了降低系統的成本,往往采用單片機系統作為數據采集和記錄單元;在中央控制中心,常常利用pc機來完成人機會話及與監測現場的通信。數據的遠程傳輸目前經常用調制解調器(modem)通過電話線來進行。本文將介紹一套實用的主從式遠程通記系統。其下位機由16位單片機80c196kb承提,上位機的管理平臺則基于界面友好、功能強大的visual basic 6.0。 1 80c196與pc間的通訊方式 用80c196kb單片機的串行接口和調制解調器以及現有的電話線來實現遠程雙向通訊的系統方框圖如圖1所示。 在利用現有電話線進行數據傳輸的串行通訊時,必須把將要傳送的數據按先后順序,在公共信道上逐位傳送。 串行通訊對字符編碼、字符格式和傳輸速度都有具體規定,必須嚴格遵守。 異步串行通訊數據的傳送格式由四部分組成,即起始位、數據位、奇偶校驗位和終止位。通訊協議要求在發送端每傳送一個字符都必須要有起始位、數據位、奇偶校驗位和一個終止位的字符串;而在接收端,也要按照起始位、數據位、奇偶校驗位和一個終止位的字符串進行計數接收。 2 80c196kb與modem間的接口 rs-232c的標準規定,邏輯“0”表示其電位應在+5~+15v之間,邏輯“1”表示其電位應在-5~-15v之間,而80c196kb單片機串口電閏為ttl電平,因此必須要通過電平轉換才能符合串行通訊標準。具體的接口電路如圖2所示。 電路中采用in-tersil公司生產的只需+5v供電的串行收/發驅動器芯片icl232來進行電平的轉換和驅動。當終端(196kb)處于操作規程狀態并可接收數據時,為了能將此信息傳送給modem,則必須使用管腳4上的數據終端就緒(dtr)信號;同樣地,為使終端設備(196kb)能夠將數據傳輸的信息通知調制解調器,就必須使用管腳7上的請求發送(rts)信號。 由圖2可見,單片機db(9芯)只給調制解調器的rs-232接口(9芯)提供三條信號線,即發送數據(txd)、接收數據(rxd)和信號地sg。為了使數據鏈路能正常工作,可將調制解調器rs-232接口的4腳(dtr)和7腳(rts)置高,以使之長期有效。 表1列出了rs-232的管腳及描述。表中的dte為數據終端設備(data terminal equipment)。本文中指下位機80c196kb和上位機pc,而dce則表示數據通信設備(data communication equipment)。本文中指調制解調器。
表1 rs-232各引腳描述 管腳編號 信號描述 通用縮寫 來自dce 至dte 1 載波檢測 cd x 2 接收數據 rd x 3 發送數據 td x 4 數據終端就緒 dtr x 5 信號地 sg