收藏 分享(赏)

基于can总线的适配器节点设计课程设计论文.doc

上传人:无敌 文档编号:630566 上传时间:2018-04-15 格式:DOC 页数:22 大小:397KB
下载 相关 举报
基于can总线的适配器节点设计课程设计论文.doc_第1页
第1页 / 共22页
基于can总线的适配器节点设计课程设计论文.doc_第2页
第2页 / 共22页
基于can总线的适配器节点设计课程设计论文.doc_第3页
第3页 / 共22页
基于can总线的适配器节点设计课程设计论文.doc_第4页
第4页 / 共22页
基于can总线的适配器节点设计课程设计论文.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、辽 宁 工 业 大 学工业控制网络技术 课程设计(论文)题目: 基于USB的CAN总线适配器设计院(系): 电气工程学院 专业班级: 学 号: 学生姓名: 指导教师: 起止时间:2013.12.18-2013.12.27本科生课程设计(论文)课程设计(论文)任务及评语院(系):电气工程学院 教研室:自动化 注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算学 号 100302038 学生姓名 栾旭 专业班级 自动化102课程设计题目基于USB的CAN总线适配器设计课程设计(论文)任务课题完成的功能、设计任务及要求、技术参数实现功能USB 的 CAN 总线适配器设计,实现计算机串口与

2、 CAN 总线协议的转换。设计硬件包括总线控制器、总线收发器及 ATMEL 系列单片机及 USB 芯片等。软件采用汇编语言或 C语言,并调试与分析。设计任务及要求1、确定设计方案,画出方案框图。2、适配器硬件设计,包括元器件选择。3、画出适配器的原理图、线路图。4、绘出程序流程图,并编写初始化、接收及发送程序。5、要求认真独立完成所规定的全部内容;所设计的内容要求正确、合理。6、按学校规定的格式,撰写、打印设计说明书一份;设计说明书应在4000字以上。技术参数1、符合 CAN2.0B 规范;2、设定速率 1Mbit/s; 3、可扩充 110 个节点;4、可与上位机通信。进度计划1、布置任务,查

3、阅资料,确定系统设计方案(2 天)2、系统硬件设计及模块选择(3 天)3、系统软件软件及编写功能程序及调试(3 天)4、撰写、打印设计说明书(1 天)5、验收及答辩。 (1天)指导教师评语及成绩平时: 论文质量: 答辩: 总成绩: 指导教师签字: 年 月 日本科生课程设计(论文)摘 要CAN总线是一种应用极为普及的现场总线。CAN总线作为智能设备的联系纽带,把挂在总线上作为网络节点的智能设备连接为网络系统,并进一步构成自动化系统,实现基本控制的综合自动化系统。随着现场总线技术和计算机外设接口技术的发展,现场总线与计算机快速有效的连接又有了更多的方案,USB 作为一种新型的接口技术,以其简单易用

4、、速度快等特点而备受青睐。本文简要提出了 USB 接口与 CAN总线连接方案,论述了系统的硬件构成,固件开发和驱动程序等内容。关键词:现场总线 USB CAN 总线本科生课程设计(论文)目 录第 1章 绪论 .1第 2章 课程设计的方案 .22.1 概述 .22.2 系统组成总体结构 .2第 3章 硬件设计 .33.1 单片机最小系统设计 .33.2 CAN总线 .43.3 USB接口 .53.4 收发器 PCA82C250.63.5系统总体框图 .8第 4章 软件设计 .94.1 CAN总线的初始化程序 .94.2 SJA1000发送和接收数据的流程 .10第 5章 课程设计总结 .12参考

5、文献 .13附录 .14本科生课程设计(论文)1第 1 章 绪论CAN总线最初是德国 Bosch公司在 1986 年为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种支持分布式实时控制系统的串行数据通讯总线。CAN 总线与其它通信网的显著不同之处在于:(1)报文传送中不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文,该收的收下,不收的弃用。其好处是可线上网下网、即插即用和多站接收。(2)特别强化了对数据安全性的关注,满足控制系统及其它较高数据要求的系统需求。另外 CAN总线采用短帧结构,借助接收滤波的多地址帧传送,受干扰概率低,每帧信息都有 CR

