Ti的C28x系列的DSP(28069)(28377D)使用经验,CAN通讯经验(1)

笔者在项目中同时使用过两种DSP,一种是28069,另一种是28377D,这两个DSP主要是进行CAN通讯功能,完成整个系统的非实时通讯功能。

今天笔者主要想讨论的是28069与28377D的CAN外设,这两个DSP虽然都是Ti的,但CAN外设的架构却不相同,寄存器设置也不相同。

打开28069参考手册,你会发现CAN的架构是下图中的这个样子:

Ti的C28x系列的DSP(28069)(28377D)使用经验,CAN通讯经验(1)_第1张图片

然后我接着看了其他的C28x系列的DSP比如:2812、28335,发现其CAN的架构都与28069相同,如果读者有疑问,可以亲自验证这几种DSP的CAN架构。

但28377D的CAN架构却发生了变化:

Ti的C28x系列的DSP(28069)(28377D)使用经验,CAN通讯经验(1)_第2张图片

 

其寄存器设置也与28069有了很大的差别。

  • 28069_CAN寄存器列表:

Ti的C28x系列的DSP(28069)(28377D)使用经验,CAN通讯经验(1)_第3张图片

  • 28377D_CAN寄存器列表:

Ti的C28x系列的DSP(28069)(28377D)使用经验,CAN通讯经验(1)_第4张图片

 

在配置CAN外设方面,28069的CAN可以通过寄存器进行操作,而28377D的需要用HWREG(x)对硬件进行访问,即直接访问寄存器的绝对地址,这导致编程难度又增加了。

一般对于CAN外设的配置分为以下几个方面:

  • CAN的初始化
  • CAN的IO引脚配置
  • CAN的波特率配置
  • CAN的故障复位
  • CAN的发送函数
  • CAN的接收函数

28069的CAN配置基本与2812类似,可以参考《手把手教你学DSP--基于TMS320X281x》这本书上的内容。

28377D与28069的CAN具体代码可以到我的账号上下载。

你可能感兴趣的:(DSP使用经验)