基于DSP2407异步串口的多机通信系统设计与实现(2)

2019-03-22 12:15

西南科技大学城市学院

这里 BRR 等于波特率选择寄存器的16位值。

四 TMS320LF2407DSP 及其异步串行口的特点

TMS320LF2407A 和TMS320LC2407A 是基于TMS320C2000TM 技术平台的定点 DSP 器件,是TMS320C24xA 系列中的新成员.2407A 使用了增强型TMS320 TM结构的C2xx 核心处理器,具有低成本、低功耗、高性能的优点.它还集成了多种专为数字电机和运动控制系统设计的外设,使之成为一款真正的单片数字信号处理控制器.在与以前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 提供了串行通讯接口SCI 模块,支持CPU 与其他使用标准格式的异步外设之间的数字通信.SCI 接收器和发送器是双缓冲的,每一个都有它自己单独的使能和中断标志位,两者都可独立工作,或者在全双工的方式下同时工作.SCI模块通过SCIRXD 引脚接收数据,通过SCITXD 引脚发送数据,在不使用SCI 模块的时候,这两个引脚

6

西南科技大学城市学院

可以被配置为通用I/O 口.为确保数据的完整,SCI 对接受到的数据进行间断检测、奇偶校验、超时和帧出错校验.通过一个16 位的波特率选择寄存器,数据传输的速度可以被编程为65535 种不同的方式,在40MHz 的CPU 时钟方式下,波特率范围从76bps 到1875kbps.无论接收还是发送,SCI 接口模块的数据都采用NRZ(非返回零)格式.NRZ数据格式包括一个起始位,(1~8)位可编程选择的数据位,可选择的奇/偶/无校验位,(1~2)个停止位.在地址位多处理器模式下还包括一个地址/数据位.

五 主函数程序流程

系统初始化 定时器初始化 串行通信接口初始化

接收服务程序 发送服务程序,定义一段需要发送的字符串 六 实验步骤

1、用DB9直通电缆把DSP的串口和PC机的串口连接起来。打开PC机串口调试软件,默认设置为COM1,9600,N,8,1,选择按16进制发送和接收;

2、将SCI目录COPY到CCS开发环境中的myproject目录下; 3、CCS中用projectOpen命令,加载SCI目录下的SCI.pjt; 4、浏览程序,打开工程目录下的main.c文件,并理解每条语句

7

西南科技大学城市学院

的含义;

5、编译工程。单击\菜单,\项,编译工程中的文件,生成*.out 文件;

6、下载程序。在CCS中用File Load Program命令,加载SCI目录中Debug目录下的*.out文件;

7、运行程序观察结果。调试程序过程中在合适位置设置断点,利用WATCH窗口观察DSP接收到的PC机数据;利用串口调试软件观察DSP发送到PC机的数据;

七 实验程序及结果

1、实验程序

#include \void SystemInit(); void Timer1Init(); void KickDog(); void SCI_Init(); void SCI_Send(); int numled0=200; unsigned int t0=0; unsigned int SCI_RXDATA; main() {

8

西南科技大学城市学院

SystemInit(); //系统初始化

MCRC=MCRC & 0xFF00; //IOPE0-7设为IO口模式 PEDATDIR=0xFF00; //所有LED=0, 所有led灯灭 SCI_Init();

Timer1Init(); /*定时器初始化*/ asm(\

while(1); /*进入死循环*/ }

void SystemInit() {

asm(\INTM \关闭总中断 */ asm(\禁止符号位扩展 */

asm(\块映射为 on-chip DARAM*/ asm(\累加器结果正常溢出*/ SCSR1=0x83FE; /* 系统时钟CLKOUT=20*2=40M */ /* 打开ADC,EVA,EVB,CAN和SCI的时钟*/

WDCR=0x006F; /* 禁止看门狗,看门狗时钟64分频 */

9

西南科技大学城市学院

KickDog(); IFR=0xFFFF; IMR=0x0003; }

void Timer1Init() {

EVAIMRA=0x0080; EVAIFRA=0xFFFF; GPTCONA=0x0000; // T1PR=2500; T1CNT=0;

T1CON=0x144E; //使能 }

void SCI_Init() {

MCRA=MCRA | 0x0003;

/* 初始化看门狗 */ /* 清除中断标志 */ /* 打开中断2 P44*/ // 定时器1周期中断使能

清除中断标志

// 定时器1初值,定时0.4us*2500=1ms 增模式, TPS系数40M/16=2.5M,T1//IOPA0, IOPA1为串口

10


基于DSP2407异步串口的多机通信系统设计与实现(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:单片机医院病房呼叫系统设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: