基于dsp的can总线通信设计

基于dsp的can总线通信设计

ID:11053232

大小:200.10 KB

页数:44页

时间:2018-07-09

基于dsp的can总线通信设计_第1页
基于dsp的can总线通信设计_第2页
基于dsp的can总线通信设计_第3页
基于dsp的can总线通信设计_第4页
基于dsp的can总线通信设计_第5页
资源描述:

《基于dsp的can总线通信设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于DSP芯片的CAN总线通信设计摘要本文介绍了基于DSP56F807的CAN通信各模块的初始化程序,并具体实现了以下功能:甲方通过串口调试助手向下位机发送数据s,再通过CAN总线将数据传给乙方增加乙方PWM占空比(发送m减小乙方PWM占空比),发送成功LED1闪烁两下,然后乙方通过CAN总线把当前PWM占空比的值返回给甲,然后甲通过串口将数据传给上位机串口调试助手。关键字:DSP56800;SCI;CAN总线;GPIO;定时器AbstractInthispaper,weintroducedtheinitializationo

2、feachmoduleonTheDesignofCANBusCommunicationBasedonDSP56800.Thefunctionisrealizedasfollows:throughaserialportdebugassistant,JIAsendsdatastoterminal,throughtheCANbusagain,datasendstoYIforincreasingthePWMoftheterminal(sendsmtodecreasethePWMoftheterminal).Whenthedataare

3、sentsuccessfully,theLED1flashestwice,thenthroughtheCANBus,YIreturnthePWMvaluetoJIA,thenJIAsendsthedatatoaserialportdebugassistantofPC.Keywords:DSP56800;SCI;CANbus;GPIO;thetimer1.CAN总线介绍MSCAN模块是一种CAN协议的通信控制器。CAN总线通信是一种串行通信,能够通过多种媒介进行最高可达1Mb/s的短距离通信,其最远的通信距离为10km。CAN总

4、线的节点数取决于总线驱动电路,目前可以支持110个节点[1]。2.本文实现效果甲方通过串口调试助手向下位机发送数据s,再通过CAN总线将数据传给乙方增加乙方PWM占空比(发送m减小乙方PWM占空比),发送成功LED1闪烁两下,然后乙方通过CAN总线把当前PWM占空比的值返回给甲,然后甲通过串口将数据传给上位机串口调试助手。3.各功能模块的初始化设置3.1CAN初始化配置编程步骤如下:(1)设置软件复位模式,MSCAN模式的改变配置/初始化必须通过复位来实现。CANCTL0=0x0001;(2)设置位时间。位时间=同步段+传播时

5、间段+相位缓存段1+相位缓存段2。l同步段:用于各节点同步。l传播时间段:补偿网络物理延时。l相位缓存段1:补偿沿相位误差。CANBTR1=0x0023;(3)通过设置同步时间和分频因子设置波特率。CANBTR0=0x0053;(4)通过接收符ID过滤控制寄存器CANIDAC设置识别码滤波模式。CANIDAC=0x0000;(5)设置接收符ID过滤屏蔽码寄存器CANIDAR0~7,在进行接收符ID的过滤比较时,接收符ID和比较码的那些在屏蔽码寄存器中清零的对应位必须完全相同。因为是实验测试程序,所有的屏蔽码位都为0,接收所有的

6、数据帧。.CANIDAR0=0x0020;CANIDAR1=0x0000;CANIDAR2=0x0000;CANIDAR3=0x0000;CANIDAR4=0x0000;CANIDAR5=0x0000;CANIDAR6=0x0000;CANIDAR7=0x0000;(6)设置接收符ID过滤比较码寄存器。该寄存器共有8个寄存器,这些16位的寄存器的高8位保留,低8位是屏蔽位。屏蔽位置1表示在进行接收符ID过滤比较时,对应的ID位必须和接收符ID过滤寄存器的相应位一致。CANIDMR0=0x0000;CANIDMR1=0x0000

7、;CANIDMR2=0x0000;CANIDMR3=0x0000;CANIDMR4=0x0000;CANIDMR5=0x0000;CANIDMR6=0x0000;CANIDMR7=0x0000;(7)设置发送模式,在调试时采用自发自收模式,最后实现功能时修改对应寄存器采用互发互收模式。CANCTL1=0x0080;(8)初始化完成,退出软件复位模式。CANCTL0=0x0000;(9)等待MSCAN模块完成和总线同步。while(!CANCTL0&0x0010);3.2CAN控制器发送模块初始化编程(1)通过CAN_TBx_I

8、DR0、CAN_TBx_IDR1设置发送缓冲接收符ID。CAN_TB0_IDR0=0x0020;CAN_TB0_IDR1=0x0000;CAN_TB1_IDR0=0x0021;CAN_TB1_IDR1=0x0020;CAN_TB2_IDR0=0x0022;CAN_TB2_ID

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。