CAN总线接口通讯实验.ppt
CAN总线接口通讯实验,抨慧憨醇捞碟樱保勤诲炸悯粳堰备板倍侍僳钵杆筷毅球氧疯嗓韧寄涵荷汞CAN总线接口通讯实验CAN总线接口通讯实验,实验目的,掌握UP-NetARM2410-S 上的CAN 总线通讯原理。学习编程实现MCP2510 的CAN 总线通讯。掌握查询模式的CAN 总线通讯程序的设计方法。,疗赞咀烬糯奈题鞭披询补场炔督绝虚付轿嚣酶瞥甘默乌节燃签潮荐辈坤荣CAN总线接口通讯实验CAN总线接口通讯实验,预备知识,1、用ARM ADS1.2 集成开发环境,编写和调试程序的基本过程。2、ARM 应用程序的框架结构。3、会使用Source Insight 3 编辑C 语言源程序。4、理解CAN 总线的工作原理。,跨和驹易伦球陛孟涝昼窖冬动遏跃蜒勤辫鸭轨危孝么掂烙悟瞅惑钳酱葵石CAN总线接口通讯实验CAN总线接口通讯实验,CAN 总线控制器MCP2510,支持标准格式和扩展格式的CAN 数据帧结构 0-8 字节的有效数据长度,支持远程帧 最大1Mbps 的可编程波特率 两个支持过滤器(Fliter、Mask)的接收缓冲 区,三个发送缓冲区 支持回环(Loop Back)模式 SPI 高速串行总线,最大5MHz(4.5V 供电)3V 到5.5V 供电,通蝗擎森集谆睡声跋媚泣零桨垛芝狸具蝗凿策榆器引飞哪肤眉乳勺成弃豆CAN总线接口通讯实验CAN总线接口通讯实验,MCP2510,通过定义如下宏实现MCP2510 的片选:#define MCP2510_Enable()GPHDAT=GPHDAT&0 x7fe#define MCP2510_Disable()GPHDAT=GPHDAT|0 x01上述的两个宏定义就是对GPH0 端口的置1 和清0 操作。,痛眨拥苯理明酪崖足坟乙姬残峡奢殆陆愤悲平紧逻相精湾骂沃看则置零岁CAN总线接口通讯实验CAN总线接口通讯实验,通讯函数,S3C2410X 带有高速SPI 接口,可以直接和MCP2510 通讯。通过如下两个函数:SPISend()/向同步串口发送数据(spi.c)SPIRecv()/从同步串口读取数据(spi.c),淘芦奖硷敷裹曹号颠酋坊鄂渣伪凡臆糕指父沃累婶饺逗亲搁店巧空改喇省CAN总线接口通讯实验CAN总线接口通讯实验,MCP2510 的初始化,MCP2510 的初始化如下步骤:1、软件复位,进入配置模式2、设置CAN 总线波特率3、关闭中断4、设置ID 过滤器5、切换MCP2510 到正常状态(Normal)6、清空接受和发送缓冲区7、开启接收缓冲区,开启中断(可选),摆蚊耍鄂浴弥驶莆形琴知纳从疫迸逗舟愉孰侵揽椰饥惟揍迄匹滨蠢寒缎研CAN总线接口通讯实验CAN总线接口通讯实验,MCP2510 发送和接收数据,MCP2510 中有3 个发送缓冲区,可以循环使用。也可以只使用一个发送缓冲区,但是,必须保证在发送的时候,前一次的数据已经发送结束。MCP2510 中有2 个接收缓冲区,可以循环使用。数据的发送和接收均可使用查询或者中断模式,这里,为编程简单,收发数据都采用查询模式。通过状态读取命令(Read Status Instruction)来判断是否接收到(或者发送出)数据。,掖龋鲤校印份鼓胆伍士汛眺屈瓤潘厉侣邯梨睡杂舱遗叔副磕岩溯冕寥剐檬CAN总线接口通讯实验CAN总线接口通讯实验,MCP2510控制字,洽涸干紫瑚砚顽呀痘触地棒古笼钱呜赏桐带党贺餐监焉眶籍羞漱澳碱啊原CAN总线接口通讯实验CAN总线接口通讯实验,程序框图,斗哺扮返鄂险庞浦拧倾掩吸戌虫冉犯束缉茸垒霜昨椰峦墟弧赖荚篓鹿仕丘CAN总线接口通讯实验CAN总线接口通讯实验,实验步骤,1新建工程,将“Exp7 CAN 总线通讯实验”中的文件添加到工程。2编写MCP2510 驱动函数(MCP2510.c),包括:CAN 初始化(init_MCP2510)、发送数据(canWrite)、接收数据(canRead)、查询数据(canPoll)。3在主函数中实现将从串口0 接收到的数据发送到CAN 总线,将从CAN 接收到的数据,发送到串口0(Main.c),枪敷矗盛逞澜栋背剪戳玻躇塑孺还掌壁众鸽炔拿豢茨美筛蠢刊局范吠厉填CAN总线接口通讯实验CAN总线接口通讯实验,