ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:119.28KB ,
资源ID:16533039      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-16533039.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DSP的CAN总线小论文.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

DSP的CAN总线小论文.docx

1、DSP的CAN总线小论文DSP56F807内部CAN模块的数据收发 摘要本实验基于飞思卡尔公司的DSP56807,考察使用其内部MSCAN、定时器、SCI等模块的使用,用定时器进行1S定时,当定时到以后进行MSCAN数据发送,并使用过滤机制,实现互发互收。将接收到的数据通过串口同步显示。关键词:串行输入输出接口,CAN总线,定时器,DSPAbstractBased on freescale DSP56807 ,we study the modules of internal MSCAN,TIMER,SCI and so on. Setting a 1s delay ,then send the

2、 data through the internal MSCAN. And utilizing the filter mechanism to realize the co-sending . At the same time,display the data through the SCI .Key words :SCI ;MSCAN;Timer;DSP一、 DSP应用的概述数字信号处理器(DSP)是一种适合完成数字信号处理运算的处理器。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为

3、广泛的应用。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是

4、把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。DSP主要应用在数字信号处理中,目的是为了能够满足实时信号处理的要求,因此需要将数字信号处理中的常用运算执行的尽可能快,这就决定了DSP的特点和关键技术。适合数字信号处理的关键技术:DSP包含乘法器、累加器、特殊地址产生器、领开销循环等;提高处理速度的关键技术:流水线技术、并行处理技术、超常指令(VLIW)、超标量技术、DMA等。从广义上讲,DSP、微处理器和微控制器(单片机)等都属于处理器,可以说DSP是一种CPU。DSP和一般的CPU又不同,最大的区别在于:CPU是冯.诺伊曼结构的;DSP是数据和地址空间分开

5、的哈佛结构。二、CAN的简介CAN(Controller Area Network)即控制器局域网,是德国Bosch公司在20世纪80年代初为解决现代汽车中众多的控制与检测仪器之间的数据交换而开发的一种串行数据通讯协议。CAN适合工业过程监控设备的互联,因此受到了工业界的重视,其应用于工业控制、汽车电子、机械工业、楼宇自动化和信息家电等非常广泛的场合,成为最有前途的现场总线之一。CAN总线的通信距离可以达到10km(此时通信传输率在5Kb/s以下)通信速度可以达到1Mb/s(距离40m以内),CAN总线的节点数取决于总线驱动电路,目前可以支持110个节点。CAN具有以下工作特性:多主工作方式。

6、每一个节点都可以主动向网络发起数据传输,不分主从;无破坏性的、基于优先级的仲裁。两个竞争的发送节点通过总线的电平竞争,在发送的同时完成优先级的仲裁:优先级高的取得总线控制权继续完成发送过程,优先级低的失去总线电平控制权推出发送流程,等待总线空闲。借助接收滤波的多地址帧传送:点对点、一点对多点、全局广播CAN总线的节点数决定于总线驱动电路,目前可支持110个节点 CAN采用短帧结构,传输时间短,受干扰概率小,可靠性高,有利于数据的实时传输帧信息包括CRC校验和其他检错信息,极大地降低数据出错率CAN节点可以识别暂时性错误和永久性故障CAN的通行介质可以是双绞线、同轴电缆、光纤或其他各种介质,其驱

7、动电路可以根据具体要求加以设计。 三、本实验的应用Freescale公司56800系列数字信号处理器一个很重要的特点就是具有很丰富的I/O 口和多种外围配置。这一点是继承了Motorola公司在控制器领域业已形成的强大优势。它们在单一的DSP芯片上集成了通用的I/O 模块GPIO、异步串行通信模块SCI、同步串行外设模块SPI、同步串行通信模块SSI、控制器局域网模块CAN 2.0 A/B、多路A/D变换模块、用于各类电机控制的多路脉冲宽度调制PWM模块、定时器模块Timer等多路外设模块,实现了完全的单片化。因此,作为Motorola 公司16位DSP中的低端产品的DSP56800,更像是单

