1.MDK-ARM 4.12 建立Target1之后无法添加Source Group1

2.关于DSP2812AD样的问题

ev3仿真软件_evb硬件仿真

EVB是一个缩写,全称为“Electronic Verification Bulletin”,意为“电子验证公告”。这个名词常用于制定并公布组织的电子验证方式,以确保电子信息的真实性和准确性。在现代社会的信息爆炸时代,EV元素已经越来越重要,特别是在电子商务和在线支付的领域。EVB技术可以使电子交易更有效、更直接,同时也可以减少和欺诈的发生。

另一个常见的EVB缩写是“Enhanced Vehicular-based Battlefield”,意为“增强型车载战场系统”。这个缩写通常在军事应用和战争仿真领域使用。这个技术可以将载具和士兵的基本信息集成到一个集中控制系统中,提高军事作战的效率和准确性。军方可以通过EVB技术迅速获取战场信息,实时判断敌我位置,以及进行智能分配军力和武器。

最后,EVB还可以代表“Extensible Vee Block”,意为“可扩展的V字块”。这个技术主要应用于机器学习和人工智能领域。EVB技术可以可视化数据集管理,使数据的处理和分析更加容易和高效。它还可以促进数据科学家和开发人员之间的互动和合作,共同发现和解决技术难题,推动发展更加智能化的AI系统。

MDK-ARM 4.12 建立Target1之后无法添加Source Group1

高性能数字信号处理器TMS320LF2407A及其应用

类型:转载 作者:吴开源 黄石生 最后更新:2005-11-3 22:54:29 推荐指数: 4781

作者:吴开源 黄石生 李 阳 陆沛涛

1 引言

数字信号处理器(DSP)已经发展了20多年,最初仅在信号处理领域内应用。近年来,随着半导体技术的发展,其高速运算能力使很多复杂的控制算法和功能得以实现,同时将实时处理能力和控制器的外设功能集于一身,在控制领域内也得到很好的应用。数字控制系统克服了模拟控制系统电路功能单一、控制精度不高的缺点,它抗干扰能力强,可靠性高,可实现复杂控制,增强了控制的灵活性。

TMS320LF2407A是美国TI公司推出的新型高性能16位定点数字信号处理器,它专门为数字控制设计,集DSP的高速信号处理能力及适用于控制的优化电路于一体,在数字控制系统中得以广泛应用 [1]。本文介绍其体系结构、功能特性及其在控制领域中的应用,为数字控制系统的设计提供参考。

2 体系结构和功能特性

2.1 系统组成

TMS320LF2407A系统组成包括:40MHz、40MIPS的低电压3.3V CPU、片内存储器、管理器模块、片内集成设备[2]。其体系结构框图如图1所示。

2.2 CPU及总线结构

TMS320LF2407A的CPU是基于TMS320C2XX的16位定点低功耗内核。体系结构用四级流水线技术加快程序的执行,可在一个处理周期内完成乘法、加法和移位运算。其中央算术逻辑单元(CALU)是一个独立的算术单元,它包括一个32位算术逻辑单元(ALU)、一个32位累加器、一个16×16位乘法器(MUL)和一个16位桶形移位器,同时乘法器和累加器内部各包含一个输出移位器。完全独立于CALU的寄存器单元(ARAU)包含八个16位寄存器,其主要功能是在CALU操作的同时执行八个寄存器(AR7至AR0)上的算术运算。两个状态寄存器ST0 和ST1用于实现CPU各种状态的保存。

TMS320LF2407A用增强的哈佛结构,芯片内部具有六条16位总线,即程序地址总线(PAB)、数据读地址总线(DRAB)、数据写地址总线(DWAB)、程序读总线(PRDB)、数据读总线(DRDB)、数据写总线(DWEB),其程序存储器总线和数据存储器总线相互独立,支持并行的程序和操作数寻址,因此CPU的读/写可在同一周期内进行,这种高速运算能力使自适应控制、卡尔曼滤波、神经网络、遗传算法等复杂控制算法得以实现。

2.3 存储器配置

TMS320LF2407A地址映象被组织为三个可独立选择的空间:程序存储器(64K)、数据存储器(64K)、输入/输出(I/O)空间(64K)。这些空间提供了共192K字的地址范围。

