计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

CAN中继器设计及其应用(2)

2017-08-31 02:39
导读:图2 接收中断子程序流程图 CAN中继器软件主要包括以下一些子程序:初始化子程序、主监控程序、接收中断子程序和发送子程序等。初始化子程序的编


图2 接收中断子程序流程图

CAN中继器软件主要包括以下一些子程序:初始化子程序、主监控程序、接收中断子程序和发送子程序等。初始化子程序的编写方法与一般的CAN总线系统智能节点的初始化子程序的编写方法基本相同,只是在对两个CAN控制器进行初始化时应采用不同的初始化参数。下面主要对主监控程序和接收中断子程序进行介绍。

2.1 主监控程序的设计

主监控程序负责对两路CAN控制器的接收FIFO缓冲区进行监视,如某一路缓冲区非空则向另一路转发。两路缓冲区的容量大小可采用不对称配置。采用这种不对称配置的一个好处在于可以将容量更大的缓冲区分配给通信任务更繁忙的一方,从而尽量避免缓冲区出现溢出。FIFO缓冲区共有两个指针:接收数据指针和发送数据指针。当两指针不相等时即证明缓冲区中存有有效数据。缓冲区接收数据指针的调整是通过接收中断子程序实现的,而发送数据指针的调整则通过发送子程序实现。在主监控程序中,还用到了一个请求状态标志,该标志在接收中断子程序中建立,用于中继器及时返回本身故障状态或响应上位机的状态查询命令。当该标志为1时,主监控程序会向上位机发送本身状态,并清除该标志。

2.2 接收中断子程序的设计

中继器接收中断子程序流程图如图2所示。在进入中断后,首先判断中断类型。若为错误警告中断,则进行相应处理并建立标志,若为接收中断则接收报文。在报文接收前,要根据接收报文的长度判断接收缓冲区是否会溢出。若会溢出,则判断是否为状态查询命令,是则置位请求状态标志,对于接收的其它报文则丢弃。若缓冲区不会溢出,则接收该报文。接收报文后取出命令字节,判断是否是中继器状态查询命令,若是则置位请求状态标志,不进行缓冲区参数调整(因为是上位机发送给中继器的命令,只要求中继器作出响应而不要求其转发,所以不能放入缓冲区中)。若不是中继器状态查询命令,则不作处理,只进行缓冲区参数调整,接收报文有效。随后进行释放CAN接收缓冲区、恢复现场和中断返回等工作。

(科教论文网 lw.nseaC.Com编辑发布)


上一篇:串行扩展应用平台设计 下一篇:没有了