1 / 11

CAN 总线接口通讯实验

CAN 总线接口通讯实验. 实验目的. 1.掌握 UP-NetARM2410-S 上的 CAN 总线通讯原理。 2.学习编程实现 MCP2510 的 CAN 总线通讯。 3.掌握查询模式的 CAN 总线通讯程序的设计方法。. 预备知识. 1 、用 ARM ADS1.2 集成开发环境,编写和调试程序的基本过程。 2 、 ARM 应用程序的框架结构。 3 、会使用 Source Insight 3 编辑 C 语言源程序。 4 、理解 CAN 总线的工作原理。. CAN 总线控制器 MCP2510. ◆ 支持标准格式和扩展格式的 CAN 数据帧结构

Download Presentation

CAN 总线接口通讯实验

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CAN总线接口通讯实验

  2. 实验目的 • 1.掌握UP-NetARM2410-S 上的CAN 总线通讯原理。 • 2.学习编程实现MCP2510 的CAN 总线通讯。 • 3.掌握查询模式的CAN 总线通讯程序的设计方法。

  3. 预备知识 • 1、用ARM ADS1.2 集成开发环境,编写和调试程序的基本过程。 • 2、ARM 应用程序的框架结构。 • 3、会使用Source Insight 3 编辑C 语言源程序。 • 4、理解CAN 总线的工作原理。

  4. CAN 总线控制器MCP2510 • ◆ 支持标准格式和扩展格式的CAN 数据帧结构 • ◆ 0-8 字节的有效数据长度,支持远程帧 • ◆ 最大1Mbps 的可编程波特率 • ◆ 两个支持过滤器(Fliter、Mask)的接收缓冲 区,三个发送缓冲区 • ◆ 支持回环(Loop Back)模式 • ◆ SPI 高速串行总线,最大5MHz(4.5V 供电) • ◆ 3V 到5.5V 供电

  5. MCP2510 • 通过定义如下宏实现MCP2510 的片选: • #define MCP2510_Enable() GPHDAT=GPHDAT&0x7fe • #define MCP2510_Disable() GPHDAT=GPHDAT|0x01 • 上述的两个宏定义就是对GPH0 端口的置1 和清0 操作。

  6. 通讯函数 • S3C2410X 带有高速SPI 接口,可以直接和MCP2510 通讯。通过如下两个函数: • SPISend ()//向同步串口发送数据(spi.c) • SPIRecv ()//从同步串口读取数据(spi.c)

  7. MCP2510 的初始化 • MCP2510 的初始化如下步骤: • 1、软件复位,进入配置模式 • 2、设置CAN 总线波特率 • 3、关闭中断 • 4、设置ID 过滤器 • 5、切换MCP2510 到正常状态(Normal) • 6、清空接受和发送缓冲区 • 7、开启接收缓冲区,开启中断(可选)

  8. MCP2510 发送和接收数据 • MCP2510 中有3 个发送缓冲区,可以循环使用。也可以只使用一个发送缓冲区,但是, • 必须保证在发送的时候,前一次的数据已经发送结束。 • MCP2510 中有2 个接收缓冲区,可以循环使用。 • 数据的发送和接收均可使用查询或者中断模式,这里,为编程简单,收发数据都采用查 • 询模式。通过状态读取命令(Read Status Instruction)来判断是否接收到(或者发送出)数据。

  9. MCP2510控制字

  10. 程序框图

  11. 实验步骤 • 1.新建工程,将“Exp7 CAN 总线通讯实验”中的文件添加到工程。 • 2.编写MCP2510 驱动函数(MCP2510.c),包括:CAN 初始化(init_MCP2510)、发送数据(canWrite)、接收数据(canRead)、查询数据(canPoll)。 • 3.在主函数中实现将从串口0 接收到的数据发送到CAN 总线,将从CAN 接收到的数据,发送到串口0(Main.c)

More Related