最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

比较CAN 和 ECAN 模块

IT圈 admin 36浏览 0评论

2024年3月13日发(作者:富察香馨)

AN916

比较CAN和ECAN模块

作者:

Caio Gübel

Microchip Technology Inc.

ECAN接口特性

•实现的CAN协议:CAN 1.2、CAN 2.0A和CAN

2.0B

•支持DeviceNet™数据字节过滤器

•标准和扩展数据帧

•0-8字节数据长度

•可编程的比特率,最高为 1 Mb/s

•与PIC18XX8 CAN模块完全向下兼容

•三种工作模式:

-模式 0 – 传统模式

-模式1 – 支持DeviceNet的增强型传统模式

-模式2 – 支持DeviceNet的FIFO模式

•支持具有自动处理功能的远程帧

•带有区分优先级的两个接收报文存储缓冲器的双缓

冲接收器

•6个可编程作为接收和发送报文缓冲器的缓冲器

•16 个可与4个屏蔽寄存器之一相关的完全(标准/

扩展标识符)接收过滤器

•两个可以被分配给任何过滤器的完全接收过滤器屏

蔽寄存器

•一个可以被用作接收过滤器或接收过滤器屏蔽寄存

器的完全接收过滤器

•三个专用的发送缓冲器,具有应用程序指定的优先

级和中止功能

•利用集成的低通滤波器实现可编程唤醒功能

•可编程环回模式支持自测试操作

•在所有CAN接收器和发送器出现错误状态时,通

过中断发出信号

•可编程时钟源

•可编程的到定时器模块的链接,用于时间标记和网

络同步

•低功耗休眠模式

欲知有关CAN和ECAN的更多信息,请参见附录A:

“参考资料”。

随着带有增强型控制局域网(Enhanced Control Area

Network,ECAN)模块的PIC18FXX8X系列单片机的

面世,设计人员现在可以在PIC18FXX8系列器件原有

的CAN模块的和这种使能ECAN的新型器件之间进行

选择。

本应用笔记比较了两种模块的通信时间,并给出了结论

和建议,旨在帮助设计人员找到最适合给定应用和可用

部件的CAN解决方案。

比较和相关的建议均根据以下规则给出:

1.

2.

以指令条数(汇编语言)表示代码处理时间

以位时间表示发送和接收时间

CAN接口特性

•实现的CAN协议:CAN 1.2、CAN 2.0A和CAN

2.0B

•标准和扩展数据帧

•0-8字节数据长度

•可编程的比特率,最高为 1 Mb/s

•支持远程帧

•带有区分优先级的两个接收报文存储缓冲器的双缓

冲接收器

•6个完全(标准/扩展标识符)接收过滤器;两个

与高优先级接收缓冲器相关联,四个与低优先接收

缓冲器相关联

•两个完全接收过滤器屏蔽寄存器,每个都与高和低优

先级接收缓冲器相关联

•三个发送缓冲器,具有应用程序指定的优先级和中

止功能

•利用集成的低通滤波器实现可编程唤醒功能

•可编程环回模式支持自测试操作

•在所有CAN接收器和发送器出现错误状态时,通

过中断发出信号

•可编程时钟源

•可编程的到定时器模块的链接,用于时间标记和网

络同步

•低功耗休眠模式

 2007 Microchip Technology 00916A_CN 第 1页

AN916

发送延时

CAN 实现的总线存取方法称为带冲突检测和报文优先

级仲裁的载波帧听多路存取(Carrier Sense Multiple

Access with Collision Detection and Arbitration on Mes-

sage Priorityi,CSMA/CD+AMP)。使用这种方法时,

将根据报文的优先级(由报文的标识符定义,标识符的

数字越小,优先级越高)解决发送冲突。

这种方法虽然可靠,但其发送报文的总时间会有变化。

这种变化一般不会给软实时系统带来问题,然而在需要

确定延时的硬实时系统中,发送总时间的变化可能导致

丢失死区时间。对最差情形下延时的分析不在本文的讨

论范围之内(见附录B:“CAN分析”了解有关该主题

的参考资料)。以下公式是描述这一过程的简化公式:

3.报文的总长度(包括填充位)应该尽可能地短,

因此,仔细选择报文标识符和报文内容非常重

要。

附录B:“CAN分析”提供了一份参考资料,介

绍了用来使填充量最小的控制优先级和数据发送

的有趣方法。

应用程序对接收的反应

CAN协议确保正确分配报文而没有规定单片机如何处

理报文。 因此,确保接收到报文的单片机有能力及时处

理报文以避免报文覆盖是至关重要的。

