基于CAN总线的数据采集控制系统开发 毕业论文.doc_第1页
基于CAN总线的数据采集控制系统开发 毕业论文.doc_第2页
基于CAN总线的数据采集控制系统开发 毕业论文.doc_第3页
基于CAN总线的数据采集控制系统开发 毕业论文.doc_第4页
基于CAN总线的数据采集控制系统开发 毕业论文.doc_第5页
免费预览已结束,剩余24页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学 士 学 位 论 文 系 别: 计算机科学与技术 学科专业: 计算机科学与技术 姓 名: 运 城 学 院 2012 年 06 月 基于 can 总线的数据采集控制系统 开发 系 别: 计算机科学与技术 学科专业: 计算机科学与技术 姓 名: 指导老师: 运 城 学 院 2012 年 06 月 基于 can 总线的数据采集控制系统开发 摘 要:随着计算机网络的发展,越来越多工业现场过程参数的传输控制开始 采用现场总线技术,其中can总线由于其布线简单,通信控制实时,系统维护 方便等优越的性能已被广泛地采用。本系统设计一种基于can总线的数据采集 控制系统。系统硬件主体采用at89s52芯片为微控制器, mcp2515独立can控 制器为can通信控制器,将它们两组合一起构成多个can节点(总共3个节点, 分别命名为a1、a2、b) ,其中a1板接一个18b20温度传感器,b板接一个1602 液晶显示器。系统软件采用模块化设计,分为上位机程序模块(物理实现于b 板上) 、数据采集处理模块和can通信模块。系统运行结果是无论是a1板发送 的温度数据信号,或者是a2板手动发送的中断信号,在数码管上都能正确显示, 实现了can节点间的分时通信。 关键词:can总线 数据采集 通信 the development of data acquisition and control system based on can bus abstract: with the development of computer network, more and more transmission control of parameters of process in industry employs field-bus technology, in which because of simple wiring, real-time control of communications, and convenient maintenance, has been widely adopted. in this paper i have designed a data acquisition and control system based on can bus. in the system, at89s52 chip is chosen to be the micro controller, and mcp2515 is used as the can controller, so that they can be combined to form multiple can nodes (a total of three nodes, respectively, named a1, a2, b), where a1 board connects a 18b20 temperature sensor, and b board connects a 1602 lcd monitor. the software system is modular in design, divided into a host computer program module (physical realization in the b board), data acquisition and processing module and can communication module. the running result of the system is whether the temperature data signal sent by a1 board or the interrupt signal sent by a2 board can be correctly displayed in the digital pipe. so, time-sharing communication between the can nodes is realized. keywords: can bus data acquisition communication 目 录 前 言 .1 第 1 章 方案设计与论证 2 1.1 任务要求 2 1.1.1 设计任务 .2 1.1.2 设计要求 .2 1.2 总体设计方案 2 1.3 can 控制器的选定 .3 1.4 微控制器控制模块的选定 3 1.5 温度传感器模 块的选定 3 1.6 数码管显示模块的选定 4 1.7 电源模块的选定 4 1.8 最终方案 4 第 2 章 硬件设计 5 2.1 系统工作原理及功能简介 5 2.2 at89s52 微控制器的简介 5 2.3 mcp2515 独立 can 控制器的介绍 .6 2.4 can 总线概述 .7 2.4.1 can 协议的背景 .7 2.4.2 can 协议的原理 .7 2.5 ds18b20 温度传感器 8 2.6 1602 液晶显示器 9 2.7 can 总线现场的整体设计 .10 2.7.1 单片机引脚的设定 .10 2.7.2 整体设计 .10 第 3 章 软件设计 11 3.1 can 总线系统总体流程 .11 3.2 程序流程图 12 3.3 部分功能代码 14 第 4 章 测试结果 17 结 论 .18 致 谢 19 参考文献 .20 基于 can 总线的数据采集控制系统开发 第 1 页 共 20 页 前 言 自从德国 bosch 公司在 20 世纪 80 年代提出汽车 can 总线通信网络的概 念之后,经过三十多年技术上的积累更新和需求上的变化发展,can 总线已经 成为车载网络通信的主流方式。然而由于它在应用层协议方面未做统一,直到 今天,依然没有完全统一的应用层通信协议。大多数有实力的汽车生产商都凭 借自己独特的设计生产技术来制定吻合本公司使用的应用层协议。 然而,在国内汽车领域,汽车专业人才对 can 的研究还只处在发展的开 端,can 总线的应用相对欧美国家来说就更落后了。简言之,can 总线技术 在国内的发展现在仅处于国际轨道的起跑线上。根据国内技术的发展规则来看, 似乎大部分创新性的技术只有在一些国家级的研究机构或者国家顶尖的高校才 更可能取得良好的发展与应用,然而,我本着网络资源的共享性与自己对通信 技术的痴迷,挑战了一次规则,对 can 总线通信协议进行了深入研究。 can(controller area network)总线,即控制器局域网总线,是一种有效支 持分布式控制或实时控制的串行通信网络。由于其高性能、高可靠性、及独特 的设计和适宜的价格而广泛应用于工业现场控制、医疗器械、智能楼宇、交通 工具等领域,并已被公认为几种最有前途的现场总线之一。can 总线规范已被 iso 制订为国际标准 iso11898,并得到了众多半导体器件厂商的支持,推出了 各种集成有 can 协议的产品,包括单独的可编程 can 控制器的 mcu(如 philips 公司的 p8xc5xx2 系列单片机) 1。 can 总线系统智能节点一般由单片机和 can 控制器两者组成,前者的优 点是单片机的选择范围比较灵活,在对软件和接口稍作修改的基础上,不需要 更换单片机就可以实现 can 总线通信。 本文选择 at89s52 芯片为微控制器,mcp2515 独立 can 控制器作为本系 统的 can 控制器,将它们俩组合构成三个 can 智能节点。三个节点之间保持 互相独立,但互相之间又能通信,因此,他们的关系是分工合作关系。最后, 本系统实现了在 can 总线上的分时通信,成为了一个完整且稳定的数据采集 控制系统。 第 2 页 共 20 页 第 1 章 方案设计与论证 1.1 任务要求 1.1.1 设计任务 构建 can 总线构架的数据采集控制系统,包括传感器、执行器和显示层。 通过 can 通信接口构成总线配置/数据采集/控制层,总线配置/数据采集/ 控制 层与智能仪表 can 节点层之间及各层次内部通过 can 总线通讯,仪表层的信 号转换成 can 线性总线数据,传给总线配置/数据采集 /控制层的上位机,完成 数据采集和控制。系统设计任务如图 1.1 所示。 图 1.1 系统设计任务 1.1.2 设计要求 1总线上的节点能发送信号,也能接收信号,通信方式采用一对多方式; 2总线上有两个节点同时需要发送信息时,应比较两个待发送数据帧的 标识符位场的大小以进行仲裁; 3总线上可以任意挂接多个节点,而不需要改变待挂接节点的软硬件。 1.2 总体设计方案 总体方案为:在整体上分为两大模块,分别是can节点和can总线。系统 方案如图1.2所示。 can 节点 传感器 总线配置、采集和控制节点 can 节点 执行器 can 节点 显示器 基于 can 总线的数据采集控制系统开发 第 3 页 共 20 页 图 1.2 系统设计方案 其中 a1、a2 和 b 都是由微控制器与 can 独立控制器组成的 can 节点, 其中 a1 外接了一个温度传感器用于采集周围的温度, b 板外接一个数码管显 示器用于显示温度传感器采集到的温度,a2 板用于向总线手动发送摁键中断信 号。 1.3 can 控制器的选定 独立can总线控制器常用的有sja1000和mcp2515两种,下面将之做一个 比较。 sja1000:主要用于移动目标和一般工业环境中的区域网络控制。philips 半导体公司pca82c200 can控制器(basiccan )的替代产品,而且它增加了 一种新的操作模式pelican,这种模式支持具有很多新特性的can2.0b协议。 mcp2515:最大的优点是价钱便宜,与单片机是通过spi接口的,接线简 单只需要4根线即可 23。 综合考虑,出于项目效率与经济效益两大因素,在此设计中采用 mcp2515。 1.4 微控制器控制模块的选定 由于at89s52是一种低功耗,高性能cmos 8位微控制器,具有8k 在系统 可编程flash 存储器。使用 atmel公司高密度非易失性存储器技术制造,与工业 80c51 产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦 适于常规编程器。所以,选用at89s52就作为本项目的微控制器 4。 第 4 页 共 20 页 1.5 温度传感器模块的选定 由于在工业现场中,安装的传感器最好耐磨耐碰,体积小,接线方便,易 于封装,适用于各种狭小空间设备数字测温和控制领域。 所以,在此选择ds18b20数字温度传感器。 1.6 数码管显示模块的选定 本设计中选择lcd1602液晶显示器,因为1602是字符型液晶,能显示字母 与数字,控制简单,成本较低 5。 1.7 电源模块的选定 方案1:采用专用的外接电源模块给b母版供电(a1 、a2也行)。 方案2:a1节点采用a1母版上的cmos 电池供电,a2 、b节点一样,考虑 到at89s52的电压极性引脚数不够,所以使用了can 接线板,它上面提供了两 排电压极性引脚,一组可作为can总线的can.h与 can.l使用,一组便可作为 扩展的电源引脚使用,这样,1602液晶显示器与18b20温度传感器就被供电了。 综合考虑上述方案,并且考虑到现场的移动性,狭窄性,因此,本设计选 择方案2。 1.8 最终方案 经过反复论证,我们最终确定的方案如下。 1采用at89s52单片机作为控制核心; 2采用mcp2515控制器作为 can控制器; 3采用18b20温度传感器采集can现场温度; 4采用lcd1602液晶显示器显示温度值及其他值; 5采用智能节点所在母版自带的cmos电池供电。 系统总体结构如图1.3所示。 基于 can 总线的数据采集控制系统开发 第 5 页 共 20 页 图 1.3 系统总体结构 第 6 页 共 20 页 第 2 章 硬 件 设 计 2.1 系统工作原理及功能简介 工作原理:can总线上的一对多播通信方式,非破坏性仲裁方式等。 功能简介:在a1节点上,18b20温度传感器采集温度值,由 at89s52单片 机处理发送给mcp2515控制器,接着 mcp2515控制器把温度信号转换为 can数 据帧的形式放在发送缓冲器里,同时查看can总线电平,判断是否有其他节点 在使用总线,如果没有,便开始发送数据帧。最后,a2 、b 节点都能接收到此 帧。在b 节点上,数据帧被放在mcp2515 控制器的接收缓冲器中,接着把它转 换成电平信号发送给at89s52单片机,最后在1602 液晶显示器上显示出来。 2.2 at89s52 微控制器的简介 at89s52为atmel所生产的一种低功耗、高性能cmos 8位微控制器具有 8k在系统可编程flash 存储器。 1.at89s52主要功能 (1) 拥有灵巧的8位cpu和在线可编程flash ; (2) 晶片内部具有时钟振荡器(传统最高工作频率可至12mhz); (3) 内部程序存储器(rom)为8kb; (4) 内部数据存储器(ram)为256b; (5) 32个可编程i/o口线; (6) 8个中断向量源; (7) 三个16位定时器/计数器 4。 2.at89s52引脚图 at89s52的引脚如图2.1所示。 图2.1 at89s52引脚 基于 can 总线的数据采集控制系统开发 第 7 页 共 20 页 2.3 mcp2515 独立 can 控制器的介绍 mcp2515是microchip的一款独立控制器局域网络( can)协议控制器,完 全支持can v2.0b技术规范。该器件能发送和接受标准和扩展数据帧以及远程 帧。mcp2515自带的两个验收屏蔽寄存器和六个验收滤波寄存器可以过滤掉不 想要的报文,因此减少了主单片机的开销。mcp2515与mcu是通过串行外设接 口spi来实现连接的 6。 另外,mcp2515有两种封装类型: 18引脚pdip/soic与20引脚tssop ,在 此项目中,我使用18引脚pdip/soic ,它的引脚如图 2.2所示。 图2.2 mcp2515 18引脚pdip/soic mcp2515芯片的部分引脚功能如下。 txcan:连接到can总线的发送输出引脚; rxcan:连接到can 总线的接收输入引脚; clkout:带可编程预分频器的时钟输出引脚; osc2:振荡器输出; osc1:振荡器输入; vss:逻辑和i/o引脚的参考地; int:中断输出引脚; sck:spi 接口的时钟输入引脚; si:spi接口的数据输入引脚; so:spi接口的数据输出引脚; cs: spi接口的片选输入引脚; reset:低电平有效的器件复位输入引脚; vdd:逻辑和i/o引脚的正电源 7。 第 8 页 共 20 页 2.4 can 总线概述 2.4.1 can 协议的背景 can(controller area network)数据总线是一种极适于汽车环境的汽车局域 网。can 总线是德国bosch公司为解决汽车监控系统中的复杂技术难题而设计 的数字信号通信协议,它属于总线式串行通信网络。由于采用了许多新技术和 独特的设计思想,与同类车载网络相比,can总线在数据传输方面具有可靠、 实时和灵活的优点 8。 1991年9月philips半导体公司制定并发布了 can技术规范(版本2.0),该技术 规范包括a部分和b两部分,其中2.0a给出了can报文的标准格式;2.0b给出了 标准和扩展两种格式。此后,1993年11月iso正式颁布了道路交通运输工具一 数据信息交换一高速通信控制器局域网(can)的国际标准is011898,为控制器 局域网的标准化和规范化铺平了道路 8。 2.4.2 can 协议的原理 can的iso/osi 参考模型分层结构如图 2.3所示。 图2.3 can分层结构 图2.3描述了can协议涉及到的协议栈有物理层与数据链路层,由于这是很 基本的一些网络知识,而且本论文也不需要了解的那么细致,于是我在此做一 省略。can协议的特点如下。 (1)can是到目前为止唯一具有国际标准且成本较低的现场总线; 基于 can 总线的数据采集控制系统开发 第 9 页 共 20 页 (2)can废除了传统总线的站地址编码,对通信数据块进行编码,为多 主方式工作不分主从,通信方式灵活,通过报文标识符通信,可使不同的节点 同时接收到相同的数据,无需站地址等节点信息; (3)can采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息 时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地 继续传输数据,从而大大节省了总线冲突仲裁时间。尤其是在网络负载很重的 情况下也不会出现网络瘫痪情况(以太网则有可能出现这种情况); (4)can只需通过报文滤波即可实现点对点、一点对多点即全局广播等 方式传送接收数据,无需专门的“调度” ; (5)can上的节点数最多可达110个(主要取决于总线驱动电路); (6)can采用短帧结构,单帧最大长度仅150位,传输时间短,从而保证 了通信的实时性,受干扰概率低; (7)can的每帧信息都有crc 校验及其他检错措施,降低了数据出错率, 保证了数据通信的可靠性; (8)can节点在错误严重的情况下具有自动关闭输出功能,以使总线上 其他节点的操作不受影响 8-12。 2.5 ds18b20 温度传感器 ds18b20温度传感器是有dallas公司生产,它的主要特征如下。 (1( 全数字温度转换及输出; (2( 先进的单总线数据通信; (3( 最高12位分辨率,精度可达正负0.5摄氏度; (4( 12位分辨率时的最大工作周期位750毫秒; (5( 可选择寄生工作方式; (6( 检测温度范围为-55摄氏度- +125 摄氏度; (7( 内置eeprom ,限温报警功能; (8( 64位光刻rom,内置产品序列号,方便多级挂接 13。 ds18b20 的引脚如图 2.4 所示。 图 2.4 ds18b20 芯片封装 第 10 页 共 20 页 2.6 1602 液晶显示器 所谓1602是指显示的内容为16*2,即可显示两行,每行16个字符。1602分 为两种:绿色背光,黑色字体与蓝色显示屏,背光白色字体。在此,我选择第 一种。字符型lcd1602通常有14条引脚线或者16条引脚线的lcd,多出来的2 条线是背光电源线vcc ( 15脚)和地线(16脚) 5。在本设计中的1602是16脚 的,1602的引脚图如图2.5所示。 图2.5 1602液晶显示器引脚 1602液晶显示器各引脚的功能如表2.1所示。 表2.1 1602液晶显示器各引脚功能表 引脚 号 引脚名 电平 输入 /输出 作用 1 vss 电源地 2 vcc 电源( 5v) 3 vee 对比调整电压 4 rs 0/1 输入 0=输入指令 1=输入数据 0=向lcd 写入指令或数据5 r/w 0/1 输入 1=从lcd 读取信息 使能信号,1时读取信息6 e 1,1至 0 输入 1至0(下降沿)执行指令 7 db0 0/1 输入 /输出 数据总线 line0(最低位) 8 db1 0/1 输入 /输出 数据总线 line1 9 db2 0/1 输入 /输出 数据总线 line2 10 db3 0/1 输入 /输出 数据总线 line3 11 db4 0/1 输入 /输出 数据总线 line4 12 db5 0/1 输入 /输出 数据总线 line5 13 db6 0/1 输入 /输出 数据总线 line6 14 db7 0/1 输入 /输出 数据总线 line7(最高位) 15 a +vcc lcd背光电源正极 16 k 接地 lcd背光电源负极 基于 can 总线的数据采集控制系统开发 第 11 页 共 20 页 2.7 can 总线现场的整体设计 2.7.1 单片机引脚的设定 at89s52中p0 、p1 、p2、和p3四个端口的最主要的共同点是:都是具有8 位的双向i/o 口。所以从功能效果上说,用哪个引脚连接外设都无所谓。然而, 考虑到连线的有序性,本设计决定引脚连线设定如下。 (1)与mcp2515控制器的连接(对三个节点统一):sbit sck=p23;sbit si=p22;sbit so =p21; sbit cs =p20; (2)a1节点中18b20温度传感器的连线:sbit dq=p24; (3)a2节点中按键的连线:sbit key=p26; (4)b 节点中1602液晶显示器的连线:sbit en=p02;sbit rw=p01;sbit rs=p00。 2.7.2 整体设计 本项目硬件设计的连线如图2.6所示。 图2.6 硬件连线 第 12 页 共 20 页 第 3 章 软 件 设 计 在进行can总线现场采集控制系统开发中,我们基于具体情况,主要使用 keil c51软件与proteus professional软件,采用主流设计语言c语言对单片机进行 编程实现各项功能。c语言功能丰富,表达能力强,目标程序效率高,可移植 性好,既具有高级语言的优点,又具有低级语言的许多特点,应用十分广泛 14。 3.1 can 总线系统总体流程 can总线的大致流程如图3.1所示。 图3.1 系统总流程 基于 can 总线的数据采集控制系统开发 第 13 页 共 20 页 第 14 页 共 20 页 3.2 程序流程图 1. 单片机at89s52处理信号流程图 当整个系统上电复位时,首先mcu与mcp2515 被初始化,接着等待中断, 当确定中断发生,先要关掉中断(防止其他中断进入),然后再响应中断,具 体如图3.2所示。 上电复位 m c u 初始化和 m c p 2 5 1 5 初始化 等待中断 有中断发生 ? 关中断 定时器中断 ? a n o 通道执行 a / d 转换 读 m c p 2 5 1 5 中断标志 转换值写入 m c p 2 5 1 5 发送缓冲 错误中断 错误处理程序 向 m c p 2 5 1 5 发送数据发送请求命令 读 m c p 2 5 1 5 接受过滤寄存器 重置定时器 过滤匹配 ? 无效报文 处理请求 打开中断允许 n y y n y n n y 图3.2 at89s52单片机控制流程 2. 报文发送流程图 由于mcp2515 can独立控制器处理报文接收与报文发送的工作原理基本上 一致,因此在这,本设计只给出报文发送流程图。 需要注意的有两个点,仲裁程序和出错处理程序,这两处的设计也正是 can协议的优势,如图3.3所示。 基于 can 总线的数据采集控制系统开发 第 15 页 共 20 页 开始 任一 t x b n c t r l t x r e q 位 = 1 ? 清零 t x b n c t r l a b t f t x b n c t r l m l o a t x b n c t r l t x e r r c a n 总线是否可 进行报文发送 ? 检查 t x b n c t r l t x p 以确定最高优先级的报文 报文发送 报文发送成功 ? t x b n c t r l t x r e q 位清零 c a n i n t e t x n i e = 1 ? c a n i n t e . t x n i f 置一 产生中断 返回开始 是 否 t x b n c t r l . t x r e q = 0 或 c a n c t r l a b a t = 1 ? 否 报文出错 或仲裁失败 ? t x b n c t r l t x e r r 置 1 t x b n c t r l m l o a 置 1 c a n i n t e . m e e r e ? c a n i n t e . m e e r f 置 1 产生 中断 是 是 报文 出错 仲裁 失败 是 否 否 是 是 否 否 图3.3 报文发送流程 第 16 页 共 20 页 3.3 部分功能代码 1a1板主程序里头main() 函数 void main() unsigned char num=0; unsigned char b8=0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08; init2515(); /初始化 mcp2515独立can控制器 init_cpu(); /初始化微控制器cpu init_play(); /初始化显示 p34=0; display(10); while(1) unsigned char i=1; if(key=0) /判断a1节点上的微控制器的p2.6端口是否为零 delay10ms(); /延时10毫秒 while(key=0); while(i=1) read_temp(); /读取温度 ds1820disp(); /显示 can_send_onebyte(tvalue); /发送按键状 display(tvalue); delay10ms(); 2b板主程序里头main() 函数 void main() unsigned char a8; unsigned char key_code; unsigned char b8=0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08; init2515(); /初始化b板独立can控制器mcp2515 init_cpu(); /初始化b板微控制器cpu 基于 can 总线的数据采集控制系统开发 第 17 页 共 20 页 display(11); /显示该板号b板 lcd_init(); while(1) lcdcom(0x80+0x40); lcd(“curre:xxxxxxxxxxxxxxxxxxxxxxxxxxxx “); key_code=can_receive_onebyte(); grxflag=0; delay_ms(100); lcdcom(0x0c); write_hms(11,key_code); /写数据分 write_hms(14,key_code); /写数据秒 lcdcom(0x80+0x40); lcd(“curre:right turn “); delay_ms(100); 3延时头文件代码 #ifndef _function_h_ #define _function_h_ / write your header here /#include “reg51.h“ void delay_ms(unsigned char t) unsigned char i,j; for (i=0;i0;i-) for(j=248;j0;j-); void delay_s(unsigned char t) /延时程序,延时1秒 unsigned char i,j; for(i=0;it;i+) for(j=0;j34135;j+); 第 18 页 共 20 页 #endif 418b20温度传感器读取温度值函数代码 read_temp() /*读取温度值并转换*/ uchar a,b; ds1820rst(); ds1820wr(0xcc); /*跳过读序列号*/ ds1820wr(0x44); /*启动温度转换 */ ds1820rst(); ds1820wr(0xcc); /*跳过读序列号*/ ds1820wr(0xbe); /*读取温度 */ a=ds1820rd(); b=ds1820rd(); tvalue=b; tvalue=8; tvalue=tvalue|a; if(tvalue0x0fff) tflag=0; else tvalue=tvalue+1; tflag=1; tvalue=tvalue*(0.625); /温度值扩大10倍,精确到 1位小? return(tvalue); 5.数码管显示函数代码 void display(unsigned char num) / 显示子函数 p3_5=0; /选通第一位数码管的阳极位选端,即给数码管的共阳极供电 p2_6=0; /选通第二位数码管的阳极位选端,即给数码管的共阳极供电 p1=tablenum; /将第num个显示编码送p0口 基于 can 总线的数据采集控制系统开发 第 19 页 共 20 页 第 4 章 测 试 结 果 1测试步骤 (1)利用电脑通过下载器将程序编译烧制入单片机at89s52 中,a1节点 拷贝a1板程序,a2节点拷贝a2板程序,b节点拷贝b板程序; (2)上电使总线复位,并测试硬件连线是否连通; (3)a2节点发送一个按键信号,看液晶显示器能否显示; (4)a1节点检测到的温度值,通过按键发送至总线上,然后看液晶显示 器能否显示温度值。 2测试结果及其分析 测试过程如表4.1所示。 表4.1 测试数据记录 内容 结果 次数 硬件 连线 是否 成功 数码 管能 否显 示按 键值 数码 管能 否显 示温 度值 问题详细 描述 针对错误问题 的解释 针对错误问题的解 决办法 第一次 否 否 否 a2节点上 的can控 制器的电 源灯不断 闪烁 a2节点上的 can控制器与 微控制器的spi 接口有可能松 动 将相应的spi接口稍 微用力压,使连接 严实 第二次 是 否 否 数码管不 能显示任 何信号值 经过检查,原 来是can.h线 与can.l 线之 间没加上拉电 阻 在can.h线与 can.l线之间的两 端各接上一个120欧 姆的上拉电阻 第三次 是 能 否 数码管上 只能显示 按键值 问题应该源于 18b20温度传感 器上面 将18b20 的三根引 脚线重接一下,保 证接触良好 第四次 是 能 否 如上 问题应该出在 软件设计上, 接下来看相应 的软件模块, 发现自己没按 规则操作 下次测试的时候, 当系统上电初始化 完成后,应该先给 a1节点的p26端口 一个低电平的命令, 这样a1节点才开始 发送温度信号 第 20 页 共 20 页 第五次 是 能 能 - - - 基于 can 总线的数据采集控制系统开发 第 21 页 共 20 页 结 论 毕业论文实际是培养学生综合运用所学知识,发现、提出、分析和解决实 际问题,锻炼实践能力的重要环节,是对我们今后即将步入社会走向工作岗位 的实际工作能力的具体训练和考察过程。不仅如此,毕业论文还是对我们四年 大学生活所学到知识的综合考验。 经过几个月的毕业设计,从资料查找、方案设计,再到基本的电路设计、 调试过程,再到软件设计、测试,我学习了单片机系统设计的整个过程。从传 感器信号的处理,到单片机接收并处理信号,再由mcp2515 can控制器的信号 转换再到输出信号至can总线,使我更好的了解了各类传感器,掌握了can协 议的原理及感受到了can设计的优越性,并熟悉了单片机的中断和定时器在控 制程序中对各种任务的合理安排,使整体系统能够更好的协同工作,增强了自 己的动手能力,更好的熟悉了解了一个基于can总线的单片机系统的开发过程。 测试结果表明,本系统实现了设计任务要求,can总线上的各个节点都能 进行实时通信,b节点上的1602液晶显示器能正确地显示由其他节点发送来的 温度值与按键信号,事实表明,当a1向总线发送温度信号,同时 a2发送按键信 号时,一般都是温度信号先发送,这说明了can总线对温度信号这种报文有较 高的优先级,这是由报文中标识符位场值的大小决定的。 学习的过程中碰到过很多疑问与不懂,但经过重复的资料查询,求解名师 及不断的实践验证,对于整个毕业设计中的主要问题,我都准备了解决方案, 使得我在后面的方案实现过程中感觉不再是那么迷惘,较快较好地实现了毕业 设计。经过了本次毕业设计,我感受到了做研发的快乐,这种快乐源于对事情 本身的兴趣与热情,源于对研发目标的美好憧憬,同时,我知道本次毕业设计 仅仅是我进入嵌入式行业的一个开端,真正的挑战将会接踵而来。 最后,我觉得作为一名通信行业的技术研发者,基于需求去尽情追求完美 的技术设计,是件多么有趣有意义的事情。那么,can总线技术在今天是否完 美呢?答案是:不完美!以车载网络为例,一辆汽车一般由车身系统、发送机 传动系统和多媒体系统组成。车身系统可以使用低速can标准,发动机、abs 防抱死系统可以采用ttcan标准,那么多媒体系统呢?显然,速率最大也只有 1mbps的can不能满足多媒体系统了,因为多媒体数据大,要求通信实时和传 输速度快。所以,can技术在本身的设计上需要不断改善发展,才能满足控制 局域网内的各种需求,使得其能继续坐在控制局域网领域的龙头老大位置上。 第 22 页 共 20 页 致 谢 在系统设计实现和论文的撰写过程中,有赖于过很多研究过这方面的朋友 的经验,在这里对他们表示衷心的感谢,对在大学四年中给予我帮助和关心的 人致以最衷心的谢意! 首先要向我的指导老师赵润林老师致以诚挚的谢意,感谢老师在整个 毕业设计的开展过程中细心的帮我分析系统的设计方案,在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论