[发明专利]一种单SPI总线控制多CAN接口的控制方法有效

专利信息
申请号: 201210593317.1 申请日: 2012-12-29
公开(公告)号: CN103064815A 公开(公告)日: 2013-04-24
发明(设计)人: 叶飞虹;王赫;李民英 申请(专利权)人: 广东志成冠军集团有限公司
主分类号: G06F13/40 分类号: G06F13/40
代理公司: 北京品源专利代理有限公司 11332 代理人: 胡彬
地址: 523000 广东省东莞市*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 spi 总线 控制 can 接口 方法
【权利要求书】:

1.一种单SPI总线控制多CAN接口的控制方法,其特征在于,所述方法包括以下步骤: 

存储过程: 

A、当多个CAN芯片中的任意一个CAN芯片的接收邮箱接收完CAN总线上的数据时该CAN芯片触发中断,发送中断信号; 

B、单片机通过SPI总线设置所述触发中断的CAN芯片关闭芯片内部中断使能,并退出中断; 

C、单片机通过SPI总线查询所有触发中断的CAN芯片的接收邮箱接收的数据,并通过SPI总线读取到单片机的内存缓冲区中,在单片机的内存缓冲区设置数据标识,恢复所述触发中断的CAN芯片中断使能,让所述触发中断的CAN芯片继续接收数据; 

读取过程: 

D、单片机应用程序判断内存缓冲区是否有数据标识,是则拷贝内存缓冲区数据到应用程序的内存缓冲区,否则返回失败,并继续判断内存缓冲区是否有数据标识。 

2.如权利要求1所述的方法,其特征在于,所述方法还包括以下步骤: 

发送过程: 

E、单片机通过SPI总线通知多个CAN芯片中的任意一个CAN芯片发送数据到与所述CAN芯片连接的CAN总线上。 

3.如权利要求1所述的方法,其特征在于,在所述步骤A之前还包括以下步骤: 

依次配置每个CAN芯片对应的中断向量和中断处理函数,初始化所述CAN芯片的片选信号互斥量以及所述CAN芯片对应的接收数据内存缓冲区; 

依次配置每个CAN芯片的速率、接收滤波器以及唤醒功能。 

4.如权利要求1所述的方法,其特征在于,所述步骤B具体包括以下步骤: 

B1、当多个CAN芯片中的任意一个CAN芯片的接收邮箱接收到CAN总线上的数据时,当前CAN芯片中断记数器加1; 

B2、判断当前CAN芯片获取片选信号互斥量是否成功,是则执行步骤B3,否则执行步骤B4; 

B3、设置当前CAN芯片片选信号,使当前CAN芯片处于选通,并通过SPI接口设置当前CAN芯片关闭芯片内部中断使能,让当前CAN芯片不继续产生中断信号,继续执行步骤B5; 

B4、检查片选信号是否是当前CAN芯片,是则执行步骤B6,否则执行步骤B7; 

B5、释放多CAN芯片片选信号互斥量; 

B6、唤醒数据接收任务; 

B7、关闭当前CAN芯片在单片机上对应的中断向量使能,让单片机不响应当前CAN芯片产生的中断信号,等待数据接收任务处理。 

5.如权利要求1所述的方法,其特征在于,所述步骤C具体包括以下步骤: 

C1、单片机统计系统初始化过的CAN芯片数,按顺序依次查询,并初始化第一个CAN芯片的序号等于0; 

C2、单片机获得待查询CAN芯片的序号; 

C3、判断当前序号的CAN芯片是否超过系统初始化CAN芯片的最大个数,是则结束数据接收,否则执行步骤C4; 

C4、通过当前CAN芯片中断计数器判断当前CAN芯片是否接收到数据,是则执行步骤C5,否则将CAN芯片的序号加1,并返回步骤C3; 

C5、判断当前CAN芯片是否获得片选信号使用权,是则设置片选信号选中当前CAN芯片,并获取CAN芯片的接收邮箱状态,否则将CAN芯片的序号加1,并返回步骤C3; 

C6、判断CAN芯片邮箱是否有数据包,是则读取数据包存在内存缓冲区,同时通知应用程序读取数据,否则执行步骤C7; 

C7、开启CAN芯片内中断使能,判断当前CAN芯片对应单片机上中断向量使能是否关闭,是则开启当前CAN芯片中断向量使能,否则将CAN芯片的序号加1,并返回步骤C3。 

6.如权利要求1所述的方法,其特征在于,所述步骤D具体包括以下步骤: 

D1、判断内存缓冲区是否存有数据,是则从内存缓冲区读取数据并返回结果,否则执行步骤D2; 

D2、判断当前CAN芯片数据接收是否结束,是则执行步骤D3,否则返回结果并退出读取; 

D3、判断是否有数据进入通知,是则从内存缓冲区读取数据,返回结果并退出读取,否则继续判断是否有数据进入通知。 

7.如权利要求2所述的方法,其特征在于,所述步骤E具体包括以下步骤: 

E1、判断当前CAN芯片是否获得片选信号使用权,是则获取发送寄存器状态,否则继续判断当前CAN芯片是否获得片选信号使用权; 

E2、判断当前CAN芯片的邮箱是否准备好发送数据,是则发送数据并返回 结果,否则将CAN芯片号加1继续判断下一个CAN芯片的邮箱是否准备好发送数据,当判断最后一个CAN芯片的邮箱没有准备好发送数据时,获取错误码并返回结果。 

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东志成冠军集团有限公司,未经广东志成冠军集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210593317.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top