首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CANopen和CAN驱动程序

CANopen和CAN驱动程序
EN

Software Engineering用户
提问于 2014-06-12 11:59:01
回答 2查看 1.3K关注 0票数 1

CAN驱动程序是指与CAN硬件交互并帮助初始化设置和通信的应用程序。

CANopen堆栈提供各种API来处理CAN通信。

现在这让我很困惑,所以请告诉我: CANopen堆栈和能驱动一个吗?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2014-06-12 20:57:59

不一定。

这种情况下的“堆栈”是指用于整个产品的一组应用程序。请参阅维基百科解决方案栈技术栈。FOOstack将意味着一组软件(必要的库,可能是IDE的专门插件或返工(例如,SpringSource工具套件)。例如,MEAN使用Mongo、高速公路、angularjs和节点作为解决方案,因此软件包通常被称为堆栈。

您有时会看到“完整堆栈开发人员”,该开发人员可以处理系统的任何部分,从客户端到数据库。

驱动程序是用来与特定硬件进行通信的特定软件。就这样。操作系统使用视频驱动程序与视频硬件通信。

驱动程序可能包含在堆栈中,但驱动程序并不是解决方案堆栈的整体。

票数 0
EN

Software Engineering用户

发布于 2014-06-29 09:57:33

CAN总线基于ISO/OSI层1(物理层)和2层(数据链路),并在ISO 11898中标准化。

CAN驱动程序是与CAN控制器和CAN收发器交互的软件模块。它为以下高级层提供了接口:

  • 初始化CAN硬件
  • 发送原始CAN消息
  • 接收原始CAN消息
  • 通知较高层接收的CAN消息
  • 控制操作模式(正常,待机,去睡觉,.)
  • ..。

CANopen实现了ISO/OSI 3层(网络)到7层(应用程序)。它包括以下特点:

  • 传输层,支持数据分割/去分割,控制8个以上数据字节的发送和接收。
  • 网络管理,控制节点的状态机(预操作,操作,.)
  • 心跳协议,用于监视网络节点是否活动。
  • SDO,PDO,同步,EMCY,还有更多

CANopen堆栈在软件中实现了上述特性。它使用CAN驱动程序提供的接口来访问CAN总线。

基本的CANopen通信在CiA 301中进行了描述。这个规范是理解CANopen基础知识的一个很好的起点。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/244786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档