6、C校验及其它检错措施。响应远程数据请求,配置灵活,具有全系统的数据相容性。节点数主要取决于总线驱动电路,目前最多可达 110个节点。CAN 总线符合 ISO11898标准,通信速率高,最大传输速率可达1Mbit/S,最大传输距离为 10km,传输介质可为双绞线。基于 CAN总线以上的特点,把它应用于系统分布比较分散且需要在同一总线上挂接多个节点的场合是非常适合的。CAN总线具有高性能、高可靠性、高性价比、连接方便、实时性好及其独特的设计等突出优点应用于许多工业部门,目前已成为比较流行的一种现场总线,广泛应用于控制系统中的各检测和执行机构之间的数据通信。而实际应用中 PC机与 CAN总线的人机交

7、互设计尤为重要,它直接影响系统的运行和结果,其连接方法也成为系统设计的重点,通常采取 3种连接方式:RS-232 串行口通信、PCI卡、USB 口通信,由于串行通信端口在系统控制领域中一直扮演着极为重要的角色,以其开发简单,资源丰富,成本低,无需驱动程序等诸多优点,不仅没有被淘汰,反而在规格上更先进,故应用广泛。结合设计中 AT89S51单片机有串行通信口且接口简单的特点,选用 RS-232作为 CAN总线与 PC机之间的连接方式。将就这一基于 CAN控制器 SJA1000与 AT89S51的具有通用性的工业测控系统设计的软硬件设计方案作详细介绍。本科生课程设计(论文)2第 2 章 课程设计的

8、方案2.1 概述本次设计主要是综合应用所学知识,设计 CAN总线适配器接口设计,并在实践的基本技能方面进行一次系统的训练。能够较全面地巩固和应用“现场总线”课程中所学的基本理论和基本方法。系统以单片机 AT89S51和 SJA1000控制器为核心,USB 的 CAN总线适配器设计,实现计算机串口与 CAN总线协议的转换。设计硬件包括总线控制器、总线收发器及 ATMEL系列单片机及 USB芯片等。软件采用汇编语言或 C语言,并调试与分析。本设计系统主要部件结构图如图 2.12.2 系统组成总体结构AT89S51复位电路24M 时钟SJA1000PDIUSBD12控制逻辑 6M 时钟光电隔离DCD

9、CTJA1050适配器接口图 2.1 系统总体框图本科生课程设计(论文)3第 3 章 硬件设计3.1 单片机最小系统设计AT89S51是一个低功耗,高性能 CMOS 8位单片机,片内含 4k Bytes ISP(In-system programmable)的可反复擦写 1000次的 Flash只读程序存储器,器件采用 ATMEL公司的高密度、非易失性存储技术制造,兼容标准 MCS-51指令系统及 80C51引脚结构,芯片内集成了通用 8位中央处理器和 ISP Flash存储单元,功能强大的微型计算机的 AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。图3.1单片机最小系统本科

10、生课程设计(论文)43.2 CAN 总线在本系统中,CAN 控制器采用 Philips公司生产的 SJA1000,它作为一个发送、接受缓冲器,实现主控制器和总线之间的数据传输;CAN 收发器采用 TJA1050芯片,它是 CAN控制器和物理总线的接口,主要可以提供对总线的差动发送能力和对 CAN控制器的差动接受能力。 在 CAN总线结构中,总线的两端还要配置两个120 的电阻,其作用是总线匹配阻抗,可以增加总线传输的稳定性和抗干扰能力,减少数据传输中的出错率。为了增强 CAN总线节点的抗干扰能力,SJA1000的TXO和 RX0可通过高速光耦6N137与 TJA1050相连,这样就很好的实现了

