




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生课程设计(论文)辽 宁 工 业 大 学工业控制网络课程设计(论文)题目:DSP与CAN总线通信系统设计院(系): 电气工程学院 专业班级: 学 号: 学生姓名: 指导教师: 起止时间: 2011.12.26-2012.1.6 17课程设计(论文)任务及评语院(系):电气工程学院 教研室: 学 号学生姓名专业班级设计题目DSP与CAN总线通信系统设计课程设计(论文)任务实现功能DSP与CAN总线通信系统设计,实现DSP与CAN总线协议的转换。设计硬件包括总线控制器、总线收发器及ATMEL系列单片机及DSP芯片等。软件采用汇编语言或C语言,并调试与分析。设计任务及要求1、确定设计方案,画出方案框图。2、DSP与CAN总线通信系统硬件设计,包括元器件选择。3、画出硬件原理图。4、绘出程序流程图,并编写初始化、接收及发送程序。5、要求认真独立完成所规定的全部内容;所设计的内容要求正确、合理。6、按学校规定的格式,撰写、打印设计说明书一份;设计说明书应在4000字以上。技术参数1、符合CAN2.0B规范;2、40米内最高可达1Mbit/s;(设计选定传输速率为250K bit/s)3、抗宽范围的共模干扰,抗电磁干扰;4、可扩充110个节点;工作计划1、布置任务,查阅资料,确定系统设计方案(2天)2、系统硬件设计及模块选择(3天)3、系统软件设计及编写功能程序及调试(3天)4、撰写、打印设计说明书(1天)5、验收及答辩。(1天)指导教师评语及成绩平时: 论文质量: 答辩: 总成绩: 指导教师签字: 年 月 日注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算摘 要本文给出了一种以DSP为微控制器的CAN 总线通信系统,以AT89C52作为智能节点,利用SJA1000 CAN总线控制器 与82C250 CAN总线收发器,进行协议转换,使DSP与CAN总线通信,从而控制CAN总线上的智能节点AT89C52。AT89C52负责温湿度检测与继电器输出等工作。本次设计包含五个章节,第一章介绍了CAN总线的特点与发展;第二章为总体方案设计,通过对控制要求的分析进行方案设计;第三章为硬件设计,包括DSP的选型,单片机最小系统设计,与元器件介绍;第四章为软件设计,包括软件设计流程图和程序;第五章是课程设计总结。关键词:DSP; CAN总线; 智能节点; SJA1000;目 录第1章 绪论11.1 CAN总线概述11.2 CAN总线典型特征11.3 CAN总线的发展1第2章 系统的总体设计3第3章 系统硬件设计53.1 DSP选择53.2单片机最小系统的设计53.3 CAN总线控制器SJA100063.4 收发器PCA82C25073.5 6N137介绍83.6 总体接线图9第4章 系统软件设计10第5章 课程设计总结13参考文献14附录15第1章 绪论1.1 CAN总线概述CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO118?8)。是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境1.2 CAN总线典型特征CAN总线有如下基本特点: 废除传统的站地址编码,代之以对通信数据块进行编码,可以多主方式工作; 采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响继续传输数据,有效避免了总线冲突; 采用短帧结构,每一帧的有效字节数为8个,数据传输时间短,受干扰的概率低,重新发送的时间短; 每帧数据都有CRC校验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境下使用; 节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其他操作不受影响; 可以点对点,一对多及广播集中方式传送和接受数据。 CAN总线的优点: 具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点; 采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作; 具有优先权和仲裁功能,多个控制模块通过CAN 控制器挂到CAN-bus 上,形成多主机局部网络; 可根据报文的ID决定接收或屏蔽该报文; 可靠的错误处理和检错机制; 发送的信息遭到破坏后,可自动重发; 节点在错误严重的情况下具有自动退出总线的功能; 报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。1.3 CAN总线的发展随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:控制面向多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。分散式工业控制系统就是为适应这种需要而发展起来的。这类系统是以微型机为核心,将 5C技术-COMPUTER(计算机技术)、CONTROL(自动控制技术)、COMMUNICATION(通信技术)、CRT(显示技术)和 CHANGE(转换技术)紧密结合的产物。它在适应范围、可扩展性、可维护性以及抗故障能力等方面,较之分散型仪表控制系统和集中型计算机控制系统都具有明显的优越性。 典型的分散式控制系统由现场设备、接口与计算设备以及通信设备组成。现场总线(FIELDBUS)能同时满足过程控制和制造业自动化的需要,因而现场总线已成为工业数据总线领域中最为活跃的一个领域。现场总线的研究与应用已成为工业数据总线领域的热点。尽管目前对现场总线的研究尚未能提出一个完善的标准,但现场总线的高性能价格必将吸引众多工业控制系统采用。同时,正由于现场总线的标准尚未统一,也使得现场总线的应用得以不拘一格地发挥,并将为现场总线的完善提供更加丰富的依据。控制器局部网 CAN(CONTROLLER AERANETWORK)正是在这种背景下应运而生的。 由于CAN为愈来愈多不同领域采用和推广,导致要求各种应用领域通信报文的标准化。为此,1991年 9月 PHILIPS SEMICONDUCTORS制订并发布了 CAN技术规范(VERSION 2.0)。该技术规范包括A和B两部分。2.0A给出了曾在CAN技术规范版本1.2中定义的CAN报文格式,能提供11位地址;而2.0B给出了标准的和扩展的两种报文格式,提供29位地址。此后,1993年11月ISO正式颁布了道路交通运载工具-数字信息交换-高速通信控制器局部网(CAN)国际标准(ISO11898),为控制器局部网标准化、规范化推广铺平了道路。第2章 系统的总体设计本系统设计主要包括硬件和软件两大部分,依据控制系统的工作原理和技术性能,将硬件和软件分开设计。硬件设计部分包括系统总框图、元器件的选择、外部接线图,然后对硬件进行调试、测试,以达到设计要求。软件设计部分,首先在总体设计中完成系统总框图和各模块的功能设计后,拟定详细的工作计划;然后进行具体设计,包括各模块的流程图,选择合适的软件进行梯形图设计等;最后是对软件进行调试、测试,达到所需功能要求。对本系统的控制特点进行分析:系统是DSP与CAN总线通信系统的设计。DSP作为系统微处理器,ATMEL系列单片机作为DSP的智能节点,要求实现DSP与ATMEL单片机通过CAN总线通信。其中DSP按有无片内CAN控制器分为两类,即有片内CAN控制器为一类,无片内CAN控制器为另一类。由于片内控制器的原因,将这两类DSP分开设计,本设计中主要讲述无片内CAN控制器的DSP与CAN总线的通讯。系统总体控制结构框图如图2.1所示:图2.1 系统总体控制结构框图本系统中,AT89C52作为智能节点,连接输入检测信号和输出控制信号与外界进行信息交换,并将数据进行初步处理。DSP作为微处理器对检测数据进行总体处理,得出相应控制信号。SJA1000是CAN总线控制器,与82C250电平转换器联合使用将单片机与DSP信号转换为CAN总线协议,通过CAN总线进行传输通信。若选用的是TMS320F240x或以上型号DSP,一般片内具有CAN总线控制器,所以总体方案中DSP连接的SJA1000 CAN总线控制器可以省去,直接通过6N137光耦隔离器与82C250相连接即可。部分DSP带有CAN控制器,但是其型号并不相同。例:TMS320F2407带有的是CAN总线模块,TMS320F2812带有的是eCAN控制器。eCAN总线模块与240x系列DSP上的CAN总线模块相比,有一些改进,例如邮箱带有独立接收屏蔽及分时邮递功能,邮箱数量也有所增加等。监狱这些差别,240X系列DSP的CAN总线模块的代码不能直接应用到eCAN总线上。但是,eCAN模块和240x系列DSP的CAN模块的寄存器(两者都有的寄存器)在结构和功能上都是相同的。这样,即便是代码不能完全兼容,在移植上也是非常容易的。第3章 系统硬件设计3.1 DSP选择本设计中选用TMS320F240DSP,TMS320F240DSP 控制器是TI 公司专为基于控制的应用而设计的,它将高性能的DSP内核和丰富的微控制器外设功能集于单片之中,每秒执行20 兆条指令的运算能力,几乎所有的指令都可在50ns的单周期内完成,使得TMS320F240控制器能提供比传统16位微控制器和处理器强大得多的性能。它具有以下一些特点: 32位中央算术逻辑单元,32累加器,16位*16位并行乘法器,3个定标移位器,8个16位辅助寄存器和一个用于数据存储器间接寻址的专用算术单元; 544字*16位片内数据/程序双口RAM;16K字*16 位片内程序FLASH,224K字*16 位最大寻址存储范围,支持硬件等待状态; 四级流水线操作,八级硬件堆栈,六个外部中断; 兼容TMS320C2系列DSP 的指令集; 12路比较/PWM; 通道,3个16位通用定时器,3个具死区功能的全比较单元,3 个单比较单元,4个捕获单元; 双10位A/D 转换器; 28个可单独编程的多路复用I/O引脚; 基于锁相环(PPL)的时钟模块; 带实时中断的看门狗定时器模块; 串行通信接口(SCI)和串行外设接口(SPI)。3.2单片机最小系统的设计采用AT89C52单片机作为系统的控制器。它是一种低功耗、高性能CMOS八位微控制器,具有8K在系统可编程Flash存储器,与工业80C51产品指令和引脚完全兼容。时钟使用外部时钟电路晶振选择12MHz。复位电路使用上电加手动的复位电路。原理如下图:图3.1 单片机最小系统图3.3 CAN总线控制器SJA1000CAN的通信协议主要由CAN控制器完成。CAN控制器主要由实现CAN 总线协议的部分和实现与微处理器接口部分的电路组成 对于不同型号的CAN总线通信控制器, 实现CAN协议部分电路的结构和功能大多相同,而与微处理器接口部分的结构和方式存在一些差异。这里主要以SJA1000为代表对CAN控制器的功能作一个简单介绍,如图3.2所示。SJA1000是一种独立CAN控制器 它是PHILIPS公司的PCA 8 2C200 CAN 控制器的替代产品SJA 1000具有Basic CAN和Peli CAN两种工作方式。PeliCAN工作方式支持具有很多新特性的CAN 2.0B协议。S JA 1 000在软件和引脚上都是与它的前一款PCA82C200独立CAN控制器兼容的(SJA1000引脚功能如表1所列), 在此基础上增加了根多新的功能。为了实现软件兼容, SJA1000 采用了两种工作方式: Basic CAN方式(PCA82C200兼容方式)和Peli CAN方式(扩展特性方式)。工作方式通过时钟分频寄存器中的CAN方式位来选择。上电复位默认工作方式是Basic CAN方式 Basic CAN和PeliCAN 方式的区别如下。 图3.2 SJA1000引脚图Basic CAN方式:1、管脚与独立CAN控制器PCA82C200兼容 2、电气特性与独立CAN控制器PCA82C200兼容 3、具有PCA82C200模式(即默认的BasicCAN模式) 4、扩展的接收缓存器(64字节的FIFO队列) 5、支持CAN2.0A和CAN2.0B协议 6、支持11位和29位标识码 7、位速率最高可达1Mbps 8、可与不同的微处理器接口 9、可编程的CAN输出驱动器配置 10、温度适应范围大(-40 +125)PeliCAN 方式:1、SJA1000在扩展模式下完全支持CAN2.0B技术规范2、它可以允许更宽范围的晶振漂移3、支持扩展帧的处理在Peli CAN模式下128个寄存器被重新分配,标识符达到29位4、具有可编程的单/双滤波模式5、可编程的错误警告极限6、可读写的错误计数器等新特点,提供了更加丰富的检错手段和更强大的纠错能力。3.4 收发器PCA82C250CAN总线驱动提供了CAN控制器与物理总线之间的接口,是影响系统网络性能的关键因素之一。82C250是CAN控制器与物理总线之间的接口,它最初是为汽车中的高速应用(达1Mbps)而设计的,其引脚图如图3.3所示。器件可以提供对总线的差动发送和接收功能。图3.3 82C250引脚图82C250的主要特性如下:l 与ISO11898标准完全兼容;l 高速率(最高可达1Mbps); l 具有抗汽车环境下的瞬间干扰,保护总线能力 ;l 采用斜率控制(Slope Control),降低射频干扰(RFI); l 过热保护; l 总线与电源及地之间的短路保护;l 低电流待机模式;l 未上电节点不会干扰总线;l 总线至少可连接110个节点 ;PCA82C250共有三种不同的工作模式模式控制通过Rs 控制引脚提供。第一种模式是高速模式它支持最大的总线速度和或长度。第二种是斜率模式当使用非屏蔽的总线电缆时可以考虑使用这种模式这种模式的输出转换速度可被故意降低以减少电磁辐射。第三种是准备模式这种模式在电池供电的应用要求系统功率消耗非常低的应用中非常有用在准备模式中传输一个报文就可以将系统激活。3.5 6N137介绍6N137光耦合器是一款用于单通道的高速光耦合器,其内部有一个850 nm波长AlGaAs LED和一个集成检测器组成,其检测器由一个光敏二极管、高增益线性运放及一个肖特基钳位的集电极开路的三极管组成。具有温度、电流和电压补偿功能,高的输入输出隔离,LSTTL/TTL兼容,高速(典型为10MBd),5mA的极小输入电流。特性:转换速率高达10MBit/s;摆率高达10kV/us;扇出系数为8;逻辑电平输出;集电极开路输出;工作参数:最大输入电流,低电平:250uA 最大输入电流,高电平:15mA 最大允许低电平电压(输出高):0.8v 最大允许高电平电压:Vcc 最大电源电压、输出:5.5V 扇出(TTL负载):8个(最多) 工作温度范围:-40C to +85C 典型应用:高速数字开关,马达控制系统和A/D转换等 6N137的工作原理如下:6N137的结构原理如图3.4所示,信号从脚2和脚3输入,发光二极管发光,经片内光通道传到光敏二极管,反向偏置的光敏管光照后导通,经电流-电压转换后送到与门的一个输入端,与门的另一个输入为使能端,当使能端为高时与门输出高电平,经输出三极管反向后光电隔离器输出低电平。当输入信号电流小于触发阈值或使能端为低时,输出高电平,但这个逻辑高是集电极开路的,可针对接收电路加上拉电阻或电压调整电路。图3.4 6N137结构原理图3.6 总体接线图下图是DSP和Intel模式下SJA1000的接口电路,与AT89C52智能节点接口电路。SJA1000是双CAN接口,这里只用了其中一个,电路中,用光耦将DSP、AT89C52子系统和外部CAN总线隔离,82C250是常用的CAN收发器。图3.4 总体接线图第4章 系统软件设计本设计主要实现功能如下:DSP与CAN总线通信系统设计,实现DSP与CAN总线协议的转换。AT89C52作为智能节点,DSP通过CAN总线通信对智能节点进行检测与控制。CAN控制器的操作分成为以下三大步1初始化CAN控制器在使用CAN控制器钱必须对他的一些内部寄存器进行设置,如位配置寄存器的设置及对邮箱进行初始化。(1)初始化或重新设置位配置寄存器。位配置寄存器主要由BCR1和BCR2两个寄存器组成,BCR1和BCR2寄存器决定了CAN控制器的通信波特率、同步跳转宽度、采样次数和重同步方式。(2)初始化邮箱。对邮箱初始化主要是设置邮箱的标识符,发送的是远程帧还是数据帧及对发送的数据区(即对MBXnAMBXnD)赋初值。2信息的发送CAN控制器的发送邮箱有邮箱4和邮箱5及被配置为发送方式的邮箱2和邮箱3.在数据到发送邮箱的数据区后,如果相应的发送请求位使能,则信息帧被发送到CAN总线上。3信息的接收CAN控制器的接收邮箱有邮箱0和邮箱1及被配置为接收方式的邮箱2和邮箱3。接收邮箱初始化时要设置其标识符及标识符有关的局部屏蔽寄存器(LAM)。根据设计要求与控制方法,本设计的主程序软件流程图如图4.1所示,接收与发送子程序如图4.2与4.3所示。程序见附录。图4.1 系统软件流程图 图4.2 发送子程序 图4.3 接收中断程序第5章 课程设计总结本设计要完成的目的是DSP与CAN总线的通信,由于现在的电子产品种类繁多,不同的产品虽然可能具有相近的特性,但是他们之间的协议不尽相同。并且经常会出现远距离的传输通信,这就需要传输介质,传输介质也有它独有的通信协议。本设计是将DSP与AT89C52的协议经过SJA1000,82C250转换成为CAN总线协议,经过CAN总线实现数据的通信。广泛应用于工业网络控制系统中,负责微处理器与智能节点之间的通信。本设计经过软件与硬件的设计,基本完成的所有控制要求,其中DSP选用的是TMS320F240系列DSP,其片内没有CAN总线控制器,鉴于现在的发展DSP可以选用TMS320F240x或以上型号,具有片内CAN控制器,这样硬件电路更为简单。参考文献1 苏奎峰,吕强等 TMS320F281xDSP 原理及C 程序开发M. 北京:北京航空航天大学出版社,2008.2 吴俊,刘和平 基于TMS320F2812 内嵌CAN 模块的CAN 总线通信J.电子设计应用,2003(10):82-84.3 Texas Instruments Programming Example for the TMS320F281x eCAN.2003.4 刘和平,严利平 TMS320LF240x DSP 结构、原理及应用M. 北京:北京航空航天大学出版社,20065 周余, 王自强, 都思丹. Linux Gadget 系统及其在S3c2410上的海量存储研究J. 计算机应用, 2006,(26):305-3066 刘兵. USB2.0 OTG技术在嵌入式系统中的研究与实现D. 上海: 华东师范大学, 20067 DavidBrownell.USBGadget API for Linux. /linux-docbook/ gadget, 2004附录基本模式下SJA1000的初始化 CAN00=0x01; CAN04=L_CONTROLLER; /*站地址*/ CAN05=0; CAN06=0x47; /*波特率为50Kbps*/ CAN07=0x2f; CAN08=0xaa; /*下拉输出*/ CAN00=0x72; 扩展方式下SJA1000的初始化 while(!(MOD_CAN&0x01) MOD_CAN=0x01; /进入复位状态 CDR_CAN=0xC8;/初始化时钟分频寄存器 IER_CAN=0x01;/允许接收中断 BTR0_CAN=0x01; BTR1_CAN=0x1C;/初始化两个总线定时寄存器 OCR_CAN=0xDA;/设置输出控制寄存器 ACR0_CAN=0x01;/设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论