首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

哈工大DSP精品讲义!!!(连载)

2.9 外设中断寄存器

外设中断寄存器包括如下几种:

外中断向量寄存器(PIVR)

外设中断请求寄存器0(PIRQ0)

外设中断请求寄存器1(PIRQ1)

外设中断请求寄存器2(PIRQ2) 与用户

外设中断应答寄存器0(PIACKR0) 无关,

编程忽略

外设中断应答寄存器(PIACKR1)

外设中断应答寄存器2(PIACKR2)

外设中断请求寄存器和外设中断应答寄存器都属于外

设中断扩展模块用来向CPU产生INT1-INT6中断请求

的内部寄存器。这些寄存器主要用于测试目的,而

不用于用户应用程序,在编程时可忽略。

2.10 复位和无效地址检测

2.10.1 复位

LF207 DSP器件有两个复位源:

* 一个为外部复位引脚

* 一个看门狗定时器溢出

2.10.2 无效地址检测

无效地址是不可执行的地址,

例如:外设存储器映射中的保留寄存器。

一旦检测到对无效地址的访问,就将系统控制和状态

寄存器1(SCSRl)中的无效地址标志位(ILLADR)置1。

无效地址检测会产生一个不可屏蔽中断(NMI)。无效

址标志位(ILLADR)在无效地址条件发生之后被置

1,并一直保持,直到软件将其清除。

通常产生无效地址访问的原因是不正确的数据页面初始化。

2.11 外部中断控制寄存器

控制和监视XINT1和XINT2引脚状态的两个外部中断控制寄存器为XINTlCRXINT2CR。在LF2407 中,XINTl和XINT2引脚必须被拉为低电平至少6个(或12个)CLKOUT周期才能被CPU内核识别。

1. 外部中断1控制寄存器-XINT1CR,映射到数据存储 器空间7070h。

位15:XINT1标志位。表示在XINTl引脚上是否检测到一个所选择的中断跳变,无论中断是否使能,该位都可以被置位。

当相应的中断被应答时,该位被自动清0。通过软件向

该位写1(写0无效)或者器件复位时,这位也被清0

0-没有检测到跳变

1-检测到跳变

位14-3:保留位

位2:XINTl极性。该读/写位决定了是在XINTl引脚

信号的上升沿还是下降沿产生中断。

0-在下降沿产生中断

1-在上升沿产生中断

位1:XINTl优先级。该读/写位决定哪一个中断优先

级被请求。

0-高优先级

1-低优先级

位0:XINTl使能位。该读/写位可使能或屏蔽外部中

断XINTl

0-屏蔽中断

1-使能中断

2.外部中断2控制寄存器-XINT2CR,映射到数据存储器空间7071h。

位15:XINT2标志位。该位表示在XINT2引脚上是否检 测到一个所选择的中断跳变,无论中断是否使能该位都可以被置1。当相应的中断被应答时,该位被自动清0。

0-没有检测到跳变

1-检测到跳变

软件向该位写1(写0无效)或器件复位时,该位也被清0

位14-3:保留位。

位2:XINT2极性。该读/写位决定了是在XINT2引脚

信号的上升沿还是下降沿产生中断。

0-在下降沿产生中断

1-在上升沿产生中断

位1:XINT2优先级。

0-高优先级

1-低优先级

位0:XINT2使能位。

0-屏蔽中断

1-使能中断

第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次的并行存储器操作。

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-002Fh:用作测试和仿真

0060h-007Fh:B2块,32个字

返回列表