《第3章存储器和IO空间》.pdf
文本预览下载声明
第3章 存储器及I/O空间
C240X芯片有16位地址线,可以访问3个独立的地址空
间,总计192K字。
• 程序存储器:64K字
• 数据存储器:64K字
• I/O空间:64K字,包含片内外设寄存器
LC:无FLASH
LF:有FLASH,
片内:单端口SARAM(共2K字)
双端口DARAM(B0块、B1块、B2块共544字)
改进的哈佛结构,通过3组并行地址总线访问3个空间。
(1)程序地址总线(PAB)
(2)数据读地址总线(DRAB)
(3)数据写地址总线(DWAB)
可同时访问程序和数据空间,一个周期内,CALU可执
行多达3次的并行存储器操作。
TMSC206:片内32K Falsh,B0-256个;B1-256个;
B2-32个 SARAM 4K字
TMSC240:片内16K Falsh,B0-256个;B1-256个;
B2-32个
TMSLF2407A(片内):
32K字 Falsh,
DARAM(双口RAM)为544个字:B0-256个;B1-256个;
B2-32个。
SARAM(单口RAM)2K字。
3.1 片内存储器
3.1.1 双端口RAM(DARAM)
544个字,分为三块:B0、B1、B2。
B0作程序存储器还是作数据存储器,由寄存器ST1的
D12位 CNF 来决定:
CNF=1,B0映射到程序存储器空间
CNF=0,B0映射到数据存储器空间
DARAM: 双访问随机读/写存储器,在单个机器周期内
可被访问2次:
CPU在时钟的主相写入DARAM;在时钟的从相从
DARAM读出数据;大大的提高了运行速度。
3.1.2 单端口RAM(SARAM)
2K字
单访问随机读/写存储器,在单个机器周期内可被访
问1次。
例如,一条指令要将A的值保存,且装载一个新值到A
在SARAM中需两个时钟周期,而在DARAM中需一个
时钟周期,
3.1.3 FLASH程序存储器
LF2407:16K字,映射到程序存储空间。有片内程序
存储器和片外程序存储器之分。
MP/MC*=0,选择片内Falsh存储器
MP/MC*=1,选择片外程序存储器,从片外程序存
储器开始执行程序。
1.FLASH程序存储器
特点:
(1)运行在3.3V电压模式;
(2)编程需在VCCP上加有5V电压;
(3)有多个向量,被保护,防止被擦除。
(4)编程由CPU实现。
2.FLASH控制方式寄存器(FCMR)
占用I/O空间 FF0Fh 。可对FLASH阵列编程。
3.访问FLASH控制寄存器
内有4个寄存器,控制在FLASH中的操作。
3.2 程序存储器
存放指令码、表格、常量
寻址空间为64K字范围。
当某一片外地址被访问时,会自动产生控制信号:PS*、
DS*、STRB*
两个因素决定程序存储器的配置
(1)CNF位
CNF=1,B0映射到程序存储器空间
CNF=0,B0映射到数据存储器空间
*脚
(2)MP/MC
MP/MC*=0,选择片内Falsh存储器0000h-7FFFh
MP/MC*=1,选择片外程序存储器0000h-7FFFh开始
执行程序。
程序存储器空间
3.3 数据存储器
1.数据存储器映射
三块:B0、B1、B2。
B0:256个字(可设置为程序/数据存储器)
B1、B2块:只能配置为数据存储器
数据存储器映射图如下图所示。
数据存储器空间
2.数据存储器页面
在直接寻址中,64K空间分为512页,具体页由状态寄
存器ST0中的9位数据页指针(DP)的值确定。
因此,在使用直接寻址指令中,必须指定数据页和7位
偏移量
9位数据页指针(DP)+ 7位偏移量
3.第0页数据地址映射
第0页(00h-7Fh)包含一些重要的寄存器:
0004h:中断屏蔽寄存器IMR。
0006h:中断标志寄存器IFR。
002Bh-00
显示全部