在这种情况下,可使用以下三种基本方法:

1.

2.

3.

增加处理器的时钟速率

降低总线速度

增加可用的接收缓冲器的数量

公式1:

L = Qj + Qt + Tt

其中:

L = 总延时

Qj = 排队抖动。发送任务所要花费的最长时间。它

表示将报文装入 CAN外设并请求发送的时间。

Qt = 排队时间。报文排队的最大有效时间。它包括

发送完已经在上一次仲裁中获胜的报文的时间、发

送所有具有更高优先级的报文的时间,以及所有总

线错误信令/恢复时间。

Tt = 有效发送时间。通过总线发送帧的时间。

第一种方法不仅要求单片机能够在更高的时钟频率下工

作,而且要求功耗和产生的噪声(由EMI引起)满足

系统规范。在某些场合,它可能适用,但必须进行仔细

的分析。在某些情形下,可能还需要调整硬件。

第二种方法相对而言使用较少,因为在许多情形下,总

线速度与外部因素有关,不能由设计人员控制。这些因

素包括关键报文的最大延时和传统硬件环境等。

第三种方法暗指系统中可以使用更多的缓冲器,或具有

将单片机升级为具有更多缓冲器的器件的可能性。

为了评估在CAN模块和ECAN模块中使用不同数量的

缓冲器的影响以及处理器速度的影响,已根据以下条件

进行了一些计算:

•主时钟:16、25、33和40MHz(16MHz是达到

1Mb/s比特率所需的最小频率)

•总线速度:1Mb/s

•RTR帧时间(无数据):47 和67µs

•响应报文发送时间: 130和154µs

由此,我们可以得出一些简单但却十分重要的结论:

1.将报文装载到外设的时间在使用高速总线(接近

1Mb/s)时对通信有影响。可用的发送缓冲器越

多,用来管理发送缓冲器的时间就越短。一般建

议至少使用三个发送缓冲器。

安排发送时间的最佳方法为截止期单调算法, 其

中截止期最近的发送被分配给最高的优先级,以

优先级递减的顺序依次类推。Microchip的应用

AN853

PIC18XXX8 CAN Driver with Pri-

笔记

(DS00853A)介绍了优oritized Transmit Buffer

先级发送机制的一种有趣的实现方案。

2.

DS00916A_CN 第 2页 2007 Microchip Technology Inc.

2024年3月13日发(作者:富察香馨)

AN916

比较CAN和ECAN模块

作者:

Caio Gübel

Microchip Technology Inc.

ECAN接口特性

•实现的CAN协议:CAN 1.2、CAN 2.0A和CAN

2.0B

•支持DeviceNet™数据字节过滤器

•标准和扩展数据帧

•0-8字节数据长度

•可编程的比特率,最高为 1 Mb/s

•与PIC18XX8 CAN模块完全向下兼容

•三种工作模式:

-模式 0 – 传统模式

-模式1 – 支持DeviceNet的增强型传统模式

-模式2 – 支持DeviceNet的FIFO模式

•支持具有自动处理功能的远程帧

•带有区分优先级的两个接收报文存储缓冲器的双缓

冲接收器

•6个可编程作为接收和发送报文缓冲器的缓冲器

•16 个可与4个屏蔽寄存器之一相关的完全(标准/

扩展标识符)接收过滤器

•两个可以被分配给任何过滤器的完全接收过滤器屏

蔽寄存器

•一个可以被用作接收过滤器或接收过滤器屏蔽寄存

器的完全接收过滤器

•三个专用的发送缓冲器,具有应用程序指定的优先

级和中止功能

•利用集成的低通滤波器实现可编程唤醒功能

•可编程环回模式支持自测试操作

•在所有CAN接收器和发送器出现错误状态时,通

过中断发出信号

•可编程时钟源

•可编程的到定时器模块的链接,用于时间标记和网

络同步

•低功耗休眠模式

欲知有关CAN和ECAN的更多信息,请参见附录A:

“参考资料”。

随着带有增强型控制局域网(Enhanced Control Area

Network,ECAN)模块的PIC18FXX8X系列单片机的

面世,设计人员现在可以在PIC18FXX8系列器件原有

的CAN模块的和这种使能ECAN的新型器件之间进行

选择。

本应用笔记比较了两种模块的通信时间,并给出了结论

和建议,旨在帮助设计人员找到最适合给定应用和可用

部件的CAN解决方案。

比较和相关的建议均根据以下规则给出:

1.

2.

以指令条数(汇编语言)表示代码处理时间

以位时间表示发送和接收时间

CAN接口特性

•实现的CAN协议:CAN 1.2、CAN 2.0A和CAN

