新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > CAN總線與RS485的DSP通信接口設計方案

        CAN總線與RS485的DSP通信接口設計方案

        作者: 時間:2013-11-14 來源:網絡 收藏
          1.概述

          現場總線是一種開放式、數字化、多點通信的控制系統局域網絡,是當今自動化領域中最具有應用前景的技術之一 ,是現場總線中的應用熱點。由于具有通信速率高、開放性好、報文短、糾錯能力強以及控制簡單、擴展能力強、系統成本低等特點,越來越受到人們的關注。

          TI公司的TMS320LF2407型DSP微控制器以其處理能力強,外設功能模塊集成度高及存儲器容量大等特點廣泛應用于數字化控制與通信領域。控制器與TMS320LF2407微控制器連接,可以實現CAN總線 的通信。TMS320LF2407微控制器內嵌的異步串行口(SCI)支持CPU與其它使用標準格式的異步外設之間的數字通訊,通過RS-485接口可以方便地進行DSP之間或DSP與PC機之間的異步串行通信。

          RS-485是一種多發送器的接口標準,它擴展了RS-422A的性能,允許雙絞線上一個發送器驅動32個負載設備,負載設備可以是被動發送器、接收器或收發器,RS-485最大傳輸距離為1200m,最大傳送速率可達10Mb/s.因此,RS-485在遠程通信和多機總線系統中具有很大的吸引力,在實際設計中得到了廣泛應用。

          本設計以PC機為主機,以TMS320LF2407為從機,實現了主從機之間的基于RS-485的串行通信,以及TMS320LF2407與CAN總線的通信。其中PC機與TMS320LF2407的RS-485通信,采用MAXIM公司生產的MAX48X/49X系列收發器芯片,完成RS-485標準接口通信。由于PC機上提供的是標準的RS-232C串行接口,因此,需要RS-232C/RS-485轉換器進行接口轉換。如圖1所示。應用TMS320LF2407內嵌的CAN模塊和總線接口芯片PCA82C250,實現了TMS320LF2407與CAN總線的串行通信。

          

          2.TMS320LF2407的RS-485通信設計

          TMS320F2407有較強的串行通信能力,設計到的控制類寄存器較多,這使系統設計比較靈活。設計時,首先對控制類寄存器進行初始化,包括數據格式、中斷使能、中斷優先級、波特率等參數的設置。初始化完成以后,就可以發送和接收數據了。如果要發送數據,只要把數據寫入SCITXBUF即可,由串行通信SCI模塊自動完成發送數據。如果要接收數據,只要把SCIRXBUF的內容讀出即可。

          3.上位機PC串行通信軟件設計

          上位機PC采用高級語言VB的通信控件,實現串行通信。在VB5.0及以上版本中,提供了一個名為MSComm的通信控件,它為應用程序提供基本的串行通信功能,可以通過串行接口發送和接收數據。

          PC串行口發送器輸出端和接收器輸入端的數據格式為幀信息格式,與TMS320LF2407的SCI格式相同。通信時,雙方預先約定通信數據傳輸格式、傳輸速率及各自工作方式等。本文設計中雙方約定:波特率為9600bps.1幀信息格式為1個起始位、8個數據位和1個停止位。傳送方式:PC機采用查詢方式接收數據,TMS320F240采用中斷方式接收數據。

        4.TMS320LF2407的CAN通信設計

          TMS320LF2407內嵌的CAN模塊,是一個16位的外圍器件,其通信特性有:(1)完全支持CAN2.0B協議;(2)具有6個郵箱,其中mailbox2與mailbox3可按工程需求配置為接收或發送郵箱,數據長度為0-8字節;(3)當發送出錯或仲裁過程中數據丟失時,該控制器具有自動重發功能;(4)能夠通過軟件編程實現自檢測功能。

        數字通信相關文章:數字通信原理


        通信相關文章:通信原理


        雙絞線傳輸器相關文章:雙絞線傳輸器原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 精河县| 沙雅县| 曲阳县| 横山县| 松桃| 陕西省| 瑞金市| 班玛县| 佛坪县| 南乐县| 资中县| 迁安市| 荆州市| 漳浦县| 高青县| 盐源县| 镇巴县| 陕西省| 萨迦县| 华池县| 应用必备| 微山县| 黄梅县| 随州市| 鹤岗市| 六安市| 自贡市| 长垣县| 通辽市| 宁蒗| 驻马店市| 枝江市| 巴林右旗| 阳山县| 巴林左旗| 垫江县| 广河县| 颍上县| 东源县| 凤冈县| 宁陕县|