新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于CAN總線與RS485的DSP通信接口設計

        基于CAN總線與RS485的DSP通信接口設計

        作者: 時間:2010-11-29 來源:網絡 收藏

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

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

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

        4.TMS320LF2407的通信設計

        TMS320LF2407 內嵌的模塊,是一個16 位的外圍器件,其通信特性有:

        (1)完全支持2.0B協議;

        (2)具有6個郵箱,其中mailbox2與mailbox3可按工程需求配置為接收或發送郵箱,數據長度為0—8字節;

        (3)當發送出錯或仲裁過程中數據丟失時,該控制器具有自動重發功能;(4)能夠通過軟件編程實現自檢測功能。

        4.1硬件設計

        應用TMS320LF2407微控制器組成一個CAN總線網絡,進行實時接收和發送數據。CAN控制器接口用于提供CAN協議控制器與物理總線之間的接 口,總線接口芯片使用PHILIPS公司生產的PCA82C250,它可以方便的將CAN控制器連接到CAN總線網絡上。硬件系統分為兩層,第一層是 CAN總線與TMS320LF2407的接口電路,實現CAN總線和TMS320LF2407的物理接口,第二層是TMS320LF2407與CAN總線 的信息處理層。如圖2所示。

        本文引用地址:http://www.104case.com/article/156913.htm


        PCA82C250提供差分發送和對CAN控制器的差分接收,由于PCA82C250是5V電源供電,TMS320LF2407是用3.3V電源供電,因 此采用電阻分壓來實現電平轉換。其中R2,R3分別取1KΩ和2KΩ,R1取10KΩ。對于二極管D1選用具有快速恢復能力的肖特基二極管IN5819。

        4.2軟件設計

        4.2.1初始化CAN模塊


        CAN模塊的初始化包括初始化位時間和初始化郵箱。

        初始化位時間可按如下步驟進行(如圖3所示):

        (1)在MCR寄存器中設置改變配置請求位:CANMCR=1000H;

        (2)配置BCR寄存器:CANBCR2=0000H; CANBCR1=0157H;

        (3)請求正常模式:CANMCR=0000H;

        初始化郵箱可以按照如下步驟配置郵箱(如圖4所示):

        (1)禁止郵箱寫0到CANMDER:CANMDER=0000H;

        (2)在CANMCR中設置改變數據域請求:CANMCR=0100H;

        (3)改變郵箱內容:數據可以只在發送郵箱中設置;

        (4)返回正常模式:CANMCR=0000H;

        (5)使能郵箱:CANMDER=0004H;

        4.2.2 發送消息

        為了實現CAN模塊的消息發送,需要按照以下步驟配置發送過程:

        (1)對發送郵箱進行初始化

        禁止郵箱對CANMDER寫0:CANMDER=0000H;

        在CANMCR中設置改變數據域請求:CANMCR=0100H;

        對發送郵箱設置消息ID: CANMSGIDnH=0E00H;CANMSGIDnL=000FH;

        設置消息控制域,即對CANMSGCTRLn進行寫操作: CANMSGCTRLn=0008H;

        創建消息并寫到CANMBXnA、CANMBXnB、CANMBXnC和CANMBXnD中:

        CANMBXnA=0ABCDH;CANMBXnB=0123H;CANMBXnC=0EF32H;CANMBXnD=6789H;

        重新設置CANMCR的第8位,請求正常操作:CANMCR=0000H;

        允許郵箱對CANMDER寄存器進行寫操作:CANMDER=0004H;

        (2)設置TCR寄存器的TRS位,請求發送消息:TCR=0010H;

        (3)等待發送確認(TCR寄存器的TA=1);

        (4)重新設置TA和發送標志:TCR=1000H;



        關鍵詞: DSP CAN

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 梁山县| 容城县| 旬阳县| 靖州| 台南市| 桓台县| 灵璧县| 福泉市| 北票市| 湘潭县| 丁青县| 霸州市| 买车| 张家川| 梁河县| 仁布县| 广州市| 菏泽市| 拜泉县| 赤城县| 麟游县| 齐河县| 西丰县| 巴林右旗| 社会| 陆河县| 朝阳县| 沙坪坝区| 祁连县| 福州市| 望都县| 南丰县| 陕西省| 鹤岗市| 宁津县| 三原县| 平安县| 西城区| 翼城县| 木兰县| 大同市|