资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
单片机原理及系统设计课程设计报告模板单片机原理及系统设计课程设计是学生对单片机原理及系统设计课程设计题目进行充分理解,对题目中对功能的要求进行分析,对系统的硬件平台和软件程序进行科学的规划,并使用专业设计工具软件对系统硬件电路和单片机程序进行设计,最终实现题目要求的功能。单片机原理及系统设计课程设计是对单片机原理及系统设计课程的学习成果进行总结、消化、提炼、升华的又一个重要的教学环节。单片机原理及系统设计课程设计报告是对整个设计工作的总结报告,充分体现设计思路,细致表达设计过程,如实记录实验结果,总结设计的实现情况,并对如上过程进行文字形式记录下来的书面材料。单片机原理及系统设计课程设计报告是体现本教学环节质量,记录学生成绩,并留存档案的重要材料。一、课程设计报告的内容为了充分体现题目的设计思路,完整描述设计过程的细节,如实记录实验结果,全面总结设计工作,课程设计报告应该具备以下内容:1、系统工作原理对题目要求进行准确描述,对系统功能进行充分的分析和分解,对系统结构进行科学的规划。2、系统硬件组成针对系统功能要求,对系统处理器进行正确和成熟的选型,对系统整体硬件结构进行描述,并细致阐述系统硬件的各个组成部分。3、系统软件设计应当体现程序的整体结构思路,并对各个环节的处理以流程形式进行阐述。4、实验过程完整记录实验的条件,科学设置实验过程,并如实记录实验结果。5、总结对本题目设计工作质量进行总结,以及进行系统设计工作的感受。二、课程设计报告的叙述方法课程设计报告以文字叙述为主,叙述使用的词句符合科技论文的规范,使用专业词语和语言进行描述。在叙述过程中,对文字描述应当配合使用相应的图片。对示意性和流程性的图片,应当使用专业的绘图软件(Microsoft Office Visio )进行编辑;对设计细节进行描述的图片应来自专业的设计软件。另:附单片机原理及系统设计课程设计报告样例河南机电高等专科学校课程设计报告书课程名称:单片机原理及系统设计 课题名称: 基于STM32的CAN总线通信设计 系部名称: 自动控制系 专业班级: 自动化129班 姓 名: 齐 白 石 学 号: XXXXXXXXX 20XX年XX月XX日一、系统工作原理一级标题左顶齐,使用四号宋体,并加粗,段落行间距1.5倍行距。CAN 总线是一种分布式的控制总线,由于总线上的每一个节点都不怎么复杂,所以可以使用 MCU 控制器处理 CAN 总线数据,来完成特定的功能。中文段首空两个中文字体宽度,使用小四 宋体 首行缩进2字符,行距固定值20磅。只需较少的线缆就可以将各个节点通过 CAN 总线连接, 二、系统硬件组成MCU 控制器连接独立的 CAN 控制器,再连接 CAN 收发器,构成挂接在 CAN总线上的硬件结构。独立 CAN 控制器常见的有 MCP2515,SJA1000 等。其中 MCP2515通过 SPI 总线接口和 MCU 连接,SJA1000 则是通过数据总线接口和 MCU 单元相连接。示意图使用专业绘图软件Microsoft Office Visio绘制,居中放置,图中文字应与正文中大小一致。图1 系统硬件结构组成图的题目在图下方居中放置,使用5号字体。图的编号通篇顺序排列。CAN 控制器的 MCU 与 CAN 收发器相连接,挂接到 CAN 总线上。目前,市场上带有 CAN 控制器的 MCU 种类繁多,如 P87C591,LPC2294,C8051F340,STM32 3.1 处理器选型二级标题左顶齐,使用小四宋体加粗,段落行间距1.5倍行距。ARM 的 Cortex-M3 处理器属于最新一代的嵌入式 ARM 处理器,它为实现 MCU 的需求提供了低成本的平台,较少的管脚数目、较低的系统功耗,同时还提供卓越的计算性能以及先进的中断系统响应。同时作为 32 位的 RISC 处理器,ARM 的 Cortex-M3 为系统提供额外的代码效率,在通常 8 和 16 位系统的存储空间上可得到 ARM 核心的高性能。由于 STM32F103xx 增强型系列具有内置的 ARM 核心,因此它可以与所有的 ARM工具和软件兼容。下图为 STM3232F103xx 增强型系列的硬件框图。图3 STM3232F103xx 增强型系列的硬件框图3.2 STM32 的 CAN 通信模块STM32 的 CAN 模块的初始化是由软件设置完成的,通过对 CAN_MCR 寄存器的 INRQ位置 1 和置 0 分别可以使 CAN 模块进入初始化和退出初始化。当 CAN 通信模块处于初始化状态时,总线上的报文接收和发送都是禁止的。CANTX 引脚输出隐性位,即高电平。STM32 的 CAN 模块经过初始化后进入正常工作模式,这时软件同步 CAN 总线来正常发送接收报文,当软件对 INRQ 位清 0 时,CAN 模块进入正常工作模式,接着等待INAK 位清 0 确认,与 CAN 总线取得同步后,即总线空闲后,CAN 通信模块才能正常发送接收报文。STM32 的 CAN 模块的睡眠模式是通过对 CAN_MAR 寄存器的 INRQ 位置 1 来实现的,当进入到该模式后,CAN 的时钟虽然停止了,但软件仍然可以访问邮箱寄存器。若需要将处于睡眠工作模式的 CAN 模块调整到初始化模式,除了需要对 CAN_MCR 寄存器的INRQ 位置 1 外,还需要同时对 SLEEP 位清 0。如需从睡眠模式退出则需要对 SLEEP 位清 0,或者硬件检测 CAN 总线的活动。电路图应取自专业设计软件。图4 CAN 模块通信接口的原理图3.3 CAN收发器设计 三、系统软件设计基于 STM32 的 CAN 总线通信中的软件代码是用 C 语言编写的,选取了 KeilVision4 环境实现编译调试。从基于 STM32 的 CAN 总线通信主程序流程图可以看出:程序的主体框架首先对STM32 开发板进行初始化,接下来对 CAN 模块进行初始化,并构造要发送的 CAN 消息,然后进入程序的主循环。程序进入主循环后,判断当前 CAN 模块是否能够发送消息,如果能,则发送消息;如果不能,则跳过发送消息阶段。然后判断当前 CAN 模块是否有接收到的消息,如果有,则显示成功接收消息,比如根据消息内容点亮相应 LED 灯,如果没有接收到的消息则结束。示意图要求清晰整洁,图的布局要合理,图中不宜出现大片空白。图5 系统软件结构图3.1 寄存器管理模块 3.2 命令翻译模块 四、实验过程下图中从左至右分别是 STM32 微控制单元,带有 SPI 接口的 CAN 控制器 MCP2515,以及 Arduino 微处理器。STM32 与 MCP2515 间以两个差分信道相连,即 CANH 和 CANL。实物照片要求清晰可辨识。图5 STM32 微控制单元实物照片STM32 初始化完成后,开始进入正常工作模式,程序进行 CAN 通信模块的初始化以及接收发送报文等操作。下图为基于 STM32 的 CAN 通信运行时的部分代码流程以及STM32 的通信状态。数据表格要求:题目在表格上方居中放置,使用五号宋体;表格采用三线制表格,字体与正文一致。五、总结本文设计了基于 STM32 的 CAN总线通信程序部分,包括系统初始化过程,CAN 通信模块的初始化,发送和接受消息程序的设计,以及中断处理程序部分。最后,通过运用开发软件环境 Keil 对系统整体的运行状况进行监控和调整,基本上实现了最初通信设计的目的和预期效果,这个系统设计实现的完成作为 CAN 总线技术在工业控制领域成功应用的很好实例,同时也为 CAN 总线协议在实际应用领域增添了依据。附录:1、原理图2、PCB图
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号