其片内存储器包括:544字×16位的双端口数据/程序DARAM、2K字×16位的单端口数据/程序SARAM、片内32K×16位的Flash程序存储器、256字×16位片上Boot ROM、片上Flash/ROM具有可编程加密特性。

TMS320LF2407A的指令集有三种基本的存储器寻址方式:立即寻址方式、直接寻址方式、间接寻址方式。

2.4 管理器模块

TMS320LF2407A包含两个专用于电机控制的管理器模块EVA和EVB,每个管理器模块包括通用定时器(GP)、全比较单元、正交编码脉冲电路以及捕获单元。

① 通用定时器。TMS320LF2407A共有四个16位通用定时器,可用于产生样周期,作为全比较单元产生PWM输出以及软件定时的时基。通用定时器有四种可选择的操作模式:停止/保持模式、连续增计数模式、定向增/减计数模式和连续增/减计数模式。每个通用定时器都有一个相关的比较寄存器TxCMPR和一个PWM输出引脚T xPWM。每个通用定时器都可以独立地用于提┮桓鯬WM输出通道,可产生非对称或对称PWM波形,因此,四个通用定时器最多可提供4路PWM输出。

② 全比较单元。每个管理器模块有3个全比较单元(1、2和3(EVA); 4、5和6(EVB)),每个比较单元各有一个 16位比较寄存器 CMPRx,各有两个CMP / PWM输出引脚,可产生2路 PWM输出信号控制功率器件,其输出引脚极性由控制寄存器 (ACTR)的控制位来决定,根据需要,选择高电平或低电平作为开通信号,通过设置T1为不同工作方式,可选择输出对称PWM波形、非对称PWM波形或空间矢量PWM波形。

死区控制单元 (DBTCON)用来产生可编程的软件死区,使得受每个全比较单元的两路CMP / PWM输出控制的功率器件的间次开启周期间没有重叠,最大可编程的软件死区时间达16μs。

③ 正交编码脉冲电路。正交编码脉冲(QEP)电路可以对引脚CAP1/QEP1和CAP2/QEP2上的正交编码脉冲进行解码和计数,可以直接处理光电编码盘的2路正交编码脉冲,正交编码脉冲包含两个脉冲序列,有变化的频率和四分之一周期(90°)的固定相位偏移,对输入的2路正交信号进行鉴相和4倍频。通过检测2路信号的相位关系可以判断电机的正/反转,并据此对信号进行加/减计数,从而得到当前的计数值和计数方向,即电机的角位移和转向,电机的角速度可以通过脉冲的频率测出。

④ 捕获单元。捕获单元用于捕获输入引脚上信号的跳变,两个管理器模块总共有六个捕获单元。EVA模块有三个捕获单元引脚CAP1、CAP2和CAP3,它们可以选择通用定时器1或2作为时基,但CAP1和CAP2一定要选择相同的定时器作为时基;EVB模块也有三个捕获单元引脚CAP4、 CAP5和CAP6,它们可以选择通用定时器3或4作为时基,但CAP4和CAP5一定要选择相同的定时器作为时基。每个单元各有一个两级的FIFO缓冲堆栈。当捕获发生时,相应的中断标志被置位,并向CPU发中断请求。

2.5 片内集成外设

TMS320LF2407A片内集成了丰富的外设,大大减少了系统设计的元器件数量。

① 串行通信口。TMS320LF2407A设有一个异步串行外设通信口(SCI)和一个同步串行外设通讯口(SPI),用于与上位机、外设及多处理器之间的通信。SCI即通用异步收发器(UART)支持 RS-232和RS-485的工业标准全双工通信模式,用来与上位机的通信;SPI可用于同步数据通信,典型应用包括TMS320LF2407A之间构成多机系统和外部I/O扩展,如显示驱动。

② A/D转换模块。包括两个带样/保持的各8路10位A/D转换器,具有自动排序能力,一次可执行最多16个通道的自动转换,可工作在8个自动转换的双排序器工作方式或一组16个自动转换通道的单排序器工作方式。A/D转换模块的启动可以有管理器模块中的源启动、外部信号启动、软件立即启动等三种方式。

