论文部分内容阅读
【摘要】目前的CAN现场总线教学,由于条件限制,只有理论讲授而缺少实践的环节,在教学过程中,学生的学习积极性不高,主要原因是对某些概念理解不太透彻,也不熟悉独立CAN控制器的使用。针对上述问题,在使用CAN现场总线试验板的基础上,本文提出了具体的解决办法。经实践验证,我们所提出的方法能提高学生学习CAN现场总线的兴趣,加深学生对问题的理解,效果良好。
【关键词】CAN现场总线 学习积极性 独立CAN控制器 试验板
【中图分类号】G71 【文献标识码】A 【文章编号】2095-3089(2013)01-0049-02
1.引言
CAN现场总线是一种多主方式的串行通信总线, 由于其采用独特的设计, 与一般的通信总线相比, 具有突出的可靠性、实时性和灵活性, 在工业控制领域中占有重要地位[1]。CAN现场总线的标准是开放的,而且其参考资料也比较齐全,学习CAN 现场总线以后,对理解和使用其它现场总线具有重大的促进意义[2]。我担任了本科自动化专业《CAN现场总线》这门课的教学任务,在教学过程中,我发现学生的学习积极性不高,参与性不强。通过与学生的交流,我发现学生对所讲授知识的某些方面难以理解,因而没有学习的兴趣和动力[3]。
2.教学中所存在的问题
通过与学生的交流,我发现学生对CAN总线通讯协议的理解还是比较到位的。比如:对CAN总线的多主机、多播、远程数据请求等概念、非破坏性优先权逐位仲裁、帧类型、错误及处理等技术标准的理解。
而学生难以掌握的内容主要集中在对SJA1000独立CAN控制器的使用上。主要包括:
(1)对报文滤波的概念理解不是很清晰。这点在SJA1000独立CAN控制器的使用上主要表现为:不知道如何根据需要设置SJA1000的验收代码寄存器和验收屏蔽寄存器的值。
(2)不熟悉SJA1000独立CAN控制器TX0、TX1、RX0、RX1管脚的使用及其初始化设置。
(3)不知道SJA1000独立CAN控制器三种错误中断(即总线错误中断,错误消极中断和错误报警中断)的不同和处理方法。
(4)不清楚SJA1000独立CAN控制器的初始化过程。
3.针对问题所提出的解决方法
通过分析,上述问题出现的主要原因是受到教学条件的限制,只有理论讲授而没有实践环节,学生没有学习的兴趣,感觉所学知识比较空洞、难以理解。
针对CAN现场总线教学中出现的问题,通过与其他老师的交流和查阅资料[4],我设计了CAN现场总线试验板[4],如图1所示。我们可以使用一块试验板进行不同独立CAN控制器的通讯试验,也可以用多块试验板进行相同独立CAN控制器的通讯试验。
结合所设计的CAN总线试验板,我提出了相应的解决方法:
(1)针对学生对报文滤波的概念理解不清晰的问题。在加强概念细节讲授的同时,我们总结出了设置SJA1000的验收代码寄存器(ACR)和验收屏蔽寄存器(AMR)的口诀:对于该节点接收的所有数据帧和远程帧的识别码,验收代码寄存器,值相同的位写其值、不同的位随便;验收屏蔽寄存器,值相同的位写0,不同的位写1。其操作过程如图2所示,图中x表示任意值。同时,我们让学生在编好的程序中自己根据理解修改SJA1000的验收代码寄存器和验收屏蔽的值,拿几块CAN试验板进行通讯,验证其设置值的正确性。
(2)对于学生不熟悉SJA1000独立CAN控制器TX0、TX1、RX0、RX1管脚的使用及其初始化设置的问题。经分析,现在的SJA1000独立CAN控制器都与独立的CAN收发器一起使用,所以我们只使用TX0和RX0管脚用于SJA1000和独立CAN收发器之间的通讯,因而SJA1000的输出控制寄存器(OCR)一般设置为00011010B(二进制)。
(3)针对学生不知道SJA1000独立CAN控制器三种错误中断的不同和处理方法的问题。分析可知,这主要是大部分资料都是直接翻译其数据手册,解释不清晰,所以学生难以理解。我们把此问题总结如下:当CAN节点出现5种错误(位错误,填充错误,CRC校验错误,应答错误,格式错误)中的任何错误时就产生总线错误中断,其一般的处理方法是软件复位SJA1000独立CAN控制器;当SJA1000的接收错误计数(RXERR)器或发送错误计数器(TXERR)的值大于报警计数器(EWLR)的值,就产生错误报警中断,根据高级CAN通讯协议的习惯[5],我们采取的基本处理方法是控制一个红色发光二极管以1Hz(占空比1:1)的频率闪烁。当SJA1000的接收错误计数器或发送错误计数器的值大于127时,产生错误消极中断,其处理过程一般为监测接收错误计数器或发送错误计数器的值,当值达到255时,控制闪烁的红色LED灯进入常亮状态。
(4)针对学生不清楚SJA1000独立CAN控制器的初始化过程的问题。我们总结了SJA1000的初始化步骤:①进入复位模式,②初始化命令寄存器(模式选择、波特率、输出控制),③初始化验收滤波寄存器和验收屏蔽寄存器,④初始化中断,⑤ 清空接收错误计数器、发送错误计数器和错误代码捕捉寄存器,⑥进入工作模式。同时,我们让学生在编好的程序中自己根据理解修改SJA1000的初始化程序,并在一块试验板上与已经调试成功的MCP2515现场总线模块通讯,验证其初始化过程的正确性。
4.总结
上述问题的解决方法在实践教学中应用之后,对学生解决CAN现场总线学习中所遇见的问题有很大的帮助。特别是把CAN现场总线试验板应用于教学过程后,学生的学习兴趣更加浓厚,对所遇到问题的理解更加透彻,对CAN现场总线用途的认识更为深刻。希望在以后的教学过程中不断改进,提出更好的教学方法,来激发学生的学习兴趣,增强学习效果。
参考文献:
[1]吴钦伟.工业仪表与装置智能化网络化的进展[J].自动化博览.2001,18(5):1-6.
[2]牛跃听,周立功,方丹. CAN总线嵌入式开发:从入门到实战[M],北京:北京航空航天大学出版社,2012.52-59.
[3]唐永红,郑金吾.现场总线在实践教学中的应用[J].现代电子技术.2009(22):170-172.
[4]陈勇,张昌华,刘群英.“现场总线技术”课程研究型教学方案的探讨[J].中国电力教育.2009,7(141):85-87.
[5]王黎明,夏力,邵英,闫晓玲.CAN现场总线系统的设计与应用[M].北京:电子工业出版社,2008.400-415.
【关键词】CAN现场总线 学习积极性 独立CAN控制器 试验板
【中图分类号】G71 【文献标识码】A 【文章编号】2095-3089(2013)01-0049-02
1.引言
CAN现场总线是一种多主方式的串行通信总线, 由于其采用独特的设计, 与一般的通信总线相比, 具有突出的可靠性、实时性和灵活性, 在工业控制领域中占有重要地位[1]。CAN现场总线的标准是开放的,而且其参考资料也比较齐全,学习CAN 现场总线以后,对理解和使用其它现场总线具有重大的促进意义[2]。我担任了本科自动化专业《CAN现场总线》这门课的教学任务,在教学过程中,我发现学生的学习积极性不高,参与性不强。通过与学生的交流,我发现学生对所讲授知识的某些方面难以理解,因而没有学习的兴趣和动力[3]。
2.教学中所存在的问题
通过与学生的交流,我发现学生对CAN总线通讯协议的理解还是比较到位的。比如:对CAN总线的多主机、多播、远程数据请求等概念、非破坏性优先权逐位仲裁、帧类型、错误及处理等技术标准的理解。
而学生难以掌握的内容主要集中在对SJA1000独立CAN控制器的使用上。主要包括:
(1)对报文滤波的概念理解不是很清晰。这点在SJA1000独立CAN控制器的使用上主要表现为:不知道如何根据需要设置SJA1000的验收代码寄存器和验收屏蔽寄存器的值。
(2)不熟悉SJA1000独立CAN控制器TX0、TX1、RX0、RX1管脚的使用及其初始化设置。
(3)不知道SJA1000独立CAN控制器三种错误中断(即总线错误中断,错误消极中断和错误报警中断)的不同和处理方法。
(4)不清楚SJA1000独立CAN控制器的初始化过程。
3.针对问题所提出的解决方法
通过分析,上述问题出现的主要原因是受到教学条件的限制,只有理论讲授而没有实践环节,学生没有学习的兴趣,感觉所学知识比较空洞、难以理解。
针对CAN现场总线教学中出现的问题,通过与其他老师的交流和查阅资料[4],我设计了CAN现场总线试验板[4],如图1所示。我们可以使用一块试验板进行不同独立CAN控制器的通讯试验,也可以用多块试验板进行相同独立CAN控制器的通讯试验。
结合所设计的CAN总线试验板,我提出了相应的解决方法:
(1)针对学生对报文滤波的概念理解不清晰的问题。在加强概念细节讲授的同时,我们总结出了设置SJA1000的验收代码寄存器(ACR)和验收屏蔽寄存器(AMR)的口诀:对于该节点接收的所有数据帧和远程帧的识别码,验收代码寄存器,值相同的位写其值、不同的位随便;验收屏蔽寄存器,值相同的位写0,不同的位写1。其操作过程如图2所示,图中x表示任意值。同时,我们让学生在编好的程序中自己根据理解修改SJA1000的验收代码寄存器和验收屏蔽的值,拿几块CAN试验板进行通讯,验证其设置值的正确性。
(2)对于学生不熟悉SJA1000独立CAN控制器TX0、TX1、RX0、RX1管脚的使用及其初始化设置的问题。经分析,现在的SJA1000独立CAN控制器都与独立的CAN收发器一起使用,所以我们只使用TX0和RX0管脚用于SJA1000和独立CAN收发器之间的通讯,因而SJA1000的输出控制寄存器(OCR)一般设置为00011010B(二进制)。
(3)针对学生不知道SJA1000独立CAN控制器三种错误中断的不同和处理方法的问题。分析可知,这主要是大部分资料都是直接翻译其数据手册,解释不清晰,所以学生难以理解。我们把此问题总结如下:当CAN节点出现5种错误(位错误,填充错误,CRC校验错误,应答错误,格式错误)中的任何错误时就产生总线错误中断,其一般的处理方法是软件复位SJA1000独立CAN控制器;当SJA1000的接收错误计数(RXERR)器或发送错误计数器(TXERR)的值大于报警计数器(EWLR)的值,就产生错误报警中断,根据高级CAN通讯协议的习惯[5],我们采取的基本处理方法是控制一个红色发光二极管以1Hz(占空比1:1)的频率闪烁。当SJA1000的接收错误计数器或发送错误计数器的值大于127时,产生错误消极中断,其处理过程一般为监测接收错误计数器或发送错误计数器的值,当值达到255时,控制闪烁的红色LED灯进入常亮状态。
(4)针对学生不清楚SJA1000独立CAN控制器的初始化过程的问题。我们总结了SJA1000的初始化步骤:①进入复位模式,②初始化命令寄存器(模式选择、波特率、输出控制),③初始化验收滤波寄存器和验收屏蔽寄存器,④初始化中断,⑤ 清空接收错误计数器、发送错误计数器和错误代码捕捉寄存器,⑥进入工作模式。同时,我们让学生在编好的程序中自己根据理解修改SJA1000的初始化程序,并在一块试验板上与已经调试成功的MCP2515现场总线模块通讯,验证其初始化过程的正确性。
4.总结
上述问题的解决方法在实践教学中应用之后,对学生解决CAN现场总线学习中所遇见的问题有很大的帮助。特别是把CAN现场总线试验板应用于教学过程后,学生的学习兴趣更加浓厚,对所遇到问题的理解更加透彻,对CAN现场总线用途的认识更为深刻。希望在以后的教学过程中不断改进,提出更好的教学方法,来激发学生的学习兴趣,增强学习效果。
参考文献:
[1]吴钦伟.工业仪表与装置智能化网络化的进展[J].自动化博览.2001,18(5):1-6.
[2]牛跃听,周立功,方丹. CAN总线嵌入式开发:从入门到实战[M],北京:北京航空航天大学出版社,2012.52-59.
[3]唐永红,郑金吾.现场总线在实践教学中的应用[J].现代电子技术.2009(22):170-172.
[4]陈勇,张昌华,刘群英.“现场总线技术”课程研究型教学方案的探讨[J].中国电力教育.2009,7(141):85-87.
[5]王黎明,夏力,邵英,闫晓玲.CAN现场总线系统的设计与应用[M].北京:电子工业出版社,2008.400-415.