理论教育 软件设计:基于28035 DSP芯片的CAN控制器自测试模式下的开发调试

软件设计:基于28035 DSP芯片的CAN控制器自测试模式下的开发调试

时间:2023-06-15 理论教育 版权反馈
【摘要】:由于28035 DSP芯片的CAN控制器在自测试模式下,不需外接其他的硬件,而软件设计与正常模式下区别不大,因而特别适合学习开发调试。自测试模式与正常工作的网络模式在软件上的区别仅仅在于需要设置主控制器CANMC中的STM位为1。例12-1 带CAN控制器的28035芯片工作于自测试模式下的软件设计。程序以背靠背方式高速不停地发送与接收数据,并验证接收数据的正确性,指出错误情况。

软件设计:基于28035 DSP芯片的CAN控制器自测试模式下的开发调试

CAN模块可以工作于两种模式:自测试模式与网络模式。自测试模式将信息送往相应的邮箱。而网络模式通过CAN总线送往其他CAN节点,这时这两个或更多个CAN节点应有相同的定时参数,即波特率必须保持一致。CAN模块的两个引脚CANTXA和CANRXA同时复用为I/O引脚(GPIO31/CANTXA,GPIO30/CANRXA),所以应首先设置I/O端口复用控制寄存器GPAMUX2,以正确配置这两个引脚。注意使能CAN模块的时钟。

由于28035 DSP芯片的CAN控制器在自测试模式下,不需外接其他的硬件,而软件设计与正常模式下区别不大,因而特别适合学习开发调试。自测试模式与正常工作的网络模式在软件上的区别仅仅在于需要设置主控制器CANMC中的STM位为1。将STM位置1,可以使CAN控制器工作于自测试模式。在这种模式下CAN控制器能自己产生应答信号,因此不需要与CAN总线相连,信息帧没有真正发送出去,而是被读回,并存储在相应的邮箱中。在自测试模式下,不能进行远程帧悬挂自动应答,也不能保存被接收的信息帧的标识符。

例12-1 带CAN控制器的28035芯片工作于自测试模式下的软件设计。使邮箱MBX0发送到MBX16,MBX1发送到MBX17。程序以背靠背方式高速不停地发送与接收数据,并验证接收数据的正确性,指出错误情况。程序如下。(www.daowen.com)

该实例的CAN总线的自测试实验。运行程序然后停止,可通过开发工具CCS的Watch Window功能检查邮箱的数据,观察变量MessageReceivedCount、ErrorCount和PassCount的值。检查邮箱16~31是否接收到与邮箱0~15一致的数据。

例12-2 带CAN控制器的28035芯片工作于正常网络模式下的软件设计。两块28035DSP实验板通信,用一块开发板的开关控制另一块板的LED指示灯。例如,接通A板的开关,B板的指示灯点亮,断开A板的开关,B板的指示灯熄灭。同样B板也能控制A板。MBX0发送作为发送邮箱,MBX16为接收邮箱。程序如下。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