第4章 实验3 流水灯实验blink
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对ST1_55的一些位操作,可以采用BSET和BCLR进行
置位或复位。
如:BCLR XF ; Clear XF,即令XF=0
BSET XF ; Set XF,即令XF=1 如果在c语言源程序插入汇编语句,可以利用 “asm()”函数实现。如: asm(" BCLR XF"); // ; Clear XF
19
北京交通大学 国家工科电工电子教学基地
DSP应用技术
各级时钟频率计算公式
依据CSL函数PLL_setFreq(1, 0xC, 0, 1, 3, 3, 0),
各时钟为(外部输入时钟X2/CLKIN=20MHz):
X2/CLKIN CLKOUT3 = xM1 = 240MHz (D0 +1) CLKOUT3 SYSCLK1 120MHz (D1 1)
2.3 寄存器ST1_55
寄存器ST1_55(地址0x00 0003h)为16bit存储器
映射寄存器。
其中:
XF为外部标志位,向DSP外部发出标志信息,用于程
序测试(其它位如INTM为中断模式位;ASM为累加移位模式…)
Fra Baidu bibliotek22
北京交通大学 国家工科电工电子教学基地
DSP应用技术
寄存器ST1_55操作
实验2 流水灯实验
一、实验目的 二、实验原理与资源使用 三、实验内容
四、实验思考题
1
北京交通大学 国家工科电工电子教学基地
DSP应用技术
一、实验目的 掌握CSL的使用
掌握如何给DSP各个模块配置时钟
掌握TMS32VC5502 DSP寄存器编程
了解GPIO的使用
2
北京交通大学 国家工科电工电子教学基地
SYSCLK3分别等于多少?
答: SYSCLK1=CLKOUT3/2=120MHz SYSCLK2=CLKOUT3/4=60MHz,SYSCLK3=CLKOUT3/4=60MHz
18
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.2 DSP系统时钟发生器
DSP系统时钟设置:
可以通过CSL库进行时钟设置,CSL库提供PLL模块,
DSP应用技术
二、实验原理与资源使用
2.1 DSP CSL库
2.2 DSP系统时钟发生器
2.3 寄存器ST1_55
*2.4 GPIO
3
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.1 DSP CSL库
什么是DSP CSL(Chip Support Library)库?
是DSP/BIOS部件,是函数、数据类型、宏,用于配置
这些寄存器均是存储器映射寄存器(MemoryMapped Registers),因此每个寄存器都有对应的存 储器地址。 CPU寄存器如: 状态寄存器ST0_55~ST3_55、累加器AC0~AC3等。
外设寄存器如:
定时器相关寄存器、DMA相关寄存器等。
详见TMS320C55x DSP CPU Reference Guide, SPRU371F.pdf 北京交通大学 国家工科电工电子教学基地 DSP应用技术 21
DSP应用技术
2.1 DSP CSL库
TMS320VC5502 CSL库:
CSL模块:
TMS320C55x Chip Support Library API Reference Guide,SPRU433I.pdf
7
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.1 DSP CSL库
TMS320VC5502 CSL库(包含20以上CSL函数):
DSP应用技术
2.2 DSP系统时钟发生器
TMS320VC5502含有一个灵活的时钟发生器模块,
由PLL和振荡器(oscillator)组成。这个模块可以
为系统不同部分产生不同时钟,如55x核、快速片 上外设、慢速片上外设和外部存储器接口等。
TMS320VC5502 Fixed-Point Digital Signal Processor Data Manual,SPRS166k.pdf
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.1 DSP CSL库
TMS320VC5502 CSL库(包含20以上CSL函数):
调用TMS320VC5502 CSL库:
工程中包含库文件csl5502x.lib(存储器为大模式) 或csl5502.lib (存储器为小模式) 在C程序中包含相应的头文件,如调用PLL函数,则 在C主程序中包含csl_pll.h,即:
SYSCLK2为慢速片上外设(McBSP/I2C/UART)提供时钟,
SYSCLK3为外部存储器接口(EMIF)提供时钟。
13
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.2 DSP系统时钟发生器
1.输入时钟源 5502时钟源可以是外部3.3V时钟,输入到管脚 X2/CLKIN上。当管脚GPIO4=1(对应CLKMD寄存器的 CLKMD0位),采用外部输入时钟。也可以是内部振荡 器产生(当管脚GPIO4=0时)。 本DSP系统采用20MHz的外部时钟 进入①
、控制和管理DSP片上外设;
CSL库函数一般是用C语言编写的,并已对代码的大小 和速度进行了优化。 CSL库是可裁剪的(只有被使用的CSL模块才会包含进 应用程序中)。
CSL库是可扩展的(每个片上外设的API模块相互独立
,新增API,对其它片上外设没有影响)。
TMS320C55x Chip Support Library API Reference Guide,SPRU433I.pdf 北京交通大学 国家工科电工电子教学基地 DSP应用技术 4
数,工程中包含csl5502x.lib(存储器为大模式)。 在blink.c中包含头文件,调用PLL_setFreq(),即: #include <csl_pll.h> #include <csl.h>
…
PLL_setFreq(1, 0xC, 0, 1, 3, 3, 0);
10
北京交通大学 国家工科电工电子教学基地
D2:SYSCLK2除法器,PLLDIV2寄存器[4:0]位,取值范
围0、1、3(缺省=3) (0表示除以1,以此类推) 。 D3:SYSCLK3除法器,PLLDIV3寄存器[4:0]位,取值范
17
围 0、 1、3(缺省 =3) (0表示除以1,以此类推 )。 北京交通大学 国家工科电工电子教学基地 DSP 应用技术
2.1 DSP CSL库
为什么采用CSL库?
DSP片上外设种类及其应用日趋复杂;
提供一组标准的方法用于访问和控制片上外设; 免除用户编写配置和控制片上外设所必需的定义和 代码,降低DSP工程师对硬件的知识掌握程度的要求。
5
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.1 DSP CSL库
PLL_setFreq()函数对PLL进行初始化,产生各个时钟。 在C语言源程序中: PLL_setFreq(1, 0xC, 0, 1, 3, 3, 0); 外部输入时钟20MHz,则实现:
55x核时钟CLKOUT3=240MHz,SYSCLK1=CLKOUT3/2=120MHz,
SYSCLK2=CLKOUT3/4=60MHz, SYSCLK3=CLKOUT3/4=60MHz
#include <csl_pll.h>( 当包含这些头文件时,编译时将自动进入工程中)
只要调用CSL库,首先包含csl.h,即:
#include <csl.h>
9
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.1 DSP CSL库
调用TMS320VC5502 CSL库:
以blink工程为例,使用PLL模块中的PLL_setFreq()函
②
时(进入D1、D2、D3前)的时
16
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.2 DSP系统时钟发生器
3.经过D1、D2和D3
时钟进入② 后,形成55x核时钟(CLKOUT3),同时分
路分别进入D1、D2和D3,产生SYSCLK1、SYSCLK2和 SYSCLK3时钟。 D1:SYSCLK1除法器,PLLDIV1寄存器[4:0]位,取值范 围0、1、3(缺省=3) (0表示除以1,以此类推) 。
常用CSL函数:
CSL外设模块(PER) CSL DAT CHIP DMA … McBSP TIMER PLL GPIO
8
描述 芯片支持库 基于C55x DMA的数据拷贝 通用设备模块 DMA外设模块 … 多通道串行口模块 定时器模块 PLL模块 非多路通用I/O
包含头文件 csl.h csl_dat.h csl_chip.h csl_dMa.h … csl_mcbsp.h csl_timer.h csl_pll.h csl_gpio.h
CSL的特点 片上外设编程的标准协议(定义一组标准的APIs:
函数、数据类型、宏);
对硬件进行抽象,提取符号化的片上外设描述(定
义一组宏,用于访问和建立寄存器及其域值)
方便对多资源的片上外设进行管理; 已集成到DSP/BIOS中(通过图形用户接口GUI对CSL
进行配置);
6
北京交通大学 国家工科电工电子教学基地
其中:delay()函数是软件延迟。
25
北京交通大学 国家工科电工电子教学基地
DSP应用技术
*2.4 GPIO
GPIO定义
D5灯和GPIO7管脚相连接。
11
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.2 DSP系统时钟发生器
①
②
系统时钟发生器模拟功能框图
12
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.2 DSP系统时钟发生器
从系统时钟发生器模拟功能框图可以看出,输入时钟
源经过D0、M1、D1、D2和D3,形成55x核时钟 (CLKOUT3)、SYSCLK1、SYSCLK2和SYSCLK3。其中: SYSCLK1为快速片上外设(DMA/HPI/Timer)提供时钟,
asm (" BSET XF"); // ; Set XF
注意插入的汇编指令前空一格!!
23
(汇编指令顶格写会认为是标号,即lable)
北京交通大学 国家工科电工电子教学基地
DSP应用技术
对D1灯的编程
由于BJTU-DSP5502板的D1灯和DSP管脚XF相连接,
而ST1_55寄存器的外部标志位XF和DSP管脚XF相连接
,因此如果希望D1等闪烁,即可以在C程序中轮流采
用asm(“ BCLR XF”)和asm (“ BSET XF”)实现。
24
北京交通大学 国家工科电工电子教学基地
DSP应用技术
对D1灯的编程
while(1)
{
asm(" BCLR XF"); // ; Clear XF
delay(3000); asm (" BSET XF"); // ; Set XF delay(3000); }
2.2 DSP系统时钟发生器
例如:
若输入时钟20MHz,D0=0 (表示除以1) ,M1=0xC(表
示乘以12),则55x核时钟CLKOUT3是多少(亦即进入D1、 D2、D3前) ?
进入②时
答:CLKOUT3=20MHz/1*12=240MHz (续上)若D1=1,D2=3,D3=3,则SYSCLK1、SYSCLK2和
15
进入②
D0:SYSCLK 0除法器,5bit,取值范围0~31(0表示
2表示乘以 2, 国家工科电工电子教学基地 3表示乘以3,以此类推)。 北京交通大学
DSP应用技术
2.2 DSP系统时钟发生器
例如:
若输入时钟20MHz,D0=0 (表示除以1) ,M1=0xC(
表示乘以12),则进入 钟频率是多少? 答:20MHz/1*12=240MHz
14
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.2 DSP系统时钟发生器
2.经过D0和M1
时钟进入PLL模块后,如果设置使能PLL,即PLL控
制/状态寄存器(PLLCSR)的位PLLEN=1,进入PLL模式 ,输入时钟(如20MHz)经除法器D0和乘法器M1后形成 55x核时钟,再往下传输(若PLLEN=0,输入时钟不必 经过D0和M1)。 除以1,以此类推)。 M1:乘法因子,4bit,取值范围0~15(0、1保留,
CLKOUT3 SYSCLK2 60MHz (D 2 1) SYSCLK3
20
CLKOUT3 60MHz (D 3 1)
DSP应用技术
北京交通大学 国家工科电工电子教学基地
2.3 寄存器ST1_55
DSP片内有大量CPU寄存器和片上外设寄存器,对
DSP操作的本质是对这些寄存器的操作。
置位或复位。
如:BCLR XF ; Clear XF,即令XF=0
BSET XF ; Set XF,即令XF=1 如果在c语言源程序插入汇编语句,可以利用 “asm()”函数实现。如: asm(" BCLR XF"); // ; Clear XF
19
北京交通大学 国家工科电工电子教学基地
DSP应用技术
各级时钟频率计算公式
依据CSL函数PLL_setFreq(1, 0xC, 0, 1, 3, 3, 0),
各时钟为(外部输入时钟X2/CLKIN=20MHz):
X2/CLKIN CLKOUT3 = xM1 = 240MHz (D0 +1) CLKOUT3 SYSCLK1 120MHz (D1 1)
2.3 寄存器ST1_55
寄存器ST1_55(地址0x00 0003h)为16bit存储器
映射寄存器。
其中:
XF为外部标志位,向DSP外部发出标志信息,用于程
序测试(其它位如INTM为中断模式位;ASM为累加移位模式…)
Fra Baidu bibliotek22
北京交通大学 国家工科电工电子教学基地
DSP应用技术
寄存器ST1_55操作
实验2 流水灯实验
一、实验目的 二、实验原理与资源使用 三、实验内容
四、实验思考题
1
北京交通大学 国家工科电工电子教学基地
DSP应用技术
一、实验目的 掌握CSL的使用
掌握如何给DSP各个模块配置时钟
掌握TMS32VC5502 DSP寄存器编程
了解GPIO的使用
2
北京交通大学 国家工科电工电子教学基地
SYSCLK3分别等于多少?
答: SYSCLK1=CLKOUT3/2=120MHz SYSCLK2=CLKOUT3/4=60MHz,SYSCLK3=CLKOUT3/4=60MHz
18
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.2 DSP系统时钟发生器
DSP系统时钟设置:
可以通过CSL库进行时钟设置,CSL库提供PLL模块,
DSP应用技术
二、实验原理与资源使用
2.1 DSP CSL库
2.2 DSP系统时钟发生器
2.3 寄存器ST1_55
*2.4 GPIO
3
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.1 DSP CSL库
什么是DSP CSL(Chip Support Library)库?
是DSP/BIOS部件,是函数、数据类型、宏,用于配置
这些寄存器均是存储器映射寄存器(MemoryMapped Registers),因此每个寄存器都有对应的存 储器地址。 CPU寄存器如: 状态寄存器ST0_55~ST3_55、累加器AC0~AC3等。
外设寄存器如:
定时器相关寄存器、DMA相关寄存器等。
详见TMS320C55x DSP CPU Reference Guide, SPRU371F.pdf 北京交通大学 国家工科电工电子教学基地 DSP应用技术 21
DSP应用技术
2.1 DSP CSL库
TMS320VC5502 CSL库:
CSL模块:
TMS320C55x Chip Support Library API Reference Guide,SPRU433I.pdf
7
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.1 DSP CSL库
TMS320VC5502 CSL库(包含20以上CSL函数):
DSP应用技术
2.2 DSP系统时钟发生器
TMS320VC5502含有一个灵活的时钟发生器模块,
由PLL和振荡器(oscillator)组成。这个模块可以
为系统不同部分产生不同时钟,如55x核、快速片 上外设、慢速片上外设和外部存储器接口等。
TMS320VC5502 Fixed-Point Digital Signal Processor Data Manual,SPRS166k.pdf
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.1 DSP CSL库
TMS320VC5502 CSL库(包含20以上CSL函数):
调用TMS320VC5502 CSL库:
工程中包含库文件csl5502x.lib(存储器为大模式) 或csl5502.lib (存储器为小模式) 在C程序中包含相应的头文件,如调用PLL函数,则 在C主程序中包含csl_pll.h,即:
SYSCLK2为慢速片上外设(McBSP/I2C/UART)提供时钟,
SYSCLK3为外部存储器接口(EMIF)提供时钟。
13
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.2 DSP系统时钟发生器
1.输入时钟源 5502时钟源可以是外部3.3V时钟,输入到管脚 X2/CLKIN上。当管脚GPIO4=1(对应CLKMD寄存器的 CLKMD0位),采用外部输入时钟。也可以是内部振荡 器产生(当管脚GPIO4=0时)。 本DSP系统采用20MHz的外部时钟 进入①
、控制和管理DSP片上外设;
CSL库函数一般是用C语言编写的,并已对代码的大小 和速度进行了优化。 CSL库是可裁剪的(只有被使用的CSL模块才会包含进 应用程序中)。
CSL库是可扩展的(每个片上外设的API模块相互独立
,新增API,对其它片上外设没有影响)。
TMS320C55x Chip Support Library API Reference Guide,SPRU433I.pdf 北京交通大学 国家工科电工电子教学基地 DSP应用技术 4
数,工程中包含csl5502x.lib(存储器为大模式)。 在blink.c中包含头文件,调用PLL_setFreq(),即: #include <csl_pll.h> #include <csl.h>
…
PLL_setFreq(1, 0xC, 0, 1, 3, 3, 0);
10
北京交通大学 国家工科电工电子教学基地
D2:SYSCLK2除法器,PLLDIV2寄存器[4:0]位,取值范
围0、1、3(缺省=3) (0表示除以1,以此类推) 。 D3:SYSCLK3除法器,PLLDIV3寄存器[4:0]位,取值范
17
围 0、 1、3(缺省 =3) (0表示除以1,以此类推 )。 北京交通大学 国家工科电工电子教学基地 DSP 应用技术
2.1 DSP CSL库
为什么采用CSL库?
DSP片上外设种类及其应用日趋复杂;
提供一组标准的方法用于访问和控制片上外设; 免除用户编写配置和控制片上外设所必需的定义和 代码,降低DSP工程师对硬件的知识掌握程度的要求。
5
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.1 DSP CSL库
PLL_setFreq()函数对PLL进行初始化,产生各个时钟。 在C语言源程序中: PLL_setFreq(1, 0xC, 0, 1, 3, 3, 0); 外部输入时钟20MHz,则实现:
55x核时钟CLKOUT3=240MHz,SYSCLK1=CLKOUT3/2=120MHz,
SYSCLK2=CLKOUT3/4=60MHz, SYSCLK3=CLKOUT3/4=60MHz
#include <csl_pll.h>( 当包含这些头文件时,编译时将自动进入工程中)
只要调用CSL库,首先包含csl.h,即:
#include <csl.h>
9
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.1 DSP CSL库
调用TMS320VC5502 CSL库:
以blink工程为例,使用PLL模块中的PLL_setFreq()函
②
时(进入D1、D2、D3前)的时
16
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.2 DSP系统时钟发生器
3.经过D1、D2和D3
时钟进入② 后,形成55x核时钟(CLKOUT3),同时分
路分别进入D1、D2和D3,产生SYSCLK1、SYSCLK2和 SYSCLK3时钟。 D1:SYSCLK1除法器,PLLDIV1寄存器[4:0]位,取值范 围0、1、3(缺省=3) (0表示除以1,以此类推) 。
常用CSL函数:
CSL外设模块(PER) CSL DAT CHIP DMA … McBSP TIMER PLL GPIO
8
描述 芯片支持库 基于C55x DMA的数据拷贝 通用设备模块 DMA外设模块 … 多通道串行口模块 定时器模块 PLL模块 非多路通用I/O
包含头文件 csl.h csl_dat.h csl_chip.h csl_dMa.h … csl_mcbsp.h csl_timer.h csl_pll.h csl_gpio.h
CSL的特点 片上外设编程的标准协议(定义一组标准的APIs:
函数、数据类型、宏);
对硬件进行抽象,提取符号化的片上外设描述(定
义一组宏,用于访问和建立寄存器及其域值)
方便对多资源的片上外设进行管理; 已集成到DSP/BIOS中(通过图形用户接口GUI对CSL
进行配置);
6
北京交通大学 国家工科电工电子教学基地
其中:delay()函数是软件延迟。
25
北京交通大学 国家工科电工电子教学基地
DSP应用技术
*2.4 GPIO
GPIO定义
D5灯和GPIO7管脚相连接。
11
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.2 DSP系统时钟发生器
①
②
系统时钟发生器模拟功能框图
12
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.2 DSP系统时钟发生器
从系统时钟发生器模拟功能框图可以看出,输入时钟
源经过D0、M1、D1、D2和D3,形成55x核时钟 (CLKOUT3)、SYSCLK1、SYSCLK2和SYSCLK3。其中: SYSCLK1为快速片上外设(DMA/HPI/Timer)提供时钟,
asm (" BSET XF"); // ; Set XF
注意插入的汇编指令前空一格!!
23
(汇编指令顶格写会认为是标号,即lable)
北京交通大学 国家工科电工电子教学基地
DSP应用技术
对D1灯的编程
由于BJTU-DSP5502板的D1灯和DSP管脚XF相连接,
而ST1_55寄存器的外部标志位XF和DSP管脚XF相连接
,因此如果希望D1等闪烁,即可以在C程序中轮流采
用asm(“ BCLR XF”)和asm (“ BSET XF”)实现。
24
北京交通大学 国家工科电工电子教学基地
DSP应用技术
对D1灯的编程
while(1)
{
asm(" BCLR XF"); // ; Clear XF
delay(3000); asm (" BSET XF"); // ; Set XF delay(3000); }
2.2 DSP系统时钟发生器
例如:
若输入时钟20MHz,D0=0 (表示除以1) ,M1=0xC(表
示乘以12),则55x核时钟CLKOUT3是多少(亦即进入D1、 D2、D3前) ?
进入②时
答:CLKOUT3=20MHz/1*12=240MHz (续上)若D1=1,D2=3,D3=3,则SYSCLK1、SYSCLK2和
15
进入②
D0:SYSCLK 0除法器,5bit,取值范围0~31(0表示
2表示乘以 2, 国家工科电工电子教学基地 3表示乘以3,以此类推)。 北京交通大学
DSP应用技术
2.2 DSP系统时钟发生器
例如:
若输入时钟20MHz,D0=0 (表示除以1) ,M1=0xC(
表示乘以12),则进入 钟频率是多少? 答:20MHz/1*12=240MHz
14
北京交通大学 国家工科电工电子教学基地
DSP应用技术
2.2 DSP系统时钟发生器
2.经过D0和M1
时钟进入PLL模块后,如果设置使能PLL,即PLL控
制/状态寄存器(PLLCSR)的位PLLEN=1,进入PLL模式 ,输入时钟(如20MHz)经除法器D0和乘法器M1后形成 55x核时钟,再往下传输(若PLLEN=0,输入时钟不必 经过D0和M1)。 除以1,以此类推)。 M1:乘法因子,4bit,取值范围0~15(0、1保留,
CLKOUT3 SYSCLK2 60MHz (D 2 1) SYSCLK3
20
CLKOUT3 60MHz (D 3 1)
DSP应用技术
北京交通大学 国家工科电工电子教学基地
2.3 寄存器ST1_55
DSP片内有大量CPU寄存器和片上外设寄存器,对
DSP操作的本质是对这些寄存器的操作。