第8章 --PLL-EMIF_第1页
第8章 --PLL-EMIF_第2页
第8章 --PLL-EMIF_第3页
第8章 --PLL-EMIF_第4页
第8章 --PLL-EMIF_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第8章章 C55x的片上外设的片上外设图图8-1 使用外部时钟源使用外部时钟源图图8-2 使用内部振荡器使用内部振荡器u使用使用外部时钟源外部时钟源,将外部时钟信号直接加到,将外部时钟信号直接加到DSP芯片芯片的的X2/CLKIN引脚,且引脚,且X1引脚悬空引脚悬空u利用利用DSP芯片芯片内部的振荡器内部的振荡器构成时钟电路,在芯片的构成时钟电路,在芯片的X1和和X2/CLKIN引脚之间接入一个晶体,用于启动内引脚之间接入一个晶体,用于启动内部振荡器部振荡器8.1 时钟发生器时钟发生器8.1.1 时钟发生器概况时钟发生器概况图图8-3时钟振荡器时钟振荡器 输入引脚输入引脚 输出引脚输出引脚l

2、CPU时钟经过分频通过引脚时钟经过分频通过引脚CLKOUT输出,可供其他器件使用输出,可供其他器件使用l时钟发生器内有一个时钟发生器内有一个数字锁相环(数字锁相环(DPLL)和一个和一个时钟模式寄时钟模式寄存器存器(CLKMD) DPLL8.1.2 时钟工作模式时钟工作模式l时钟发生器有三种工作模式时钟发生器有三种工作模式:u旁路模式(旁路模式(BYPASS)u锁定模式(锁定模式(LOCK)uIdle模式模式l时钟模式寄存器(时钟模式寄存器(CLKMD)中的)中的PLL ENABLE位控制位控制旁路模式和锁定模式旁路模式和锁定模式l可以通过关闭可以通过关闭CLKGEN Idle模块使时钟发生器

3、工作在模块使时钟发生器工作在Idle模式。模式。DPLL不工作不工作1旁路模式(旁路模式(BYPASS)l如果如果PLL ENABLE=0,PLL工作于旁路模式,工作于旁路模式,PLL对输入对输入时钟信号进行时钟信号进行分频分频。分频值由。分频值由BYPASS DIV确定:确定:u如果如果BYPASSDIV=00,输出时钟信号的频率与输入信,输出时钟信号的频率与输入信号的频率相同,即号的频率相同,即1分频分频u如果如果BYPASSDIV=01,输出时钟信号的频率是输入信,输出时钟信号的频率是输入信号的号的1/2,即,即2分频分频u如果如果BYPASSDIV=1x,输出时钟信号的频率是输入信,输

4、出时钟信号的频率是输入信号的号的1/4,即,即4分频分频2.锁定模式(锁定模式(LOCK)l如果如果PLL ENABLE=1,PLL工作于锁定模式,工作于锁定模式,输出的时钟频率由下面公式确定:输出的时钟频率由下面公式确定:输入频率1DIV PLLMULT PLL输出频率表表8-1 时钟模式寄存器时钟模式寄存器CLKMD(1)位字 段说 明15Rsvd保留14IAI退出退出Idle状态后,决定状态后,决定PLL是否重新锁定是否重新锁定0 PLL将使用与进入Idle状态之前相同的设置进行锁定1 PLL将重新锁定过程13IOB处理失锁处理失锁0 时钟发生器不中断PLL,PLL继续输出时钟1 时钟发

5、生器切换到旁路模式,重新开始PLL锁相过程12TEST必须保持为必须保持为0117PLL MULT锁定模式下的锁定模式下的PLL倍频值倍频值,031表表8-1 时钟模式寄存器时钟模式寄存器CLKMD(2)位字 段说 明65PLL DIV锁定模式下的锁定模式下的PLL分频值分频值,034PLL ENABLE使能或关闭使能或关闭PLL0 关闭PLL,进入旁路模式1 使能PLL,进入锁定模式32BYPASS DIV旁路下的分频值旁路下的分频值00 一分频01 二分频10或11 四分频1BREAKLNPLL失锁标志失锁标志0 PLL已经失锁1 锁定状态或有对CLKMD寄存器的写操作0LOCK锁定模式标

6、志锁定模式标志0 时钟发生器处于旁路模式1 时钟发生器处于锁定模式8.1.3 CLKOUT输出输出lCPU时钟时钟可以通过一个时钟分频器对外提供可以通过一个时钟分频器对外提供CLKOUT信号信号lCLKOUT的频率由的频率由系统寄存器(系统寄存器(SYSR)中的中的CLKDIV确定确定u当当CLKDIV=000b时,时,CLKOUT的频率等于的频率等于CPU时钟频率时钟频率u当当CLKDIV=001b时,时,CLKOUT的频率等于的频率等于CPU时钟频率的时钟频率的1/2u当当CLKDIV=010b时,时,CLKOUT的频率等于的频率等于CPU时钟频率的时钟频率的1/3u当当CLKDIV=01

7、1b时,时,CLKOUT的频率等于的频率等于CPU时钟频率的时钟频率的1/4u当当CLKDIV=100b时,时,CLKOUT的频率等于的频率等于CPU时钟频率的时钟频率的1/5u当当CLKDIV=101b时,时,CLKOUT的频率等于的频率等于CPU时钟频率的时钟频率的1/6u当当CLKDIV=110b时,时,CLKOUT的频率等于的频率等于CPU时钟频率的时钟频率的1/7u当当CLKDIV=111b时,时,CLKOUT的频率等于的频率等于CPU时钟频率的时钟频率的1/88.1.4 使用方法使用方法l通过对通过对时钟模式寄存器(时钟模式寄存器(CLKMD)的操作,可以的操作,可以根据需要设定时

8、钟发生器的工作模式和输出频率根据需要设定时钟发生器的工作模式和输出频率l在设置过程中除了在设置过程中除了工作模式工作模式、分频值分频值和和倍频值倍频值以外,以外,还要注意其他因素对还要注意其他因素对PLL的影响的影响 省电(省电(Idle)DSP复位复位失锁失锁void PLL_Init(int freq) / freq为期望的CPU时钟频率 int i; DSPCLK dspclk; / DSPCLK是一个结构体 ioport unsigned int *clkmd; / 定义指向I/O空间的指针 ioport unsigned int *sysr; / 定义指向I/O空间的指针 clkmd

9、=(unsigned int *)0 x1c00; /指向时钟模式寄存器CLKMD sysr=(unsigned int *)0 x07fd; /系统寄存器/PLL初始化的过程:1、先根据锁定模式下期望的输出频率求出倍频值; dspclk.clkin = DSP_CLKIN; /设置输入时钟频率,本系统为晶振12MHZ dspclk.pllmult = (freq *2)/ dspclk.clkin; /求出锁定模式下的倍频值 if(dspclk.pllmult= 32) dspclk.pllmult=31; / pllmult取值范围031/ 2、关闭PLL,进入旁路模式,设置CLKMD 的

10、一些参数 *clkmd &= 0 x10; /pll enable = 0; 关闭PLL,进入旁路模式 for(i=*clkmd&1; i!= 0 ;i=*clkmd&1); 输入频率1DIV PLLMULT PLL输出频率位位字字 段段说说 明明65PLL DIV锁定模式下的PLL分频值,034PLLENABLE使能或关闭PLL0 关闭关闭PLL,进入旁路模式,进入旁路模式1 使能使能PLL,进入锁定模式,进入锁定模式32BYPASS DIV旁路下的分频值00 一分频一分频01 二分频二分频10或或11 四分频四分频1BREAKLNPLL失锁标志0 PLL已经失锁已经

11、失锁1 锁定状态或有对锁定状态或有对CLKMD寄存器的写操作寄存器的写操作0LOCK锁定模式标志0 时钟发生器处于旁路模式时钟发生器处于旁路模式1 时钟发生器处于锁定模式时钟发生器处于锁定模式/i=*clkmd&1 查询LOCK是否处于旁路模式,直到处于旁路模式 / 在旁路模式下进行锁定方式下的一些设定 *clkmd &= 0 x4000; / iai=0; *clkmd |= 0 x2000; / iob=1; *clkmd &= 0 xc; *clkmd |= 4; /旁路下的分频值为2分频 BY PASS=01 *clkmd &= 0 x60; *clkm

12、d |= 0 x20; /锁定模式下的分频值为2分频 PLL DIV=01 位位字字 段段说说 明明14IAI退出Idle状态后,决定PLL是否重新锁定0 PLL将使用与进入将使用与进入Idle状态之前相同的设置进行锁定状态之前相同的设置进行锁定1 PLL将重新锁定过程将重新锁定过程13IOB处理失锁0 时钟发生器不中断时钟发生器不中断PLL,PLL继续输出时钟继续输出时钟1 时钟发生器切换到旁路模式,重新开始时钟发生器切换到旁路模式,重新开始PLL锁相过程锁相过程位位字字 段段说说 明明65PLL DIV锁定模式下的PLL分频值,0332BYPASS DIV旁路下的分频值00 一分频一分频0

13、1 二分频二分频10或或11 四分频四分频1BREAKLNPLL失锁标志0 PLL已经失锁已经失锁1 锁定状态或有对锁定状态或有对CLKMD寄存器的写操作寄存器的写操作0LOCK锁定模式标志0 时钟发生器处于旁路模式时钟发生器处于旁路模式1 时钟发生器处于锁定模式时钟发生器处于锁定模式 / 在旁路模式下进行锁定方式下的一些设定 *clkmd &= 0 x4000; / iai=0; *clkmd |= 0 x2000; / iob=1; *clkmd &= 0 xc; *clkmd |= 4; /旁路下的分频值为2分频 BY PASS=01 *clkmd &= 0 x6

14、0; *clkmd |= 0 x20; /锁定模式下的分频值为2分频 PLL DIV=01 *clkmd &= 0 x0f80; /117置为0 *clkmd |= dspclk.pllmult7; /将计算出的倍频值赋给PLL MULT/ 3、使能PLL,进入锁定模式 *clkmd|=0 x10; /使能PLL for(i=0;i10;i+); /等待 for(i=*clkmd&1; i!= 1 ;i=*clkmd&1); /i=*clkmd&1 查询LOCK是否处于锁定模式,直到处于锁定模式时退出循环 *sysr=2; /确定CLKOUT的输出值 位位字字

15、段段说说 明明4PLLENABLE使能或关闭PLL0 关闭关闭PLL,进入旁路模式,进入旁路模式1 使能使能PLL,进入锁定模式,进入锁定模式0LOCK锁定模式标志0 时钟发生器处于旁路模式时钟发生器处于旁路模式1 时钟发生器处于锁定模式时钟发生器处于锁定模式位位字字 段段说说 明明117PLL MULT锁定模式下的PLL倍频值,031实验实验3.1 指示灯(指示灯(LED)实验)实验CPLD扩展原理扩展原理程序流程图程序流程图主文件主文件LED.c#include myapp.h#define LBDS (*(unsigned int *)0 x400001) / 定义LED寄存器地址voi

16、d Delay(unsigned int nDelay); / 延时子程序main() unsigned int uLED4=1,2,4,8; int i; PLL_Init(72); / 初始化DSP运行时钟 SDRAM_init(); / 初始化EMIF接口 while ( 1 )for ( i=0;i=0;i- ) LBDS=uLEDi; Delay(256); void Delay(unsigned int nDelay) int ii,jj,kk=0;for ( ii=0;iinDelay;ii+ )for ( jj=0;jj firstbit(mask) #define Write

17、Field(addr,data,mask) addr = (addr & (mask) | (data 1 )#define CE1_BASE ( 0 x400000L 1 )#define CE2_BASE ( 0 x800000L 1 )#define CE3_BASE ( 0 xC00000L 1 ) /*- Non-Maskable interrupts-*/#define INTR_RS 0#define INTR_NMI 1#define INTR_INT0 2 #define INTR_INT2 3#define INTR_TINT0 4#define INTR_RINT

18、0 5 本节课任务本节课任务1、阅读程序,、阅读程序,理解理解程序结构和内容程序结构和内容2、对源程序、对源程序LED.c各条语句写出注释各条语句写出注释3、修改、修改LED.c,使灯亮的顺序为,使灯亮的顺序为D1,D3,D2,D4 8.2 外部存储器接口(外部存储器接口(EMIF)8.2.1 EMIF介绍介绍nEMIF控制控制DSP和外部存储器和外部存储器之间的之间的所有所有数据传输数据传输 8.2 外部存储器接口(外部存储器接口(EMIF)8.2.1 EMIF介绍介绍nEMIF控制控制DSP和外部存储器和外部存储器之间的之间的所有所有数据传输数据传输 图图8-2-1 EMIF的输入和输出框

19、图的输入和输出框图DSPD15:0A13:0BE1:0表表8-2-1 TMS320VC5509A PGE存贮器映射存贮器映射EMIF支持的存储器类型支持的存储器类型lEMIF为三种类型的存储器提供了无缝接口:为三种类型的存储器提供了无缝接口:u异步存储器,包括异步存储器,包括ROM、FLASH以及异步以及异步SRAMu同步突发同步突发SRAM(SBSRAM),可以工作在,可以工作在1倍或倍或1/2倍倍CPU时钟频率时钟频率u同步同步DRAM(SDRAM),可以工作在,可以工作在1倍或倍或1/2倍倍CPU时钟时钟频率频率l也可通过也可通过EMIF外接外接D/A转换器、转换器、并行并行显示接口显示

20、接口等等外围设备外围设备u需要增加一些需要增加一些外部逻辑器件外部逻辑器件来保证设备的正常使用来保证设备的正常使用8.2.2 对存储器的考虑对存储器的考虑l对对EMIF编程时,必须了解:编程时,必须了解:u外部存储器地址如何分配给片使能(外部存储器地址如何分配给片使能(CE)空间)空间u每个每个CE空间可以同哪些类型的存储器连接空间可以同哪些类型的存储器连接u哪些寄存器位来配置哪些寄存器位来配置CE空间空间1. 存储器映射和存储器映射和CE空间空间l C55x的外部存储映射在存储空间的分布,相的外部存储映射在存储空间的分布,相应于应于EMIF的片选使能信号的片选使能信号 例如,例如,CE1空间

21、里的一片存储器,必须将空间里的一片存储器,必须将其片选引脚连接到其片选引脚连接到EMIF的引脚的引脚 。当当EMIF访问访问CE1空间时,就驱动空间时,就驱动 变低。变低。CE1CE12. EMIF支持的存储器类型和访问类型支持的存储器类型和访问类型存储器类型支持的访问类型异步8位存储器(MTYPE=000b)程序异步16位存储器(MTYPE=001b) 程序,32位数据,16位数据,8位数据异步32位存储器(MTYPE=010b) 程序,32位数据,16位数据,8位数据16位的SDRAM(MTYPE=011b)程序,32位数据,16位数据,8位数据16位的SBSRAM(MTYPE=100b)

22、 程序,32位数据,16位数据,8位数据表表8-2-2 存储器类型及每种存储器存储器类型及每种存储器允许允许的访问类型的访问类型3. 配置配置CE空间空间l使用使用全局控制寄存器(全局控制寄存器(EGCR)和每个和每个CE空间控制寄空间控制寄存器来配置存器来配置CE空间空间l对于每个对于每个CE空间,必须设置以下域:空间,必须设置以下域:uMTYPE 确定存储器类型确定存储器类型uMEMFREQ 决定存储器时钟信号的频率(决定存储器时钟信号的频率(1倍或倍或1/2倍倍CPU时钟信号的频率)时钟信号的频率)uMEMCEN 决定决定CLKMEM引脚是输出存储器时钟信引脚是输出存储器时钟信号还是被拉

23、成高电平号还是被拉成高电平每个空每个空间对应间对应3个个l不管每个不管每个CE空间里的存储器类型,一定要对空间里的存储器类型,一定要对全局控制全局控制寄存器寄存器写如下控制位(这些位要影响所有的写如下控制位(这些位要影响所有的CE空间):空间):uWPE:对所有的对所有的CE空间,使能或禁止写空间,使能或禁止写uNOHOLD: 对所有的对所有的CE空间,使能或禁止空间,使能或禁止HOLD请求请求表表8-2-3 EMIF 寄存器寄存器I/O口地址寄存器描 述I/O口地址寄存器描 述0800hEGCREMIF全局控制寄存器080AhCE22CE2空间控制寄存器20801hEMI_RSTEMIF全局

24、复位寄存器080BhCE23CE2空间控制寄存器30802hEMI_BEEMIF总线错误状态寄存器080ChCE31CE3空间控制寄存器10803hCE01CE0空间控制寄存器1080DhCE32CE3空间控制寄存器20804hCE02CE0空间控制寄存器2080EhCE33CE3空间控制寄存器30805hCE03CE0空间控制寄存器3080FhSDC1SDRAM控制寄存器10806hCE11CE1空间控制寄存器10810hSDPERSDRAM周期寄存器0807hCE12CE1空间控制寄存器20811hSDCNTSDRAM计数寄存器0808hCE13CE1空间控制寄存器30812hINITSD

25、RAM初值寄存器0809hCE21CE2空间控制寄存器10813hSDC2SDRAM控制寄存器28.2.3 EMIF的硬件设计的硬件设计 异步存储器异步存储器nEMIF提供了可配置的时序参数,使提供了可配置的时序参数,使DSP和许多异步存储器类型接口,包括和许多异步存储器类型接口,包括nFLASHnSRAMnEPROM1. 外部异步存储器的连接信号外部异步存储器的连接信号图图8-2-2 EMIF和异步存储器的连接和异步存储器的连接16KB8K字字2.配置配置EMIF为异步访问模式为异步访问模式l为了实现异步访问,首先要配置能够支持异步存为了实现异步访问,首先要配置能够支持异步存储器的储器的CE

26、空间空间u对每个对每个CE空间,可以按表空间,可以按表8-2-3的参数来配置,的参数来配置,每个每个CE空间都有空间都有控制寄存器控制寄存器1、2、3,包含,包含了可编程参数的所有位域了可编程参数的所有位域u如果如果CE空间控制寄存器空间控制寄存器1中的中的MTYPE 位没有位没有设置为异步存储器,设置为异步存储器,则这些参数会被忽略则这些参数会被忽略。表表 8-2-3 访问外部异步存储器的参数访问外部异步存储器的参数 3.本实验的扩展本实验的扩展FLASH设计设计图图8-2-3 S29AL008D FLASH引脚图引脚图A0A18: 19条地址线,条地址线,512K字字DQ0DQ15: 16

27、条数据线条数据线l由于由于S29AL008D进行字寻址,有进行字寻址,有19根地址线,而根地址线,而VC5509A 只有只有13根(字寻址不用根(字寻址不用A0),最多外扩),最多外扩8K字字的的异步存储器,要访问全部异步存储器,要访问全部512K字地址需要按页方式访问字地址需要按页方式访问直接把直接把VC5509A 的的GPIO口口与与S29AL008D的高位地址的高位地址线线A18A13进行连接进行连接利用利用CPLD设计一个设计一个6位位锁存寄存器,该寄存器的各位锁存寄存器,该寄存器的各位分别控制分别控制A18A13,当需要换页时,首先把高,当需要换页时,首先把高6位地址位地址锁存在该寄

28、存器中锁存在该寄存器中图图8-2-4VC5509A和和S29AL008D连接原理连接原理同步动态随机存取存储器同步动态随机存取存储器SDRAMlC55x外部存储器接口支持外部存储器接口支持16位、位、32位宽,位宽,4M字和字和8M字字SDRAMlSDRAM可以工作在可以工作在C55x时钟频率的时钟频率的1/2或或C55x时时钟频率钟频率表表8-2-4 SDRAM设置字段表设置字段表表表8-2-4(2) SDRAM控制寄存器控制寄存器1(SDC1)表表8-2-4(3) SDRAM控制寄存器控制寄存器(SDC2)A0A11:HY57V641620DQ0DQ15: 16条数据线条数据线本实验的扩展

29、本实验的扩展SDRAM设计设计行地址:行地址:RA0RA11列地址:列地址:CA0CA7图图8-2-5VC5509A 与与 HY57V281620连接原理连接原理8.3 通用定时器通用定时器8.3.1 定时器概况定时器概况lC5509A 芯片提供了芯片提供了2个个20位位的通用定时器的通用定时器l定时器由定时器由2部分组成:部分组成:u预定标计数寄存器(预定标计数寄存器(PSC), 4位位u主计数器(主计数器(TIM), 16位位l寄存器寄存器:u计数寄存器(计数寄存器(PSC,TIM)u周期寄存器(周期寄存器(TDDR,PRD): 在定时器在定时器初始化或定时值重新装入初始化或定时值重新装入

30、过程中,将周期寄存器的内容过程中,将周期寄存器的内容 复制到计数寄存器中复制到计数寄存器中图图8-3-1 定时器结构框图定时器结构框图8.3.2 工作原理工作原理l定时器的工作时钟定时器的工作时钟uDSP内部的内部的CPU时钟时钟u引脚引脚TIN/TOUT利用定时器控制寄存器(利用定时器控制寄存器(TCR)中的字段)中的字段FUNC可以确定可以确定时钟源和时钟源和TIN/TOUT引脚的功能引脚的功能l 预定标计数寄存器(预定标计数寄存器(PSC)由)由输入时钟输入时钟驱动,驱动,PSC在每个在每个输入时钟周期减输入时钟周期减1;当其减到当其减到0时,时,TIM减减1,当当TIM减到减到0,定时

31、器向定时器向CPU发送一个中断请求(发送一个中断请求(TINT)或向)或向DMA控制器控制器发送同步事件发送同步事件l定时器发送中断信号或同步事件信号的频率可用下式计算:定时器发送中断信号或同步事件信号的频率可用下式计算: 1PRD1TDDRTINT输入时钟频率频率l通过设置定时器控制寄存器(通过设置定时器控制寄存器(TCR)中的自动重装控制位)中的自动重装控制位ARB,可使定时器工作于自动重装模式,可使定时器工作于自动重装模式:u当当TIM减到减到0,重新将周期寄存器(,重新将周期寄存器(TDDR,PRD)的内容复制到计)的内容复制到计数寄存器(数寄存器(PSC,TIM)中,继续定时)中,继续定时表表8-3-1 定时器预定标寄存器定时器预定标寄存器 PRSC位字 段数 值说 明1510Rsvd保留96PSC0hFh预定标计数寄存器54Rsvd保留30TDDR0hFh当PSC重新装入时,将TDDR的内容复制到PSC中表表8-3 -2 主计数寄存器主计数寄存器 TIM位字 段数 值说 明150 TIM0000hFFFFh主计数寄存器表表8-3-3 主周期寄存器主周期寄存器 PRD位字 段数 值说 明150PRD0000hFFFFh主周期寄存器。当TIM必须重新装入时,将PRD的内容复制到TIM中表表8-3-4 定时器控制寄存器定时器控制寄存器 TCR(1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论