SEED-DPS2812M_Test
2812函数说明
……
六、 片内 SCI 异步串口模块使用函数 说明:‘F2812 片内有 2 个 SCI 模块,可以用做 UART 串口。
具体例程参见 DSP28_Sci.c 文件
1、头文件: DSP28_Sci.h
2、函数列表:
InitSci () –初始化 SCI 模块;
/* 初始化 McBSP*/ InitMcbsp ();
……
2)
函数声明: unsigned int Mcbsp_TxRdy(void)
函数功能: McBSP 数据发送 BUFFER 准备好?
参 数: 无
返 回 值: 1: 准备好
例:
0: 未准备好
#include "DSP28_Mcbsp.h"
……
3、函数详细说明:
1) 函数声明: void InitPieCtrl (void) 函数功能: 初始化 DSP 系统的 PIE 中断矢量表 参 数: 无 返 回 值: 无 例: #include < DSP28_PieCtrl.h > …… /* 初始化系统的 PIE 中断矢量表 */ InitPieVectTable ();
#include "DSP28_Mcbsp.h"
……
/* McBSP 数据接收 BUFFER 内有数据吗? */
if(Mcbsp_RxRdy () == 1) {
…… } ……
九、 CPUTIMER 时钟使用函数 说明:‘F2812 片内有 3 个 32 位 CPUTIMER 模块,可以通过对 CPUTIMER 的设置,来设定定时中断。
/* 初始化 SPI */ InitSpi ();
浅谈2812事件管理器的功率保护模块
浅谈2812事件管理器的功率保护模块2014.8.28杨康佳今天用示波器看了下EV 模块输出的PWM 波形,顺便试了一下它的保护切断输出功能,发现了一些意想不到的问题,对我自己来说也好像是开发了一块新大陆。
首先遇到的问题是,死区的设置,发现设置死区后,实际的死区时间总是只有我计算出的一半。
后面我才发现,我之所以在这里犯错是因为我相信了中文文档。
因为它给出的公式根本就是有问题的,这是我对比英文文档发现的,英文文档其实没有给出公式,只是给了表格用来查询,但是可以总结出公式。
死区无非就是操作3个寄存器:EvaRegs.DBTCONA .bit .DBT EvaRegs.DBTCONA .bit .EDBTxEvaRegs.DBTCONA .bit .DBTPS第一个寄存器的解释是:Dead-band timer period. These bits define the period value of the three 4-bit dead-band timers.也就是死区周期寄存器,我把它设置为m 。
第二个寄存器的解释是:Dead-band timer x enable 。
也就是使能位,x 表示到底是对那一个比较单元设置的死区。
第三个寄存器的解释是:Dead-band timer prescaler 。
也就是死区定时器的预定标。
设为p在这里也不多做解释,只列出我的到的公式:P H SPCLK BD m T T 2⨯⨯=T BD 是死区时间,T HSPCLK 是高速预定标器的周期值,m 是上面的寄存器设置的值,p 也是寄存器设置的值。
关于这部分就到这里了。
下面说功率保护部分的问题,EV 能输出的PWM 的引脚就16个,包括通用定时器1、2、3、4,PWM1~6,PWM7~12。
所以每一路都有功率保护功能。
因为EVB 和EV A 完全一样的,所以只说明EV A 。
具体是:1,先谈通用定时器的PWM 输出的保护控制通用定时器1和2的PWM 输出使能的寄存器有:GPTCONA[TCMPOE]、GPTCONA[TxCTRIPE]、GPTCONA[TxCMPOE](有x 的地方x=1或2)。
DSP2812实验指导书第二部分_图文(精)
第2章F2812-A评估板硬件使用指导2.1 F2812-A评估板技术指标主处理芯片:TMS320F2812,运行速度为150M;工作速度可达150MIPS;片上RAM 18k*16bit;片上扩展RAM存贮空间64K×16Bit;自带16路12bit A/D,最大采样速率12.5msps;4路的DAC7617转换,100K/S,12Bit;两路UART串行接口,符合RS232标准;16路PWM输出;1路CAN接口通讯;片上128*16bit FLASH,自带128位加密位;设计有用户可以自定义的开关和测试指示灯;4组标准扩展连接器,为用户进行二次开发提供条件;具有IEEE1149.1相兼容的逻辑扫描电路,该电路仅用于测试和仿真; +5V电源输入,内部+3.3V、+1.6V电源管理;4层板设计工艺,工作稳定可靠;具有自启动功能设计,可以实现脱机工作;可以选配多种应用接口板,包括语音板,网络板等。
2.2 F2812 –A 评估板原理图和实物图一. F2812-A 评估板实物图图2.2.2 F2812-A 器件分布图图2.2.1 F2812-A 评估板实物图二. F2812-A 器件分布图图1.2 ICETEK-F2812-A 器件分布图三.F2812-A评估板原理框图图2.2.3 F2812-A评估板原理框图2.3 F2812-A评估板接口说明以下将详细说明这些外围接口的功能和特征定义。
首先,表2-3-1 归纳总结了这些跳线和功能分类,接口位置请参考图2.2.1表2-3-1:接口和功能分类下面将分别介绍这些接口:1. +5v 电源插座: 这个接口用于接入为整个板子供电的电源,电源电压为+5V ,标准配置的电源电流为1A ,如果不使用随板提供的电源,请注意电源的正负极性和电流的大小。
下面是这个接口的插孔示意图:+5V地(GND图2.3.1 电源插孔示意图2. 标准RS-232: 9针D 型连接器,异步串口连接器,符合RS-232规范,输出电平为正负12V .下面是9针连接器的管脚定义:图2.3.2 异步串口连接器示意图3.P1扩展插座:34芯扩展总线接口。
SEED-DEC2812函数说明1
一在DSP28_device.H中定义了如下内容://在各个”.H”函数中,主要是对DSP中各个寄存器的结构进行了定义,相应的文件名对应相//应的寄存器extern cregister volatile unsigned int IFR;extern cregister volatile unsigned int IER;#define EINT asm(" clrc INTM")#define DINT asm(" setc INTM")#define ERTM asm(" clrc DBGM")#define DRTM asm(" setc DBGM")#define EALLOW asm(" EALLOW")#define EDIS asm(" EDIS")#define ESTOP0 asm(" ESTOP0")#define M_INT1 0x0001#define M_INT2 0x0002#define M_INT3 0x0004#define M_INT4 0x0008#define M_INT5 0x0010#define M_INT6 0x0020#define M_INT7 0x0040#define M_INT8 0x0080#define M_INT9 0x0100#define M_INT10 0x0200#define M_INT11 0x0400#define M_INT12 0x0800#define M_INT13 0x1000#define M_INT14 0x2000#define M_DLOG 0x4000#define M_RTOS 0x8000#define BIT0 0x0001#define BIT1 0x0002#define BIT2 0x0004#define BIT3 0x0008#define BIT4 0x0010#define BIT5 0x0020#define BIT6 0x0040#define BIT7 0x0080#define BIT8 0x0100#define BIT9 0x0200#define BIT10 0x0400#define BIT11 0x0800#define BIT12 0x1000#define BIT13 0x2000#define BIT14 0x4000#define BIT15 0x8000//---------------------------------------------------------------------------// For Portability, User Is Recommended To Use Following Data Type Size// Definitions For 16-bit and 32-Bit Signed/Unsigned Integers:Typedef int int16;typedef long int32;typedef unsigned int Uint16;typedef unsigned long Uint32;//---------------------------------------------------------------------------// Include All Peripheral Header Files:#include "DSP28_GlobalPrototypes.h" // Prototypes for global functions within the// .c files.#include "DSP28_SysCtrl.h" // System Control/Power Modes#include "DSP28_DevEmu.h" // Device Emulation Registers#include "DSP28_Xintf.h" // External Interface Registers#include "DSP28_CpuTimers.h" // 32-bit CPU Timers#include "DSP28_PieCtrl.h" // PIE Control Registers#include "DSP28_PieVect.h" // PIE Vector Table#include "DSP28_DefaultIsr.h" // Software Prioritization for PIE Interrupts#include "DSP28_Spi.h" // SPI Registers#include "DSP28_Sci.h" // SCI Registers#include "DSP28_Mcbsp.h" // McBSP Registers#include "DSP28_ECan.h" // Enhanced eCAN Registers#include "DSP28_Gpio.h" // General Purpose I/O Registers#include "DSP28_Ev.h" // Event Manager Registers#include "DSP28_Adc.h" // ADC Registers#include "DSP28_XIntrupt.h" // External Interrupts二在文件DSP28_GlobalPrototypes.H中定义了如下函数:/*---- shared global function prototypes -----------------------------------*/extern void InitAdc(void);extern void InitDevEmu(void);extern void InitDevice(void);extern void InitECana(void);extern void InitEv(void);extern void InitGpio(void);extern void InitMcbsp(void);extern void InitPieCtrl(void);extern void InitPieVectTable(void);extern void InitSci(void);extern void InitSpi(void);extern void InitSysCtrl(void);extern void InitXintf(void);extern void InitXIntrupt(void);extern void KickDog(void);三在DSP28_CpuTimers.H中定义了如下函数:void ConfigCpuTimer(struct CPUTIMER_V ARS *Timer, float Freq, float Period);//---------------------------------------------------------------------------// Usefull Timer Operations:// Start Timer:#define StartCpuTimer0() CpuTimer0Regs.TCR.bit.TSS = 0#define StartCpuTimer1() CpuTimer1Regs.TCR.bit.TSS = 0#define StartCpuTimer2() CpuTimer2Regs.TCR.bit.TSS = 0// Stop Timer:#define StopCpuTimer0() CpuTimer0Regs.TCR.bit.TSS = 1#define StopCpuTimer1() CpuTimer1Regs.TCR.bit.TSS = 1#define StopCpuTimer2() CpuTimer2Regs.TCR.bit.TSS = 1// Reload Timer With period Value:#define ReloadCpuTimer0() CpuTimer0Regs.TCR.bit.TRB = 1#define ReloadCpuTimer1() CpuTimer1Regs.TCR.bit.TRB = 1#define ReloadCpuTimer2() CpuTimer2Regs.TCR.bit.TRB = 1// Read 32-Bit Timer Value:#define ReadCpuTimer0Counter() CpuTimer0Regs.TIM.all#define ReadCpuTimer1Counter() CpuTimer1Regs.TIM.all#define ReadCpuTimer2Counter() CpuTimer2Regs.TIM.all// Read 32-Bit Period Value:#define ReadCpuTimer0Period() CpuTimer0Regs.PRD.all#define ReadCpuTimer1Period() CpuTimer1Regs.PRD.all#define ReadCpuTimer2Period() CpuTimer2Regs.PRD.all四在DSP28_GlobalVariableDefs.c中定义了如下内容://#pragma DATA_SECTION()伪指令将cmd文件中的段与H文件中定义的结构体一一对应#include "DSP28_Device.h"#pragma DATA_SECTION(AdcRegs,"AdcRegsFile");volatile struct ADC_REGS AdcRegs;#pragma DATA_SECTION(CpuTimer0Regs,"CpuTimer0RegsFile");volatile struct CPUTIMER_REGS CpuTimer0Regs;#pragma DATA_SECTION(CpuTimer1Regs,"CpuTimer1RegsFile");volatile struct CPUTIMER_REGS CpuTimer1Regs;#pragma DATA_SECTION(CpuTimer2Regs,"CpuTimer2RegsFile");volatile struct CPUTIMER_REGS CpuTimer2Regs;#pragma DATA_SECTION(ECanaRegs,"ECanaRegsFile");volatile struct ECAN_REGS ECanaRegs;#pragma DATA_SECTION(ECanaMboxes,"ECanaMboxesFile");volatile struct ECAN_MBOXES ECanaMboxes;#pragma DATA_SECTION(EvaRegs,"EvaRegsFile");volatile struct EV A_REGS EvaRegs;#pragma DATA_SECTION(EvbRegs,"EvbRegsFile");volatile struct EVB_REGS EvbRegs;#pragma DATA_SECTION(GpioDataRegs,"GpioDataRegsFile");volatile struct GPIO_DATA_REGS GpioDataRegs;#pragma DATA_SECTION(GpioMuxRegs,"GpioMuxRegsFile");volatile struct GPIO_MUX_REGS GpioMuxRegs;#pragma DATA_SECTION(McbspaRegs,"McbspaRegsFile");volatile struct MCBSP_REGS McbspaRegs;#pragma DATA_SECTION(PieCtrl,"PieCtrlRegsFile");volatile struct PIE_CTRL_REGS PieCtrl;#pragma DATA_SECTION(PieVectTable,"PieVectTable");struct PIE_VECT_TABLE PieVectTable;#pragma DATA_SECTION(SciaRegs,"SciaRegsFile");volatile struct SCI_REGS SciaRegs;#pragma DATA_SECTION(ScibRegs,"ScibRegsFile");volatile struct SCI_REGS ScibRegs;#pragma DATA_SECTION(SpiaRegs,"SpiaRegsFile");volatile struct SPI_REGS SpiaRegs;#pragma DATA_SECTION(SysCtrlRegs,"SysCtrlRegsFile");volatile struct SYS_CTRL_REGS SysCtrlRegs;#pragma DATA_SECTION(DevEmuRegs,"DevEmuRegsFile");volatile struct DEV_EMU_REGS DevEmuRegs;#pragma DATA_SECTION(CsmRegs,"CsmRegsFile");volatile struct CSM_REGS CsmRegs;#pragma DATA_SECTION(CsmPwl,"CsmPwlFile");volatile struct CSM_PWL CsmPwl;#pragma DATA_SECTION(FlashRegs,"FlashRegsFile");volatile struct FLASH_REGS FlashRegs;#pragma DATA_SECTION(XintfRegs,"XintfRegsFile");volatile struct XINTF_REGS XintfRegs;#pragma DATA_SECTION(XIntruptRegs,"XIntruptRegsFile");volatile struct XINTRUPT_REGS XIntruptRegs;五各应用函数的定义:1)DSP28_SysCtrl.cvoid InitSysCtrl(void)void KickDog(void)2)DSP28_DevEmu.c // Device Emulation Registers3)DSP28_Xintf.c // External Interface Registersvoid InitXintf(void)4)DSP28_CpuTimers.c // 32-bit CPU Timersvoid InitCpuTimers(void)void ConfigCpuTimer(struct CPUTIMER_V ARS *Timer, float Freq, float Period) 5)DSP28_PieCtrl.c // PIE Control Registersvoid InitPieCtrl(void)6)DSP28_PieVect.c // PIE Vector Tablevoid InitPieVectTable(void)7)DSP28_DefaultIsr.c // Software Prioritization for PIE Interrupts 包括各个中断函数的服务程序8)DSP28_Spi.c // SPI Registersvoid InitSpi(void)9)DSP28_Sci.c // SCI Registersvoid InitSci(void)10)DSP28_Mcbsp.c // McBSP Registersvoid InitMcbsp(void)11)DSP28_ECan.c // Enhanced eCAN Registersvoid InitECan(void)12)DSP28_Gpio.c // General Purpose I/O Registers void InitGpio(void)13)DSP28_Ev.c // Event Manager Registersvoid InitEv(void)14)DSP28_Adc.c // ADC Registersvoid InitAdc(void)15)DSP28_XIntrupt.c // External Interruptsvoid InitXIntrupt(void)16)DSP28_InitPeripherals.c //此函数中包括了对各个外设的初始化函数void InitPeripherals(void)六在SEED-DEC2812中SRAM.cmd内容:MEMORY{PAGE 0 :PRAMH0 : origin = 0x3f8000, length = 0x001000PAGE 1 :/* SARAM */RAMM0 : origin = 0x000000, length = 0x000400RAMM1 : origin = 0x000400, length = 0x000400/* Peripheral Frame 0: */DEV_EMU : origin = 0x000880, length = 0x000180FLASH_REGS : origin = 0x000A80, length = 0x000060CSM : origin = 0x000AE0, length = 0x000010XINTF : origin = 0x000B20, length = 0x000020CPU_TIMER0 : origin = 0x000C00, length = 0x000008CPU_TIMER1 : origin = 0x000C08, length = 0x000008CPU_TIMER2 : origin = 0x000C10, length = 0x000008PIE_CTRL : origin = 0x000CE0, length = 0x000020PIE_VECT : origin = 0x000D00, length = 0x000100/* Peripheral Frame 1: */ECAN_A : origin = 0x006000, length = 0x000100ECAN_AMBOX : origin = 0x006100, length = 0x000100/* Peripheral Frame 2: */SYSTEM : origin = 0x007010, length = 0x000020SPI_A : origin = 0x007040, length = 0x000010SCI_A : origin = 0x007050, length = 0x000010XINTRUPT : origin = 0x007070, length = 0x000010 GPIOMUX : origin = 0x0070C0, length = 0x000020 GPIODAT : origin = 0x0070E0, length = 0x000020 ADC : origin = 0x007100, length = 0x000020 EV_A : origin = 0x007400, length = 0x000040 EV_B : origin = 0x007500, length = 0x000040 SPI_B : origin = 0x007740, length = 0x000010SCI_B : origin = 0x007750, length = 0x000010MCBSP_A : origin = 0x007800, length = 0x000040 /* CSM Password Locations */CSM_PWL : origin = 0x3F7FF8, length = 0x000008 /* SARAM */DRAMH0 : origin = 0x3f9000, length = 0x001000 }SECTIONS{/* Allocate program areas: */.reset : > PRAMH0, PAGE = 0.text : > PRAMH0, PAGE = 0.cinit : > PRAMH0, PAGE = 0/* Allocate data areas: */.stack : > RAMM1, PAGE = 1.bss : > DRAMH0, PAGE = 1.ebss : > DRAMH0, PAGE = 1.const : > DRAMH0, PAGE = 1.econst : > DRAMH0, PAGE = 1.sysmem : > DRAMH0, PAGE = 1/* Allocate Peripheral Frame 0 Register Structures: */ DevEmuRegsFile : > DEV_EMU, PAGE = 1FlashRegsFile : > FLASH_REGS, PAGE = 1CsmRegsFile : > CSM, PAGE = 1XintfRegsFile : > XINTF, PAGE = 1CpuTimer0RegsFile : > CPU_TIMER0, PAGE = 1CpuTimer1RegsFile : > CPU_TIMER1, PAGE = 1CpuTimer2RegsFile : > CPU_TIMER2, PAGE = 1PieCtrlRegsFile : > PIE_CTRL, PAGE = 1PieV ectTable : > PIE_VECT, PAGE = 1/* Allocate Peripheral Frame 2 Register Structures: */ ECanaRegsFile : > ECAN_A, PAGE = 1ECanaMboxesFile : > ECAN_AMBOX PAGE = 1 /* Allocate Peripheral Frame 1 Register Structures: */ SysCtrlRegsFile : > SYSTEM, PAGE = 1SpiaRegsFile : > SPI_A, PAGE = 1SciaRegsFile : > SCI_A, PAGE = 1XIntruptRegsFile : > XINTRUPT, PAGE = 1GpioMuxRegsFile : > GPIOMUX, PAGE = 1 GpioDataRegsFile : > GPIODAT PAGE = 1 AdcRegsFile : > ADC, PAGE = 1EvaRegsFile : > EV_A, PAGE = 1EvbRegsFile : > EV_B, PAGE = 1ScibRegsFile : > SCI_B, PAGE = 1McbspaRegsFile : > MCBSP_A, PAGE = 1 /* CSM Password Locations */CsmPwlFile : > CSM_PWL, PAGE = 1 }。
SEED-DTK2812实验讲义
DSP原理及应用实验讲义(SEED-DTK2812 )黄山学院信息工程学院2012-2目录第一章实验系统介绍1.1 SEED-DTK2812的原理框图 (3)1.2试验箱的整体配置与特点 (4)1.3 实验箱功能实现 (5)1.3.1 SEED-DTK2812 (5)1.3.2 SEED-Mboard (5)第二章实验2.1 CCS使用实验实验一CCS使用和调试 (7)2.2片上资源应用实验实验二SRAM读写实验 (19)实验三定时器控制实验 (22)2.3 DEC板卡应用实验实验四交通灯实验 (26)2.4 DSP算法实验实验五线性卷积算法的实现 (30)实验六快速傅立叶变换(FFT)算法实验 (35)实验七无限冲击响应滤波器(IIR)算法实验 (40)实验八有限冲击响应滤波器(FIR)算法实验 (46)2第1章实验系统介绍1.1 系统概述SEED-DTK(DSP Teaching Kit)是一套可以满足大学本科、研究生和教师科研工作的综合实验设备。
SEED-DTK是我公司在总结以往产品的基础上,以独特的多DSP结构、强大的DSP主板功能、丰富的外围实验电路、精心设计的实验程序、精湛的产品工艺形成的高性能产品。
本文档主要介绍的是SEED-DTK2812实验箱,它由SEED-DEC2812板卡以及SEED-DTK_MBoard构成;其中主控板是我公司生产的SEED-DEC2812,母板是我公司生产的SEED-DTK_MBoard板卡。
此外,该款实验箱还可配置DSK板卡、图像处理卡等多种子卡。
1.1.1 SEED-DTK2812实验箱实验例程SEED_DEC2812板卡实验例程1. CCS软件应用实验:介绍CCS的使用,编写简单的实验例程。
2. DSP片上资源应用实验本部分例程介绍的是DSP的片上资源。
3. SEED_DEC2812板卡应用实验SEED_DEC2812板卡与实验箱资源的应用实验。
包括:异步、同步串口通讯;扩展I/O口使用;AD/DA的使用。
2812DSP实验指导书
实验指导书数字信号处理E300型教学实验系统Tech_v F2812漆为民、何立言、于军目录第一章实验系统介绍 (3)1.1 EL-DSP-E300型DSP实验系统介绍 (3)1.2 Techv_2812CPU板介绍 (13)第二章调试软件安装说明 ...................................................................... 错误!未定义书签。
2.1 CCS的简介 ............................................ 错误!未定义书签。
2.2 CCS3.1软件的安装 ..................................... 错误!未定义书签。
3.3 CCS3.1软件的设置(以F2812为例) ..................... 错误!未定义书签。
第三章硬件安装说明 .............................................................................. 错误!未定义书签。
3.1 DSP硬件仿真器的安装 .................................. 错误!未定义书签。
3.2 DSP硬件仿真器的使用 .................................. 错误!未定义书签。
E300样例实验说明 ..................................................................................... 错误!未定义书签。
第四章常规实验指导 ................................................................................ 错误!未定义书签。
DSP2812-实验要求以及参考程序
实验一DSP数据存取实验实验要求:1、找到main函数入口地址4、观察从地址0x80000到0x80007的存储内容操作步骤:1、打开Setup CCStudio v3.3 ,系统配置为F2812 Device Simultor2、打开CCStudio v3.3,打开工程F2812\DSP281x_examples\Lab0201-Memory\Memory.pjt3、在main函数处设断点(F9),运行程序4、打开反汇编窗口(View>Disassembly),观察入口地址5、修改Memory.c中程序,完成存储区数据修改6、编译通过,加载.out 文件7、设置在变量定义处设置断点,点击运行(F5),单步运行(F11)8、打开观察窗(View>Watch Window)观察自己所设变量在单步运行时变化9、打开存储区窗口(View>Memory)观察地址为0x80000到0x80007的数据变化实验二指示灯与拨码开关实验实验要求:1、熟悉板上指示灯控制寄存器、开关控制寄存器2、指示灯点亮规则:只闭合拨码开关1:全灭;只闭合拨码开关2:全亮;只闭合拨码开关3: 顺序依次点亮;只闭合拨码开关4:反向顺序依次点亮;开关的其它状态:全灭;操作步骤:1、打开Setup CCStudio v3.3 ,系统配置为F2812 XDS510 Emulator_12、打开CCStudio v3.3,打开工程F2812\DSP281x_examples\Lab0201-Memory\led.pjt3、修改led.c,注意板上DIP开关控制寄存器地址为C0001h,板上指示灯控制寄存器地址为:C0000h。
这两个寄存器都是低四位有效。
4、观察实验现象实验三DSP定时器实验要求:1、利用定时器中断代替软件延时函数控制指示灯显示频率,要求1秒闪烁一次2、实物仿真时,通过CCS中的Clock功能统计延时函数的延时时间,与设定值进行比较操作步骤:1、打开Setup CCStudio v3.3 ,系统配置为F2812 XDS510 Emulator_12、打开CCStudio v3.3,打开工程F2812\DSP281x_examples\Lab0201-Memory\time.pjt3、修改time.c程序,写一个由定时器中断产生的以1s为单位的延时函数void delay(int time);4、在菜单中选择profile>Enable\View5、在延时函数前后各设置一个断点6、清零时钟计数器(双击清零),点击Run运行程序7、计算时间t=测得值/150000000(假如系统的时钟工作在150MHZ),与设定值进行比较实验四事件管理器实验实验要求1、利用事件管理器中的16路中的PWM1,输出一段连续变化的PWM波2、驱动扬声器蜂鸣器播放一段音乐声(声音频率文件参考Speaker.pjt)操作步骤1、打开Setup CCStudio v3.3 ,系统配置为F2812 XDS510 Emulator_12、打开CCStudio v3.3,打开工程F2812\DSP281x_examples\Lab0201-Memory\PWM.pjt和F2812\DSP281x_examples\Lab0201-Memory\Speaker.pjt3、在例程Speaker.c中是使用通用定时器TIME0来连续输出频率的方波,这里要求改为用EVA中的PWM1代替之。
CCS3.3, SEED XDS510, 2812安装及使用
CCS3.3, SEED XDS510, 2812安装及使用一、CCS3.3的安装安装软件CCS3.3,双击安装文件:点击下一步,点确定,点击Finish完成安装。
二、安装驱动程序以SEED XDS510为例,如果是HELLO DSP或者其他类型仿真器,请参照其他说明文档。
点击安装文件安装完成后,插入仿真器会提示找到硬件:安装硬件完成后,设备管理器显示如下:三、配置CCS3.3点击程序菜单中的Setup Code Composer Studio v3.3,进入如下界面:按如下步骤进行配置:配置项注意选择seedxds510plus.cfg,其他均为默认值。
配置完成后保存设置。
四、CCS3.3使用主控板插上SEED仿真器,注意对齐,方向不要连错,仿真器插错可能会导致仿真器烧坏。
电脑连接仿真器USB线,打开CCS3.3软件,选择连接,如下图所示:连接成功后,主界面左下角会显示连接成功图标。
点击如下图所示小图标,进入烧写程序界面。
点击左下方的Flash Programmer Settings…按钮,选择FlashAPIInterface2812V2_10.out文件在On-Chip Flash Programme对话框中的Operation栏下,设置为自己编译生成的待烧入Flash的.out文件的路径,如下图所示:选择相应的烧写文件后,点击On-Chip Flash Programme对话框中的Execute Operation按钮,即可执行程序的烧写,如下图所示:如提示File not found,选择No不必理会。
烧写完毕后,可以按F5运行程序观察运行效果。
烧写操作完成后,断电,拔掉仿真器插头,重新上电,程序即可正常运行。
dsp2812 PWM
TMS320F2812的PWM程序全中文解析免费内容://######################################################################### ##//// 文件名: Example_281xEvPwm.c//// 说明:// 设置事件管理器的定时器(TIMER1, TIMER2, TIMER3 and TIMER4)// 来产生T1PWM, T2PWM, T3PWM, T4PWM 和PWM1-12 波形(16路PWM波)。
////######################################################################### ###include "DSP281x_Device.h" // DSP281x 设备包含文件#include "DSP281x_Examples.h" // DSP281x 例程包含文件// 函数原型声明void init_eva(void);void init_evb(void);void main(void) //主函数{// 第1步:初始化系统控制量:PLL,看门狗,使能外围时钟InitSysCtrl();//系统初始化程序,原型在DSP281x_SysCtrl.c中// 第2步:初始化GPIO:EALLOW; //使能保护寄存器GpioMuxRegs.GPAMUX.all = 0x00FF; // 将EVA PWM 1-6 引脚配置成通用I/OGpioMuxRegs.GPBMUX.all = 0x00FF; // 将EVB PWM 7-12 引脚配置成通用I/OEDIS; //禁止修改保护寄存器// 第3步:清除所有中断,初始化PIE向量表DINT; //关闭总中断IER = 0x0000;//关闭外设中断IFR = 0x0000;//清除中断标志InitPieCtrl();//初始化PIE控制寄存器InitPieVectTable();//初始化PIE向量表// 第4步:初始化所有外围设备init_eva(); // 初始化事件管理器Ainit_evb(); //初始化事件管理器B// 第5步:IDLE循环,采用示波器可以观察波形for(;;);}void init_eva(){// 初始化EVA Timer1EvaRegs.T1PR = 0xFFFF; // 定时器1 周期值EvaRegs.T1CMPR = 0x3C00; // 定时器1 比较值EvaRegs.T1CNT = 0x0000; // 定时器1 计数器初值EvaRegs.T1CON.all = 0x1042; //控制方式:连续增减;定时器使能,比较使能// 初始化EVA Timer2EvaRegs.T2PR = 0x0FFF; // 定时器2 周期值EvaRegs.T2CMPR = 0x03C0; // 定时器2 比较值EvaRegs.T2CNT = 0x0000; // 定时器2 计数器初值EvaRegs.T2CON.all = 0x1042; //控制方式:连续增减;定时器使能,比较使能// 设置T1PWM and T2PWMEvaRegs.GPTCONA.bit.TCMPOE = 1; //比较逻辑驱动T1/T2PWM EvaRegs.GPTCONA.bit.T1PIN = 1; //定时器1比较器极性设置为低电平有效EvaRegs.GPTCONA.bit.T2PIN = 2; //定时器2比较器极性设置为高电平有效//使能PWM1-PWM6比较功能EvaRegs.CMPR1 = 0x0C00; //比较单元比较器1设值EvaRegs.CMPR2 = 0x3C00; //比较单元比较器2设值EvaRegs.CMPR3 = 0xFC00; //比较单元比较器3设值EvaRegs.ACTRA.all = 0x0666;//输出引脚1、3、5高有效,2、4、6低有效CONA.all = 0xA600; //允许比较输出;下溢或等于周期值时重载EvaRegs.DBTCONA.all = 0x0000; // 禁止死区}void init_evb(){// 初始化EVB Timer3// Timer3 控制T3PWM and PWM7-12EvbRegs.T3PR = 0xFFFF; // Timer3 周期值EvbRegs.T3CMPR = 0x3C00; // Timer3 比较值EvbRegs.T3CNT = 0x0000; // Timer3 计数器初值// TMODE = 连续增减// Timer 使能// Timer 比较使能EvbRegs.T3CON.all = 0x1042;// 初始化EVB Timer4// Timer4 控制T4PWMEvbRegs.T4PR = 0x00FF; // Timer4 周期值EvbRegs.T4CMPR = 0x0030; // Timer4 比较值EvbRegs.T4CNT = 0x0000; // Timer4 计数初值// TMODE = 连续增减// Timer 使能// Timer 比较使能EvbRegs.T4CON.all = 0x1042;// 设置T3PWM and T4PWM// 由比较逻辑来驱动T3/T4 PWMEvbRegs.GPTCONB.bit.TCMPOE = 1;// T3PWM的比较极性=低有效EvbRegs.GPTCONB.bit.T3PIN = 1;// T4PWM的比较极性= 高有效EvbRegs.GPTCONB.bit.T4PIN = 2;//使能PWM7-PWM12比较功能EvbRegs.CMPR4 = 0x0C00;EvbRegs.CMPR5 = 0x3C00;EvbRegs.CMPR6 = 0xFC00;EvbRegs.ACTRB.all = 0x0666; // 比较动作控制,动作在一个比较情况下发生// 输出管脚1 CMPR4 - 高有效// 输出管脚2 CMPR4 - 低有效// 输出管脚3 CMPR5 - 高有效// 输出管脚4 CMPR5 - 低有效// 输出管脚5 CMPR6 - 高有效// 输出管脚6 CMPR6 - 低有效CONB.all = 0xA600; //允许比较输出;下溢或等于周期值时重载EvbRegs.DBTCONB.all = 0x0000; //禁止死区}// 此例程没有使用ISR(中断服务子程序)。
SEED-DPS2812Mv2 测试程序使用说明
SEED-DPS2812M 测试程序使用说明概述SEED-DPS2812M模板的测试包括以下几个方面内容:测试片外SRAM测试片外Flash测试EEPROM测试RTC测试LAN测试UART测试CAN测试片外DA测试片外AD测试数字量输入和数字量输出测试LCD测试KEYBOAD注:测试程序的工程调试环境是以合众达公司的并口仿真器建立的,为了方便起见,推荐用户使用合众达公司并口仿真器进行测试。
如果使用其它类型的仿真器,请参考附录C 创建相应的工程调试环境。
SEED-DPS2812M模板的测试程序包括以下几个:DSP对片外SRAM的操作示例;DSP对片外Flash的操作示例;DSP对EEPROM的操作示例;DSP对RTC的操作示例;DSP内外设SCI的操作示例;DSP对CAN的操作示例DSP对LAN的操作示例;DSP对片外A/D的操作示例;DSP对片外D/A的操作示例;DSP对DIDO的操作示例;DSP对LCD的操作示例;DSP对KEYBOARD的操作示例本例程采用TI的1.0构架,相关说明见《SPRC097 C281x C/C++ Header Files and Peripheral Examples》。
使用本例程需要将目录中的全部文件夹拷贝到本机工程目录下,并去掉全部只读属性。
共有3个文件夹:目录结构:目录描述<base>\doc 文档说明,包括版本历史软件说明等<base>\DSP2812M_headers 全局性的头文件用于定义针对不同外设和使用的寄存器配置<base>\DSP2812M_examples 所有的操作例程每个目录里只包含针对特定功能的工程、程序代码和头文件说明<base>DSP2812M_common 公共文件,针对‘F2812系统的外设初始化寄存器配置等程序代码,包含了所有的外设和可能使用的寄存器设置。
对于DSP2812M_headers/_common又有进一步目录结构:子目录描述DSP2812M_headers\cmd 外设地址和寄存器定位用的CMD文件DSP2812M_headers\source连接各头文件和分配程序的必要的源程序,全局变量和数据段定义程序DSP2812M_headers\include针对每一个片内外设的头文件定义DSP2812M_common\cmd针对’F2812的内存分配DSP2812M_common\include公共的系统级头文件DSP2812M_common\source 针对相应外设的初始化程序并将系统设置为默认状态采用这种结构可以大幅提高编程和文件组织的效率。
手把手教你学DSP-2812
手把手教你学DSP-2812第一章如何开始DSP的学习和开发DSP是Digital Signal Processing的缩写,同时也是Digital Signal Processor的缩写。
它采用哈佛结构即数据空间和存储空间是分开的,通过独立的数据总线在程序空间和数据空间同时访问。
DSP 的优势是其强大的数据处理能力和较高的运行速度,所以多用于数据处理,例如加密/解密、调制/解调等。
值得一提的是,TI公司的C2000系列的DSP除了具有强大的运算能力外,也是控制领域的佼佼者。
MCU:采用冯诺依曼结构,数据空间和存储空间共用一个存储空间,通过一组总线(地址总线和数据总线)连接到CPU。
MCU的价格便宜。
ARM是Adnanced RISC(精简指令集)Machines的缩写,是面向低预算市场的RISC微处理器。
它具有较强的事务管理功能,适合用来跑跑界面、操作系统等,其优势主体体现在控制方面,像手持设备90%左右的市场份额均被其占有。
FPGA是Field Programmable Gate Array(现场可编程逻辑门阵列),它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路中集成度最高的一种。
FPGA适合用来开发数字电路,但是FPGA的价格通常比较昂贵,这是限制其应用的原因。
TMS320C2000系列,面向数字控制、运动控制领域,主要包括:TMS320C24xx/TSM320F24xx,TMS320C28xx/TMS320F28xx等。
使用较多的定点芯片是TMS320F2407、TMS320F2812、TMS320F2808和浮点芯片TMS320F2812(应用最广泛)。
TMS320C5000系列,面向低功耗、手持设备、无线终端应用领域。
TMS320C6000系列,面向高性能、多功能、复杂应用领域。
DSP开发的软件环境:CCS(Code Composer Studio)。
SEED-DPS2812_TEST使用说明
SEED-DPS2812_TEST使用说明书SEED-DPS2812-TEST使用说明书作为SEED-DPS2812的测试板,主要功能是对SEED-DPS2812提供电源、通信接口和输入模拟信号,外接液晶和键盘;并对DPS2812的I/O口进行测试。
1. 模拟信号输入信号源:可利用VC33的并口输出得到DPS2812的16路模拟信号;也可选择外部模拟信号。
外部±15V直流源经分压产生±4V、±2.5V直流信号;也可直接加外部信号源。
2. 数字输入输出和LED2.1. DI/DODI/DO测试方法:将开出反馈给开入,并且驱动发光二极管,用发光二极管的状态来测试开入和开出。
开入和开出的搭配情况如下:编号开出开入发光二极管DIN0/DIN16 D00 DOUT0DIN1/DIN17 D11 DOUT12 DOUT2 DIN2 D23 DOUT3 DIN3 D34 DOUT4 DIN4 D45 DOUT5 DIN5 D56 DOUT6 DIN6 D67 DOUT7 DIN7 D78 DOUT8 DIN8 D89 DOUT9 DIN9 D910 DOUT10 DIN10 D1011 DOUT11 DIN11 D1112 DOUT12 DIN12 D1213 DOUT13 DIN13 D1314 DOUT14 DIN14 D1415 DOUT15 DIN15 D15开出依次点亮对应发光二极管,开入若不正常则对应发光二极管被连续点亮两次。
注意:当测试DI/DO时,必须将三端跳线JP20、JP21选择为+24VE端。
2.2. 快速输入输出两路快速开入开出也按照这种方式进行反馈:输出输入发光二极管A DOUTA DINA D18B DOUTB DINB D19测试快速开入开出时,也要将JP20、JP21选择为+24VE端。
2.3. LEDD20~D29指示DPS2812系统中的10个LED输出。
关于DSP2812上uCOS-II操作系统的说明
关于uCOS-II操作系统的说明一、工程文件的说明工程的所有文件在ucos目录下,打开工程文件后可以看到下面一些源文件·cmd文件工程的CMD文件与一般程序中的CMD 文件相同。
由F2812.cmd和DSP281x_Headers_nonBIOS.cmd两个文件组成。
其中对F2812.cmd文件进行了一些修改,将代码段定义在FLASH中,.bss和.ebss段都定义在低64K的数据空间中,以保证定义在.ebss段中的人物堆栈可以通过堆栈指针被访问。
·C语言和汇编源文件这部分文件在CCS窗口的Source文件夹下可以看到,主要有下面一些文件:Ucos_ii.c:操作系统的头文件包含文件。
OS_TickISR.asm:主要是OSTickISR( )函数,是操作系统时钟节拍中断的服务函数。
OS_Sw.asm:主要是OSCtxSw( )函数,非中断级任务切换函数,也是系统完成任务切换调用的30号中断(即USER 11 软中断)的中断服务函数。
OS_StartHighRdy.asm:主要是OSStartHighRdy()函数,在操作系统开始运行后(OSStart()函数开始执行以后)启动优先级最高的任务,一般情况下该任务是TaskStart任务。
OS_ISR.asm:中断服务程序的汇编源文件,尽量把要使用的中断服务程序放在这个文件中,使用汇编语言按照OS_SCIARXISR( )的结构编写。
关于中断服务程序后面会进一步加以说明。
OS_IntSw.asm:主要包含中断级任务切换函数OSIntCtxSw( ),完成中断级任务切换。
OS_GlobalStack.c:该文件中主要是全局任务堆栈的定义。
OS_cpu_c.c:该文件中主要是任务堆栈初始化函数OSTaskStkInit( )及其他一些与CPU相关的C语言函数的定义。
Ex1l.c:工程的主函数文件。
DSP281x_xxxx.c:例程中DSP2812外设操作的一些源代码,可以在这些文件中添加必要的操作外设的函数。
F2812 DEMO 板 说明书
F2812 DEMO板使用说明书F2812 DEMO板是为学习、熟悉TMS320F2812芯片而开发的演示板。
一.F2812 DEMO板上的资源:1. TMS320F2812●静态CMOS、主频可达150MHz、低功耗(核电压1.8V、I/O电压3.3V);●128K×16位片上FLASH、18K×16位片上SRAM、4K×16位片上ROM;●外部存储空间接口:最多可达1M×16位、提供3个独立的片选信号、读/写时序可编程●动态PLL,主频可由软件编程修改、片上看门狗电路●3个外部中断源●外设中断扩展模块,最多支持45个外部中断●具有加密功能,密钥长度128位●3个32位CPU定时器●用于电机控制的外设:2个事件管理器(与C240x器件兼容)●多种标准串口外设:1个SPI同步串口、2个UART异步串口、1个增强型CAN总线接口、1个McBSP同步串口●12位A/D转换器:16通道、双采/保、2×8多路切换器●56个独立可编程、复用型、通用I/O口2.电源采用TPS767D318,将外部提供的+5VDC转换为TMS320F2812所需的+3.3VDC和+1.8VDC。
3.时钟板上提供30MHz晶振,由软件将PLLCR寄存器设置为1010,系统时钟为外部时钟的5倍频,即系统时钟为150MHz。
PLLCR寄存器参看《TMS320F28x Control and Interrupts Peripheral Reference Guide》。
4. JTAG仿真接口SEED-XDS仿真器与JTAG仿真接口相联,即可对TMS320F2812进行仿真、调试。
5. MP/MC方式设置板上J3跳针用于设置MP/MC方式,当跳针开路时为MC方式,短路时为MP方式。
6. TMS320F2812引脚F2812 DEMO板上已将TMS320F2812上的所有引脚引至对应的焊盘,并将引脚名标在相应的焊盘处,以便用户作简单的实验。
dsp2812
2.2 软件准备
(1)DSP 开发环境 CCS 2.2 FOR C2000。通常我们随盘赠送,仅供学习之用。 (2)仿真器驱动程序 根据您的仿真器的不同而不同,请咨询您的仿真器供应商。 如果购买我们的仿真器, 我们的并口仿真器和USB接口均提供相应的驱动程序及DSP仿真器 用户手册。 (3) 试验代码 从上到下的代码依次为:
4.5 LED 显示
通过74HC244芯片驱动8个LED灯,如图所示:
- 15 -
北京三恒星科技公司 http//
显示。
4.6 JTAG 接口电路
JTAG 接口提供对DSP 的内部FLASH 的烧写和仿真通讯。 该部分的引脚定义请不要随便更改!
3.3 设置 CCS
3.3.1 使用 USB 接口仿真器设置 CCS (1) 双击桌面上的Setup CCS 2 (C2000); (2) 选择F2812 XDS510 mulator ,点击import。
-9-
北京三恒星科技公司 http//
(3) 出现如下图片,如果“最左边一栏”,除了F2812 XDS510 mulator 以外还有其他与之并列的 其他选项,则将其删除干净。
注意:光盘代码应该备份到硬盘,同时将文件夹的只读属性去掉!!!如果条件允许, 整个光盘最好都备份一下,避免长期使用造成损坏。 (4) 软件安装步骤 很多用户咨询这个问题,因此在这里简单说一下,避免大家走弯路和出现不必要的麻烦。安 装要遵循一定的次序。 A. 安装CCS for C2000 通常安装在C 盘,建议目录为C:\TI2000,这样您在将来使用和安装TI5000、TI6000软件时不容易 造成混乱。 B. 安装仿真器驱动 注意:要与CCS 安装在同一目录,如:C:\TI2000。 C. 设置CCS 这样之后就可以运行CCS 进行学习了。
SEED-DPS2812-UDP网络测试说明
SEED-DPS2812Mv2.1网络测试说明1.测试前的准备z硬件z1台安装Windows XP/Windows 2000/Windows 98操作系统,装有10Mbps/100Mbps自适应以太网网卡的PC机。
z1套适用于TI C2000系列DSP的仿真器,推荐使用合众达公司XDS560仿真器。
z1套SEED-DPS2812M v2.1 DSP控制模板。
z2个10Mbps/100Mbps自适应以太网RJ-45同子网内接入点。
z2根3类、5类或超5类屏蔽双绞线。
z软件z TI DSP开发调试环境CCS2.20.18 C2000z以太网UDP调试程序ezUDP.exez SEED-DPS2812-UDP.pjt工程调试程序2.测试环境的搭建按照下列步骤搭建测试环境:(1) 将PC机电源打开,进入操作系统。
(2) 连接并配置好仿真器,将仿真器的JTAG接头插到SEED-DPS2812M v2.1控制模板的JTAG插槽上。
(3) 用双绞线将PC和SEED-DPS2812M v2.1控制模板分别接入到以太网上,注意,必须确保两个接入点属于同一以太网子网。
(4) 给SEED-DPS2812M v2.1控制模板提供+5V电源(5) 进入CCS2.20.18c2000环境。
3.测试过程(1) 在CCS中载入工程SEED-DPS2812-UDP.pjt。
(2) 在菜单中点击File->Load GEL,选择工程目录下的DPS2812.gel文件,如果无法进入CCS或载入DPS2812.gel文件,则SEED-DPS2812M控制模板及CCS环境没有设置正确或存在错误,请参考SEED-DPS2812M控制模板的说明文档解决。
(3) 打开程序DPS2812_TCPIP. h,根据测试网络的情况修改网卡SEED-DPS2812M的MAC地址和IP地址。
z MAC地址由数组local_hardware_address[3]定义,缺省设置为12-34-56-78-9a-bc,对应的数组数据为local_hardware_address[3]={ 0x1234,0x5678,0x9ABC}。
10. 实验十 电机驱动实验(SEED-DSK2812实现)
实验十电机驱动实验(SEED-DSK2812实现)一.实验目的:1.熟悉CCS的开发环境;2.了解直流与步进电机驱动的原理;3.了解PWM对直流的驱动原理;4.了解步进电机的控制原理;5.了解直流与交流电机的驱动电路;6.了解PWM调速的实现过程;7.通过IO总线锁存产生的脉冲的频率与相位的顺序控制速度与方向。
二.实验内容:1. DSP的初始化;2. McBSP的初始化;3. DSK2812的McBSP工作在从工作模式下配置为SPI工作模式;4. SCI口的初始化5. PWM产生的定时中断服务程序;6.电机的驱动程序;三.实验知识背景:1.直流电机的驱动:图[1]图[1]是直流电机翻译/驱动的典型电路的一个变种,采用这种电路不但能够完成直流电机驱动的动作,而且可以避免典型H桥电路潜在的短路危险。
针对SEED-DTK中直流电机系统动作要求和电机的特点,电机驱动电路设计思路如下:电机采用15V直流电源供电,串接50Ω3W电阻限流并分压;2路控制信号X、Y由DSK-2812的J7提供,信号为CMOS标准电平,通过排线接入,并下拉;使用达灵顿管TIP31C代替BD679作为电机驱动开关,基级串接100Ω电阻;使用快速二极管1N4007完成保护功能,以免电机换向时烧毁电机;电机电源/地之间跨接电容,电机地与数字地之间采用磁珠连接共地;2.直流电机的驱动接口:直流电机控制的I/O端口为DSK2812的J7中的T1PWM_T1CMP和T2PWM_T2CMP,其说明如下:当T1PWM_T1CMP:T2PWM_T2CMP=0 0时:直流电机刹车;当T1PWM_T1CMP:T2PWM_T2CMP=1:1时:直流电机刹车;当T1PWM_T1CMP:T2PWM_T2CMP=0:1时:直流电机正转;当T1PWM_T1CMP:T2PWM_T2CMP=1:0时:直流电机反转;3.步进电机的驱动:图[2]是单极性步进电机翻译/驱动的典型电路,图中的方块为驱动开关。
合众达电子 SEED-DSK2812 说明书
SEED-DSK2812用户指南2005 DSP Development SystemsSEED-DSK2812用户指南TMS320F2812初学者套件版本号:A2005.5i声明北京合众达电子技术有限责任公司保留随时对其产品进行修正、改进和完善的权利,同时也保留在不作任何通告的情况下,终止其任何一款产品的供应和服务的权利。
用户在下订单前应获取相关信息的最新版本,并验证这些信息是当前的和完整的。
版权© 2005,北京合众达电子技术有限责任公司ii前言阅前必读简介:本用户指南是TMS3202812DSP硬件使用说明书,详细描述了SEED-DSK2812的硬件构成、原理,以及它的使用方法和编程指导。
保修:所有由北京合众达电子技术有限责任公司生产制造的硬件和软件产品,保修期为从发货之日起壹年。
在保修期内由于产品质量原因引起的损坏,北京合众达电子技术有限责任公司负责免费维修或更换。
当在保修期内软件进行了升级,北京合众达电子技术有限责任公司将免费提供。
参考资料:TMS320F28x DSP CPU and Instruction Set Reference Guide(文献号SPRU430):介绍TMS320F28x系列DSP的CPU结构、指令组、流水线及中断。
TMS320F28x Control and Interrupts Reference Guide(文献号SPRU078):介绍TMS320F28x系列DSP的系统控制和中断。
TMS320F28x External Interface (XINTF) Reference Guide(文献号SPRU067):介绍TMS320F28x系列DSP的外部存储器接口。
TMS320F28x Multichannel Buffered Serial Port (McBSP) Reference Guide(文献号SPRU061):介绍TMS320F28x系列DSP片上的多通道缓冲型同步串口(McBSP)。
TMS320F2812芯片ADC模数转换精度的分析
TMS320F2812芯片ADC模数转换精度的分析TMS320F2812是高精度的,其运算速度快,工作时钟频率达150 MHz,命令周期可达6.67 ns以内,低功耗(核心1.8 V,I/O口电压3.3 V)。
采纳哈佛结构,具有强大的操作能力、快速的中断响应和处理能力以及统一的寄存器编程模式。
并且在片上集成了Flash存储器,可实现外部存储器的扩展。
外部扩展模块(PIE)可支持96个外部中断,45个可用。
两个增加的大事管理器模块(EVA、EVB),提供了一整套用于运动控制和电机控制的功能和特性。
每个大事管理模块包括通用定时器(GP)、比较单元、捕捉单元以及正交编码脉冲。
外围设备包括3个32 bit的CPU 定时器,16通道12 bit (单个转换时光为200 ns,单路转换时光为60 ns),它不仅具有串行外围接口(SPI)和两个串行通信接口(SCI),还有改进的局域网络(eCAN)、多通道缓冲串行接口(McBSP)和串行外围接口模式。
28X核提供了高达400 的计算带宽,它能够满足大多数经典实时控制算法,在工业、光传输网络和自动控制等领域拥有应用前景。
但是,在获得其较高工作时钟频率150 MHz、低功耗的I/O口3.3 V电压的同时,对其在电磁兼容和ADC模数转换单元等实际应用提出了更高的要求。
特殊是ADC模数转换单元,受到了众多用法者的诟病,称其实测的精度甚至低于TMS320F2407的10 bit ADC模数转换精度。
有人疑惑TMS320F2812核内数字地和模拟地衔接设计有缺陷,但尚未得到TI公司的证明。
TI公司发布了SPRA989的ADC校准文档,仅修正了模数转换的增益和偏移,与彻低有用的要求尚有一定差距。
本文从实际应用的角度动身,考虑其外围设计因素,提高ADC模数转换精度。
1 ADC模数转换精度分析以及测试办法影响ADC模数转换终于结果精度的缘由无数,诸如芯片内部模数转换、模数转换的增益和偏移引起的误差,这些都是生产厂商控制和讨论的领域,本文不作研究。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10
7
TXDA'
T2I T2O
TXD
J10-3
11
14
T1I T1O
J6-4
A
J5-1
C2 0.1uF
1
4
C1+ C2+
C4 0.1uF
RXD
J5-2
GNDE
J6-5
3 C1-
5 C2-
J5-3
J6-6
J6-7
C3 0.1uF
2
16
V+ VCC
+5VE
J6-8
6
15
V- GND
GNDE
GNDE
C5 0.1uF
+3.3V
HCPL-063A
RS485OE
J11-1
PD01/EVASOC
J11-2
+5V
U7
8
1
VCC
+5VE
470
RX''
7
2 R10
RX'
6
3
GNDE
5
4
GND
GNDE
HCPL-063A
C
GNDE
RXDB' TXDB'
485OE'
U3
1 R
8 VCC
4 D
6 A
2 RE
7 B
3 DE
5 GND
PA06/T1PWM
R27
D7
1K 1K
D26
R46
PB07/T4PWM
PF13/MDRA
J3-A12 J3-A13
J3-B12 J3-B13
PF12/MDXA
PA07/T2PWM
R28
D8
1K 1K
B
D27
R47
PA01/PWM2
J3-A14
J3-B14
PA00/PWM1
R29
D9
B
PB08/CAP4
SN65HVD485ED
+5VE A B
GNDE
J7-2
J7-3
B
J7-4
A
J7-5
J7-6
R3 120 J7-7
J7-8
B J7-9
U8
4
3
RX'
R
VCC
+5VE
1
TX'
D
7
CANH
CAN+
6 CANL 5 VREF
CAN-
CAN+
CAN
GNDE
8 RS
2 GND
GNDE
SN65HVD251D
J1-1
J2-B2
RD
AIN00
J9-2
J9-1
A
WR
J2-A3
J2-B3
LCD_E
AIN01
J9-4
J9-3
DACVA
J2-A4
J2-B4
LCD_CSA
AIN02
J9-6
J9-5
LCD_BLE
J2-A5
J2-B5
J2-A6
J2-B6
A0
D1
J2-A7
J2-B7
D0
D3
J2-A8
J2-B8
D2
J8-1
J8-2
Telephone: (010)51518855
FAX: (010)51518866
Title:
DPS2812M_T
Size: B
Document No.:
7.820.098
Rev: A
Date:
2006-2-28
Sheet:
4 OF 6
5
6
1
2
3
4
5
6
J2
J2-A1
J2-B1
A
RESET
J2-A2
GNDE
A
+3.3V
HCPL-063A
+5V
RXDA'' RXDB''
U5
8
1
VCC
7
2
6
3
5
4
GND
HCPL-063A
R6 470 R7
470
+5VE RXDA' RXDB' +5VE
RXDA'
U2
9
8
R2O R2I
RXD
RS232
J6-1
J10-1
J6-2
12
13
R10 R1I
TXD
J10-2
J6-3
7. Board Properties:
B
A. Route to within 10% MANHATTAN Distance
B. 50 +/-5 Ohm Matched Impedance
C. Outer Layers 0.5 OZ Cu /W 0.5 OZ Au Plating
D. Inner Layer 1.0 OZ Cu
PA14/C2TRIP
1K
D34
R54
1K
D35
R55
1K
D36
R56
1K
PB15/C6TRIP PD00/PDPINTB PD01/EVBSOC
PB09/CAP5 PB11/TDIRB PB12/TCLKINB PB14/C5TRIP PD00/PDPINTB
J3-A28 J3-A29 J3-A30 J3-A31 J3-A32
PA03/PWM4
J3-A15
J3-B15
PA02/PWM3
PA08/CAP1
1K 1K
D28
R48
PB09/CAP5
PA05/PWM6 PA07/T2PWM
J3-A16 J3-A17
J3-B16 J3-B17
PA04/PWM5 PA06/T1PWM
PA09/CAP2
R30
D10
1K 1K
D29
R49
1K
R24
D4
PB03/PWM10
J3-A5
J3-B5
PA03/PWM4
1K
D23
R43
PB04/PWM11
PF14/PLLDIS PF04/SCITXDA
J3-A6 J3-A7
J3-B6 J3-B7
PE02/INT13 PF05/SCIRXDA
PA04/PWM5
1K
R25
D5
1K
D24
R44
PG04/SCITXDB
1
2
3
Notes, Unless Otherwise Specified:
1. Resistance Values are in Ohms.
2. Capacitance Values are in Microfarads.
A
3. Inductance Values are in Microhenries.
PA09/CAP2
J3-A18
J3-B18
PA08/CAP1
R31
D11
PB10/CAP6
PA11/TDIRA
J3-A19
Hale Waihona Puke J3-B19PA10/CAP3
PA10/CAP3
1K
D30
R50
PA12/TCLKINA
J3-A20
J3-B20
PA13/C1TRIP
1K
R32
D12
PB11/TDIRB
PA14/C2TRIP
J3-A8
J3-B8
PG05/SCIRXDB
1K
R26
D6
PB05/PWM12
PF06/CANTXA
J3-A9
J3-B9
PF07/CANRXA
PA05/PWM6
1K
1K
D25
R45
PB06/T3PWM
PF09/MCLKRA PF11/MFSRA
J3-A10 J3-A11
J3-B10 J3-B11
PF08/MCLKXA PF10/MFSXA
4. RS232 & RS485 & CAN
C
5. KeyBoard & LCD & LAN
6. POWER
SEED Electronic Technology Ltd. D
Address: No.106 Zhichunlu,Haidian District,Beijing 100086
Telephone: (010)51518855
PB01/PWM8
LAN_RX+
J3-A1
J3-B1
LAN_RX-
PA01/PWM2
1K
A
D21
R41
LAN_TX+
J3-A2
J3-B2
LAN_TX-
1K
R23
D3
A
PB02/PWM9
LAN_ACT
J3-A3
J3-B3
LAN_LNK
PA02/PWM3
1K
D22
R42
CHGND
J3-A4
J3-B4
LAN_SYS
AIN03
J9-8
J9-7
J8-3
AIN04
J9-10
J9-9
DACVB
J8-4
AIN05
J9-12
J9-11
J8-5
J8-6
D5
J2-A9
J2-B9