返回顶部
返回首页 会员充值 我的足迹 返回上一页
跳转三个皮匠报告小程序

BOSCH M_CAN在Xenomai上的应用.pdf

2025-01-12
文档编号:464898
文档页数:27
文档大小:3.71MB
下载积分:VIP专享
文档格式:PDF

1、中科时代(深圳)计算机系统有限公司BOSCH M_CAN在在Xenomai上的应用上的应用演讲人:刘杨日期:2024年11月26日目录1.什么是CAN2.m_can驱动分析3.m_can驱动修改前后对比4.部分测试数据基于PC技术的工智机新时代PC based iComputer comes SINSEGYEPART1CAN简介1.什么是什么是CANCAN 是由 Bosch 在 1983 年开发的,用于汽车电子系统中,后来成为工业控制领域的重要通信协议。适用于实时控制和数据传输,支持多节点、多主机通信。2.CAN的特点的特点多主结构:CAN网络允许多个节点同时连接,每个节点都可以作为主节点发起

2、通信。仲裁机制:通过位仲裁机制,确保在同一时间内只有一个节点发送数据,避免冲突。错误检测:内置多种错误检测和处理机制,确保通信的可靠性。高速率:支持高达1Mbps的数据传输速率(标准CAN)和5Mbps的数据传输速率(CAN FD)。灵活的数据帧:支持不同长度的数据帧,标准CAN支持最长8字节的数据,CAN FD支持最长64字节的数据。低成本:简洁的总线结构,低硬件和布线成本。3.CAN协议的应用场景协议的应用场景汽车电子:发动机控制单元(ECU)、车身控制、自动驾驶、车载信息娱乐等。工业自动化:PLC 控制、传感器、执行器、工业机器人等。医疗设备:医疗监控设备、影像设备等。楼宇自动化:智能建

3、筑、能源管理、安防系统等。船舶与航空:船舶控制、飞机系统等。基于PC技术的工智机新时代PC based iComputer comes SINSEGYEPART2linux下m_can.c简单分析m_can驱动1.drivers/net/can/dev.c/CAN子系统的Core层实现2.drivers/net/can/m_can/m_can.c/M_CAN通用驱动接口3.drivers/net/can/m_can/m_can_platform.c/基于M_CAN IP的platform驱动4.drivers/net/can/dev/rx-offload.c/通过使能NAPI对CAN接收 /过

4、滤或发送CAN内容广播管理。 M_CAN的初始化流程的初始化流程1.启动 M_CAN 外设时钟。2.配置 M_CAN 控制器的工作模式(正常模式、监听模式、回环模式等)。3.配置波特率和时钟源。4.配置接收缓冲区(RX FIFO)和发送缓冲区(TX FIFO)。5.配置过滤器(如接收过滤器、接受接收的消息等)。6.配置中断使能。7.其他一些相关配置(如是否生成时间戳等)。2.1 M_CAN驱动主要涉及的文件驱动主要涉及的文件m_can数据发送流程用户态调用send/write函数之后,最终会调用驱动层的网卡发送函数,对于M_CAN来说,他的发送函数为m_can_start_xmit,m_can

5、_start_xmit函数中先填充ID,然后根据需要填充RTR字段,之后如果FIFO不满的话,依次填充DLC跟DATA位的数据。最后往M_CAN_TXBAR位置写入1,硬件会自动把数据发送出去,之后会产生中断,在中断处理函数中调用m_can_echo_tx_event函数做后续的处理工作,m_can_echo_tx_event函数主要工作是读取M_CAN_TXEFS获取tx event fifo状态,之后获取有多少个发送事件,然后循环的把每个事件发送出去,之后更新下数据发送的状态。2.3 数据的发送数据的发送数据的发送接收都会有中断产生,对于数据的接收为了提高吞吐量m_can驱动采用了NAPI

6、机制,当网络设备触发中断时,驱动程序会关闭中断,并进入轮询模式,在轮询模式下,驱动程序会批量处理接收到的数据包。处理完成后,驱动程序重新开启中断,等待下一个中断到来。m_can数据接收流程2.4 数据的接收数据的接收2.5 部分代码部分代码m_can中断处理流程m_can数据的发送m_can NAPI流程基于PC技术的工智机新时代PC based iComputer comes SINSEGYEPART3m_can.c修改前后对比rtcan驱动3.1 中断部分中断部分m_can的中断包括接收中断,状态改变中断,bus-err中断,bus-err reporting中断,数据发送完成中断。对于中

BOSCH M_CAN在Xenomai上的应用.pdf_第1页
BOSCH M_CAN在Xenomai上的应用.pdf_第2页
BOSCH M_CAN在Xenomai上的应用.pdf_第3页
BOSCH M_CAN在Xenomai上的应用.pdf_第4页
BOSCH M_CAN在Xenomai上的应用.pdf_第5页

点击查看更多