11、总线上各节点的电气隔离。光耦部分电源与 CAN_V必须用小功率电源隔离模块进行隔离,这样就提高了节点的稳定性和安全性。图3.2为 SJA1000引脚图。AD71AD62AD53AD44AD35AD26AD17AD08W R _N9R D_ N1 0C S_ N1 1ALE1 2C LOC KOUT1 3INT_ N1 4TX0 2 7TX1 2 6R X0 2 5R X1 2 4MODE 2 3VDD1 2 2VDD2 2 1VDD3 2 0VSS1 1 9VSS2 1 8VSS3 1 7R ST_NXTAL1 1 6XTAL2 1 5SJA10 00. .图3.2 SJA1000引脚图本科生

12、课程设计(论文)53.3 USB 接口PDIUSBD12 是一款带有并行总线和局部 DMA传输能力的高速 USB 接口器件,它支持 USB1.1协议的所有传输方式,在本设计中用到了控制传输,中断传输和批量传输。控制传输处理主机到 USB设备的控制信息,固定使用端点 0。中断传输用来传送数据量很小,但需要及时处理,以达到实时效果的数据,使用端点 1。批量传输用来实现 CAN节点与主机之间大数据快传送,使用主端点(端点 2),一次最大可发送 64字节。PDIUSBD12 的固件设计成完全的中断驱动,当 MCU 处理前台任务时 USB 的传输可在后台进行。这就确保了最佳的传输速率和更好的软件结构,同

13、时简化了编程和调试。后台 ISR 中断服务程序和前台主程序循环之间的数据交换通过事件标志和数据缓冲区来实现,当 PDIUSBD12 从 USB 收到一个数据包那么就对 MCU 产生一个中断请求,MCU 立即响应中断,在 ISR中固件将数据包从PDIUSBD12 内部缓冲区移到数据缓冲区,并在随后清零 PDIUSBD12 的内部缓冲区,以使能接收新的数据包。MCU 可以继续它当前的前台任务,返回到主循环检查循环缓冲区内是否有新的数据。图 3.3为 PDIUSBD13固件编程结构图。图3.3 PDIUSBD13固件编程结构图这部分程序结构可包括:1) 请求处理程序对 USB的标准设备请求进行处理和

14、对用户添加的厂商请求进行处理;USB 设备接入主机后要进入复杂的设备列举过程,并安装正确的驱动程序。2)硬件提取层对单片机的 I/O口、数据总线等硬件接口进行操作,该层包含最底层的函数,这些函数在不同的 MCU 平台上需要进行改变,本科生课程设计(论文)6void outportb(unsigned char port,unsigned char val);void inportb(unsigned char port);对 PDIUSBD12 所有的 I/O 访问都可由它们实现;3)PDIUSBD12 命令接口对 PDIUSBD12器件进行操作的模块子程序集,以简化器件的编程;4)中断服务程

15、序当 PDIUSBD12向单片机发出中断请求时,读取 PDIUSBD12的中断传输来的数据,并设定事件标志和 Setup包数据缓冲区,传输给主循环。5)主循环发送 USB请求,处理 USB总线事件和用户功能处理等。MCU 一旦上电就需要初始化其所有端口存储区,中断服务程序。在主循环程序中 MCU 对事件进行轮询,如有 CAN总线发来的数据,则送往 PDIUSBD12进行发送,如有 USB总线数据,则启动 CAN发送程序,它们在接口的接收工作分别由各自的中断程序完成。要注意的是,我们在用了 PDIUSBD12的端口最大一次可发送 64字节,SJA1000 一次最多能发 8字节, 如果端口 1传输的长度大于 8 字节,MCU 在传输阶段就必须根据数据大小,分数次完成 CAN数据的发送工作。PDIUSBD12初始化程序:void D12_init()D12_SetAddressEnable(0,1);D12_SetEndpointEnable(1);Disconnect();Delay(2);Connect();D12_ReadInterruptRegister();3.4 收发器 PCA82C250PCA82C250是 CAN协议控制器和物理总线间的接口,它主要是为汽车中高速通讯(高达 1Mbps)应用而设计。此器件对总线提供差动发送能力,对 CAN控制

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报