DSP2407开发板解剖分析Word格式文档下载.docx
《DSP2407开发板解剖分析Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《DSP2407开发板解剖分析Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
是初学者和从事开发的科研工作者学习2407和CPLD的首选之品。
本开发板供初学者学习使用,也可作为系统板嵌入到用户的产品供用户进行二次
开发以便缩短产品开发周期。
SHX-DSP2407A开发板是DSP2407系列产品中的重要一员。
它的最大优点是直观简单明了,极为适于初学者。
此棋板采用统一的系统结构、模块结构和机械结构,以多种典型DSP处理器构成的DSP基本系统、标准总线和相同物理尺寸的DSP嵌入式控制模板,将2407的功能发挥的淋漓尽致,为学习者提供了强大、有效的学习平台。
用户手册详实易懂,大量源码轻松上手(分DSP和CPLD两部分),我们为用户提供一个完整的IP核通过CPLD
进行系统资源分配,用户可以根据需要进行裁剪或追加功能。
1.DSP2407事件管理器模块
1.1引脚说明
1.2EV中断
事件管理器中断总共分三组,每组均分别配一个CPU申断(INT2,3和4)。
因为每组中断均有多个中断源,所以CPU中断请求通过外设中断扩展控制器(PIE)模块来处理。
中断请求有以下几个响应阶段:
(1)中断源。
如果外设中断发生,EVxIFRA、EVxIFRB、或EVxIFRC(x=A或B)相应标志位被置l。
(2)中断使能。
事件管理器中断可以分别由寄存器EVxIMRA、EVxIMRB或
EVxIMRC(x=A或B)来使能或禁止。
(3)PIE请求。
如果中断标志位和中断屏蔽位被置l,那么外设会向PIE模块发送一个外设中断请求。
(4)CPU响应。
CPU接收到中断后,IFR响应的位被置l,并相应中断。
CPU响应中断后,中断响应被软件控制。
(5)PIE响应。
PIE使用中断向量更新PIVR寄存器。
(6)中断软件。
中断软件有两级响应,包括GISR和SISR。
1.3定时器
每个时间管理模块有两个通用定时器(GP),每个定时器有四种可选操作模式:
(1)停止/保持模式
此模式操作停止并保持其当前状态,定时器的计数器,比较输出和预定计数器多保持不变
(2)连续递增计数模式
此模式GP将按照已定标的输入时钟计数,直到定时器计数器的值和周期存储器的值匹配为止。
(3)定向增/减技术模式
此模式,定时器将根据TDIRA/B引脚的输入,对定时器的时钟进行递增和递减计数。
(4)连续增/减技术模式
此模式与定向的增/减模式一样,但是在本模式下,引脚TDIRA/B的状态对计数的方向没有影响。
1.4比较单元
2.DSP的数字I/O端口以及其寄存器的配置
2.1数字I/O端口
TMS320LF2407系列有多达41个通用、双向的数字I/O(GPIO)引脚,其中大多数是基本功能和一般I/O复用引脚,TMS320LF2407系列的大多数都可以用来实现其他功能。
数字I/O端口模块采用了一种灵活的方法,以控制专用I/O和复用I/O引脚的功能,所有I/O和复用引脚的功能可以通过9个16位控制寄存器来设置,这些寄存器可以分为两类:
I/O口复用控制寄存器(MCRx):
用来控制选择I/O引脚作为基本功能或一般I/O
引脚功能。
数据和方向控制寄存器(PxDATDIR):
当I/O引脚作为一般I/O引脚功能时,用数据和方向控制寄存器可控制数据和I/O引脚的数据方向,这些寄存器直接和I/O引脚相连。
2.2数字I/O端口寄存器
图1给出了TMS320LF2407系列I/O端口复用引脚配置简图,从图上可以看出一些寄存器单元的配置对应于实际I/O引脚的内部结构之间的联系。
下表中所列的是数字I/O模块可用的寄存器单元,和其他240xA外设一样,这些寄存器被存储器映射到数据空间,地址从7090h到709Fh。
寄存器单元中保留的位所是无效的,读时为0,写对它无影响。
3.硬件部分
3.1供电电路
2407开发板既可使用独立的5V/1A
开关电源供电,也可使用USB
线直接供电,使用方便。
电路部分的1117输出所接的100UF/16V的电容不能省略,这样更好的保证电压稳定。
3.2复位电路
2407开发板上使用专门的复位芯片SP708R,保证DSP
芯片可靠复位,并提供手动复位按钮,方便用户调试
3.3时钟电路
00IC2407用20M外部晶体给DSP提供时钟,并使能2407A片上PLL电路。
由PLL控制寄存器控制,可由软件动态的修改。
TMS320LF2407的CPU最高可工作在40M的主频下,也即是对20M输入频率进行2倍频。
3.4DSP引脚扩展接口
3.5LED和按键电路
开发板上有4个LED发光管和一个自由按键。
3.6SCI串口通讯电路
DSP内置SCI通讯模块,采用接口芯片是MAX232,可以使用一根直连串口线直接和PC通讯。
3.7CAN通讯接口电路
开发板中CAN总线收发器采用的是PCA82C250。
它将CANTX和CANRX转化成CANH和CANL在CAN总线上传输。
3.8数码管控制电路
使用DSP的SPI接口(IO方式)控制数码管。
3.9AD电路
DSP内置16通道10位ADC。
在00IC2407板上通过运放隔离只扩展了2通道,分别位于通道0和通道8,DSP能接收的ADC输入电压为0――3.3V,在2407板上没有单独采用基准源。
直接使用系统的3.3V。
板上所引的2路AD输入电压范围为0――3.3V,在输入DSP之前,已经采用电压跟随器增加了阻抗。
如果需要采样的信号值更加准确,请采用专门的基准电压源,以保证信号源的稳定。
3.10DA电路
板上外扩的DA转换器为TI公司的TLC5620,该芯片为串行接口的4路8位DA转换器,2407通过SPI口与其接口,由于TLC5620的工作频率是1M,所有SPI的工作频率也设定在1M,由于TLC5620的4路DA输出已经加了跟随器,所以本开发板上没有另外加。
3.11PWM电机控制电路
PWM电机控制实验针对微型直流电机。
两路带死区的PWM信号从DSP引脚上直接产生。
电机驱动采用的是4个NPN的三极管,可控制正反转。
3.12步进电机接口
开发板上提供的5V的步进电机接口,标准6芯,兼容市场上的5芯接口。
3.13液晶扩展电路(1602和12864接口)
液晶接口的数据线都经过了74LVC4245进行了缓冲。
读信号和写信号与DSP直接相连。
3.14外部中断控制电路
板子上扩展中断输入接口,其中EXINT输入端接有小按键。
平时为高电平,按下为低电平,如图所示。
4.用于实现简单流水灯的程序
#include"
2407c.h"
#include<
ioports.h>
#defineuintunsignedint
unsignedchardata[4]={0x01,0x02,0x04,0x08};
uintindex;
voiddisable()
{asm("
setcINTM"
);
}
voidenable()
clrcINTM"
}
voidinitial()
{
asm("
setcSXM"
//抑制符号位扩展
clrcOVM"
//累加器中结果正常溢出
clrcCNF"
//B0被配置为数据存储空间
//禁止所有中断
*SCSR1=0x0E04;
//CLKIN=15M,CLKOUT=2*CLKIN=30M
*WDCR=0x00E8;
//不使能看门狗,因为SCSR2中的
//WDOVERRIDE
//即WD保护位复位后的缺省值为1,故可以用软件禁止看门狗
*IMR=0x0002;
//INT2中断
*IFR=0x0FFFF;
//清除全部中断标志,"
写1清0"
*MCRA=0X0000;
index=0;
}
voidtimerlint()
{
*EVAIMRA=*EVAIMRA|0X0780;
//允许定时器1周期中断
*EVAIFRA=*EVAIFRA&
0X0780;
//清除定时器1周期中断标志
*T1CON=0X1602;
//timer为连续增记数模式,
*T1PR=0X0F00E;
//
*T1CMPR=0x00FF;
*T1CNT=0X00;
voidinterruptT1INT()
intflag;
flag=*EVAIFRA&
0x0080;
//读取中断标志
if(flag!
=0)
outport(3,data[index]);
*T1CNT=0x00;
index+=1;
if(index==4)
index=0;
enable();
return;
voidinterruptnothing()
{enable();
main()
disable();
initial();
timerlint();
*T1CON=*T1CON|0x0040;
while
(1){;