基于DSP2407异步串口的多机通信系统设计与实现_第1页
基于DSP2407异步串口的多机通信系统设计与实现_第2页
基于DSP2407异步串口的多机通信系统设计与实现_第3页
基于DSP2407异步串口的多机通信系统设计与实现_第4页
基于DSP2407异步串口的多机通信系统设计与实现_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于DSP2407异步串口的多机通信系统设计与实现学院(系):机电工程班级:自动化1101 姓名:钟金 学号:201140210 摘要本次设计的主要工作就是基于在TMS320LF2407A DSP芯片的SCI(异步串行通信)口上的串口通信的设计与实现。TMS320LF240x 器件包括串行通信接口 SCI 模块。SCI 模块支持 CPU 与其他使用标准格式的异步外设之间的数字通信。SCI 接收器和发送器是双缓冲的,每一个都有它自己单独的使能和中断标志位。两者都可以独立工作,或者在全双工的方式下同时工作。DSP内部包含了异步串行通信控制模块,所以在板上只需加上驱动电路部分即可。驱动电路主要完成将

2、 SCI 输出的 0-3.3V 电平转换成异步串口电平的工作。转换电平的工作由MAX232芯片完成。关键字:DSP ; TMS320LF2407A;目录:一 实验目的及要求4二 实验设备4三 实验原理4四 TMS320LF2407DSP 及其异步串行口的特点6六 实验步骤7五 主函数程序流程7七 实验程序及结果8八 总结14一 实验目的及要求1、了解TMS320LF2407A DSP片内串行通信接口(SCI)的特点;2、学会设置 SCI 接口进行通信;3、学习设计异步通信程序。设计要求:利用DSP2407的异步串口完成一个到多个(至少2个)的通信,要求设计通信的数据协议。要求具有数据接收反馈数

3、据。处理器1往其他处理器发送数据时,必须指定发送地址。处理器2接收数据,必须先检查地址是和自己的地址相符,地址相符才能接收数据,接收到数据后给与发送端数据反馈,并把收到数据在PC机上显示。串行通信接口模块有两个多处理器通信协议,空闲线多处理器模式和地址多处理器模式。这些通信协议保证多处理器间进行有效的数据传送。串行通信接口模块提供了许多通用异步接收/发送(UART)通信外设的接口,如异步通信使用3条线连接,诸如采用RS-232格式的终端和打印机等众多标准器件。多处理器通信模式使得一个处理器能够有效地在同条串行连接线上将数据传送到其他的处理器。一条串行线上一次只能进行一次传送。二 实验设备DSP

4、实验开发板、XDS510仿真器、计算机三 实验原理1、TMS320LF2407A DSP串行通信接口模块TMS320LF240x 器件包括串行通信接口 SCI 模块。SCI 模块支持 CPU 与其他使用标准格式的异步外设之间的数字通信。SCI 接收器和发送器是双缓冲的,每一个都有它自己单独的使能和中断标志位。两者都可以独立工作,或者在全双工的方式下同时工作。2、实验板异步串口设计由于DSP内部包含了异步串行通信控制模块,所以在板上只需加上驱动电路部分即可。驱动电路主要完成将 SCI 输出的 0-3.3V 电平转换成异步串口电平的工作。转换电平的工作由MAX232芯片完成。3、串行通信接口设置C

5、PU 进行串行通信时可以采用两种方式,一种是轮询方式,即 CPU 不断查询串口状态进行接收和发送,缺点是占用 CPU 时间太多;另一种是中断方式,SCI 的接收和发送都可以产生中断信号,这样 CPU 可以在完成其他一些工作的同时进行串行通信。串行通信接口波特率计算:内部生成的串行时钟由系统时钟 SYSCLK 频率和波特率选择寄存器决定。串行通信接口使用16位波特率选择寄存器,数据传输的速度可以被编程为65000多种不同的方式。不同通信模式下的串行通信接口异步波特率由下列方法决定:- BRR=165535 时的串行通信接口异步波特率:SCI 异步波特率=SYSCLK/ ( BRR+1)*8,其中

6、BRR=SYSCLK/(SCI异步波特率*8)-1;- BRR=0 时的串行通信接口异步波特率:SCI 异步波特率=SYSCLK/16这里 BRR 等于波特率选择寄存器的16位值。四 TMS320LF2407DSP 及其异步串行口的特点TMS320LF2407A 和TMS320LC2407A 是基于TMS320C2000TM 技术平台的定点 DSP 器件,是TMS320C24xA 系列中的新成员2407A 使用了增强型TMS320 TM结构的C2xx 核心处理器,具有低成本、低功耗、高性能的优点它还集成了多种专为数字电机和运动控制系统设计的外设,使之成为一款真正的单片数字信号处理控制器在与以前

7、C24x TM系列指令兼容的同时,2407A 具有更高的运算速度(40MIPS)和更高的外设集成度2407A 包括两个事件管理模块,这两个模块已经针对电机控制和电源转换进行了优化,包括12路对称或非对称的PWM 发生器以及可编程的死区控制功能双事件管理模块使得单个2407A DSP 控制器可以同时控制两台电机2407A 具有16 个高性能的10 位A/D 转换器,最小转换时间为375 ns,其自动排序功能使多达16次转换可以在一个转换过程内完成而且不会给CPU 增加额外的开销2407A 还提供16 位同步串行接口(SPI)和符合2.0B 标准的CAN 模块TMS320LF2407A 提供了串行

8、通讯接口SCI 模块,支持CPU 与其他使用标准格式的异步外设之间的数字通信SCI 接收器和发送器是双缓冲的,每一个都有它自己单独的使能和中断标志位,两者都可独立工作,或者在全双工的方式下同时工作SCI模块通过SCIRXD 引脚接收数据,通过SCITXD 引脚发送数据,在不使用SCI 模块的时候,这两个引脚可以被配置为通用I/O 口为确保数据的完整,SCI 对接受到的数据进行间断检测、奇偶校验、超时和帧出错校验通过一个16 位的波特率选择寄存器,数据传输的速度可以被编程为65535 种不同的方式,在40MHz 的CPU 时钟方式下,波特率范围从76bps 到1875kbps无论接收还是发送,S

9、CI 接口模块的数据都采用NRZ(非返回零)格式NRZ数据格式包括一个起始位,(18)位可编程选择的数据位,可选择的奇/偶/无校验位,(12)个停止位在地址位多处理器模式下还包括一个地址/数据位五 主函数程序流程串行通信接口初始化定时器初始化系统初始化接收服务程序发送服务程序,定义一段需要发送的字符串六 实验步骤1、用DB9直通电缆把DSP的串口和PC机的串口连接起来。打开PC机串口调试软件,默认设置为COM1,9600,N,8,1,选择按16进制发送和接收;2、将SCI目录COPY到CCS开发环境中的myproject目录下;3、CCS中用projectOpen命令,加载SCI目录下的SCI

10、.pjt;4、浏览程序,打开工程目录下的main.c文件,并理解每条语句的含义;5、编译工程。单击"Project"菜单,"Rebuild all"项,编译工程中的文件,生成*.out 文件;6、下载程序。在CCS中用File Load Program命令,加载SCI目录中Debug目录下的*.out文件;7、运行程序观察结果。调试程序过程中在合适位置设置断点,利用WATCH窗口观察DSP接收到的PC机数据;利用串口调试软件观察DSP发送到PC机的数据;七 实验程序及结果1、实验程序#include "global.c" void S

11、ystemInit();void Timer1Init(); void KickDog(); void SCI_Init();void SCI_Send();int numled0=200; unsigned int t0=0; unsigned int SCI_RXDATA;main() SystemInit(); /系统初始化 MCRC=MCRC & 0xFF00; /IOPE0-7设为IO口模式 PEDATDIR=0xFF00; /所有LED=0, 所有led灯灭 SCI_Init(); Timer1Init(); /*定时器初始化*/ asm(" CLRC INTM

12、"); while(1); /*进入死循环*/ void SystemInit() asm(" SETCINTM ");/* 关闭总中断 */asm(" CLRC SXM ");/* 禁止符号位扩展 */ asm(" CLRC CNF "); /* B0块映射为 on-chip DARAM*/asm(" CLRC OVM "); /* 累加器结果正常溢出*/SCSR1=0x83FE; /* 系统时钟CLKOUT=20*2=40M */ /* 打开ADC,EVA,EVB,CAN和SCI的时钟*/WDCR=0

13、x006F;/* 禁止看门狗,看门狗时钟64分频 */ KickDog(); /* 初始化看门狗 */ IFR=0xFFFF;/* 清除中断标志 */ IMR=0x0003;/* 打开中断2 P44*/ void Timer1Init() EVAIMRA=0x0080;/ 定时器1周期中断使能 EVAIFRA=0xFFFF; GPTCONA=0x0000; / 清除中断标志 T1PR=2500;/ 定时器1初值,定时0.4us*2500=1ms T1CNT=0;T1CON=0x144E; /增模式, TPS系数40M/16=2.5M,T1使能 void SCI_Init() MCRA=MCRA

14、 | 0x0003;/IOPA0, IOPA1为串口SCICCR=0x0007; /空闲多处理器模式,8位数据位,1位停止位,无奇偶校验位SCICTL1=0x0003; /接收,发送,内部时钟使能,SLEEP=1SCICTL2=0x0002; /接收中断使能SCIPRI=0x0000; /高中断优先级SCIHBAUD=0x0002; /40M,波特率设置为9600SCILBAUD=0x0008; SCICTL1=0x0023; /串口初始化完成 void SCI_Send() /发送0x80-0x87, 共8个字节数据 SCITXBUF=0x57;while(SCICTL2 & 0x0

15、080)=0); /*p301*/void c_int1() if(PIVR!=0x06) /高优先级的SCI接收中断 asm(" CLRC INTM ");return; SCI_RXDATA=(SCIRXBUF) & 0x00FF ; /串口接收的数据保存 IFR=0xFFFF; asm(" CLRC INTM "); void c_int2() /*定时器1中断服务程序*/ if(PIVR!=0x27) asm(" CLRC INTM ");return;T1CNT=0; t0+;numled0-;if(numled0=0)numled0=200;if(PEDATDIR & 0x0002)=0x0002) PEDATDIR=PEDATDIR & 0xFFFD; /IOPE1=0;LED灭 elsePEDATDIR=PEDATDIR |0x0002; /IOPE1=1;LED亮 if(t0%100)=0) /定时循环100msSCI发送 SCI_Send();EVAIFRA=0x80; asm(" CLRCINTM "); void KickD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论