91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 通信網絡

CAN-RS232通信轉換模塊的設計與實現

發布時間:2008/5/27 0:00:00 訪問次數:515

        

    

    

    來源:國外電子元器件 作者:何寶福 張文紅

    

    1.引言

    

    rs232作為標準的計算機串行接口已被廣泛使用,與此同時,隨著現場總線技術的飛速發展,具有實時性好、可靠性高、結構簡單等優點的can總線在測控系統中也越來越多地被采用,但由于兩者的總線結構、通信協議及傳輸特點各不相同,因而給不同設備之間的連接帶來諸多不便。因此,如何以最簡單的方式實現can節點與rs232串行口的通信就成為工程實踐中一個不可回避的問題。

    

    本文采用典型的不具備can通信能力的at89c51單片機作為微處理器,設計了一個簡單、實用的通信轉換模塊。該通信轉換模塊具有體積小、結構簡單、通用性好、使用方便等特點。

    

    2 工作原理

    

    can-rs232通信轉換模塊通過硬件電路的電平標準轉換和軟件編程的通信協議轉換實現相關功能。

    

    2.1 電平標準轉換

    

    rs232采用的不是ttl電平的接口標準,而是負邏輯,即邏輯"1"為-3 v~-15 v;邏輯"0"為+3 v~+15 v;而can總線是采用"顯性"和"隱性"兩個互補的邏輯值表示"0"和"1",其信號是以兩線之間的"差分"電壓形式出現的。這樣導致兩總線之間的信號電壓不匹配。無法直接進行正常的通信,因此,需要相應的硬件接口電路實現電平標準轉換。

    

    2.2 通信協議轉換

    

    rs232通信屬于異步串行通信。一般為兩點傳輸,其每幀的數據格式通常為:起始位+數據位+奇偶校驗位(可省略)+停止位;每個數據包的格式通常為:數據包頭+數據字節+校驗和(溢出不計)。而can通信屬于總線通信,可以同時存在多個節點,因此通信協議相對也比較復雜,這里以標準幀傳輸為例,其數據格式通常如表1所列。因此,需要軟件處理實現通信協議的轉換。

    

    

    3 硬件設計

    

    模塊采用atmel公司生產的at89c51型單片機作為微處理器,采用sja1000和tja1050分別作為can控制器和驅動器,采用max202e作為rs232串行接口驅動器,其硬件連接電路圖如圖1所示。

    

    

    af89c51采用外接晶體振蕩器提供時鐘輸入,通過并行地址/數據復用的方式訪問can控制器sja1000,p2.0引腳作為片選端口;sja1000作為can控制器,也采用單獨的外部時鐘輸入,由于集成了can協議的物理層和數據鏈路層功能,可完成對通信數據的幀處理,其地址為0x00~0xff;tja1050作為can控制器和物理總線之間的接口,采用高速工作模式,用于提供總線的差動發送能力和can控制器差動接收能力;max202e用于實現rs232電平到微控制器接口電路的ttl電平轉換。

    

    4 軟件設計

    

    模塊的軟件設計主要包括rs232通信程序和can通信程序兩部分,采用中斷方式。其中,rs232通信數據傳輸的波特率為115 200 bit/s,數據格式為1位起始位、8位數據位、1位停止位;can總線的傳輸波特率為500 kbit/s,采用pelican模式的標準數據幀格式,每條報文的標識符id為11位,有效數據為0~8個字節。其軟件流程如圖2所示。

    

    

    在rs232中斷程序中,微處理器對接收的串口數據進行處理后提取出數據字節,通過增加幀結構信息、幀類型、字節長度和標識符等生成can報文格式,然后由can控制器的發送緩沖區發送出去;在can中斷程序中,微處理器對接收的有效can報文進行解析,提取出字節長度和字節內容,通過增加數據頭、數據尾和校驗和轉換為rs232通信格式,完成數據傳輸。

    

    5 結束語

    

    該設計已應用于筆者開發的項目一某型低空紅外預警系統。用can-rs232通信轉換模塊將can總線收到的角度傳感器測出的空中目標方位角和高低

        

    

    

    來源:國外電子元器件 作者:何寶福 張文紅

    

    1.引言

    

    rs232作為標準的計算機串行接口已被廣泛使用,與此同時,隨著現場總線技術的飛速發展,具有實時性好、可靠性高、結構簡單等優點的can總線在測控系統中也越來越多地被采用,但由于兩者的總線結構、通信協議及傳輸特點各不相同,因而給不同設備之間的連接帶來諸多不便。因此,如何以最簡單的方式實現can節點與rs232串行口的通信就成為工程實踐中一個不可回避的問題。

    

    本文采用典型的不具備can通信能力的at89c51單片機作為微處理器,設計了一個簡單、實用的通信轉換模塊。該通信轉換模塊具有體積小、結構簡單、通用性好、使用方便等特點。

    

    2 工作原理

    

    can-rs232通信轉換模塊通過硬件電路的電平標準轉換和軟件編程的通信協議轉換實現相關功能。

    

    2.1 電平標準轉換

    

    rs232采用的不是ttl電平的接口標準,而是負邏輯,即邏輯"1"為-3 v~-15 v;邏輯"0"為+3 v~+15 v;而can總線是采用"顯性"和"隱性"兩個互補的邏輯值表示"0"和"1",其信號是以兩線之間的"差分"電壓形式出現的。這樣導致兩總線之間的信號電壓不匹配。無法直接進行正常的通信,因此,需要相應的硬件接口電路實現電平標準轉換。

    

    2.2 通信協議轉換

    

    rs232通信屬于異步串行通信。一般為兩點傳輸,其每幀的數據格式通常為:起始位+數據位+奇偶校驗位(可省略)+停止位;每個數據包的格式通常為:數據包頭+數據字節+校驗和(溢出不計)。而can通信屬于總線通信,可以同時存在多個節點,因此通信協議相對也比較復雜,這里以標準幀傳輸為例,其數據格式通常如表1所列。因此,需要軟件處理實現通信協議的轉換。

    

    

    3 硬件設計

    

    模塊采用atmel公司生產的at89c51型單片機作為微處理器,采用sja1000和tja1050分別作為can控制器和驅動器,采用max202e作為rs232串行接口驅動器,其硬件連接電路圖如圖1所示。

    

    

    af89c51采用外接晶體振蕩器提供時鐘輸入,通過并行地址/數據復用的方式訪問can控制器sja1000,p2.0引腳作為片選端口;sja1000作為can控制器,也采用單獨的外部時鐘輸入,由于集成了can協議的物理層和數據鏈路層功能,可完成對通信數據的幀處理,其地址為0x00~0xff;tja1050作為can控制器和物理總線之間的接口,采用高速工作模式,用于提供總線的差動發送能力和can控制器差動接收能力;max202e用于實現rs232電平到微控制器接口電路的ttl電平轉換。

    

    4 軟件設計

    

    模塊的軟件設計主要包括rs232通信程序和can通信程序兩部分,采用中斷方式。其中,rs232通信數據傳輸的波特率為115 200 bit/s,數據格式為1位起始位、8位數據位、1位停止位;can總線的傳輸波特率為500 kbit/s,采用pelican模式的標準數據幀格式,每條報文的標識符id為11位,有效數據為0~8個字節。其軟件流程如圖2所示。

    

    

    在rs232中斷程序中,微處理器對接收的串口數據進行處理后提取出數據字節,通過增加幀結構信息、幀類型、字節長度和標識符等生成can報文格式,然后由can控制器的發送緩沖區發送出去;在can中斷程序中,微處理器對接收的有效can報文進行解析,提取出字節長度和字節內容,通過增加數據頭、數據尾和校驗和轉換為rs232通信格式,完成數據傳輸。

    

    5 結束語

    

    該設計已應用于筆者開發的項目一某型低空紅外預警系統。用can-rs232通信轉換模塊將can總線收到的角度傳感器測出的空中目標方位角和高低

相關IC型號

熱門點擊

 

推薦技術資料

耳機的焊接
    整機電路簡單,用洞洞板搭線比較方便。EM8621實際采... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
浦北县| 军事| 望城县| 古蔺县| 临澧县| 讷河市| 牟定县| 方山县| 孝义市| 静海县| 黄浦区| 义马市| 侯马市| 宾阳县| 吉林市| 太谷县| 宜宾市| 鄂托克前旗| 海口市| 牙克石市| 蓬莱市| 唐海县| 二手房| 浙江省| 佛坪县| 虎林市| 胶南市| 内乡县| 阳谷县| 东安县| 富源县| 富川| 红桥区| 定襄县| 历史| 喀喇沁旗| 大洼县| 瓮安县| 滁州市| 沈阳市| 镇康县|