DSP2407开发板解剖分析Word格式文档下载.docx

上传人:b****5 文档编号:19385687 上传时间:2023-01-05 格式:DOCX 页数:13 大小:837.34KB
下载 相关 举报
DSP2407开发板解剖分析Word格式文档下载.docx_第1页
第1页 / 共13页
DSP2407开发板解剖分析Word格式文档下载.docx_第2页
第2页 / 共13页
DSP2407开发板解剖分析Word格式文档下载.docx_第3页
第3页 / 共13页
DSP2407开发板解剖分析Word格式文档下载.docx_第4页
第4页 / 共13页
DSP2407开发板解剖分析Word格式文档下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

DSP2407开发板解剖分析Word格式文档下载.docx

《DSP2407开发板解剖分析Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《DSP2407开发板解剖分析Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。

DSP2407开发板解剖分析Word格式文档下载.docx

是初学者和从事开发的科研工作者学习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){;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 商业计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1