③ 控制器区域网(CAN)。是现场总线的一种,主要用于各种设备的监测及控制。TMS320LF2407A片上CAN控制器模块是一个16位的外设模块,该模块完全支持CAN2.0B协议,6个邮箱(其中0、1用于接收;4、5用于发送;2、3可配置为接收或发送)每次可以传送0~8个字节的数据,具有可编程的局部接收屏蔽、位传输速率、中断方案和总线唤醒、超强的错误诊断、自动错误重发和远程请求回应、支持自测试模式等功能。

CAN总线通信可靠性高,节点数有110个,传输速度高达1Mb/s(此时距离最长为40m),直接通信距离可达10km(速率5kb/s以下),用双绞线差动方式进行通信,有很强的抗干扰能力。

④ 锁相环电路(PLL)和等待状态发生器。前者用于实现时钟选项;后者可通过软件编程产生用于用户需要的等待周期,以配合低速器件的使用。

⑤ 看门狗定时器与实时中断定时器。均为8位增量计数器,前者用于监控系统软件和硬件工作,在CPU出错时产生复位信号;后者用于产生周期性的中断请求。

⑥ 外部存储器接口。可扩展为192K字×16位的最大可寻址存储器空间(64K字程序存储器、 64K字数据存储器、64K字I/O空间)。

⑦ 数字I/O。TMS320LF2407A有40个通用、双向的数字I/O引脚,其中大多数都是基本功能和一般I/O复用引脚。

⑧ JT接口。由于TMS320LF2407A结构复杂、工作速度快、外部引脚多、封装面积小、引脚排列密集等原因,传统的并行仿真方式已不适合于TMS320LF2407A的开发应用。TMS320LF2407A 具有符合IEEE1149.1规范的5线JT(边界扫描逻辑)串行仿真接口,能够极其方便地提供硬件系统的在线仿真和测试。

⑨ 外部中断。有五个外部中断(功率驱动保护、复位、不可屏蔽中断NMI及两个可屏蔽中断)。

3 主要应用

TMS320LF2407A为高性能的控制提供先进、可靠、高效的信号处理与控制的平台,它将数字信号处理的运算能力与面向高性能控制的能力集于一体,可以实现用软件取代模拟器件,可方便地修改控制策略,修正控制参数,兼具故障监测、自诊断和上位机管理与通信等功能,将成为控制系统开发的主流处理器 [3],可广泛应用于:工业电机驱动;能量交换器如UPS、通信电源;自动化系统如电力控制、抗锁死制动;磁盘/光盘伺服控制和大容量存储产品;打印机、复印机和其他办公产品;仪器、仪表;机器人控制。

TMS320LF2407A被广泛用于数字化控制中,一个基于DSP的逆变电源控制系统原理框图见图2。系统主要由DSP(TMS320LF2407A)、电压电流反馈、PWM驱动放大电路、键盘显示及上位机组成。当DSP接受主机发出的参考输入后,将其转换为PWM输出,经过驱动放大送给逆变主电路,产生输出。逆变电路输出的电压、电流反馈信号送入A/D转换器引脚。通过光电编码器检测电机的转动方向及转角,反馈回DSP的正交编码脉冲电路(QEP),形成闭环控制,实时有效地控制交流电机。键盘和显示由SPI同步串行口实现,用于读取键盘输入和写输出到显示器。DSP与上位机之间的通信由SCI异步串行口实现。JT接口用于系统的在线仿真和测试。

4 结束语

随着工业控制性能要求的提高,控制方案的选择变得越来越关键,逐步形成了由数字控制代替模拟控制的局面。TMS320LF2407A为数字控制应用提供了理想的解决方案.

关于DSP2812AD样的问题

9G-CM0 新唐CM0+MDK-ARM入门开发过程简介

一,准备MDK-ARM + 新唐CM0软件包

1,在://.mcu123/news/Soft/embsof/arm/201006/529.html

下载RealView MDK-ARM 4.12 (MDK-ARM V4.12,MDK4.12)

mdk412_mcu123.rar

在://.mcu123/news/Soft/ShowSoftDown.asp?UrlID=3&SoftID=529上

右击“下载地址:”后的“下载”选择“目标另存为”下载文件到本地硬盘。

(自己查找破解文件“keygen.exe”)

