3)存储器及扩展接口
15
存储器和寄存器的等待状态
名称 RAM块M0和M1 0 等待状态 说 明 无需设置等待状态
外设帧PF0
外设帧PF1
0
0(写操作) 2(读操作)
无需设置等待状态
固定数目的等待周期
外设帧PF2
RAM块L0和L1 Flash SARAM块H0 引导ROM XINTF
0(写操作) 2(读操作)
0 0 1
每个空间可以选择同步或异步检测(缺省方式)XREADY信号。
同步检测:在设定的建立和有效周期结束之后,再对XREADY 信号采样一个XTIMCLK周期。这样有效周期至少增加一个。
异步检测:在设定的建立和有效周期结束之后,再对XREADY 信号采样三个XTIMCLK周期。这样有效周期至少增加三个。
12
外设寄存器帧0
16/32
/* Peripheral Frame 0: */ F2812.cmd DEV_EMU : origin = 0x000880, length = 0x000180 XINTF : origin = 0x000B20, length = 0x000020 PIE_CTRL : origin = 0x000CE0, length = 0x000020 PIE_VECT : origin = 0x000D00, length = 0x000100 FLASH_REGS : origin = 0x000A80, length = 0x000060 CSM : origin = 0x000AE0, length = 0x000010 CPU_TIMER0 : origin = 0x000C00, length = 0x000008 CPU_TIMER1 : origin = 0x000C08, length = 0x000008 CPU_TIMER2 : origin = 0x000C10, length = 0x000008
7
/XZCS2
/XZCS6AND7 ⑤⑥…
3.2 片内存储器与寄存器
片内存储器均采用32位数据总线;
F2812采用32位格式访问存储器或外设时,分配的必须是偶 地址。绝大部分指令是采用32位格式从程序存储空间读取的。
各个数据存储器块M0 (1k)、M1 (1k)、L0 (4k)、L1 (4k)、 H0 (8k)均可以映射到程序和数据空间。
从程序空间读(PAB、PRDB)
从数据空间读(DRAB、DRDB) 向数据空间写(DWAB、DWDB) 这3个操作可以同时进行。
CPU
数据写
Functional Overview
扩展接口 ⑤⑥… ① ② ④
片内存储器
③ 0
6
Memory Map
①
⑤⑥… /XZCS0AND1 ② ⑤⑥… ⑤⑥… ④ ③ 0
FLASH具有如下特点:
FLASH分成5/10个扇区,每个扇区可以单独擦除与编程;
代码可安全保护(128位秘匙); 可根据CPU频率调整等待状态;
具有低功耗模式; 流水线模式能够提高代码执行效率。
8
F281X 的Flash地址表
F2812 F2811
128kW
F2810
64kW
20
对XINTF空间的访问
任何对XINTF空间的读/写时序都可以分为三个阶段: 建立阶段:所访问空间的片选信号为低电平,产生有效的地址在AB上;
有效阶段:读操作(/XRD=0)数据锁存到DSP;写(/XWE=0)操作数据至DB; 跟踪阶段:读/写信号变为高后,保持片选信号为低电平的一段时间;
*/ F2812.cmd = 0x007010, length = 0x000020 = 0x007070, length = 0x000010 = 0x0070C0, length = 0x000020 = 0x0070E0, length = 0x000020 = 0x007400, length = 0x000040 = 0x007500, length = 0x000040 = 0x007800, length = 0x000040 = 0x007050, length = 0x000010 = 0x007750, length = 0x000010 = 0x007040, length = 0x000010 = 0x007100, length = 0x000020
24
XREADY信号
XREADY信号?
DSP通过检测XREADY信号,可以延长DSP访问外设的有效阶段; 器件上所有外设空间共用一个XREADY信号,低电平有效; 每个空间可以独立配臵为检测或不检测XREADY信号;
在对XREADY信号采样时刻,如果信号为低电平,则有效阶段将延长 一个XTIMCLK周期,然后在下一个XTIMCLK的上升沿继续采样,直到检测 到XREADY为高电平,完成正常的读/写周期;
13
外设寄存器帧1
32
/* Peripheral Frame 1: */
ECAN_A EC06000, length = 0x000100 : origin = 0x006100, length = 0x000100
14
外设寄存器帧2
25
读周期波形(XTIMCLK=SYSCLKOUT)
2 3/1 2
1XTIMCLK
同步检测 异步检测
3XTIMCLK
26
写周期波形(XTIMCLK=SYSCLKOUT)
2 3/1 2
1XTIMCLK
同步检测
异步检测
3XTIMCLK
27
对XREADY信号的讨论
1、什么情况下需要XREADY信号?
外设速度特别慢,依靠软件插入等待状态无法满足要求; 一个XINTF区(ZONE)的外设较多,速度快慢差异较大。
讨论:通过软件可以设置的读写周期范围为: 2~54个SYSCLKOUT 。如 果 SYSCLKOUT=150MHz时,对应75MHz~2.78MHz。如果一个外设芯片 的读写周期为500μs,是否需要使用XREADY信号?
第二讲 内容回顾
1、系统时钟 1)DSP时钟:30MHz,5倍频;2)高/低速外设时钟设臵与使能 2、看门狗模块 1)使能/屏蔽看门狗;2)复位看门狗(0x55+0xAA) 3、CPU通用定时器 1)32+16位计数器;2)递减计数,产生周期性中断 4、通用I/O 1)高达56个,与外设复用;2)可配臵为输入或输出 5、PIE中断
缺省情况下,建立、有效、跟踪周期设臵为最大值,见下表。
缺省值 WS=0
持续的XTIMCLK周期数(tc—XTIMCLK的周期;WS—XREADY引入的等待周期数)
21
访问周期的计算(不使用XREADY信号)
1~3 2~6 2~6 4~12 1~3 0~3
0~3 0~6 0~6 0~12
1~8 1~15 1~16 1~30 0~7
2SYSCLKOUT≤访问周期≤ 54SYSCLKOUT
22
XTIMCLK和XCLKOUT的波形
XTIMCLK=SYSCLKOUT 7
7
Lead=2,Active=2,Trail=2
23
XTIMCLK和XCLKOUT的波形
XTIMCLK=SYSCLKOUT/2 14
14
Lead=2,Active=2,Trail=2
固定数目的等待周期
无需设置等待状态 无需设置等待状态 固定数目的等待周期
0-15(可编程) 可通过Flash的等待状态寄存器编程
1-54(可编程) 可通过XINTF寄存器编程
16
提示:Flash和XINTF的等待状态与DSP时钟频率有关。
外设寄存器的进一步说明
C28×系列DSP中有些寄存器的内容是受保 护的,其目的是为了避免用户程序错误地改 变这些寄存器的值。 当受保护后,允许CPU对该寄存器进行读操 作,但任何写操作均被忽略。
EPROM FLASH EEPROM DiskOnChip
数据存储器:
SRAM
DRAM EEPROM Dual Port RAM
PC/104兼容的Flash Disk模块
3
F281X的存储器
F281×采用增强的哈佛总线结构,能够并行访问程序 和数据存储空间,如可以并行实现程序读、数据读、数 据写这三个操作。 片内集成了大量的SRAM、ROM、FLASH等存储器, 采用统一编址方式,方便程序开发。
如果寄存器是EALLOW保护的,在对该寄存器进行 写操作前必须首先执行EALLOW指令使能;而完成 后执行EDIS指令则可以禁止写操作。
17
3.3 外部扩展接口
F2812的外部接口(XINTF)采用 非复用的扩展总线,与C240×的外 部接口相似;
8031单片机 的外部总线?
F2812的XINTF映射到5个独立的存储空间。当访问相应 每个空间都可以独立地设置访问建立、有效和跟踪时间,
的存储空间时,就会产生一个片选信号。
同时还可以通过XREADY信号来与外设的访问速度和时序 匹配。
18
外部接口框图
16位 19位
XZCS7取决于MP/MP的状态
XINTF
19
外部接口的时钟配置
XINTF模块有两个时钟信号,下图给出了CPU时钟与XINTF时钟间的关系; 所有外部扩展接口的建立、激活和跟踪时间均以时钟XTIMCLK为基准; 所有外部接口的访问周期均在XCLKOUT的上升沿开始有效。
2、是否有必要使用XREADY信号?
绝大多数情况下不必使用XREADY信号,直接将该引脚上拉至高电平;
对于扩展外部设备较多,且访问速度相差较大的情况,可以将外设按