8、片机,除了在数字信号的算法处理上有强大功能之外,DSP56800可广泛应用于各类工业控制领域。本实验中,主要涉及到串行输入输出(SCI)模块,MSCAN模块,定时器等的初始化以及使用。这次综合实验的目标是要求用定时器实现1S钟定时,当定时到时MSCAN发送一组数据,另一块实验板能够对这个实验板MSCAN发送的数据进行接收。同时能够通过串口将接收到的数据显示在串口调试助手上。两块实验板要做到MSCAN的相互发送接收不干扰,能够各自发送和接收。并且MSCAN的屏蔽ID要用上。在实验调试的程序中首先要进行MSCAN、LED灯端口、SCI端口、定时器A0的设置和初始化。由于定时器的最大计数时间为0.2

9、09S。(DSP的总线频率是40MHZ,计数器是16位,最大计数值为65535,而分频因子最大为128。)tmax=65535128/(40106)=0.209 (1)而本实验要求定时器进行1S定时中断。因此采用的是128分频,给定时器初值设为31250,这样定时器中断时间为0.1S。另外设置一个counter数对定时器的溢出次数进行计数。当定时器溢出10次时产生一次中断。控制MSCAN的数据发送和LED灯的闪烁。以下为定时器初始化函数:void Timer0Init(void) /* timer 0 compare 1/2, load, counter */ asm (move #$7A12

10、,X:TMRA0_CMP1); /31250 asm (move #$0000,X:TMRA0_CMP2); asm (move #$0000,X:TMRA0_LOAD); asm (move #$0000,X:TMRA0_CNTR); /* enable timer0 compare interrupt */ asm (move #$4000,X:TMRA0_SCR); /* timer0 primary source on bus / 128 加计数 */ asm (move #$3e20,X:TMRA0_CTRL); 主程序的开始是MSCAN、SCI端口、定时器A0的设置和初始化。主程序

11、及初始化程序流程图如下。图(1)为主程序,图(2)为CAN初始化程序,图(3)定时器中断程序,图(4)为CAN发送中断程序,图(5)为CAN接收中断,图(6)为for死循环程序。 图(1) 图(2) 图(4) 图(3) 图(5) 图(6)调试结果:定时器每隔1S产生一次中断,LED灯交替闪烁一次,同时MSCAN发送一次数组TransBuff 8中的数据,并将数据打印出来,同时另外一块实验板产生MSCAN接收中断,将接收的数据放入数组RecieBuff 8中,并将接收的数据打印出来,同时将接收到的数据通过SCI口送到串口调试助手中显示出来。而另一块实验板也发送数据,这块实验板进行接收显示。两块实

12、验板的发送接受互不干扰。在调试时两块实验板发送的数据不能一样,否则无法区分是不是对方发送的数据。将#define CAN_Self_Check添加到宏定义中就可以进行自发自收,调试时先进行自发自收调试,如果能接收到自己发送的数据的话再进行互发互收调试。由于CAN总线最多可以连接110个节点,因此为了对接收到的总线上的数据进行区分,在MSCAN模块中加入了标志符ID。在发送数据时添加标志符ID,当接收单元接收到CAN总线上的数据后对ID标志符进行过滤判断,如果符合接收条件就将数据写入到接收缓冲区。这里主要涉及到三个标志位:接收符ID、过滤比较码和过滤屏蔽码。他们的关系为:如果接收符ID异或比较码

13、的结果和屏蔽码的反的与结果为零,接收符ID比较成功,该数据帧被接收。实验中需要注意的问题:(1)中断中如果放入函数的话运行程序很可能出错,因为中断运行运行时间都很短,而放入的函数很可能还没有运算完成就已经退出中断函数了。因此在中断中设置一个标志位,并在产生中断时置1,而这个函数放在主程序中用条件判断语句来执行,同时将这个标志位置0。(2)程序中设置的中断函数一定要在DSP56F807 support的对应路径中声明,否则中断照样不能产生。参考文献:1 Motorola 56F807 Evaluation Module Hardware Users Manual,Inc. 2003. 2 邵贝贝,薛涛等.Motorola DSP型16位单片机原理与实践. 北京:北京航空航天大学出版社,2003.

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2