新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于CAN總線與RS485的DSP通信接口設(shè)計

基于CAN總線與RS485的DSP通信接口設(shè)計

作者: 時間:2010-11-29 來源:網(wǎng)絡(luò) 收藏

3.上位機PC串行通信軟件設(shè)計

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

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

4.TMS320LF2407的通信設(shè)計

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

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

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

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

4.1硬件設(shè)計

應(yīng)用TMS320LF2407微控制器組成一個CAN總線網(wǎng)絡(luò),進(jìn)行實時接收和發(fā)送數(shù)據(jù)。CAN控制器接口用于提供CAN協(xié)議控制器與物理總線之間的接 口,總線接口芯片使用PHILIPS公司生產(chǎn)的PCA82C250,它可以方便的將CAN控制器連接到CAN總線網(wǎng)絡(luò)上。硬件系統(tǒng)分為兩層,第一層是 CAN總線與TMS320LF2407的接口電路,實現(xiàn)CAN總線和TMS320LF2407的物理接口,第二層是TMS320LF2407與CAN總線 的信息處理層。如圖2所示。

本文引用地址:http://butianyuan.cn/article/156913.htm


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

4.2軟件設(shè)計

4.2.1初始化CAN模塊


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

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

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

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

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

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

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

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

(3)改變郵箱內(nèi)容:數(shù)據(jù)可以只在發(fā)送郵箱中設(shè)置;

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

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

4.2.2 發(fā)送消息

為了實現(xiàn)CAN模塊的消息發(fā)送,需要按照以下步驟配置發(fā)送過程:

(1)對發(fā)送郵箱進(jìn)行初始化

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

在CANMCR中設(shè)置改變數(shù)據(jù)域請求:CANMCR=0100H;

對發(fā)送郵箱設(shè)置消息ID: CANMSGIDnH=0E00H;CANMSGIDnL=000FH;

設(shè)置消息控制域,即對CANMSGCTRLn進(jìn)行寫操作: CANMSGCTRLn=0008H;

創(chuàng)建消息并寫到CANMBXnA、CANMBXnB、CANMBXnC和CANMBXnD中:

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

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

允許郵箱對CANMDER寄存器進(jìn)行寫操作:CANMDER=0004H;

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

(3)等待發(fā)送確認(rèn)(TCR寄存器的TA=1);

(4)重新設(shè)置TA和發(fā)送標(biāo)志:TCR=1000H;



關(guān)鍵詞: DSP CAN

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