高职单片机教学中总线接口实践训练的探讨
2020-12-18朱琳
朱琳
摘 要:目前实际设备中,功能模块往往基于总线连接,维护维修设备必须具备总线相关知识技能。为了让培养对象熟悉单片机与模块的总线连接的操作方式与常见问题。高职教学需要为学生提供总线基础知识学习平台。单片机类实践课程是一个适合进行总线教学的课程平台,合理设计课程内容与教学方式,能帮助学生由易到难掌握该项知识与实践技能。
关键词:单片机;总线接口;实践训练;SPI;IIC
中图分类号:TB 文献标识码:A doi:10.19311/j.cnki.1672-3198.2020.36.072
1 高职教学目前存在的短板
单片机类课程是高职工科院校一类重要的专业基础课。在多个专业大类均有开设,是后续控制类,应用类等专业课程的前序课程。该门课程在高职中有较长开设历史,各类专业教学课程资源比较丰富,市面上成熟的实验器材和系统种类繁多,为社会和行业培养了大批专业技术人才。
但从目前教学的侧重点来看,总线部分比较薄弱,学生对单片机内部结构与功能学习时间较长,单片机与外部设备或模块连接学习时间较短,内容也相对比较简单,学生接触比较多的是使用输出口直连的方式。而随着物联网,智能控制等行业的发展,典型智能终端设备中MCU连接外部扩展芯片往往采用总线结构,实际工作中涉及设备维护,组装等总线应用日益增多。如果学生所在专业没有后续详细介绍总线的专业课,学生面对实际工作场景,会感到无所适从。
特别目前教学和学生自学场景中,广泛使用了Protues仿真软件。利用KEIL编译器和Protues软件的仿真功能,可以在无硬件的条件下,方便快捷进行程序编制,甚至可以完成单片机与外设的综合实践训练。但使用Protues仿真完成单片机实践训练连线过于抽象,器件过于理想,无法让学生掌握总线连接的线路特点,无法实践处理易发故障。另外,仿真器件库器件有限,单片机通过IIC和SPI总线连接实际器件种类繁多,少量仿真达不到实践的要求。
最后,由于早期单片机除了串口外无其他硬件总线接口,需要利用普通IO口仿真总线接口输入输出,导致输入输出设计总线接口时序的编程,比较复杂,对于高职中职层次学生独立编写难度比较大。
2 在实践环节加强单片机接口连接
为了加强单片机接口训练,除了在教学后期加强讲解串口通信等方式,还可以在显示模块上提前引入接口实践。传统单片机教学实踐中,往往采用LED和七段码做输出显示设备,该类设备原理简单,连方便,便于初学者理解。为了让学生更加熟悉总线接口,完成基本实验之后,应该让学生在复杂实验接触其他外设连接方式。例如可以采用IIC或者SPI接口的0.96寸OLED屏幕作为显示终端,将实验结果反馈在OLED屏幕上。在完成仿真后,一定让学生通过杜邦线等方式完成实验的实物连接,排除可能出现的故障,让学生逐步熟悉其他的接口的连接方式。出于降低难度的考虑,可以提前将接口输入输出函数封装好,让学生直接引用,但要求学生掌握接口输入输出的逻辑。
当学生熟悉OLED屏的连接后,可以在串口通信实验后,增加多个IIC设备或SPI设备基于总线的互连实验。实验功能可以仅限于简单数据传送,主要目标力求通过直观的方式,让学生接触基于接口的总线连接方式,对SPI环形总线和IIC普通总线结构有初步的认识,为后续其他专业课中接触设备总线打下良好基础。
3 总线实践模块的选型
传统单片机教学往往从51系列单片机开始,课程资源丰富,但由于型号诞生早,接口比较缺乏。传统基于8051的单片机教学如果要加强接口训练,需要使用普通IO口软件模拟SPI与IIC输入输出,无法某些读取速度有要求的模块。对于这类情况可以考虑使用STC15系列单片机CPU,该系列与51单片机兼容,一般的8051程序可以直接使用运行在15系列的CPU上。而且该系里型号支持硬件SPI,能软件模拟IIC。可以最大程度利用现有教学资源,连接IIC或SPI总线外设模块比较方便。
对于没有开设单片机或者只开设了微机原理类课程的专业,也可以考虑采用加入选修课,或者网络开放课程,让学生自学加深基础知识的学习理解。由于不追求与51完全兼容,MCU选择可以更广泛。如果希望与51平台接近,同时支持硬件总线接口,可以使用STC8K系列单片机平台,同时具备硬件SPI和IIC总结接口,连接比较方便。如果以降低难度为目标,可以采用arudino单片机平台,支持硬件SPI接口,软件支持IIC接口,IIC输入输出函数已经封装,例程资源丰富,使用成本低,简单快捷。如果学生基础较好,也可直接使用STM32嵌入式平台。
对于单片机连接的外设,可以考虑通用性好,方便能在多个实验中采用的模块。例如显示模块,AD模块,存储器模块。一般实验室可以采用0.96OLED屏幕取代七段码,1602,12864传统输出显示模块作为实验信息的输出屏幕,不同厂家有支持IIC和SPI总线型号,种类齐全。除了显示模块,还可以考虑采用AD模块,例如基于IIC的ADS1115 AD转换芯片。AD模块前端配合不同传感模块,可以完成测量电压、测量温度、制类实验。部分MCU内置了AD转换器,为了加深学生对总线的理解,在实验中推荐使用通过总线连接的外部AD转换芯片。采用SPI接口连接的EEPROM芯片做存储器扩展也是良好的训练方式。
4 能力培养层次设计
结合目前单片机课程的学习,未来可以设计三段式教学完成MCU与外部接口的技能训练。
第一阶段,无论学生学习哪一种单片机。学生首先掌握信号基本传输方法,即学习掌握信号通过I/O口并行输入输出。这一阶段主要训练目标让学生数据输入输出格式与MCU与外部电路连接的基本方式。
第二阶段,学生学习串口的应用方式,掌握利用串口连接计算机等外部设备。这一阶段的训练目标,让学生意识到输入输出的时序与接触接口的技术标准。此节阶段可根据学生掌握情况,只接触RS232和RS485标准串行总线型接口。
第三阶段,学生使用单片机通过IIC接口连入外部模块,获取数据。掌握IIC总线与SPI总线,了解数据线与地址线的差异,掌握多个设备基于总线的连接,明白模块相互发送数据的逻辑。在高职或中职层次教学中,为了降低难度,可以将接口通信程序封装,让学生暂时不接触具体信号时序,将学习重点放在地址设置,器件状态设置与不同模块通信逻辑次序上。
最后,当学生在后续专业课上接触相关总线或CAN工业总线时,将具备良好的知识基础,并能抽象理解总线网络拓扑结构。这样会以更快的速度接受总线相关知识,并能培养良好的实践技能。
5 展望
随着中国2025不断推进,智能产业化不断发展,对从业人员的综合素质要求不断提升。在未来各行各业设备信息化不断提高,设备内子系统,模块采用总线连接的比例将进一步扩大。为了讓培养人才更适合未来工作岗位的要求,在现场能迅速适应设备,掌握技术文档,需要在学校教育阶段为学生打造一个良好的知识基础。让培养对象熟悉单片机与模块的总线连接的操作方式与常见问题。单片机类实践课程是一个适合进行总线教学的平台,相关课程设计中应不断探索有效教学模式,让学生接触总线相关知识,帮助学生由易到难掌握该项技能。
参考文献
[1]黄克亚.高等院校嵌入式系统课程单片机选型比较[J].电子世界,2020,(01):22-23+26.
[2]盛杨博严.基于SPI总线的Arduino显示与控制模块设计[J].单片机与嵌入式系统应用,2020,20(03):74-76+80.
[3]纪峰,徐壮,郝静,等.基于单片机PIC18F87J11串行通信模块驱动LCD1602的设计与实现[J].电子世界,2019,(13):145-146.
[4]马游春,苏淑靖,张会新,等.仿真技术在电类课程教学中的应用研究[J].教育教学论坛,2019,(34):189-190.
[5]王齐英,曾富豪,王维志,等.基于SPI通信的EEPROM的程序设计[J].汽车实用技术,2019,(23):88-90.
[6]刘兴旺.基于Proteus与Keil的单片机实验教学改革方式[J].电子世界,2016,(17):37-38.