新闻中心

EEPW首页>手机与无线通信>设计应用> 基于CAN总线与RS-485的DSP通信接口设计

基于CAN总线与RS-485的DSP通信接口设计

作者: 时间:2009-08-26 来源:网络 收藏

  4.2软件

  4.2.1初始化模块

模块的初始化包括初始化位时间和初始化邮箱。

  初始化位时间可按如下步骤进行(如图3所示):

  (1)在MCR寄存器中设置改变配置请求位:MCR=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;

  4.2.3接收消息应用CAN模块接收外界消息时,需要对CAN控制器进行如下设置:

  (1)设置局部接收屏蔽寄存器。LAM1H=8000H;

  (2)设置邮箱标识符和控制。

  禁止邮箱对MDER写0:CANMDER=0000H;

  写MCR寄存器申请改变数据域请求:CANMCR=0100H;

  对发送邮箱设置消息ID:CANMSGIDnH=0E00H;CANMSGIDnL=000EH;

  设置消息控制域:CANMSGCTRLn=0008H;

  重置MCR第8位,请求正常操作:CANMCR=0000H;

  允许邮箱写MDER寄存器:CANMDER=0044H;

  (3)等待接收确认和CANIFR的邮箱中断标志。

  (4)重置RMP和接收标志,必须对RMP写1:CANRCR=0040H;


图3初始化位时间编程流程图


5.结论

  本文作者的创新点是:在工业控制领域中,往往是由一台主机控制多台从机,上位机和下位机的远距离通过串行实现。本综合实现了PC主机与从机的远距离从机与CAN现场的数据传输,同时具备主从机的远距离通信和CAN现场设备的实时通信功能,具有广泛的应用前景。在设计中充分发挥了的CAN模块和SCI模块的作用,使得设计简单,工作更加可靠。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