This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TCAN4550:驾驶员、CANopen 和 SAE J1939问题

Guru**** 2782575 points

Other Parts Discussed in Thread: TCAN4550-Q1, TCAN4550

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1182575/tcan4550-driver-canopen-and-sae-j1939-question

器件型号:TCAN4550

各位专家、您好!

我的客户希望了解以下来自 TCAN4550和 TCAN4550-Q1的问题。 我们是否可以知道您是否可以帮助回答这个问题? 谢谢!

  1. 这两个部件是否支持 ARM 和 x86系统? 如果是、我们是否有用于它的驱动程序?
  2. 这两个部件是否支持 Windows 和 Linux 系统?  如果是、我们是否有用于它的驱动程序?
  3. 我们是否会提供 API 和测试程序?
  4. 这两个器件是否支持 CANopen 和 SAE J1939嗎

此致、

Ann Lien

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    安、

    我可以快速回答您关于两个 GPN 之间差异的第一个问题。 TCAN4550是工业器件、而 TCAN4550-Q1是汽车(AEC Q100)器件。

    对于您的其余问题、请在我们的团队不在工作期间留出一些时间。

    最棒的

    Danny

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ann、

    感谢您在这个假期期间的耐心等待。

    我们在 TCAN4550TCAN4550-Q1 产品文件夹的"软件开发"部分下提供了一些 ANSI-C (裸机)驱动程序代码可供下载。  该驱动 程序是使用 MSP430FR989开发的、但在对 SPI 驱动程序进行修改以满足特定 MCU 的硬件要求后、该驱动程序应与任何 MCU 兼容。

    我们还提供了软件开发人员用户指南、以帮助解释如何开发 TCAN4550并将其集成到应用中。

    Linux 驱动程序已经开发并集成到 Linux 内核中、版本5.10开始。  它称为"tcan4x5x"。

    TCAN4550适用于可通过器件的 SPI 接口进行通信的任何系统。  因此、如果您的操作系统可以支持所需的 SPI 接口、则 TCAN4550将起作用。  这通常更多地是硬件考虑因素、而不是操作系统考虑因素。

    我们不提供测试程序、但在演示启动代码 API 之外、可根据要求提供 AutoSAR 抽象层。

    CANopen 和 SAE J1939是在 CAN 物理层硬件上运行的更高级别协议层。  TCAN4550与 CAN FD 物理层兼容、因此可用于任何 CANopen 和 SAE J1939应用。

    此致、

    Jonathan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Jonathan

    感谢您的回答!

    我有另一个有关  TCAN4550和 TCAN4550-Q1的驱动程序问题

     Linux 内核主流是否支持这两种产品的 Linux 驱动程序?

    此致、

    Edmond

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Edmond、

    是的、此驱动程序从5.10开始向上流入 Linux 内核。  我们还在为驱动程序进行一些性能增强更新、一旦这些更新完成、它们也会上传到 Linux 内核中。  

    此致、

    Jonathan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Jonathan

    感谢您的回答!

    TI 提供的"演示启动代码 API"和" AutoSAR 抽象层"能否同时支持 Windows 和 Linux?  

    此致、

    Edmond

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Edmond、

    CAN "演示启动代码 API"是一种低级 ANSI-C、通常用于微处理器固件、 通常在最低级调用 SPI 驱动程序、与物理层上的 TCAN4550器件通信。  此级别的代码将最低级的 SPI 寄存器读/写事务抽象为更高级别的函数、这些函数可由更高的代码应用层调用。  将此代码移植到不同的微处理器通常只需更改 SPI 抽象层即可与处理器的低级 SPI 驱动程序和独特的硬件要求兼容。

    "AutoSAR 抽象层"是代码的抽象层、具有由 AutoSAR 定义的特定函数。  此代码不是在任何特定的硬件平台或处理器上构建的、因此允许将其移植到不同的平台。  

    微控制器抽象拉取器(MCAL)为微控制器的外设(如 IO、总线端口(SPI 或 I2C)甚至存储器)提供标准化的功能调用。  通过将这些外设抽象为通用函数调用、可以在迁移时简单地将 MCAL 驱动器换用为不同的处理器、但上述所有代码的运行方式都应相同、只需极少的修改即可。  这些 MCAL 驱动器是特定于处理器/供应商的、因为它们处理执行功能所需的特定代码。

    ECU 抽象层提供了一组电子控制单元(ECU)将使用的通用功能、例如 CAN 通信或 GPIO、用于感应按钮或控制灯。  这些模块设计为独立于处理器、并在 MCAL 层上调用以处理所需的任何功能。  对于 TCAN45xx、用于 SPI 的 MCAL 驱动程序用于与 TCAN45xx 进行通信。

    服务层为应用程序提供后台服务,例如网络服务和总线通信服务。  TCAN45xx 的一个示例是可能需要一个信标总线通信(一个定期总线 ping 来检查总线上器件的状态)并且这个服务与 TCAN45xx ECU 抽象驱动程序通信以实际发送和接收 CAN 消息。

    德州仪器提供将 TCAN45xx 集成到 AutoSAR 环境中所需的必要 ECU 抽象层驱动程序源代码。  但是、MCAL 驱动程序层是特定于供应商的、应由处理器供应商或其他软件开发人员提供。

    如果您注意到演示启动代码 API 和 AutoSAR ECU 抽象层代码都处于低于运行时环境(RTE/OS)和应用层的级别、则开发人员应该能够使用它们来支持 Windows 或 Linux 操作系统。  但是、TI 提供的代码的级别比应用层低得多、因此、它不会集成到专为所用操作系统类型设计的应用中、也不会进行修改以与通过硬件级别的 SPI 与 TCAN4550进行通信的特定处理器配合使用。

    此致、

    Jonathan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jonathan、  

    由于 Linux (内核版本5.10之后)可以提供本机 SocketCAN API: https://docs.kernel.org/networking/can.html、TCAN4550在 Windows 平台上是否具有类似的软件栈?  

    此致、  

    Kunyang  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:Kunyang、

    这是一个器件支持论坛、而不是软件开发论坛。  我在器件级别支持 TCAN4550、并通过 SPI 总线支持基本 SPI 配置、德州仪器提供示例代码以在较低级别启用器件配置和基本操作。  SocketCAN 等更高级别的 Windows 和 Linux API 和实用程序超出了我的专业知识或此论坛。

    我进行了快速的网络搜索、我看到一些结果出现了、因此我认为这是可能的。  但我没有资格为 SocketCAN 的 Windows 替代方案提出任何形式的建议。

    TCAN4550仅通过堆栈硬件级的低级 SPI 驱动程序进行通信。 因此、只要更高层 API 能够正确调用与 TCAN4550通信所需的更低级 SPI 驱动程序、TCAN4550就可以在任何平台上工作。

    此致、

    Jonathan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Jonathan、

    客户仍有两个问题、  

    1. Windows 是否有 SocketCAN 之类的软件堆栈可以共享给客户以帮助他们开发测试工具、API 和协议?

    2.如果没有这样的软件堆栈、我们可以提供操作系统层的 DLL 或 API 吗? 或其他资源可以与客户共享吗?

    此致、

    Ann Lien

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ann、

    我们必须共享的唯一软件资源已在该主题中指出。  我们可以为 TCAN4550提供器件级支持、以解决硬件和低级 SPI 寄存器配置问题、但这不是软件支持论坛、更高级别的操作系统特定 API 问题超出了我们的专业知识范围。  

    由于 Windows 是操作系统、它仍然需要一些低级处理器、以便通过 SPI 总线与 TCAN4550进行通信。  该处理器必须具有一些固件驱动程序才能控制 SPI 总线。  如果对读取/写入 TCAN4550寄存器所需的 SPI 时序和协议有疑问、我们乐意提供帮助。  此外、如果对为特定运行模式配置 TCAN4550所需的寄存器设置有疑问、我们也乐意提供帮助。

    但是、Windows 操作系统和 API 层高于这个较低级别的 MCU 到 TCAN4550 SPI 层、我们不知道如何支持这个请求。  

    我认为他们首先需要识别将通过 SPI 与 TCAN4550通信的低级硬件(处理器)。  裸机示例演示代码可用作处理器固件的参考。  操作系统如何调用此固件由客户决定。  与 Linux 中的 SocketCAN 类似的解决方案可能适用于 Windows、但这也不属于我们的专业知识范围、这些解决方案可能与系统硬件兼容、也可能不兼容。

    此致、

    Jonathan