://esoft.mcu123/MCU123_temp_20100103@/arm/mdk412_mcu123.rar

2,在://.nuvoton/NuvotonMOSS/Community/ProductInfo.aspx?tp_GUID=403a9c50-52c2-4463-9057-2595190602c5 上

上下载 “NUC1xx Keil ICE driver (Build 3814) V1.01.zip”

NUC1xxKeilICEdriverBuild3814V101.zip

://.nuvoton/hq/enu/ProductAndSales/ProductLines/ConsumerElectronicsIC/ARMMicrocontroller/ARMCortexTMM0/Documents/NUC1xxKeilICEdriverBuild3814V101.zip

下载“NUC1xx Nu-Tiny-EVB and Nu-Link-Me Board user manual EN v1.0.pdf”文档

NUC1xxNuTinyEVBandNuLinkMeBoardusermanualENv10.pdf

://.nuvoton/hq/enu/ProductAndSales/ProductLines/ConsumerElectronicsIC/ARMMicrocontroller/ARMCortexTMM0/Documents/NUC1xxNuTinyEVBandNuLinkMeBoardusermanualENv10.pdf

下载“NUC1xx Nu-Link-Me_001 Board Schematic v1.0.pdf”文档

NUC1xxNuLinkMe_001BoardSchematicv10.pdf

://.nuvoton/hq/enu/ProductAndSales/ProductLines/ConsumerElectronicsIC/ARMMicrocontroller/ARMCortexTMM0/Documents/NUC1xxNuLinkMe_001BoardSchematicv10.pdf

下载“NUC1xx Nu-Tiny-EVB_001 Board Schemetic v1.0.pdf”文档

NUC1xxNuTinyEVB_001BoardSchemeticv10.pdf

://.nuvoton/hq/enu/ProductAndSales/ProductLines/ConsumerElectronicsIC/ARMMicrocontroller/ARMCortexTMM0/Documents/NUC1xxNuTinyEVB_001BoardSchemeticv10.pdf

3,在://.nuvoton/NuvotonMOSS/Community/ProductInfo.aspx?tp_GUID=7052964b-b71b-46b7-91b2-221afeddd575上

上下载 “NUC1xxBSP_v1.1.1.zip”

NUC1xxBSP_v111.zip

://.nuvoton/NuvotonMOSS/Community/ProductInfo.aspx?tp_GUID=38a57efd-e9f8-4809-a585-21e62f8b6041

4,新唐官方资料网址

新唐CM0官方资料主页

://.nuvoton/hq/chs/Pages/default.aspx

新唐CM0主页资料入口

ARM单片机 -> ARM Cortex?-M0 单片机 NuMicro? 家族

新唐CM0主页资料网址

://.nuvoton/NuvotonMOSS/Community/ProductInfo.aspx?tp_GUID=30cfcae5-0f93-414d-a8df-b3bac8b932a2

新唐CM0在线选型工具

://.nuvoton/hq/enu/ProductAndSales/ProductLines/ConsumerElectronicsIC/ARMMicrocontroller/ARMCortexTMM0/Pages/SelectGuide.aspx

新唐CM0在线培训教程

://.nuvoton/hq/enu/ProductAndSales/ProductLines/ConsumerElectronicsIC/ARMMicrocontroller/ARMCortexTMM0/Pages/OnLineTraining.aspx

二,建立CM0的MDK-ARM+Nu-LINK开发环境

1,双击“mdk412_mcu123.rar”运行里面的“MDK412.exe”,一路的“NEXT”再“NEXT”,最后就会安装MDK-ARM 4.12到电脑上,将会在桌面产生Keil uVision4的快捷方式;

2,双击“keygen.exe”,把“uVision4”的“File->License Management”菜单里面的“CID”复制到keygen里面的CID框中,选择“TARGET”为“ARM”后点击“Generate”,把

产生的序列号复制到前面“uVision4”的窗口中的“LIC”框中,点击“ADD LIC”便会解除编译限制;

3,双击“NUC1xxKeilICEdriverBuild3814V101.zip ”运行里面的“Nu-Link_Driver.EXE”,便会在KEIL目录中安装上相关的“Nu-LINK”的驱动。

三,建立CM0的MDK-ARM基本工程

