can总线接收实验报告
- 格式:doc
- 大小:148.69 KB
- 文档页数:22
DSP实验报告实验名称:CAN总线数据采集和远程传输实验实验日期:2013-6-17——2013-7-05姓名:*****学号:*******指导教师:*****哈尔滨工业大学(威海)目录................................................................................................................ - 0 -DSP实验报告 .................................................................................. - 0 -1.理论准备.......................................................................................... - 2 -1.1 DSP应用的概述 ...................................................................... - 2 -1.2 CAN的简介............................................................................. - 3 -1.3 F2812简介 ............................................................................... - 3 -2.实验原理.......................................................................................... - 4 -2.1 软件流程图 .............................................................................. - 4 -2.2 can总线收发器通信的硬件原理............................................ - 5 -3.设计阶段.......................................................................................... - 5 -3.1接收过程: ................................................................................. - 5 -3.2 配置就收邮箱 .......................................................................... - 7 -3.3 接收消息 .................................................................................. - 7 -四.实验总结........................................................................................ - 7 -五.参考文献........................................................................................ - 8 -附录:.................................................................................................... - 8 -1.理论准备1.1 DSP应用的概述数字信号处理器(DSP)是一种适合完成数字信号处理运算的处理器。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。
数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。
例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。
近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。
可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。
DSP主要应用在数字信号处理中,目的是为了能够满足实时信号处理的要求,因此需要将数字信号处理中的常用运算执行的尽可能快,这就决定了DSP的特点和关键技术。
适合数字信号处理的关键技术:DSP包含乘法器、累加器、特殊地址产生器、领开销循环等;提高处理速度的关键技术:流水线技术、并行处理技术、超常指令(VLIW)、超标量技术、DMA等。
从广义上讲,DSP、微处理器和微控制器(单片机)等都属于处理器,可以说DSP是一种CPU。
DSP和一般的CPU 又不同,最大的区别在于:CPU是冯.诺伊曼结构的;DSP是数据和地址空间分开的哈佛结构。
1.2 CAN的简介CAN(Controller Area Network)即控制器局域网,是德国Bosch公司在20世纪80年代初为解决现代汽车中众多的控制与检测仪器之间的数据交换而开发的一种串行数据通讯协议。
CAN适合工业过程监控设备的互联,因此受到了工业界的重视,其应用于工业控制、汽车电子、机械工业、楼宇自动化和信息家电等非常广泛的场合,成为最有前途的现场总线之一。
CAN总线的通信距离可以达到10km(此时通信传输率在5Kb/s以下)通信速度可以达到1Mb/s(距离40m以内),CAN总线的节点数取决于总线驱动电路,目前可以支持110个节点。
CAN具有以下工作特性:多主工作方式。
每一个节点都可以主动向网络发起数据传输,不分主从;无破坏性的、基于优先级的仲裁。
两个竞争的发送节点通过总线的电平竞争,在发送的同时完成优先级的仲裁:优先级高的取得总线控制权继续完成发送过程,优先级低的失去总线电平控制权推出发送流程,等待总线空闲。
借助接收滤波的多地址帧传送:点对点、一点对多点、全局广播CAN总线的节点数决定于总线驱动电路,目前可支持110个节点 CAN采用短帧结构,传输时间短,受干扰概率小,可靠性高,有利于数据的实时传输帧信息包括CRC 校验和其他检错信息,极大地降低数据出错率CAN节点可以识别暂时性错误和永久性故障CAN的通行介质可以是双绞线、同轴电缆、光纤或其他各种介质,其驱动电路可以根据具体要求加以设计。
1.3 F2812简介TMS320F2812是TI公司的一款用于控制的高性能、多功能、高性价比的32位定点DSP芯片。
该芯片兼容TMS320LF2407指令系统最高可在150MHZ主频下工作,并带有18K×16位0等待周期片上SRAM和128K×16位片上FLASH(存取时间36ns)。
其片上外设主要包括2×8路12位ADC(最快80ns转换时间)、2路SCI、1路SPI、1路MCBSP、1路eCAN等,并带有两个事件管理模块(EV A、EVB),分别包括6路PWM/CMP、2路QEP、3路CAP、2路16位定时器(或TxPWM/TxCMP)。
另外,该器件还有3个独立的32位CPU定时器,以及多达56个独立编程的GPIO引脚,可外扩大于1M×16位程序和数据存储器。
TMS320F2812采用哈佛总线结构,具有密码保护机制,可进行双16×16乘加和32×32乘加操作,因而可兼顾控制和快速运算的双重功能。
通过对TMS320F2812定点DSP芯片合理的系统配置和编程可实现快速运算2.实验原理2.1 软件流程图2.2 can总线收发器通信的硬件原理如图所示,总线上的CAN信号通过CAN收发器的DSP能够识别的TTL信号,从CAN_TX和CAN_RX端输出的DSP输出的CAN控制器部分信号线连接到CAN_TX和CAN_RX端。
按照上面原理图将两个DSP 板的CANbus处对应连接在一起就可以实现CAN的互发通信了。
3.设计阶段3.1接收过程:Step1:设置局部接收屏蔽寄存器,在ecan模式下的每一个邮箱都有自己的屏蔽寄存器,如邮箱16作为接收邮箱。
如果在LAMn的位等于1则该邮箱就可以接收标准或扩展帧。
在扩展帧模式,29位的扩展标示符都存在邮箱中,同时局部变量接收屏蔽寄存器的所有29位都用来滤波。
在标准帧模式,只有前11位标示符(位28~18)和局部接收屏蔽被使用。
Step2:设置邮箱标识符和控制1.向寄存器CANME写0禁止邮箱ECanaRegs.CANME.all = 0;2. 通过寄存器CANMC请求改变数据区ECanaShadow.CANMC.CDR=1;3.通过MBOXn.MSGID(n=0~31)设置发送邮箱的消息的IDECanaMboxes.MBOX0.MID.all = 0x11111111;ECanaMboxes.MBOX0.MID.bit.AME=1;采用扩展帧发送4.通过消息控制寄存器CANMCF,设置消息控制区/*数据长度8个BYTE*/ECanaMboxes.MBOX0.MCF.bit.DLC = 85.请求正常工作ECanaShadow.CANMC.CDR=16.使能邮箱//0~15 是发送邮箱,16~31 是接收邮箱//ECanaRegs.CANMD.all = 0xFFFF0000;/*32个邮箱使能,第十六个邮箱为接收邮箱/ECanaRegs.CANME.all = 0x00010000;Step3:等待接收响应标志和邮箱中断标志ECanaRegs.CANRMP.all == 0Step4:复位接收响应标志RMP和接收标志ECanaRegs.CANRMP.all == 1Step5: 读取接受邮箱中接收到的数据TestMbox1 = ECanaMboxes.MBOX16.MDRL.all;TestMbox2 = ECanaMboxes.MBOX16.MDRH.all;TestMbox3 = ECanaMboxes.MBOX16.MID.all;//通过接收到的数据控制led灯的亮灭*LedADDR = TestMbox2;3.2 配置就收邮箱Step1:清除邮箱使能寄存器中相应的位,屏蔽邮箱Step2:写标示符到相应的MID寄存器,必须根据需要配置标示符扩展位,如果使用接受屏蔽,接收屏蔽使能位置位。