DSP学习笔记
一、概述
硬件平台
硬件平台基于C2000 Piccolo MCU F280049C LaunchPad™开发套件
软件资源
编程环境是使用Code Composer Studio (CCS) 集成开发环境(IDE)
帮助文档和例程在适用于 C2000 MCU 的C2000Ware中提供
二、TMS320F28004x 实时微控制器介绍
参考对应芯片的Data Sheet:
TMS320F28004x 实时微控制器 数据表
三、最小系统介绍
- 电源电路
- 复位电路
- 晶振电路
- 下载电路
四、存储器和寄存器
#pragma DATA_SECTION //该命令来进行将存储器文件分配到数据空间
五、工程模板的创建
- Includes
- App 模块文件
- cmd
- Lib
- User 存放main文件
六、时钟及控制系统
F28004x 系统时钟来源
280049C的时钟需要从下列时钟源选择
- 主内置振荡器 INTOSC2 ,这是10MHz的内置的默认时钟,在系统上电时会自动调用。这个时钟也可以作为系统的主时钟,也即280049C可以不外接晶振。使用此时钟时GPIO18(X2)可以作为GPIO使用,但特性与其他GPIO稍有不同,使用时需注意。另外此时钟的精度不高,不能满足CAN通信的需求。
- 后备内置振荡器 INTOSC1。与主时钟特性相同,通常用于看门狗和时钟丢失检测。也可以配置为主时钟
- 外部振荡器 XTAL。这个与传统的做法差不多,此时GPIO18是不能当做GPIO的,详见手册。
之后就是配置锁相环了
LaunchPad和ControlCARD的晶振是20MHz,默认100MHz主频的软件配置是:
//
// PLLSYSCLK = (XTAL_OSC) * (IMULT + FMULT) / (PLLSYSCLKDIV)
// 100MHz=20MHz*(10+0)/2
InitSysPll(XTAL_OSC,IMULT_10,FMULT_0,PLLCLK_BY_2);
七、GPIO
void LED_Init(void)
{
EALLOW;//关闭写保护
//SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1; // 开启GPIO时钟
//LED1端口配置
GpioCtrlRegs.GPAMUX2.bit.GPIO23 = 0; // GPIO23 = GPIO23 引脚外设设置
GpioCtrlRegs.GPADIR.bit.GPIO23 = 1; // GPIO23 = output 配置引脚方向 输入输出
GpioCtrlRegs.GPAPUD.bit.GPIO23 = 0; // Enable pullup on GPIO23 是否上拉
GpioDataRegs.GPASET.bit.GPIO23 = 1;