DSP与CAN总线通信系统设计.docx
- 文档编号:23671568
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:17
- 大小:463.54KB
DSP与CAN总线通信系统设计.docx
《DSP与CAN总线通信系统设计.docx》由会员分享,可在线阅读,更多相关《DSP与CAN总线通信系统设计.docx(17页珍藏版)》请在冰豆网上搜索。
DSP与CAN总线通信系统设计
辽宁工业大学
工业控制网络课程设计(论文)
题目DS与CA总线通信系统设计
院(系):
电气工程学院
专业班级:
自动化093
学号:
090302084
学生姓名:
宋进帅
指导教师:
起止时间:
2013.1.1-2013.1.11
课程设计(论文)任务及评语
院(系):
电气工程学院教研室:
学号
090302084
学生姓名
宋进帅
专业班级
自动化093
设计题目
DS与CA总线通信系统设计
课程设计{论文>任务
实现功能
DSP与CAN总线通信系统设计,实现DSP与CAN总线协议的转换。
设计硬件包括总线控制器、总线收发器及ATMEL系列单片机及DSP芯片等。
软件采用汇编语言或C语言,并调试与分析。
设计任务及要求
1、确定设计方案,画出方案框图。
2、DSP与CAN总线通信系统硬件设计,包括元器件选择。
3、画出硬件原理图。
4、绘出程序流程图,并编写初始化、接收及发送程序。
5、要求认真独立完成所规定的全部内容;所设计的内容要求正确、合理。
6、按学校规定的格式,撰写、打印设计说明书一份;设计说明书应在4000字以上。
技术参数
1、符合CAN2.0B规范;
2、40米内最高可达1Mbit/s;(设计选定传输速率为250Kbit/s)
3、抗宽范围的共模干扰,抗电磁干扰;
4、可扩充110个节点;
工
、计划
匚
1、布置任务,查阅资料,确定系统设计方案(2天)
2、系统硬件设计及模块选择(3天)
3、系统软件设计及编写功能程序及调试(3天)
4、撰写、打印设计说明书(1天)
5、验收及答辩。
(1天)
平时:
论文质量:
答辩:
总成绩:
指导教师签字:
年月日
注:
成绩:
平时20%论文质量60%答辩20%以百分制计算
CAN控制器局域网络(ControllerAreaNetwork,CAN)是一种串行多主站控制器局域网总线。
它具有很高的网络安全性、通信可靠性和实时性,而且简单实用网络成本低,特别适用于环境温度恶劣、电磁辐射强和振动大的工业环境。
数字信号处理(DigitalSignalProcessing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。
在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。
德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。
本文是以DSP为微控制器的CAN总线通信系统,以AT89C52作为智能节点,利用SJA1000CAN总线控制器与82C250CAN总线收发器,进行协议转换,使DSP与CAN总线通信,从而控制CAN总线上的智能节点AT89C52。
关键词:
DSP;CAN总线;智能节点;SJA1000;
第1章绪论1
1.1CAN总线概述1
1.2CAN总线典型特征1
第2章系统的总体设计2
第3章系统硬件设计3
3.1DSP选择3
3.2单片机最小系统的设计3
3.3CAN总线控制器SJA10004
3.4收发器PCA82C2504
3.56N137光耦合器5
3.6总体接线图6
第4章系统软件设计8
4.1初始化CAN控制器8
4.2信息的发送和接收10
第5章课程设计总结13
参考文献14
第1章绪论
1.1CAN总线概述
CAN控制器局域网络(ControllerAreaNetwork,CAN)是一种串行多主站控制器局域网总线。
它具有很高的网络安全性、通信可靠性和实时性,而且简单实用网络成本低,特别适用于环境温度恶劣、电磁辐射强和振动大的工业环境。
CAN
总线可有效支持分布式控制或实时控制。
该总线的通信介质可以是双绞线、同轴电缆或光纤。
1.2CAN总线典型特征
(1)CAN总线为多主站总线,各节点可在任意时刻向网络上的其他节点发送信息,且不分主从;
(2)CAN总线采用独特的非破坏性总线仲裁技术,高优先级节点优先传送数据,故实时性好;
(3)CAN总线具有点对点、一点对多点及全局广播传送数据的功能;
(4)CAN总线采用短帧结构,每帧有效字节数最多为8个,数据传输时间短,并有CRC及其他校验措施,数据出错率极低;
(5)CAN总线上某一节点出现严重错误时,可自动脱离总线,而总线上的其他操作不受影响;
(6)CAN总线系统扩充时,可直接将新节点挂在通信距离最远可达10km(速率在
5Kb/s以下);
(7)CAN总线的最大传输速率可达1Mb/s,直接通信距离最远可达10km(速率在
5Kb/s以下);
(8)CAN总线上的节点数取决于总线驱动电路,在标准帧(11位报文标识符)时,可达到110个,而在扩展帧(29位报文标识符)时,个数不受限。
第2章系统的总体设计
系统是DSP与CAN总线通信系统的设计,DSP作为系统微处理器,AT89C52单片机作为DSP的智能节点,要求实现DSP与单片机通过CAN总线通信。
本设计中主要讲述无片内CAN控制器的DSP与CAN总线的通讯。
系统总体控制结构框图如图2.1所示:
图2.1系统总体控制结构框图
本系统中,AT89C52作为智能节点,连接输入检测信号和输出控制信号与外界
进行信息交换,并将数据进行初步处理。
DSP作为微处理器对检测数据进行总体处
理,得出相应控制信号。
SJA1000是CAN总线控制器,与82C250电平转换器联合使用将单片机与DSP信号转换为CAN总线协议,通过CAN总线进行传输通信。
高速光耦6N137连接SJA1000与82C250,增强了CAN总线节点的抗干扰能力。
第3章系统硬件设计
3.1DSP选择
本设计中选用TMS320LF24Q7TMS320LF2407空制器是TI公司专为基于控制的应用而设计的,它将高性能的DSP内核和丰富的微控制器外设功能集于单片之中,每秒执行20兆条指令的运算能力,几乎所有的指令都可在50ns的单周期内完成,使得TMS320F2407控制器能提供比传统16位微控制器和处理器强大得多的性能。
它具有以下一些特点:
32位中央算术逻辑单元,32累加器,16位*16位并行乘法器,3个定标移位器,8个16位辅助寄存器和一个用于数据存储器间接寻址的专用算术单元;544字*16位片内数据/程序双口RAM;16K字*16位片内程序FLASH,224K字*16位最大寻址存储范围,支持硬件等待状态;四级流水线操作,八级硬件堆栈,六个外部中断;兼容TMS320C2XX系列DSP的指令集;12路比较/PWM;通道,3个16位通用定时器,3个具死区功能的全比较单元,3个单比较单元,4个捕获单元;双10位A/D转换器;28个可单独编程的多路复用I/O引脚;基于锁相环(PPL)的时钟模块;带实时中断的看门狗定时器模块;串行通信接口(SCI)和
串行外设接口(SPI)。
3.2单片机最小系统的设计
采用AT89C52单片机作为系统的控制器。
它是一种低功耗、高性能CMOS八位微控制器,具有8K在系统可编程Flash存储器。
时钟使用外部时钟电路晶振选择12MHz。
复位电路使用上电加手动的复位电路。
3.3CAN总线控制器SJA1000
SJA1000是一种独立控制器,用于移动目标和一般工业环境中的区域网络
控制(CAN),它是PHILIPS半导体PCA82C200CAN控制器BasicCAN的替代产品而且它增加了一种新的工作模式PeliCAN,这种模式支持具有很多新特
性的CAN2.0B协议.
图3.2SJA1000实物图
3.4收发器PCA82C250
PCA82C250是CAN协议控制器和物理总线之间的接口,该器件对总线提供差动发送能力并对CAN控制器提供差动接收能力。
图3.382C250实物图
RFI);差分接
82C250抗瞬间干扰,保护总线;斜率控制,降低射频干扰(
收器,抗宽范围的共模干扰,抗电磁干扰(EMI);热保护;防止电池和地之间的短路;高速率(最高可达1Mbps);具有抗汽车环境下的瞬间干扰,保护总线
能力;采用斜率控制(SlopeControl),降低射频干扰(RFI);过热保护;总线与电源及地之间的短路保护;低电流待机模式。
3.56N137光耦合器
6N137光耦合器是一款用于单通道的高速光耦合器,其内部有一个850nm波长AIGaAsLED和一个集成检测器组成,其检测器由一个光敏二极管、高增益线性运放及一个肖特基钳位的集电极开路的三极管组成。
具有温度、电流和电压补偿功能,
高的输入输出隔离,LSTTL/TTL兼容,高速(典型为10MBd),5mA的极小输入电流。
特性:
①转换速率高达10MBit/s;②摆率高达10kV/us;③扇出系数为8;④逻辑电平输出;⑤集电极开路输出;工作参数:
最大输入电流,低电平:
250uA最大
输入电流,高电平:
15mA最大允许低电平电压(输出高):
0.8v最大允许高电平电压:
Vcc最大电源电压、输出:
5.5V扇出(TTL负载):
8个(最多)工作温度范围:
-40°to+85C典型应用:
高速数字开关,马达控制系统和A/D转换等
图3.46N137引脚图
信号从脚2和脚3输入,发光二极管发光,经片内光通道传到光敏二极管,反向偏置的光敏管光照后导通,经电流-电压转换后送到与门的一个输入端,与门的另一个输入为使能端,当使能端为高时与门输出高电平,经输出三极管反向后光电隔离器输出低电平。
当输入信号电流小于触发阈值或使能端为低时,输出高电平,但这个逻辑高是集电极开路的,可针对接收电路加上拉电阻或电压调整电路。
3.6总体接线图
本系统采用的总线控制器是SJA1000,为增强CAN总线节点的抗干扰能力,
SJA1000通过高速光耦6N137后与PCA82C25相连,这样能很好地实现本系统与CAN总线的电气隔离,图3.5为CAN总线控制器总仙女驱动电路连接图。
图3.5CAN总线控制器,总线驱动器电路连接图
TMS320LF240内部集成一个完全的CAN控制器,CAN控制器通过CAN驱动芯片
PCA82C25与其它CAN控制器进行通信。
TMS320LF240用3.7V供电,而PCA82C250用5V供电。
TMS320LF240通过高速光耦6N137后与82C250相连,增强了CAN总线节点的抗干扰能力,图3.6为TMS320LF2407CA通信系统硬件电路设计图。
图3.6TMS320LF2407CAN通信系统硬件电路设计图
第4章系统软件设计
4.1初始化CAN控制器
在使用CAN控制器钱必须对他的一些内部寄存器进行设置,如位配置寄存器的设置及对邮箱进行初始化。
(1)初始化或重新设置位配置寄存器。
位配置寄存器主要由BCR1和BCR2两个寄存器组成,BCR1和BCR2寄存器决定了CAN控制器的通信波特率、同步跳转宽度、米样次数和重同步方式。
(2)初始化邮箱。
对邮箱初始化主要是设置邮箱的标识符,发送的是远程帧还是数据帧及对发送的数据区(即对MBXnA~MBXnD)赋初值。
开始
1
r
初始
化
处理其他控制程序
否i—
—是否有发送请求
否调用发送程序
图4.1系统软件流程图
基本模式下SJA1000的初始化
CANO[O]=OxO1;
CAN0[5]=0;
I*波特率为50Kbps*/
I*下拉输出*/
CAN0[6]=0x47;
CAN0[7]=0x2f;
CAN0[8]=0xaa;
CAN0[0]=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;〃设置接收滤波器。
接收码寄存器、接收屏
ACR1_CAN=0x01;//蔽寄存器的设置与该节点所要接收的报文
ACR2_CAN=0x01;〃有关。
设置原则是:
接收屏蔽寄存器中少
ACR3_CAN=0x02;〃设置“不关心”位,尽可能将不需要的报
AMR0_CAN=0;〃文过滤掉。
AMR1_CAN=0X03;
AMR2_CAN=0;
AMR3_CAN=0;
MOD_CAN=0x00;//进入运行状态,双滤波方式
4.2信息的发送和接收
CAN控制器的发送邮箱有邮箱4和邮箱5及被配置为发送方式的邮箱2和邮箱3在数据到发送邮箱的数据区后,如果相应的发送请求位使能,则信息帧被发送到CAN总线上。
CAN空制器的接收邮箱有邮箱0和邮箱1及被配置为接收方式的邮箱2和邮箱3。
接收邮箱初始化时要设置其标识符及标识符有关的局部屏蔽寄存器(LAM
图4.3接收中断程序
接收和发送子程序
定时检测SJA1000是否总线脱离
timerO()interrupt1/*定时检测SJA1000是否总线脱离*/
{if((CAN0[2]&0x80)==0x80)
{
CAN0[0]=0x01;/*若脱离,则将SJA1000复*/
CAN0[0]=0x72;/*在进入正常工作方式*/
}
if((CAN1[2]&0x80)==0x80)
{
CAN1[0]=0x01;
CAN1[0]=0x72;
}
WDOG=!
WDOG;
}
发送数据子函数
voidtransfer0()//向他站发送数据子函数
{
unsignedinti;
for(i=0;i<500;i++){
word=CAN0[2];
if((word&0x04)==0x04){//TBF是否可写for(i=0;i<10;i++){//是,则写入报文
CAN0[10+i]=train[i];
}
CAN0[1]=0x01;//发送
return;〃发送成功后返回
}
}
}
接收中断子程序
int0()interrupt0/*0号CAN口接收中断子程序*/
{
/*word-224*/
unsignedchari;word=CAN0[3];
if(word&0x08){/*是否超载*/
CAN0[1]=0x08;}/*是,则清除超载状态*/
if(word&0x01){/*若有接收中断*/
if(rec_frame { for(i=0;i<8;i++) canbuf[rec_frame][i]=CAN0[20+2+i];/*则将数据写入缓冲区*/for(i=0;i<7;i++) canbuf[rec_frame][7-i]=canbuf[rec_frame][6-i]; canbuf[rec_frame][0]=6; rec_frame++; } CAN0[1]=0x0c;/*释放TBF*/ } } 第5章课程设计总结 通过对DSP与CAN总线通信系统的课程设计是我对工业控制网络这门课程有了更直接和深入的认识,同时在具体的设计过程中发现了书本上的知识与实际应用存在着中药的差异。 本设计是将DSP与AT89C52的协议经过SJA1000,82C250转换成为CAN总线协议,经过CAN总线实现数据的通信。 经过软件与硬件的设计,基本完成的所有控制要求,其中DSP选用的是TMS320F2407,单片机选用AT89C52,CAN总线控制器选用SJA1000。 总之这次课程设计让我把理论设计和实践相结合、巩固基础知识与培养创新意识相结合的方面全面的培养学生的全面素质。 这些在我今后的学习和工作当中都会有所帮助。 参考文献 [1]吴镇扬,数字信号处理的原理与实现,东南大学,1997 [2]邓立新等,数字信号处理学习辅导及习题详解,电子工业,2003 [3]张贤达,现代信号处理,清华大学,2002.10 [4]刘和平,严利平TMS320LF240XDSP结构、原理及应用[M].北京: 北京航空航天大学出版社,2006 ⑸丁玉美,数字信号处理(2ed)学习指导,西安电子科技大学,2001,11 [6]刘兵.USB2.0OTG技术在嵌入式系统中的研究与实现[D].上海: 华东师范大学,2006 [7]周耀华,汪凯仁,数字信号处理,上海,复旦大学出版社,1992. [8]苏奎峰,吕强等TMS320F281XDSP原理及C程序开发[M].北京: 北京航空航天大学出版社,2008. [9]吴俊,刘和平基于TMS320F2812内嵌CAN模块的CAN总线通信[J].电子设计应用,2003 [10]王世一,数字信号处理,北京理工大学出版社,1997.第2版
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP CAN 总线 通信 系统 设计