1,在电脑开始菜单中打开“Keil uVision4”,在“uVision4”的IDE菜单中选择“Project”->“New uVision Project”创建一个新工程,在“Create New Project”选择存储目录

到D:\works\9G-CM0\nuc140\project下面,工程名叫“nuc140.uvproj”;

2,接着在“select a CPU Data Base File”菜单中选择“NUVOTON NUC1XX Devices”点击“OK”,选择“Nuvoton”公司下面的“NUC140VE3AN”点击“OK”后确认复制启动代码“startup_NUC1xx.s”和

加入到工程项目中,即可产生一个空工程,再点击全部保存项目,会D:\works\9G-CM0\nuc140\project目录中发现“nuc140.uvproj”和“nuc140.uvopt”,“startup_NUC1xx.s”等文件;

3,在“D:\works\9G-CM0\nuc140”下建立文件夹“include”,“driver”,“library”,“source”,等子目录,解压“NUC1xxBSP_v111.zip”,把里面的目录“NUC1xxBSP”解压到“library”里面,在D:\works\9G-CM0\nuc140\project

下建立子目录“obj”和“lst”;

4,在“uVision4”的IDE菜单中选择“Project”->“Manage”->“Components,Environment,Books”打开“Components,Environment,Books”页面里的“Project Components”,

双击“Target1”改名为“NUC140”,双击“Source Group 1”改名为“boot”再添加“lib”“drv”“src”“inc”等目录后确定。

5,在“uVision4”的IDE菜单中选择“File”->“New”后选择“File”->“Se”把新建立的文件保存到D:\works\9G-CM0\nuc140\source,文件名为“main.c”,右击项目窗口中的“src”选择“Add Files

to Group 'src'”并在“main.c”中填入下面内容:

#include <NUC1xx.H> /* NUC1xx definitions */

void SystemInit(void){}

void GPIO_Init(void){ NUC_GPIOC->;PMD = 0x00005555;} /* LEDs on PORT C defined as Output */

int main(void)

{

int i;

GPIO_Init();

while(1)

{

for(i=0;i<1000000;i++); NUC_GPIOC->DOUT &= 0xFFFFFF00; /* switch on LEDs */

for(i=0;i<1000000;i++); NUC_GPIOC->DOUT |= 0x000000FF; /* switch off LEDs */

}

}

三,配置CM0的MDK-ARM基本工程

1,在“uVision4”的IDE菜单中选择“Project”->“Opitions for Target ‘NUC140’”,在“Output”页面勾选“Create HEX File”,并在“Select Folder Objects”指定目录到“D:\works\9G-CM0\nuc140\project\obj”,

后点击“OK”,同样在“Listing”中在“Select Folder Listings”指定目录到“D:\works\9G-CM0\nuc140\project\lst”;

2,在“Opitions for Target ‘NUC140’”的“Debug”页面选择用硬件仿真器“Nu-Link Debugger”勾选“Run to main{}”,在“Utilities”页面选择“Use Target Driver for Flash Programming”用

“Nu-Link Debugger”勾选上“Update Target before Debugging”后在“Setting”里面的“Configure”,确保用内置22M晶体,和从“APROM”启动及低压检测电压值等配置选项后点击“OK”再“OK”退出;

3,在“Opitions for Target ‘NUC140’”的“C/C++”页面的“Include Paths”中填入“C:\Keil\ARM\INC\Nuvoton\NUC1xx”

四,调试CM0的MDK-ARM基本工程

1,点击在“uVision4”的IDE菜单中选择“Flash”->“Download”便会自己编译代码生成HEX文件并下载到目标板子中;

2,点击在“uVision4”的IDE菜单中选择“Debug”->“Start/Stop Debug session”进入调试状态,然后选择“Debug”->“Run”,全速运行,可以看到IO口上的LED在闪烁。

四,建立CM0的MDK-ARM高级工程

ADCLO应该接模拟地。如果模拟地干扰大,结果也相当不准确:我的板子ADCLO接了模拟地,由于模拟地干扰大,集到的数据范围有1000多的随机变化。如果ADCLO不接地悬空,集结果就不正确。我也将ADCLO悬空测过,我的为1V左右,有时为2V左右。