第1章DSP2407概述
- 格式:pdf
- 大小:417.37 KB
- 文档页数:37
目录一、概述 (2)二、DSP2407 (3)三、硬件电路说明 (5)四、流水灯程序设计要求 (11)五、实验程序 (11)六、实验结果 (13)七、总结 (13)八、参考文献 (14)基于DSP2407的流水灯的实现一、概述1.1 DSP介绍数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。
在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。
德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。
DSP (digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。
其工作原理是接收模拟信号,转换为0或l的数字信号。
再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。
它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。
它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
DSP微处理器(芯片)一般具有如下主要特点:(1)在一个指令周期内可完成一玖乘法和一次加法;(2)程序和数据空间分开,可以同时访问指令和数据;(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;(4)具有低开销或无开销循环及跳转的硬件支持;(5)快速的中断处理和硬件1/0支持;(6)具有在单周期内操作的多个硬件地址产生器;(7)可以并行执行多个操作;(8)支持流水线操作,使取指、译码和执行等操作可以熏叠执行。
1.2DSP的应用:语音处理:语音编码、语音合成、语音识别、语音增强、语音邮件、语音储存等。
ICETEK–LF2407-A 评估板技术指标主处理芯片:TMS320LF2407,运行速度为40M;工作速度可达40MIPS;片上RAM 2.5k*16bit;片上扩展RAM 存贮空间128K×16Bit;自带16 路10bit A/D,最大采样速率2msps;2 路的TLC7528 D/A 转换,10M/S,8Bit;一路UART 串行接口,符合RS232 标准;16 路PWM 输出;1 路CAN 接口通讯;片上32K*16bit FLASH,自带64 位加密位;设计有用户可以自定义的开关和测试指示灯;4 组标准扩展连接器,为用户进行二次开发提供条件;具有IEEE1149.1 相兼容的逻辑扫描电路,该电路仅用于测试和仿真;+5V 电源输入,内部+3.3V、+1.6V 电源管理;具有自启动功能设计,可以实现脱机工作;1、2407的XINT2…….MP/MC等引脚,通过10K上拉电阻接至3.3v,令其为高电平。
2、电源抗干扰电源与地之间接104电容,作用是去耦滤波、稳定电压、抗干扰电容104=10*10^4pf=0.1uf3、电源:2407的工作电压为3.3V、1.6V。
需要将5V的VCC转化1117-33是低压差线性稳压源芯片(加ams之类前缀表示厂家),把5V转成3.3v。
(C10对应的104=10*10^4pf=0.1uf)1117-ADJ是低压差线性稳压源芯片,ADJ表示输出电压可调;4、CAN总线收发器uc5350/view/aa6cfb02de80d4d8d15a4f39.html5、6、无源晶体X1、X2是2407的时钟引脚XTAL1/CLKIN、XTAL2。
集成电路振荡端子外围电路中总是以一个晶振(或其它谐振元件)和两个电容组成回路;晶振旁的2个电容是晶体的匹配电容,只有在外部所接电容为匹配电容的情况下,振荡频率才能保证在标称频率附近的误差范围内。
最好按照所提供的数据来7、CPU/view/8145c203de80d4d8d15a4f13.html8、JTAG仿真器插脚JTAG 仿真器也称为JTAG 调试器,是通过5416芯片的JTAG 边界扫描口进行调试的设备。
第一章前言 (1第二章系統安裝 (3第三章 TMS320LF2407A 晶片功能介紹 (5第四章 DMA-DSP2407 控制單板硬體簡介 (15第五章 Code Composer 操作軟體設定簡介 (41附錄一 TMS320LF2407A 單板基本範例程式 (45附錄二 TMS320LF2407A on-Chip FLASH 燒錄 (61附錄三 TMS320LF2407A on-Chip FLASH 燒錄FAQ (65第一章前言第一章前言DMA-DSP 2407控制單板(以下簡稱LH-106是以德州儀器(Texas Instrument 所生產的數位信號處理器 DPS TMS320LF2407A為基礎所設計的控制單板。
TMS320LF240x系列是由TMS320F24x所演進而來,它是用高效率的CMOS技術所製成的,以定點式(fix的運算方式。
它內部的程式記憶體分為Flash ROM(LF240x及PROM(LC240x。
最適於學習、研發及商業成品用。
而後又對推出TMS320LF240xA系列使工作速度可達40 MPIS。
P1DMA-DSP 2407控制單板LH-106 DSP控制單板是一個相當好的DSP軟/硬體學習工具。
在學習DSP軟體方面:可以將寫好的程式,經過組譯,連結後,可由長高科技產品的DMA2000 DSP線上模擬器來作程式的除錯,顯示,修改及運行等操作。
透過本控制單板的實際操作,使用者可以充份地了解到整個2407A CPU晶片功能,及與週邊裝置:如記憶裝置,輸入裝置,輸出裝置及顯示裝置的設計方法。
在硬體方面LH-106 DSP控制單板提供DSP處理器很好的參考硬體電路設計。
除了完整保留CPU本身全部功能外,並在這塊控制器上規劃設計了64K程式記憶體及64K 的資料記憶體混合組合,方便使用者載入程式運行,除錯外,更可直接將完成的程式碼置放在預先設計好的IC槽座上,達成獨立單晶控制器。
#include "2407c.H"//函数声明unsigned int Motor1_Ctrl(unsigned int Direction,unsigned int Speed); unsigned int Motor2_Ctrl(unsigned int Direction,unsigned int Speed);//L298N电机控制宏#define FORWARD 10#define BACK 01#define STOP 00/**************************************************** FUNCTION: interrupt nothing** PARAMETERS:无** DESCRIPTION:中断服务子程序,用于处理不可预测的内核级中断** RETURNS: 无****************************************************/void interrupt nothing() //中断直接返回子程序{_EINT();return ;}void Timer2(void){static unsigned int timer2_2ms_Counter=0;static unsigned int MK1=0;static unsigned int MK2=0;timer2_2ms_Counter++; //每次进入中断,自加1if(2500==timer2_2ms_Counter){timer2_2ms_Counter=0; //计数达到5秒后,清零MK1+=20;MK2+=20;if(MK1>=100||MK2>=100){Motor1_Ctrl(FORWARD,100);Motor2_Ctrl(BACK,100);MK1=0;MK2=0;}else{Motor1_Ctrl(FORWARD,MK1);Motor2_Ctrl(BACK,MK2);}}EVAIFRB|=0x0001; //清除定时器2的周期中断标志EVAIMRB|=0x0001; //是能定时器2的周期中断}/**************************************************** FUNCTION: interrupt GISR3(void)** PARAMETERS:无** DESCRIPTION:内核级中断** RETURNS: 无****************************************************/void interrupt GISR3(void){_DINT(); //关闭全局中断,不使用中断嵌套switch(PIVR){case 0x002B: //定时器2周期中断{Timer2();}}_EINT(); //开启全局中断}/**************************************************** FUNCTION: initial** PARAMETERS:无** DESCRIPTION:系统初始化函数** RETURNS: 无****************************************************/int initial() //系统初始化子程序{asm(" setc SXM"); //符号扩展位有效asm(" clrc OVM"); //累加其中结果正常溢出asm(" clrc CNF"); //B0被配置为数据存诸空间SCSR1=0x06FC; //CLKIN=20M(详见说明文档)WDCR=0x0068; //不使能看门狗IMR=0x0000; //禁止所有中断IFR=0x003F; //清楚全部中断标志,写1清0WSCR=0x00; //禁止所有的等待状态}/**************************************************** FUNCTION: timelint2** PARAMETERS:无** DESCRIPTION:定时器2初始化,定时长度为2ms,以及改变PWM波的占空比** RETURNS: 无****************************************************/void Timer2Init(){T2CNT=0x0000; //设置定时器1初始计数值为0T2PR=20000; //定时长度为2msT2CON=0x0800; //连续增减计数模式1分频EVAIFRB=0x0001; //清除定时器2的周期中断标志EVAIMRB=0x0001; //使能定时器2的周期中断}/**************************************************** FUNCTION: MotorInit(void)** PARAMETERS:无** DESCRIPTION:初始化事件管理模块A(EVA)的比较单元,使之产生2路的PWM(PWM1,PWM3)* 初始化定时器1,用以产生频率为20KHZ的定时周期初始化IO口,用来输出高低电平,配合L298N驱动两路电机资源分配:PA6、PB0 设置为PWM输出口PA7、PB4设置为IO控制口,属性为输出,控制电机1的转向PB1、PB6设置为IO控制口,属性为输出,控制电机2的转向* RETURNS: 无****************************************************/void MotorInit(void){MCRA|=0x0000; //IOPA6置1,为PWM功能(PWM1)MCRA|=0x0100; //IOPB0置1,为PWM功能(PWM3)MCRA&=~0x0080; //IOPA7置0,为IO口PADATDIR|=0x8000; //IOPA7为输出口,初始输出置为0MCRA&=~0x1000; //IOPB4置0,为IO口PBDATDIR|=0x1000; //IOPB4为输出口,初始输出置为0MCRA&=~0x0200; //IOPB1置0,为IO口PBDATDIR|=0x0200; //IOPB1为输出口,初始输出置为0MCRA&=~0x4000; //IOPB6置0,为IO口PBDATDIR|=0x4000; //IOPB6为输出口,初始输出置为0//初始化定时器1T1CNT=0x0000; //设置定时器1的初始计数值为0T1PR=500; //20KhzPWM(20Mhz/1/20000/2)因为是中心对称PWM,要除以2DBTCONA=0x00; //不使能死去控制ACTRA=0x0022; //设置PWM1、3引脚输出高有效CMPR1=500; //初始PWM1输出的占空比为0CMPR2=500; //初始PWM3输出的占空比为0COMCONA=0x8200; //见说明文档T1CON=0x0800; //见说明文档}/**************************************************** FUNCTION: MotorCtrl(Direction,Speed)** PARAMETERS:Direction:电机转动的方向,Speed:电机转动速度** DESCRIPTION:L298N驱动2路电机的接口函数,Speed:电机速度(0-100)Direction(RORWARD、BACK、STOP)* RETURNS: 如果参数超出控制范围,返回布尔值0****************************************************/unsigned int Motor1_Ctrl(unsigned int Direction,unsigned int Speed){if(FORWARD==Direction){PADATDIR=(PADATDIR&0xFF7F)|0x8080; //设置电机正转PA7:1 PB4:0 PBDATDIR=(PBDATDIR&0xFFEF)|0x1000;if((Speed>=1)||(Speed<=100)) //判断电机速度是否在(1-100内){CMPR1=(unsigned int)(5*(100-Speed));}}else if(BACK==Direction){PADATDIR=(PADATDIR&0xFF7F)|0x8080;PBDATDIR=(PBDATDIR&0xFFEF)|0x1010; //设置电机反转PA7:0 PB4:0if((Speed>=1)||(Speed<=100)) //判断电机速度是否在(1-100内){CMPR1=(unsigned int)(5*(100-Speed));}}else if(STOP==Direction){PADATDIR=(PADATDIR&0xFF7F)|0x8080;PBDATDIR=(PBDATDIR&0xFFEF)|0x1010; //设置电机停转PA7:1 PB4:1 }else{return 0;} //电机控制参数错误,返回}unsigned int Motor2_Ctrl(unsigned int Direction,unsigned int Speed){if(FORWARD==Direction){PBDATDIR=(PBDATDIR&0xFFFD)|0x0202; //设置电机正转PB1:1 PB6:0PBDATDIR=(PBDATDIR&0xFFBF)|0x4000;if((Speed>=1)||(Speed<=100)) //判断电机速度是否在(1-100内){CMPR2=(unsigned int)(5*(100-Speed));}}else if(BACK==Direction){PBDATDIR=(PBDATDIR&0xFFFD)|0x0200;PBDATDIR=(PBDATDIR&0xFFBF)|0x4040; //设置电机正转PB1:0 PB6:1 if((Speed>=1)||(Speed<=100)) //判断电机速度是否在(1-100内){CMPR2=(unsigned int)(5*(100-Speed));}}else if(STOP==Direction){PBDATDIR=(PBDATDIR&0xFFFD)|0x0202;PBDATDIR=(PBDATDIR&0xFFBF)|0x4040; //设置电机正转PB1:1 PB6:1 }else{return 0;} ////电机控制参数错误,返回}/**************************************************** FUNCTION: Main(void)** PARAMETERS:** DESCRIPTION:主函数** RETURNS:****************************************************/void main(void){_DINT(); //关闭全局中断initial();MotorInit();Timer2Init();T1CON|=0x0040; //初始化完毕,启动定时器,产生PWM波T2CON|=0x0040; //开启定时器2,定时5s改变一次占空比IFR=0x0004; //清除INT3中断标志IMR=0x0004; //打开INT3内核级中断_EINT(); //打开全局中断while(1){;}}。
(Ver2.0)目录1.产品简介 (4)1.1系统资源: (4)1.2扩展接口: (5)1.3代码及实验项目 (5)1.4相关资料 (6)1.5典型应用 (6)1.6相关配件 (6)2.学习之前的准备工作 (7)2.1硬件准备 (7)2.2软件准备 (8)3.软件安装及设置 (9)3.1 安装CCS 2.2 for C2000 (9)3.2 安装仿真器驱动 (9)3.3 设置CCS (10)3.3.1 使用并口仿真器设置CCS (10)3.3.2 使用USB 接口仿真器设置CCS (19)3.4 CCS软件简介 (22)3.4.1 建立或打开一个PROJECT 工程文件 (22)3.4.2 CMD文件设置 (22)4.硬件电路讲解 (24)4.1 供电电路 (24)4.2 时钟振荡电路 (24)4.3 外扩程序和数据RAM (25)4.4 LED指示灯 (25)4.5 JTAG接口电路 (26)4.6 DSP引脚扩展 (26)4.7 走马灯与按键 (27)4.8 SCI串口通讯 (27)4.9 SPI-D/A转换 (28)4.11 CAN通讯接口 (29)4.12 PWM电机控制 (30)4.12 128×64图形LCD扩展接口 (31)4.13 步进电机接口 (32)5.软件实验讲解 (32)5.1外部RAM测试 (32)5.2 定时器控制LED实验 (34)5.3 按键与走马灯程序实验 (34)5.4 SCI串口通讯实验 (35)5.5 SPI接口的D/A实验 (36)5.6 A/D采样实验 (37)5.7 CAN总线通信实验 (37)5.8 PWM电机控制实验 (38)5.9 步进电机控制实验 (39)5.10 T6963液晶实验 (39)6.FLASH 烧写 (39)6.1 安装烧写软件 (39)6.2烧写FLASH (40)6.2.1 烧写中断向量表 (40)6.2.2 烧写用户程序 (41)6.3关于int.out (48)1.产品简介DSP-2407A Ver2.0 套件是一套基于TMS320LF2407A DSP 的学习开发平台。
DSP2407+CPLD DSP开发板 FPGA开发板DSP学习板2407开发板∙一口价:520.00元∙运费:平邮: 15.00元快递:15.00元EMS:20.00元我要买:(库存10件)∙本期售出:0件∙剩余时间:2天11小时∙30天售出:0件∙所在城市:广东广州∙宝贝类型:全新∙浏览次数:11次∙收藏人气:2 类似收藏∙保障服务:此宝贝支持支付宝,网上汇款免手续费。
收货满意后卖家才能拿钱,货款都安全!放大图片掌柜档案bawgijfd1旺旺在线∙卖家信用:458∙买家信用:103∙卖家好评率:99.78%∙买家好评率:99.05%∙创店时间:2007-10-29认证:∙宝贝详情∙掌柜推荐∙其他信息∙出价记录∙留言簿宝贝详情系统结构图[系统简介]本套件是一套基于TMS320LF2407A+EPM240 DSP+CPLD的学习开发平台,充分发挥DSP2407和ALTE RA MAX II的灵活性和功能强大,用户手册详实易懂,大量源码轻松上手(分DSP和CPLD 2部分),我们为用户提供一个完整的IP核通过CPLD进行系统资源分配,用户可以根据需要进行裁剪或追加功能。
由于我们的外设都是通过CPLD连接与DSP连接进行电平转换、隔离和总线仲裁等先进技术,所以使用极为方便灵活、简洁、并且运行及其稳定。
这种结构可以充分利用了CPLD的灵活性和功能强大的IP核进行功能更强的系统应用。
是初学者和从事开发的科研工作者学习2407和CPLD的首选之品。
本开发板供初学者学习使用,也可作为系统板嵌入到用户的产品供用户进行二次开发以便缩短产品开发周期。
[系统资源]DSP处理器TMS320LF2407A,最高工作频率40M。
DSP片内内置32K * 16位 FLASH,可存放用户程序,FLASH可加密。
DSP片内内置 2.5K * 16位 DARAM,可配置成数据区和程序区。
DSP片外扩展 64K * 16位SRAM(32K程序,32K数据)。
第一章TMS320LF2407 DSP 介绍1-31.0 TMS320x240x 系列DSP 概述 11.1 TMS320LF2407 DSP 性能特点 11.2 TMS320LF2407 DSP 主要应用 21.3 TMS320LF2407 DSP 管脚封装图 3第二章TMS320LF2407 芯片评估模块介绍4-52.0 TMS320LF2407EVM 概要 42.1 TMS320LF2407EVM 主要特征 42.2 TMS320LF2407EVM 功能概要 5第三章TMS320LF2407的操作6-24 3.0 TMS320LF2407EVM的操作 63.1 TMS320LF2407EVM板 63.1.1 电源接口 63.2 TMS320LF2407EVM 存储接口 63.2.1 程序存储器73.2.2 数据存储器83.2.3 I/O 空间93.3 用户开关和发光二极管指示灯93.4 晶振选择93.5 数模转换器103.6 扩展总线103.6.1 TMS320LM2407EVM扩展接口103.6.1.1 扩展I/O 接口113.6.1.2 扩展模拟接口123.6.1.3 扩展地址和数据接口133.6.1.4 扩展控制接口143.7 JTAG 接口153.8 SPI 数据接口153.9 片上异步串行接口153.10 CAN 接口163.10.1 CAN 正配插座163.11 EVM320LF2407跳线173.11.1 JP1 跳线,使能CAN关断183.11.2 JP2 跳线,CAN输入选择183.11.3 JP3 跳线,串行ROM写保护选择193.11.4 JP4 跳线,SPI端口通道选择193.11.5 JP5 跳线,使能快速编制程序1923.11.6 JP6 跳线,MP/MC内部闪存ROM 使能193.11.7 JP7 跳线,模拟电源输入选择203.11.8 JP8 跳线,VREF HI选择203.11.9 JP9 跳线,VREF LO选择203.11.10 JP10 跳线,面DTR的主复位使能203.11.11 JP11 到BIO-/IOPCI 的主复位能213.11.12 JP12 到SCIRXD/IOPA1 的RXD 使能213.11.13 JP13 跳线,晶振源选择213.11.14 JP14 跳线,DTS/RTS选择223.11.15 JP15 跳线,SPI/SCI引导器选择223.11.16 JP16 跳线,引导器选择223.12 LED 状态指示灯223.13 用户可编程LED 233.14 复位233.15 复位开关233.16 用户可读开关233.17 开关243.18 测试点24第四章系统安装25-264.0 系统组成254.1 仿真器与评估板的连接254.2 仿真器与评估板的供电25第五章TMS320LF2407 评估板性能测试程序27-295.0 测试程序概述275.1 测试程序结构组成275.2 测试程序运行过程285.2.1 数据空间RAM检测285.2.2 程序代码空间检测285.2.3 片上串行异步通讯检测285.2.4 ADC-DAC 联合检测285.2.5 双向数字I/O检测295.2.6 通用I/O 口和评估板LED检测295.2.7 评估板并排手动开关检测295.2.8 结束29第六章系统脱机工作30 6.0 条件保证306.1 系统连接3036.2 操作步骤30 6.3 脱机工作304第一章TMS320LF2407 DSP 介绍本章介绍的是TMS320LF2407 DSP的性能特点、主要应用及管脚图。
品质保证 (4)第一章系统概述 (5)一.系统结构布局图 (5)二.接口说明 (5)三.入门 (6)1.特点 (6)2.概述 (7)3.实验程序清单: (7)DSP部分 (7)CPLD部分 (7)4.技术指标 (8)5.原理图 (8)第二章系统说明 (9)1.时钟电路 (9)2.DSP JTAG (9)3.LCD接口 (9)4.AD输入口 (9)5.DA输出 (9)5.CPLD JTAG (9)第三章扩展接口定义 (10)仿真器头定义 (10)CPLD管脚映射表 (11)第四章DSP开发软件说明 (12)硬件准备 (12)一.HS2407+CPLD开发学习板的实验程序说明 (12)二如何开始DSP编程 (14)1.安装CCS (14)2.运行CCS (14)3.新建一个工程 (14)4.选择路径 (15)5. 添加源文件, (15)6. 设置BUILDING OPTIONS (17)7.编译 (18)8.LOAD程序 (18)9. 单步运行程序 (19)10. 单步跟踪或全速运行 (19)第五章实验指导(DSP部分) (20)一.实验前准备 (20)二.CMD文件设置 (20)三.DSP实验指导 (21)实验一 Timer1测试 (21)实验二.外部RAM测试 (21)实验三.外部RAM高32K测试 (22)实验四.按键和走马灯实验 (23)实验五.D/A实验 (24)实验六.A/D实验 (25)实验七.CAN实验 (26)实验八.PWM电机控制实验 (27)实验十.图形LCD实验 (29)实验十一.字符LCD实验 (30)实验十二外扩EEPROM读写实验 (31)实验十三步进电机测试 (33)实验十四流水灯实验 (33)实验十五ExtInt测试 (33)第六章如何烧写FLASH (35)一、安装烧写插件 (35)1.正确安装CCS和C2000的烧写插件 (35)安装烧写软件 (35)烧写FLASH注意事项 (35)2.运行CCS (36)二.烧写FLASH (36)1 烧写中断向量 (36)(1)、硬件准备 (36)(2)烧写 (36)2 烧写用户程序 (37)(1)硬件准备 (37)(2)软件设置修改 (37)(3)、重新编译 (38)(4)、烧写 (38)3、关于中断向量表 (40)第七章QUARTUSII 安装指南 (42)1.配置安装环境 (42)2.安装SP2。
新手的DSP学习笔记本人也是几天前才开始打算接触dsp的,对八位单片机入门了之后就对32位的dsp好奇了,现把本人的dsp2407学习笔记献上,望跟我一样的新手一起交流,也希望高手们能给点指导!现在先把第一章的东西写出来吧,交流一下。
(现在我的教材也就是网上的一些电子文档,哈工大的讲义,图书馆暑假不开,所以还没有很好的教材),希望各位能推荐一下,小弟感激了第一章虽然真正的知识不多,但看完还是很兴奋的,马上就要接触到很前沿的东西了,真的很激动啊!现在把知识梳理一下吧:一 dsp的定义,基本结构(弄清楚哈佛结构和冯诺伊曼不同),流水线的原理,dsp的特殊的 地方(乘加),以及它的功能,适用范围。
(相信这些看了一遍书是肯定没问题了)二 现在说说它的分类(主要分为三大系列):1.2000系列,主要用于控制(小弟就是自动化专业的,所以应该对我是最重要的系列吧!)2.5000系列,主要用于通信3.6000系列,主要用于图象处理(要很高的运算速度才行啊)接下来才是真正的开始了三 该看它的片内外设及存储器等资源:(有些模块不懂事正常的,要是懂了后面不就没东西学了嘛)1.A/D转换器2.很多I/O脚3.PLL时钟模块4.看门狗定时器模块5.串行通信和外设接口SCI,SPI6.两个事件管理器7.8个16位PWM通道(我是看不出哪里有这么多)8.5个外部中断(下一章一定会让你懂的)9.CAN 2.0B模块(不认识它??)10.JTEG接口.11.片内存储器:32k闪存,2.5k字RAM(觉得很多东西吧,确实比单片机的东西多多了,所以功能才会这么强大啊)四 看到了DSP的144个引脚吗,现在看得懂几个就几个吧五 1.DSP的存储器映射分为:flash映射,存储器映射,片外映射。
我只知道这么多,现在是不知道到底有什么用处2.对于各个存储器外设的容量大小还是了解一下吧六 到核心模块了,了解一下CPU的各个模块吧1.CPU的组成:a.输入定标移位器:调整数据位数。
2047的存储器包括RAM和ROM两种。
ROM指闪烁存储器(FLASH Memory)以及启动ROM(Boot ROM);RAM主要指静态RAM(SRAM)和Dual RAM(DRAM)。
2047的ROM包括256X16 bit的Boot-ROM(占据程序存储器的低256字)和32X16 bit (占据程序存储器的低32K字)的片上存储器。
通过设置可以屏蔽Boot-ROM。
微处理器/微控制器模式选择引脚MP/MC用于选择系统复位时芯片工作的模式,即确定地址为0x0000的程序存储器是片内还是片外。
一般不需要进行片上ROM的接口设计。
在2407内部具有2X16 bit的SRAM和554X16 bit的DRAM,其中DRAM被分成B0、B1和B2三个单元。
通过不同的设置,2407即可将SRAM和DRAM的B0单元用作程序存储器,又可将它们用作数据存储器。
当系统用慢速的程序存储器存放程序是,在系统运行时,为提高运行速度,通常将程序搬到SRAM和DRAM的B0单元中;此时这部分RAM 映射到程序空间。
对于许多应用来说,仅有数量的SRAM是不够的。
一般需要扩展SRAM 作为程序存储器或数据存储器。
2407具有外部存储器扩展接口,可以扩展存储器容量,补偿片内存储器使用的不走,并且配备专门的引脚,包括:地址线(A0-A15)、数据线(D0- D15)、选通信好(外部程序存储器访问探针PS、外部数据存储器访问探针DS、外部IO存储器访问探针IS、写片外存储器探针WE、读片外存储器探针RD)、控制信号(微处理器/微控制器模式选择引脚MP/MC、片外存储器使能引脚ENA_144)和一些标志信号(片外存储器访问探针STRM、同步等待信号READY)等。
利用这些引脚就可以很方便的对外存进行扩展。
设计存储器接口主要考虑的是存储器的速度。
在很多情况下,在扩展SRAM的同时需要扩展数据SRAM。
利用程序和数据公用存储器可以达到既扩展程序存储器,又扩展数据存储器的目的。
第1章TMS320LF240X系列DSP概述该系列包括:闪存:TMS320LF2402、TMS320LF2406、TMS320LF2407 ROM:TMS320LC2402、TMS320LC2404、TMS320LC2406最具革命性产品:LF2407/ LF2407A,是当今世界上集成度最高、性能最强的运动控制DSP芯片。
1.1 DSP芯片的基本结构1.什么是DSP芯片DSP是一种特殊结构的微处理器, 快速实现各种数字信号处理算法。
哈佛结构:DSP的程序存储器空间和数据存储器空间分开,即每个存储器空间独立编址,独立访问,并具有独立的程序总线和数据总线,取指和执行能完全重叠进行。
允许数据存放在程序存储器中,并被算术指令运算指令直接使用。
指令存储在高速缓冲器(Cache)中,当执行本指令时,不需再从存储器中读取指令,节省一个机器周期的时间。
(2)流水线操作功能DSP芯片采用多组总线结构,允许CPU同时进行指令和数据的访问。
因而,可在内部实行流水线操作。
执行一条指令,总要经过取指、译码、取数、执行运算,需要若干个指令周期才能完成。
流水线技术是将各个步骤重叠起来进行。
既第一条指令取指、译码时,第二条指令取指;第一条指令取数时,第二条指令译码,第三条指令取指,依次类推。
(4)特殊的处理器指令采用特殊的指令。
例如:DMOV指令,把指令的数据复制到该地址加1的地址中,原单元的内容不变----数据移位,相当于延迟。
另一特殊指令LTD,在一个指令周期完成LT、DMOV和APAC三条指令的内容。
(5) 高速的指令运行周期DSP指令周期可为几ns,LF2407A为40ns。
(6) 丰富的片内存储器件和灵活的寻址方式片内集成FLASH和双口RAM,通过片内总线访问这些存储空间,因此不存在总线竞争和速度匹配问题,大大提高数据的读/写速度。
(7) 独立的直接存储器访问(DMA)总线及其控制器DSP为DMA单独设置了完全独立的总线和控制器。
第1章TMS320LF240X系列DSP概述该系列包括:闪存:TMS320LF2402、TMS320LF2406、TMS320LF2407 ROM:TMS320LC2402、TMS320LC2404、TMS320LC2406最具革命性产品:LF2407/ LF2407A,是当今世界上集成度最高、性能最强的运动控制DSP芯片。
1.1 DSP芯片的基本结构1.什么是DSP芯片DSP是一种特殊结构的微处理器, 快速实现各种数字信号处理算法。
哈佛结构:DSP的程序存储器空间和数据存储器空间分开,即每个存储器空间独立编址,独立访问,并具有独立的程序总线和数据总线,取指和执行能完全重叠进行。
允许数据存放在程序存储器中,并被算术指令运算指令直接使用。
指令存储在高速缓冲器(Cache)中,当执行本指令时,不需再从存储器中读取指令,节省一个机器周期的时间。
(2)流水线操作功能DSP芯片采用多组总线结构,允许CPU同时进行指令和数据的访问。
因而,可在内部实行流水线操作。
执行一条指令,总要经过取指、译码、取数、执行运算,需要若干个指令周期才能完成。
流水线技术是将各个步骤重叠起来进行。
既第一条指令取指、译码时,第二条指令取指;第一条指令取数时,第二条指令译码,第三条指令取指,依次类推。
(4)特殊的处理器指令采用特殊的指令。
例如:DMOV指令,把指令的数据复制到该地址加1的地址中,原单元的内容不变----数据移位,相当于延迟。
另一特殊指令LTD,在一个指令周期完成LT、DMOV和APAC三条指令的内容。
(5) 高速的指令运行周期DSP指令周期可为几ns,LF2407A为40ns。
(6) 丰富的片内存储器件和灵活的寻址方式片内集成FLASH和双口RAM,通过片内总线访问这些存储空间,因此不存在总线竞争和速度匹配问题,大大提高数据的读/写速度。
(7) 独立的直接存储器访问(DMA)总线及其控制器DSP为DMA单独设置了完全独立的总线和控制器。
1.2 TMS320系列DSP概述该系列包括:定点、浮点、多处理器DSP和定点DSP。
体系结构专为实时数字信号处理而设计。
TI公司从1982年推出:第一代TMS32010、TMS32011等。
第二代TMS32020、TMS320C025(改进型TMS320C2xx)第三代TMS32030、TMS320C32等。
第四代TMS32040/TMS320C44等。
第五代TMS3205x/TMS320C54x等。
第六代TMS32062x/TMS320C67x等(速度最快)。
TMS320C8X:内有多个DSP三大系列:2000、5000、6000。
同一代的器件有相同的CPU结构,但片内存储器和外设配置不同。
1.3 TMS320LF240x系列DSP控制器专为数字电机控制和其它控制系统而设计的。
是当前集成度最高、性能最强的运动控制芯片。
不但有高性能的C2XX CPU内核,配置有高速数字信号处理的结构,且有控制电机的外设。
它将数字信号处理的高速运算功能,与面向电机的强大控制功能结合在一起,成为传统的多微处理器单元和多片系统的理想替代品。
主要用途:(1)电机(交流伺服、直流永磁、开关磁阻)的鲁棒控制器。
(2)无刷电机的全变速控制。
(3)使用先进的算法可降低传感器的数量。
(4)汽车电子制动系统。
(5)多电机系统的单处理器控制。
(6)与控制算法处理一起完成电源开关转换的控制。
处理速度:LF240x为30MIPS,LF240xA为40MIPS。
240X采用诸如自适应控制、卡尔曼滤波和控制等先进的控制算法,支持多项式的高速实时算法,因而可减少力矩纹波、降低攻耗、减少振动,从而延长被控设备的寿命,为各种电机提供了高速、高效和全变速的先进控制技术。
4级流水线结构,采用改进的哈佛结构。
指令系统: 信号处理指令、通用控制指令。
源代码和目标代码与24x同代产品兼容,源代码与C2x 兼容,且与C5x向上兼容。
利用它的为反转变址寻址能力可进行基2的FFT运算。
(1)双10位(双8路或单16路)A/D转换器,转换时间500nS。
(2)41个可独立编程的多路复用I/O引脚;(3)带锁相环PLL的时钟模块;(4)看门狗定时器模块;(5)串行通信接口SCI与串行外设接口SPI;(6)两个事件管理器EVA、EVB,可为所有类型电机提供控制技术,在工业自动化方面的应用奠定了基础。
* 3个具有死区功能的全比较单元;2个单比较单元;* 防止击穿故障的可编程PWM死区控制;* 2个16位通用定时器;* 3个事件捕捉单元,其中2个具有直接连接光电编码器脉冲的能力;(7)8个16位PWM通道--三相反相器控制;(8)5个外部中断(两个驱动保护、复位、两个可屏蔽中断);(9)CAN 2.0B 模块(10)用于仿真的JTEG接口。
(11)片内存储器:32K字闪存、2.5K字RAM地址、数据、存储器控制信号A0-A15:D0-D15:DS*:数据空间选通;PS*:程序空间选通;IS*:I/O空间选通;R/W*:读写选通,指明与外围器件信号的传送方向; W/R*/IOPC0:为R/W*的反;WE*:对外部3个空间写;RD*:对外部3个空间读;STRB*:外部存储器选通;READY:插入等待状态;MP/MC*:微处理器/微计算机(控制器)方式选择ENA_144:=1,使能外部信号;=0,无外部存储器。
VIS_OE*:可视输出可能。
可视输出的方式下,外部数据总线为输出时,该引脚有效,可用作外部编码逻辑,以防止数据总线冲突。
事件管理器A(EVA)CAP1/QEP1/IOPA3:捕捉输入1/正交编码脉冲输入;CAP2/QEP2/IOPA4:CAP3/IOPA5:PWM1/IOPA6:比较PWM输出或通用IO;PWM2/IOPA7:PWM3/IOPB0:PWM4/IOPB1:PWM5/IOPB2:PWM6/IOPB3:T1PWM/T1CMP/IOPB4:T2PWM/T2CMP/IOPB5:TDIRA/IOPB6:通用计数器方向选择(EVA)1:加计数;0:为减计数;TCLKINA/IOPB7:通用计数器(EVA)外部时钟输入,事件管理器B(EVB)CAP4/QEP3/IOPE7:CAP5/QEP4/IOPF0:CAP6/IOPF1:PWM7/IOPE1∼PWM12/IOPE6:T3PWM/T3CMP/IOPF2:T4PWM/T4CMP/IOPF3:TDIRB/IOPF4:通用计数器方向选择(EVB)1:加计数;0:减计数;TCLKINB/IOPF5:通用计数器(EVA)外部时钟输入模数转换器ADCIN00∼ADCIN15:ADC的模拟输入VREFHI:ADC的模拟参考电压高电平输入端VREFLO:ADC的模拟参考电压低电平输入端VCCA:ADC模拟供电电压(3.3V) VSSA:ADC模拟地。
CAN、SCI、SPI CANRX/IOPC7:CAN接收数据脚或IO脚; CANTX/IOPC6:CAN发送数据脚或IO脚; SCITXD/IOPA0:SCI发送数据脚或IO脚; SCIRXD/IOPA1:SCI接收数据脚或IO脚;SPICLK/IOPC4:SPI时钟脚或IO脚;SPISIMO/IOPC2:SPI从输入主输出或IO脚; SPISOMI/IOPC3:SPI从输出主输入或IO脚; SPISTE*/IOPC5:SPI从发送使能或IO脚;外部中断、时钟RS*:复位引脚,当RS*为高电平时,从程序存储器的0地址开始执行程序;当WD定时器溢出时,在RS*脚产生一个系统复位脉冲;PDPINTA*:功率驱动保护中断输入,当电机驱动不正常时,如出现过压、过流时,该中断有效,将PWM脚(EVA)置为高阻态。
XINT1/IOPA2:外中断1或通用IO脚,极性可编程;XINT2/ADCSOC/IOPD0:外中断2可做AD转换开始输入或通用IO脚,极性可编程;CLKOUT/IOPE0:时钟输出或通用IO脚;PDPINTB*:功率驱动保护中断输入,当电机驱动不正常时,如出现过压、过流时,该中断有效,将PWM 脚(EVB)置为高阻态。
振荡器、锁相环、闪存、引导及其他XTAL1/CLKIN:PLL振荡器输入引脚;XTAL2:PLL振荡器输出引脚;PLLVCCA:PLL电压(3.3V);IOPF6:通用IO脚;BOOT_EN*/XF:引导ROM使能,通用IOXF脚;PLLF1:PLL外接滤波器输入1;PLLF2:PLL外接滤波器输入2;VCCP(5V):闪存编程电压输入端,在硬件仿真时,该脚可为5V或0V。
运行时,该脚必须接地。
TP1(Flash):Flash阵列测试引脚,悬空;TP2(Flash):Flash阵列测试引脚,悬空;BIO*/IOPC1:分支控制输入引脚或通用IO脚,0:执行分支程序。
如不用该脚,必须为高电平;复位时,配置为分支控制输入;仿真和测试EMU0 :EMU1/OFF*:TCK:TDI:TDO:TMS:TMS2:TRST*:电源电压VDD:内核电源电压+3.3V,数字逻辑电源电压;VDDO:IO缓冲器电源电压+3.3V,数字逻辑和缓冲器电源电压;VSS:内核电源地,数字参考地;VSSO:IO缓冲器电源地,数字逻辑和缓冲器电源地;1.4 TMS320LF240x系列DSP存储器映射有16位地址线,可以访问3个独立的地址空间,总计192K字。
(1)程序存储器:64K字;(2)数据存储器:64K字;(3)I/O空间:64K字。
所有的片内外设寄存器均映射在数据存储器空间。
片内32K字Falsh。
片内RAM为544个字(为DARAM-双口RAM ):B0-256 个;B1-256个;B2-32个。
片内SARAM 2K字(单口RAM)。
1.5 TMS320LF240x系列DSP的CPU功能模块包括:输入定标移位器、乘法器、中央算术逻辑单元1.5 .1 输入定标移位器将来自程序/数据存储器的16位数据调整为32位数据送到中央算术逻辑单元(CALU)。
作为程序/数据存储器到CALU数据传输路径的一部分1.5 .2 乘法器16☓16硬件乘法器,单周期产生一个32位有符号或无符号乘积。
1.5 .3 中央算术逻辑单元(CALU)实现大部分的算术和逻辑运算功能。
大多数只需1个机器周期。
可进行布尔运算,使高速控制器所要求的位操作很容易。
对于大动态范围,可支持浮点操作。
对大多数指令,状态寄存器ST1的第10位符号扩展位(SXM)决定在计算时是否使用符号扩展:若SXM=0,符号扩展无效;若SXM=1,符号扩展有效。
1.5 .4 累加器(A CC)有关累加器的状态位和转移指令。
(1)进位标志位C状态寄存器ST1的第9位。
(2)溢出方式标志位OVM状态寄存器ST0的第11位。