2.0B

•标准和扩展数据帧

•0-8字节数据长度

•可编程的比特率,最高为 1 Mb/s

•支持远程帧

•带有区分优先级的两个接收报文存储缓冲器的双缓

冲接收器

•6个完全(标准/扩展标识符)接收过滤器;两个

与高优先级接收缓冲器相关联,四个与低优先接收

缓冲器相关联

•两个完全接收过滤器屏蔽寄存器,每个都与高和低优

先级接收缓冲器相关联

•三个发送缓冲器,具有应用程序指定的优先级和中

止功能

•利用集成的低通滤波器实现可编程唤醒功能

•可编程环回模式支持自测试操作

•在所有CAN接收器和发送器出现错误状态时,通

过中断发出信号

•可编程时钟源

•可编程的到定时器模块的链接,用于时间标记和网

络同步

•低功耗休眠模式

 2007 Microchip Technology 00916A_CN 第 1页

AN916

发送延时

CAN 实现的总线存取方法称为带冲突检测和报文优先

级仲裁的载波帧听多路存取(Carrier Sense Multiple

Access with Collision Detection and Arbitration on Mes-

sage Priorityi,CSMA/CD+AMP)。使用这种方法时,

将根据报文的优先级(由报文的标识符定义,标识符的

数字越小,优先级越高)解决发送冲突。

这种方法虽然可靠,但其发送报文的总时间会有变化。

这种变化一般不会给软实时系统带来问题,然而在需要

确定延时的硬实时系统中,发送总时间的变化可能导致

丢失死区时间。对最差情形下延时的分析不在本文的讨

论范围之内(见附录B:“CAN分析”了解有关该主题

的参考资料)。以下公式是描述这一过程的简化公式:

3.报文的总长度(包括填充位)应该尽可能地短,

因此,仔细选择报文标识符和报文内容非常重

要。

附录B:“CAN分析”提供了一份参考资料,介

绍了用来使填充量最小的控制优先级和数据发送

的有趣方法。

应用程序对接收的反应

CAN协议确保正确分配报文而没有规定单片机如何处

理报文。 因此,确保接收到报文的单片机有能力及时处

理报文以避免报文覆盖是至关重要的。

在这种情况下,可使用以下三种基本方法:

1.

2.

3.

增加处理器的时钟速率

降低总线速度

增加可用的接收缓冲器的数量

公式1:

L = Qj + Qt + Tt

其中:

L = 总延时

Qj = 排队抖动。发送任务所要花费的最长时间。它

表示将报文装入 CAN外设并请求发送的时间。

Qt = 排队时间。报文排队的最大有效时间。它包括

发送完已经在上一次仲裁中获胜的报文的时间、发

送所有具有更高优先级的报文的时间,以及所有总

线错误信令/恢复时间。

Tt = 有效发送时间。通过总线发送帧的时间。

第一种方法不仅要求单片机能够在更高的时钟频率下工

作,而且要求功耗和产生的噪声(由EMI引起)满足

系统规范。在某些场合,它可能适用,但必须进行仔细

的分析。在某些情形下,可能还需要调整硬件。

第二种方法相对而言使用较少,因为在许多情形下,总

线速度与外部因素有关,不能由设计人员控制。这些因

素包括关键报文的最大延时和传统硬件环境等。

第三种方法暗指系统中可以使用更多的缓冲器,或具有

将单片机升级为具有更多缓冲器的器件的可能性。

为了评估在CAN模块和ECAN模块中使用不同数量的

缓冲器的影响以及处理器速度的影响,已根据以下条件

进行了一些计算:

•主时钟:16、25、33和40MHz(16MHz是达到

1Mb/s比特率所需的最小频率)

•总线速度:1Mb/s

•RTR帧时间(无数据):47 和67µs

•响应报文发送时间: 130和154µs

由此,我们可以得出一些简单但却十分重要的结论:

1.将报文装载到外设的时间在使用高速总线(接近

1Mb/s)时对通信有影响。可用的发送缓冲器越

多,用来管理发送缓冲器的时间就越短。一般建

议至少使用三个发送缓冲器。

安排发送时间的最佳方法为截止期单调算法, 其

中截止期最近的发送被分配给最高的优先级,以

优先级递减的顺序依次类推。Microchip的应用

AN853

PIC18XXX8 CAN Driver with Pri-

笔记

(DS00853A)介绍了优oritized Transmit Buffer

先级发送机制的一种有趣的实现方案。

2.

DS00916A_CN 第 2页 2007 Microchip Technology Inc.

发布评论

评论列表 (0)

  1. 暂无评论