您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页CMDSPF2812电路使用说明书

CMDSPF2812电路使用说明书

来源:筏尚旅游网


中国电科第五十八研究所

电路使用说明书

产品型号: CMDSPF2812

产品名称: 32位定点数字信号处理器

中国电科第五十八研究所

CMDSPF2812使用说明 中国电科第五十八研究所

一、 概述 …………………………………………………………… 3 二、 功能、性能介绍 ……………………………………………… 3 三、 结构概况 ……………………………………………………… 13 四、 外设 ………………………………………………………… 45 五、 推荐使用环境 ………………………………………………… 74

版本

Rev.01

修改说明

初始创建

修改人

时间

张猛华 2010.07.20

第 2 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

一、 概述

CMDSPF2812是高性能32位定点数字信号处理器,主时钟工作频率150MHz,单周期指令执行时间6.67ns。该电路集成了多种先进的外设,为电机及其他运动控制领域应用的实现提供了良好的平台。同时代码和指令与F24x系列数字信号处理器完全兼容,从而保证了项目或产品设计的可延续性。

CMDSPF2812数字信号处理器集成了256KB的Flash存储器,8KB的引导ROM,数字运算表

以及2KB的OTP ROM,大大改善了应用的灵活性。128位的密码保护机制有效地保护了产品的知识产权。两个事件管理器模块为电机及功率变换控制提供了良好的控制功能。16通道高性能12位ADC模数转换单元提供了两个采样保持电路,可以实现双通道信号同步采样。

CMDSPF2812使用先进TSMC 0.18微米 N阱 双多晶六层金属嵌入式Flash 工艺制造,正反

向结合的设计方法完成设计,芯片最终面积为6705×6502 平方微米,设计规模达180万门。

二、功能、性能介绍

2.1 功能概述

2.2 CMDSPF2812主要技术特点 2.3管脚及引脚说明

2.1 功能概述

CMDSPF2812是一种低功耗的32位定点数字信号处理器,它集中了了数字信号处理器的诸多

优秀特性,它具备精简指令集计算(RISC)功能,微型控制器结构,固件及工具装置等。数字信号处理器的特性包括改进型的哈佛结构和循环寻址方式等。RISC特性是指单周期执行指令,寄存器到寄存器的操作以及改进型的哈佛结构(能够在冯诺依曼模式中可用)等等。微型控制器结构则包括直观指令集操作简化、压缩和非压缩的字节应用以及的对位的操作等等。

利用改进型的哈佛结构可以并行执行指令和读取数据。CPU可以在写数据的同时进行流水线

中的单周期指令操作,还可同时读取指令和数据。CPU通过6条独立的地址和数据总线来完成这些操作。

CMDSPF2812芯片具有3种兼容操作模式:C27x目标-兼容模式、C28x模式及C2xLP源-兼容

模式。C28x模式中,用户可以使用C28x的所有有效特性、寻址方式和指令系统;C27x目标-兼

第 3 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 容模式中,在复位时CPU处于此模式,在该模式下,目标码与C27xCPU完全兼容,且它的循环-计数也与C27xCPU兼容;C2xLP源-兼容模式允许用户运行C2xLP的源代码,这些源代码是用C28x代码生成工具编译生成的。

CMDSPF2812的内部总线结构和专门的数字信号处理(DSP)指令系统,使其在速度、在灵活性上达到150MIPS。CMDSPF2812用硬件实现一些其它处理器用软件或微程序来实现的功能,从而优化了自身的速度。这一硬件强化方法,提供了从前在单一芯片上不能达到的功能。 CMDSPF2812可在单周期内作并行的乘法及ALU操作。它还具有通用的寄存器组,程序高速缓冲存储器,专用的辅助寄存器运算单元(ARAU),内部的存取存储器,一个FLASH存储器,以及短的机器周期时间。由于这些特点,使它具有高性能,并使用起来很方便。

由于它具有很大的地址空间,多处理器接口,内部及外部产生的等待状态,两个事件管理器,两个串行通讯接口,一个串行外设接口,一个看门狗定时器以及多重中断结构,该处理器的应用得到很大的加强。

代码安全模块(CSM)是和C28x电路融为一体的一种安全特性。它禁止未授权的用户访问片内存储器,禁止私有代码的复制/逆向操作,用户知识产权得到有效的保护。

基于寄存器的结构,庞大的地址空间,功能强大的寻址方式,使得在该处理器上更容易实现高级语言。

2.2 CMDSPF2812主要技术特点

CMDSPF2812主要技术特点列举如下;

 高性能静态CMOS 工艺

- 150MHz(6.67ns 单周期指令执行时间)

- 低功耗设计(内核1.8V@135MHz,内核1.9V@150MHz,3.3V I/O)

 JTAG边界扫描

 高性能32位TMS320C28x CPU内核 - 8级流水线 - 兼容C27x指令集

- 兼容F24x/LF240x指令代码 - 16*16和32*32 MAC操作 - 16*16双MAC操作

第 4 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

- 哈佛总线架构 - 原子操作

- 快速中断相应和处理 - 统一的存储器编程模型

- 4M线性的程序/数据地址访问空间  内嵌存储器

- 高达128K*16的内嵌flash(4块8K*16和6块16K*16) - 1K*16 的一次可编程存储器(OTP ROM) - L0、L1:2个4K*16 SRAM - H0 :8K*16 SRAM - M0、M1:2个1K*16 SRAM  引导ROM(4K*16) - 软件引导模式程序 - 标准数学表  外部接口

- 高达1M外部空间 - 可编程的等待状态 - 可编程的读写选通时序 - 三独立片选  时钟和系统控制 - 动态PLL系数控制 - 片上晶振 - 看门狗定时器模块  三个外部中断

 外设中断扩展(PIE)支持多达45个外设中断  三个32位CPU定时器  128位安全密码锁定

- 保护FLASH/OTP和L0/L1 SRAM - 阻止固件反向工程

第 5 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

 马达控制外设

- 两个事件管理器(EVA、EVB) - 4个GP定时器 - 16通道CMP/PWM - 6通道CAP - 2通道QEP

- 兼容240xA电路

 串行接口外设 - 串行外设接口SPI

- 两个串行通讯接口(SCIA、SCIB),标准的UART - 增强型网络控制器(eCAN) - 多通道缓冲串口(McBSP)  12位ADC:16通道 - 2*8 通道输入选择 - 两个采样保持 - 单个/并发转换

- 快速的速率:80ns/12.5MSPS  多达56个GPIO端口  先进的仿真特性  低功耗模式

- IDLE,STANDBY,HALT模式 - 外设时钟可独立禁止  封装形式:CQFP176

图2.2.1 为功能模块图,它表明各个模块之间的相互关系。

第 6 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

图2.2.1 功能模块框图

第 7 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 2.3管脚及引脚说明

CMDSPF2812数字信号处理器为176pin CQFP封装形式。

本节给出CMDSPF2812处理器在微处理器方式下的信号说明。表2-3-1列出每种信号对应的

功能,管脚数目和工作方式。所有标示为NC的管脚,用户不能连接。信号名上的横线(例如XRS)表示该信号在逻辑‘0’低电平时有效。

图2.3.1引出端口排列图

第 8 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

表2-3-1 CMDSPF2812信号说明

序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 XMP / 18 19 20 21 22 符号 I/O/Z 功能 序号符号 I/O/Z 功能 VDDAIO - ADC3.3V模拟I/O电源 ADCINB0 I ADC模拟输入 ADCINB1 I ADC模拟输入 ADCINB2 I ADC模拟输入 ADCINB3 I ADC模拟输入 ADCINB4 I ADC模拟输入 ADCINB5 I ADC模拟输入 ADCINB6 I ADC模拟输入 ADCINB7 I ADC模拟输入 ADCREFM I/O ADC参考电压输出 ADCREFP I/O ADC参考电压输出 AVSSREFBG - ADC模拟地 AVDDREFBG - ADC 3.3V模拟电源 VDDA1 - ADC 3.3V模拟电源 VSSA1 - ADC模拟地 ADCRESEXT O ADC外部偏置电阻 27 28 29 30 31 XD[2] I/O/Z 数据总线 MCLKXA I/O McBSP发送时钟 MFSRA I/O McBSP接收帧同步 XD[3] I/O/Z 数据总线 VDDIO - 3.3V电源 32 VSS - 地 33 XD[4] I/O/Z 数据总线 34 SPICLKA I/O/Z SPI时钟 35 SPISTEA I/O/Z SPI从发送使能 36 XD[5] I/O/Z 数据总线 37 38 VDD - 1.8V电源 VSS - 地 39 XD[6] I/O/Z 数据总线 40 SPISIMOA I/O/Z SPI从入主出 41 SPISOMIA I/O/Z SPI从出主入 42 XRD O/Z 读使能信号 MC I 微处理器/微计算机 43 XA[1] O/Z 地址总线 44 XA[0] O/Z 地址总线 VSS - 地 MDRA I/O McBSP接收串行数据 XD[0] I/O/Z数据总线 XZCS0AND1 O/Z XINTF片外空间0和1片选 45 PWM7 I/O PWM输出7 46 PWM8 I/O PWM输出8 47 PWM9 I/O PWM输出9 48 PWM10 I/O PWM输出10 49 PWM11 I/O PWM输出11 50 PWM12 I/O PWM输出12 51 XR/W O/Z 读写选通信号 MDXA I/O McBSP发送串行数据 VDD - 1.8V电源 XD[1] I/O/Z数据总线 23 24 25 26 MCLKRA I/O McBSP接收时钟 MFSXA I/O McBSP发送帧同步 52 VSS - 地

第 9 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

表2-3-1 CMDSPF2812信号说明(续)

序号 符号 I/O/Z 功能 序号符号 I/O/Z 功能 53 T3PWM_T3CMP I/O 定时器3输出 54 XD[7] I/O/Z 数据总线 55 T4PWM_T4CMP I/O 定时器4输出 56 VDD - 1.8V电源 57 CAP4_QEP3 I/O 捕获输入4 58 VSS - 地 59 CAP5_QEP4 I/O 捕获输入5 60 CAP6_QEPI2 I/O 捕获输入6 61 62 63 78 VSS - 地 79 T3CTRIP_PDPINTB I/O 定时器3比较输出80 XA[2] O/Z 地址总线 81 VDDIO - 3.3V电源 82 83 84 XHOLDA O/Z I/O O/Z 外部保持应答信号 定时器4比较输出写使能 T4CTRIP/EVBSOC XWE 85 XA[3] O/Z 地址总线 86 VSS - 地 87 CANTXA I/O eCAN数据发送 XINTF片外空间2片选 89 CANRXA I/O eCAN数据接收 SCI异步串行端口90 SCITXDB I/O/Z 数据发送 SCI异步串行端口91 SCIRXDB I/O/Z 数据接收 92 PWM1 I/O PWM输出1 93 PWM2 I/O PWM输出2 94 PWM3 I/O PWM输出3 95 PWM4 I/O PWM输出4 96 XD[12] I/O/Z 数据总线 97 XD[13] I/O/Z 数据总线 98 PWM5 I/O PWM输出5 99 VSS - 地 100 VDD I 1.8V电源 C4TRIP C5TRIP C6TRIP I/O I/O 比较器4输出 比较器5输出 I/O 比较器6输出 88 XZCS2 O/Z 64 VDDIO - 3.3V电源 65 XD[8] I/O/Z 数据总线 66 TEST2 I/O 保留测试端口 67 TEST1 I/O 保留测试端口 68 XD[9] I/O/Z 数据总线 69 VDD3VFL - 3.3V Flash电源 70 VSS - 地 71 TDIRB I/O EVB定时器方向 72 TCLKINB I/O EVB定时器时钟 73 XD[10] I/O/Z 数据总线 74 XD[11] I/O/Z 数据总线 75 VDD - 1.8V电源 76 X2 O 振荡器输出 振荡器输入/时钟77 X1/XCLKIN I 输入 101 PWM6 I/O PWM输出6 102 T1PWM_T1CMP I/O 定时器1输出

第 10 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

表2-3-1 CMDSPF2812信号说明(续)

序号 符号 I/O/Z 功能 序号 符号 I/O/Z 功能 103 XA[4] O/Z 地址总线 104 T2PWM_T2CMP I/O 定时器2输出 105 VSS - 地 106 CAP1_QEP1 I/O 捕获输入1 107 CAP2_QEP2 I/O 捕获输入2 108 XA[5] O/Z 地址总线 109 CAP3_QEPI1 I/O 捕获输入3 127 TDO O/Z JTAG测试数据输出 128 VDD - 1.8V电源 129 VSS - 地 130 XA[10] O/Z 地址总线 131 TDI I JTAG测试数据输入 132 XA[11] O/Z 地址总线 133 XZCS6AND7 O/Z XINTF片外空间6和7片选 110 T1CTRIP_PDPINTA I/O 定时器1比较输出134 TESTSEL I 保留测试端口 111 XA[6] O/Z 地址总线 112 VDD - 1.8V电源 113 VSS - 地 114 VDDIO - 3.3V电源 115 135 TRST I JTAG测试复位 136 TCK I JTAG测试时钟 137 EMU0 I/O/Z JTAG仿真端口0 138 XA[12] O/Z 地址总线 139 XD[14] I/O/Z 数据总线 140 XF_XPLLDIS I/O XF输出信号 T2CTRIP/EVASOCI/O 定时器2比较输出116 TDIRA I/O EVA定时器方向 117 TCLKINA I/O EVA定时器时钟 118 XA[7] O/Z 地址总线 119 XCLKOUT O 时钟输出 120 VSS - 地 121 XA[8] O/Z 地址总线 122 123 124 141 XA[13] O/Z 地址总线 142 VSS - 地 143 VDD - 1.8V电源 144 XA[14] O/Z 地址总线 145 VDDIO - 3.3V电源 146 EMU1 I/O/Z JTAG仿真端口1 147 XD[15] I/O/Z 数据总线 148 XA[15] O/Z 地址总线 149 XINT1_XBIO I/O/Z 外部中断1 C1TRIP C2TRIP C3TRIP I/O I/O I/O 比较输出1 比较输出2 比较输出3 125 XA[9] O/Z 地址总线 JTAG测试模式选126 TMS I 择 150 XNMI_XINT13 I/O 外部NMI中断

第 11 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

表2-3-1 CMDSPF2812信号说明(续)

引出端序号 151 XINT2_ADCSOC I/O/Z 外部中断2 152 XA[16] O/Z 地址总线 153 VSS 154 VDD - 地 - 1.8V电源 符号 I/O/Z 功能 引出端序号 符号 I/O/Z 功能 164 ADCBGREFIN - 保留测试端口 165 VSSA2 - ADC模拟地 166 VDDA2 - ADC模拟3.3V电源 167 ADCINA7 I ADC模拟输入 168 ADCINA6 I ADC模拟输入 169 ADCINA5 I ADC模拟输入 170 ADCINA4 I ADC模拟输入 171 ADCINA3 I ADC模拟输入 172 ADCINA2 I ADC模拟输入 SCI异步串行端155 SCITXDA I/O 口数据发送 156 XA[17] O/Z 地址总线 SCI异步串行端157 SCIRXDA I/O 口数据接收 158 XA[18] O/Z 地址总线 159 XHOLD XRS I 外部保持请求信号 器件复位信号/看160 I/O 门狗复位输出信号 173 ADCINA1 I ADC模拟输入 174 ADCINA0 I ADC模拟输入 175 ADCLO - ADC共地输入 176 VSSAIO ADC模拟I/O地 161 XREADY 162 VDD1 163 I 准备好信号 ADC数字1.8V电- 源 VSS1 - ADC数字地

第 12 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

三、结构概况

3.1高性能32位TMS320C28x CPU内核 3.2 存储器

3.3 代码安全模块(CSM) 3.4 外部接口(XINTF) 3.5 中断 3.6 系统控制 3.7 晶振、锁相环 3.8 低功耗

CMDSPF2812采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操

作,提供特殊的DSP指令,可以快速的实现各种数字信号处理算法。

CMDSPF2812处理器的结构概况主要方面如下:

 高性能32位TMS320C28x CPU内核 - 8级流水线 - 兼容C27x指令集

- 兼容F24x/LF240x指令代码 - 16*16和32*32 MAC操作 - 16*16双MAC操作 - 哈佛总线架构 - 原子操作

- 快速中断相应和处理 - 统一的存储器编程模型

- 4M线性的程序/数据地址访问空间  内嵌存储器

- 高达128K*16的内嵌flash(4块8K*16和6块16K*16) - 1K*16 的一次可编程存储器(OTP ROM) - L0、L1:2个4K*16 SRAM - H0 :8K*16 SRAM - M0、M1:2个1K*16 SRAM

第 13 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

 引导ROM(4K*16)  外部接口  时钟和系统控制

 外设中断扩展(PIE)支持多达45个外设中断  三个32位CPU定时器

 128位安全密码锁定,保护FLASH/OTP和L0/L1 SRAM  马达控制外设:两个事件管理器(EVA、EVB)  串行接口外设 - 串行外设接口SPI

- 两个串行通讯接口(SCIA、SCIB),标准的UART - 增强型网络控制器(eCAN) - 多通道缓冲串口(McBSP)  12位ADC:16通道  多达56个GPIO端口

3.1高性能32位TMS320C28x CPU内核

CMDSPF2812的CPU内核是一个高性能的32位定点数字信号处理器内核,图3.1.1显示了CPU

的主要组成部分和数据路径。阴影部分的总线是通往CPU的存储器外部接口总线;操作数总线为乘法器、移位器和ALU的操作提供了操作数;而结果总线把运算结果送往寄存器和存储器。

CPU的主要组成部分如下:

(1) 程序和数据存储逻辑:该逻辑用来存储从程序存储器取回的一串指令。 (2) 适时和可视性的仿真逻辑。

(3) 辅助寄存器算术单元(ARAU)。ARAU为从数据存储器取回的数据值分配地址。对于数

据读操作,它把地址放在数据读地址总线(DRAB)上。对于数据写操作,它把数据地址装入数据写地址总线(DWAB)。ARAU也可以去增加或减少堆栈指针及辅助寄存器的值。

(4) 算术逻辑单元(ALU)。32位的ALU执行二进制补码的算术和布尔运算。在作运算之

前,ALU从寄存器、数据存储器或者程序逻辑单元接收数据,然后进行运算,最后把运算结果存入寄存器或者数据存储器中。 (5) 预取队列和指令译码

第 14 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 (6) 为程序和数据而设的地址发生器

(7) 定点乘法器/算术运算单元(MPY/ALU)。乘法器执行32位*32位的二进制补码乘法,

并产生64位的计算结果。为了同乘法器关联,C28x运用了32位被乘数寄存器(XT)、32位结果寄存器(P)和32位累加器(ACC)。XT寄存器提供乘法的一个乘数,乘积被送往P寄存器或者ACC中。 (8) 中断处理

图3.1.1 CPU结构图

第 15 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

3.1.1 地址和数据总线

存储器接口有三条地址总线:

(1) PAB程序地址总线,用来传送来自程序空间的读写地址。PAB是一个22位的

总线。

(2) DRAB数据读地址总线,32位的DRAB用来传送来自数据空间的读地址。 (3) DWAB数据写地址总线,32位的DWAB用来传送来自数据空间的写地址。

存储器接口还有3条数据总线:

(1) PRDB程序读数据总线,在读取程序空间的时用来传送指令或数据。PRDB是一

个32位的总线。

(2) DRDB数据读数据总线,DRDB在读取数据空间时用来传送数据。DRDB是一个

32位的总线。

(3) DWDB数据/程序写数据总线,32位DWDB在对数据空间写数据时用来传送数据。

表3-1-1-1 用于访问数据空间和程序空间的总线概况

需要指出的是:程序空间的读和写不能同时发生;程序空间的写和数据空间的写不能同时发

生。

3.1.2 CPU的寄存器阵列

表3-1-2-1列出了CPU的主要寄存器和他们复位后的初值,图3.1.2.1 给出了这些寄存器

的情况,下面对这些寄存器进行详细说明。

第 16 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

表3-1-2-1

第 17 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

表3-1-2-1(续)

第 18 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

图3.1.2.1 C28x的寄存器阵列

第 19 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所  累加器(ACC、AH、AL)

累加器(ACC)是CPU的主要工作寄存器。除了那些对存储器和寄存器的直接操作外,所有的ALU操作结果最终都要送入ACC。ACC支持单周期数据传送、加法、减法和来自数据存储器的宽度为32位的比较运算,它也可以接受32位乘法器操作的运算结果。

对ACC可以单独进行16位/8位的访问。即把ACC分为两个独立的16位寄存器:AH(高16位)和AL(低16位),而AH和AL的高/低字节也可进行独立访问。用专门的字节传送指令能够装载和存储AH/AL的最高位或最低位,这使有效进行字节捆绑和解捆操作成为可能。

图3.1.2.2 累加器ACC

 被乘数寄存器(XT)

被乘数寄存器XT的主要作用是:在32位乘法操作之前,存放一个32位有符号整数值。可以将XT分为两个独立的16位寄存器T和XT。

图3.1.2.3被乘数寄存器XT

 结果寄存器(P、PH、PL)

结果寄存器P用来存放乘法运算的结果。它也可以直接装入一个16位常数,或者从一个16位/32位的数据存储器、16位/32位的可寻址CPU寄存器以及32位累加器中读取数据。P寄存器可以作为一个32位寄存器或者两个独立的16位寄存器:PH和PL来使用。

第 20 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

图3.1.2.4 结果寄存器P

 数据页指针(DP)

在直接寻址模式中,对数据存储器的寻址要在64个字的数据页中进行。由低4兆字的数据存储器组成65536个数据页,用0~65535进行编号,如图3.1.2.5所示。在DP直接寻址模式下,16位的数据页指针(DP)包含了目前的数据页数。可以通过给DP赋新值去改变数据页号。4兆以上字的数据存储器用DP不能访问。当CPU工作在C2xLP源-兼容模式时,使用一个7位的偏移量,并忽略DP寄存器的最低位。

图3.1.2.5 数据存储器的数据页

 堆栈指针(SP)

堆栈指针(SP)允许在数据存储器中的使用软件堆栈。堆栈指针为16位,可以对数据空间的低64K进行寻址(如图3.1.2.6)当使用SP时,将32位地址的高16位置为0。

第 21 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

图3.1.2.6 堆栈指针的寻址

 辅助寄存器(XAR0~XAR7、AR0~AR7)

CPU提供8个32位的辅助寄存器:XAR0、XAR1、XAR2、XAR3、XAR4、XAR5、XAR6、XAR7。它们可以作为地址指针指向寄存器,或者作为通用目的寄存器来使用。

许多指令可以访问XAR0~XAR7的低16位,如图3.1.2.7所示,其中,辅助寄存器的低16位为AR0~AR7,它们用作循环控制和16位比较的通用目的寄存器。

当访问AR0~AR7 时,寄存器的高16位(AR0H~AR7H)可能改变或不改变,这主要取决于所应用的指令。AR0H~AR7H只能作为XAR0~XAR7的一部分来读取,不能单独进行访问。

图3.1.2.7 XAR0~XAR7 寄存器

 程序计数器(PC)

当流水线满的时候,22位的程序指针总是指向当前操作的指令,该指令刚刚到达流水线的第二阶段——解码。一旦指令到达了流水线的这一阶段,它就不会再被中断而从流水线中清除掉,而是在中断执行之前就被执行了。  程序返回寄存器(RPC)

当通过LCR指令执行一个调用操作时,返回地址存储在RPC寄存器中,RPC以前的

第 22 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

值存在堆栈中。当通过LRETR指令执行一个返回操作时,返回地址从RPC寄存器中读出,堆栈中的值被写回RPC寄存器。其他的调用指令并不使用RPC寄存器。  中断控制寄存器(IFR、IER、DBGIER)

C28x有3个寄存器用于控制中断:中断标志寄存器(IFR)、中断使能寄存器(IER)和调式中断使能寄存器(DBGIER)。IFR包含的标志用于可屏蔽中断。当通过硬件或软件设定了其中某位时,则相应得中断就被使能。可以用IER中的相应位屏蔽和使能中断。当DSP工作在实时仿真模式并且CPU被挂起时,DBGIER表明可以使用时间临近中断(如果被使能)。

 状态寄存器ST0和ST1

状态寄存器中包含各种状态和控制位,在应用中特别重要,内容可以保存到数据存储器,或从数据存储器中读出加载到ST0和ST1中,从而在子程序调用或进入中断时实现CPU各种状态的保存。

图3.1.2.8 ST0状态 寄存器

图3.1.2.9 ST1状态寄存器

第 23 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 3.1.3 程序流

 中断系统

中断申请信号由软件或硬件驱动的信号,该信号可以使C28x暂停当前执行的主程序,转而去执行一个中断服务程序。通常中断申请由外围设备和硬件产生,以便完成C28x数据的传送或者从C28x接收数据(如A/D和D/A转换器或其它的处理器)。中断也可以用作标识一个特殊事件已经发生的信号(如一个定时器已经停止计数)。

C28x的中断可以由软件激发(INTR或TRAP指令)或通过硬件触发(来自某个引脚,一个外围设备或片内外设)。 如果多个硬件中断被同时激发,C28x就按照它们的中断优先级来提供服务。每个C28x的中断,无论是软件中断还是硬件中断,都可归结为以下两类中的一种:

a) 可屏蔽中断:这些中断可以用软件加以屏蔽或解除屏蔽。

b) 非屏蔽中断:这些中断不能被屏蔽。C28x将立即响应该种中断并转入相应的子程序

去执行。所有用软件调用的中断都属于该类中断。 C28x按如下的四个步骤处理中断:

a) 接收中断请求:必须由软件中断(从程序代码中)或者硬件中断(从一个引脚或一个基于芯片的设备)提供请求去暂停当前主程序的执行。

b) 响应中断:C28x必须能够响应中断请求。如果中断是可屏蔽的,则必须满足一定的条件,按照一定的顺序去进行测试。而对于非屏蔽硬件中断和软件中断,C28x会立即作出响应。

c) 准备执行中断服务程序并保存寄存器值。主要执行过程如下:

(1)完整地执行完当前指令,清除流水线中还没有到达第二阶段的所有指令。 (2)将寄存器ST0、T、AH、AL、PH、PL、AR0、AR1、DP、ST1、DBGSTAT、PC和IER

的内容保存到堆栈中,以便自动保存主程序的大部分内容。

(3)取回中断向量并把它放入程序寄存器PC中。

d) 执行中断服务子程序:C28x调用相应的中断服务程序ISR,进入预先设定的向量地址,并且执行已写好的ISR。

C28x支持32位的中断向量,包括复位向量。每一向量是一个22位的地址,该地址是相应中断服务程序ISR的入口地址。每一个32位的向量被保存在一个连续的地址空间中,见表3.1.3.1。

第 24 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

表3.1.3.1 中断向量和优先级

表3.1.3.1 中断向量和优先级(续)

第 25 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

其中,地址的低16位保存该向量的低16位(LSBs),高地址则保存它的高6位(MSBs)。当

一个中断被确认后,其22位的向量被取回,而地址的高10位被忽略。

向量表可以映像到程序空间的底部或顶部,这取决于状态寄存器ST1的向量映像为VMAP,

如果VMAP位是0,向量就映像在以000000h开始的地址上;如果其值是1,向量就映像到以3FFFC0h开始的地址上。VMAP位可以由SETC VMAP指令进行置位,由CLRC VMAP指令进行复位。VMAP的复位值为1。

 流水线

流水线的硬件可以防止CPU对同一寄存器或数据存储单元进行读和写操作,以免造成混乱。当然,注意了流水线的操作就可以增加程序的执行效率。另外,有两种冲突是流水线并不加以保护的,应该注意到这一点,并知道如何去避免这两种冲突。

 指令流水线

在执行一条指令时,C28x CPU执行下列基本操作:

 从程序存储器中取指令  对指令译码

 从存储器或CPU的寄存器中读取数据值  执行指令

 向存储器或CPU寄存器写入结果

为了提高效率,CPU在8个独立的步骤下完成这些操作。也就是说,在某一时刻,流水线上最多可以运行8条指令,每一个指令都处于执行中的不同阶段。以下是对执行顺序中的8个过程的说明:

 取指1(F1):在取指1(F1)阶段,CPU将一个程序存储器地址送给22位的程序地址总线PAB。

 取指2(F2):在取指2(F2)阶段,CPU通过32位的程序读数据总线PRDB对程

序存储器进行读操作,并把指令放入取指令队列中。

 译码1(D1):C28x支持32位指令和16位指令,指令可以被安排到偶地址或奇

地址。译码1的硬件去识别取指队列指令的边界,并测定下一待执行指令的长度,它同时也确定了指令的合法性。

 译码2(D2):译码2(D2)的硬件从取指队列中取回指令,并将该指令放入指

第 26 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 令寄存器,在那里完成译码。一旦指令进入D2阶段,就会一直执行到结束。在这一流水线阶段中将执行如下操作:

  

若从存储器中读出数据,则CPU产生源地址 若将数据写入存储器,则CPU产生目标地址

辅助寄存器算术单元(ARAU)按照要求完成对堆栈指针(SP)、辅助寄存器或辅助寄存器指针(ARP)的更改 

如果需要,可打断程序流的连续执行(如分支或非法指令陷阱)。

 读1(R1):如果从存储器中读数据,读1硬件将会把地址送到相应得地址总线上。

 读2(R2):如果数据的地址在R1阶段被寻址,则读2硬件就通过相应的数据总线取回数据。

 执行(E):在执行阶段,CPU执行所有的乘法、移位和ALU操作。这包括所有运用累加器和乘积寄存器的主要算术和逻辑操作,包括读数据、改变数据和向原位置写回数据的操作,改变数据的操作(尤其是算术和逻辑操作)都将在流水线的E阶段进行。乘法器、移位器和ALU使用的所有CPU寄存器值都将在E阶段开始从寄存器中读出,在E阶段结束时向CPU寄存器中写回结果。

 写(W):如果要将转换值或结果写回存储器,则该操作在写阶段发生。CPU会驱动目标地址、相应的写选通信号和数据完成写操作。实际写操作至少需要一个时钟周期,由存储器管理器或外围设备接口逻辑接口逻辑来控制,作为CPU流水线的一部分,他们是不可见的。

尽管每一条指令都需经过这八个阶段,然而,对具体的指令来讲并非每个阶段都是有效的,一些指令在第2步解码阶段就已经结束,另外一些指令在执行阶段结束,还有一些在写入阶段结束。例如不从存储器读数据的指令在读阶段就没有操作,不向存储器写数据的指令在写阶段就没有操作。

由于不同的指令会在不同的阶段对存储器和寄存器进行修改,一个不受保护的流水线可能会不安预定的顺序在同一位置进行读写,为了防止这种情况发生,CPU会自动增加无效周期来确保这些读写按预定的方式进行。

 流水线的保护

第 27 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

流水线中的指令是并行执行的,在指令执行的不同阶段,用不同指令对存储器进行修改。这在不受保护的流水线中将会导致流水线冲突,即在同一位置不按照预定的顺序进行读写。然而,C28x流水线有一种机制可以自动避免流水线冲突。在C28x中可能发生两种类型的冲突:

(1) 向同一数据空间进行读写发生的冲突 (2) 寄存器冲突

流水线通过在可能发生冲突的指令中增加不活跃周期来阻止这种冲突。 (1) 对同一数据空间进行读写时的保护

考虑两个指令A和B,指令A在W阶段向存储器写数据,指令B必须在R1和R2阶段从同一位置读数据。由于指令是并行执行的,有可能在指令A的W阶段之前发生指令B的R阶段。在没有流水线保护的情况下,指令B就读得太早从而取回错误的数值。C28x流水线通过将指令B保持在D2阶段直到指令A结束写操作来保护读操作。

图3.1.3.1 表示了在同一存储器位置进行读写时两条指令之间的冲突情况。 I1: I2:

MOV MOV

@VarA,AL ;将AL的内容写入数据存储单元 AH,@VarA ;读同一数据存储器单元的内容并写入AH

图3.1.3.1 向同一存储器位置进行读写时的冲突情况

图3.1.3.1所示的流水线活动是一种不受保护的流水线活动。为了方便起见,指令的

F1~D1阶段并没有表示出来。在周期5中I1向VarA进行写操作。数据存储器在周期6中完成存储。在接近周期7之前,指令I2不能进行读数据存储器操作。然而I2 在周期4时进行读操作(提前近3个周期)。为了保护这种冲突,流水线保护机制将在D2 阶段将I2保持3个周期。在这些流水线保护周期中,不会有新的操作发生。

第 28 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

在程序中,如果可以采用其他的指令或者在发生冲突的指令之间插入其他指令,就可以

减少或取消这种流水线保护周期。当然插入的指令一定不能导致他们之间的冲突,或者使得后续指令不能正确执行。例如在图3.1.3.1中,可以通过在MOV指令之间插入CLRC指令来改善代码(假设CLRC SXM之后的指令可以正确地使SXM=0):

I1:

MOV CLRC MOV

@VarA,AL ;将AL的内容写入数据存储单元 SXM

;SXM =0 (关闭符合扩展)

I2:

AH,@VarA ;读同一数据存储器单元的内容并写入AH

在I1和I2 之间插入CLRC指令减少了两个流水线保护周期。插入两个以上的指令就可

以不使用流水线保护。通常,如果对同一个进行写操作的存储器位置进行读操作的指令出现在3个指令之间,则在流水线机制中至少需要增加一个不活动的周期。

(2) 保护寄存器冲突

所有读操作和向CPU寄存器的写操作都会发生在指令的D2阶段或E阶段。通常当一条指令试图在前一条指令对寄存器写数据操作完成之前(在E阶段)去读取和/或修改该寄存器的内容时(在D2阶段),就会产生寄存器冲突。流水线保护机制通过在D2阶段将后一条指令保持所需要的周期(1~3个)来解决寄存器冲突,除非想得到最大的流水线效率而不用考虑寄存器的冲突。如果用户选择了减少流水线保护周期,那就必须确定访问寄存器所在的流水线阶段,并尽量消除相互冲突的指令

一般情况下,寄存器冲突包含如下的地址寄存器之一:

 16位辅助寄存器AR0~AR7  32位辅助寄存器XAR0~XAR7  16位数据页指针DP  16位堆栈指针SP

图3.1.3.2 表示了包含辅助寄存器XAR0的寄存器冲突情况。在这里流水线活动是不受保护的,为了分析方便,没有将F1~D1阶段表示出来。I1在周期4的最后进行XAR0写操作,I2在周期5之前不因该试图去读XAR0 。然而,在周期2中I2进行XAR0读操作(产生一个地址)。为了防止这种冲突,流水线保护机制将在D2阶段将I2保持3个周期,在这些周期中不会有新的操作发生,见图3.1.3.2。

I1:

MOVB

AR0,@7

;将由操作书@7寻址的数据存储器的内容装入

第 29 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

AR0,并将XAR0的高16位清0

I2:

MOV

AH,*XAR0 ;将由寄存器XAR0所指出的16位存储器地址的

内容装入AH

通过在可以产生冲突的指令之间插入其他指令,可以避免寄存器冲突,并减少或消除流

水线保护周期。例如,在本例中通过从程序中的其他地址移动两个指令来改善代码的质量(假设SETC SXM后面的指令执行正确的操作:PM=1,SXM=1)。

图3.1.3.2 寄存器之间的冲突情况

I1:

MOVB

AR0,@7

;将由操作书@7寻址的数据存储器的内容装入

AR0,并将XAR0的高16位清0

;PM=1(乘积不移位) ;SXM=1(符号扩展)

SPM SETC MOV

0 SXM

I2:

AH,*XAR0 ;将由寄存器XAR0所指出的16位存储器地址的

内容装入AH

通过插入指令SPM和SETC,可以将流水线保护周期的数据减至一个。插入多于一个的指

令便可以不使用流水线保护。通常,如果对同一个进行写操作的存储器位置进行读操作的指令出现在3个指令之间,则在流水线机制中至少需要增加一个不活动周期。

 非保护流水线冲突的避免

有些冲突是流水线保护机制无法进行保护的,这些冲突是可以避免的,下面提供一些避免这些冲突的建议。

(1)非保护的程序空间读和写

第 30 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

流水线只保护寄存器和数据空间的读和写,而不保护由PREAD和MAC指令执行的程序空

间的读或由指令PWRITE执行的程序空间的写。当用这些指令去读写被数据空间和程序空间共享的存储器块时要多加小心。

例如考虑如下代码: ;XAR7=000D50h 在程序空间 ;Data1=000D50h 在数据空间

@Data1,AH

;数据存储器单元Data1的内容与AH内容相加,然 后将和送入数据存储器单元Data1

;将由寄存器XAR7给出的程序存储器单元的内容装

入AR1操作数@Data1和*XAR7指的是同一地址,但流水线并不理解这种事实。PREAD指令在ADD指令向存储器位置写(在W阶段)之前会在该存储器位置进行读操作(在R2阶段)。

然而,在程序中PREAD并不是必须的。可以用另一个指令对数据空间进行读写,例如MOV指令。

(2)对影响另一存储单元的单元进行读写

如果对一个存储单元的读写会影响另一个存储单元,则可通过修改程序来阻止流水线冲ADD

@Data1,AH ;数据存储器单元Data1的内容与AH内容相加,然后将

和送入数据存储器单元Data1

ADD

PREAD @AR1,*XAR7

MOV AR1,*XAR7 ;将由寄存器XAR7给出的存储器单元的内容装入AR1

突。若在不受保护的范围内进行寻址,需要特别注意这种流水线冲突。考虑如下的例子:

MOV

@DataA,#4 ;这样写DataA会引起一个外围设备对DataB的位15的

清除

$10: TBIT @DataB,#15 ;测试DataB的位15

SB

$10,NTC

;循环,直至位15 置位

该程序会产生一个错误的读操作。因为TBIT指令在MOV指令向15位写(在W阶段)之

前进行了一个对位15的读操作(在R2 阶段),如果TBIT指令读的值是1,代码就会过早的结束循环。虽然DataA和DataB指的是不同的数据存储器位置,但是流水线并不能识别这种冲突。

第 31 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

然而,可以通过插入两个或多个NOP(空操作)指令来延长写DataA 和改变DataB的位

15 的操作之间的时间,以便纠正这种错误。例如,如果两个周期的延迟足够长,就可以按如下的代码进行修正:

MOV

@DataA,#4 ;这样写DataA会引起一个外围设备对DataB的位15的

清除

;延迟一个周期 ;延迟一个周期

NOP NOP

$10: TBIT @DataB,#15 ;测试DataB的位15

(3)写操作后的读保护模式

CPU具有写操作之后的读保护模式,以确保任何在保护地址范围之内的写操作之后的读SB

$10,NTC

;循环,直至位15 置位

操作,这种保护模式采用了在写之后延迟一段时间去读的做法,在写操作初始化后再去执行读操作。

PROTSTART(15-0)和PROTRANGE(15-0)输入信号用以设置保护范围。PROTRANGE(15-0)

的值是一个二进制的倍数值,其最小容量为64个字,最大容量为4M个字(64个字,128个字,256个字,…,1M个字,2M个字,4M个字)。PROTSTART地址必须是选择范围的倍数。例如,如果选择4K的块,那么起始地址必须是4K的倍数。

ENPROT信号用来使能这一特征(当设置为高时)或关闭这一特征(当设置为低时)。 所有以上信号在每一周期都会被关闭,他们等候与寄存器相联系并可以通过应用程序进

行修改。

以上机制仅工作在对保护区域进行写操作之后又紧接着进行读操作的情况。对不受保护

的区域进行读和写是不受影响的,就像下面的例子所示的那样。

例一: 写保护区域

写保护区域 写保护区域

<- 流水线保护(3周期)

读保护区域

第 32 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

3.2 存储器

CPU本身不含存储器,但它可以访问C28x片内其他地方的存储器或片外的存储器。C28x

例三: 写非保护区域

写非保护区域 写非保护区域

<- 无流水线保护

例二: 写保护区域

写保护区域 写保护区域

<- 无流水线保护

读非保护区域

<- 流水线保护(2周期)

读保护区域 读保护区域

读保护区域

具有32位的数据地址和22位的程序地址,总地址空间可达4M字的数据空间和4M字的程序空间。所有的存储器块都统一映像到程序空间和数据空间。存储器被划分为如下几部分:

 程序/数据存储器:片内SRAM、ROM、Flash和OTP ROM存储器,他们被映像

到程序或数据空间,用以存放执行代码或存储数据变量。  保留区:数据区的某些地址被保留作为CPU的仿真寄存器使用。

 CPU的中断向量:程序地址中保留了64个地址作为CPU的32个中断向量。

通过ST1的位VMAP可以将CPU向量映像到程序空间的顶部或底部。

在图3.2.1 的存储器映像中,存储器地址空间的低64K(“Low 64K”)的地址空间映像到240x的数据空间;存储器地址空间的高64K(“High 64K”)的地址空间映像到24x/240x的程序空间。24x/240x的兼容代码只能在高64k的地址空间执行。Flash的顶部32K存储空间和H0

第 33 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 SRAM在MP/MC=0 是可以被用于运行24x/240x的兼容代码,而MP/MC=1时,24x/240x的兼容代码可以在外部接口(XINTF)区域7(Zone7)执行。

外部接口(XINTF)包含5个区域,其中3个区域有独立的区域选择信号,另2个区域则共用上述区域选择信号。每一个区域都可以单独通过编成控制他们的等待时间。

外设帧1、外设帧2和外部接口区域1受到写/读外设模块的保护,以确保对这部分存储空间的访问都能够正确的写入。

图3.2.1 存储器映像

第 34 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

复位时,如果XMP/MC=1则外部接口区域7有效。在微处理器模式下,区域7映像到存储空间的高地址部分,系统中断向量表则位于此部分地址的高32*32的地址空间,此时引导ROM禁止。在微计算机模式,区域7被禁止,此时系统得中断向量表位于片内引导ROM的高32*32的地址空间。通过对XMP/MC的控制,可以控制系统是从片内引导ROM启动系统,还是从片外存储空间启动系统。

本芯片不支持I/O空间。

表3.2.1列出了各种存储空间的等待状态。

表3.2.1 等待状态

Flash:包含128K*16的内嵌Flash和1K*16的OTP ROM存储器。Flash存储器分为8块4K*16的sector块和6块16K*16的sector块,用户可以独立擦除、编程其中的任意一个sector,而保持其他sector中的数据内容不变。专门设计的Flash 流水线功能电路接口,极大地优化了内核对Flash存储器的访问效率,提高电路的整体性能。Flash/OTP可以映射到程序空间,也可以映射到数据数据空间。

M0、M1 SRAMs:这两块SRAM大小都为1K*16,复位的时候堆栈指针指向M1的开始地址。240x的SRAM存储块B0、B1、B2在都映射到C28x的M0 SRAM块的地址空间。M0、M1可以映射到程序空间或数据空间,所以用户可以使用M0、M1执行程序代码或者存储数据变量。

第 35 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

L0、L1、H0 SRAMs:本芯片包含一个额外的16K*16的SRAM存储空间,此部分空间分为3个独立块,分别为:L0(4K*16)、L1(4K*16)、H0(8K*16)。每个SRAM块都可以独立访问并提供最小的访问延迟,并且每块都可以映射到程序空间或数据空间。

引导ROM:4K*16的引导ROM,已经由工厂初始化了码点数据。这些码点数据提供了软件引导系统的过程程序。通过上电复位的过程中特定端口的引脚电平,告诉引导程序进入何种引导模式。用户可以选择正常引导系统、或选择从外部连接加载新的软件程序、或选择片内Flash中的用户程序执行系统。引导ROM中还包含数学表,例如:正弦/余弦表。

3.3 代码安全模块(CSM)

代码安全模块是和C28x融为一体的一种安全特征。他禁止未授权的用户访问片内存储器,

禁止私有代码的复制/逆向操作。“安全”意味着片内存储器受到保护。“非安全”意味着片内存储器不受保护,可以通过某些方式读取存储器的内容(如通过调式工具CCS)。

当CPU访问片内安全存储器受到限制时,器件是安全的。当处于安全状态时,可能会有两级

保护,这依赖于程序计数器当前的指针指向。如果代码在内部安全存储器中运行,那么只有封锁JTAG的访问,才允许安全代码访问数据;相反,如果代码运行在非安全区,所有对安全区的访问都被封锁。用户代码就可以跳进和跳出安全存储器,并允许安全函数从非安全存储器中被调用。同样,中断服务程序可以存放在安全存储器中,即使程序循环是在非安全存储器中进行。安全是通过一个128位(8个16位字)的密码数据来保护的,使用它可以使器件安全或不安全。

3.4 外部接口(XINTF)

外部接口XINTF采用非复用异步总线,分为5个固定的存储映像区域,如下图所示。每个XINTF区都有一个片选信号,用于访问某一特定的区域。 每个区的读写访问所需等待状态数可以通过相应的XTIMING寄存器进行编程。另外,每个区都可以用XREADY信号插入等待状态数。

第 36 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

图3.4.1 外部接口功能图

XINTF的配置寄存器包括XTIMING0~7,XINTCNF2,XBANK和XREVISION。对这些寄存器的修改将影响XINTF的访问定时。表3.4.1为外部接口配置与控制寄存器表:

表3.4.1 外部接口配置与控制寄存器

第 37 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 3.5 中断

图3.5.1 显示了不同的中断源如何被系统选择的功能框图。

图3.5.1 中断源

每8个外设中断模块(PIE)的中断为一组,对应于CPU的一个中断源。所以整个芯片共有12个CPU中断分组,共计有96个可用中断。但是在本芯片中外设只占用了96个中断中的45个,见表3.5.1 PIE外设中断。

指令“TRAP #向量号”控制程序流转向向量号所指定的中断服务程序,而指令“TRAP #0”则试图使得程序转到复位向量处执行程序。然而,PIE向量表不包含复位向量,所以,指令“TRAP #0”不能够在PIE中使用,如果强行使用的话,将会导致不可预料的功能发生。

当PIE中断有效,指令“TRAP #1” 到“TRAP #12” 将使得程序转向相关的中断服务程序在PIE分组中的第一个向量。例如:“TRAP #1”对应于向量INT1.1,“TRAP #2”对应于向量INT2.1,

第 38 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 以此类推。

图3.5.2 PIE模块中断源的选取

表3.5.1 PIE外设中断

第 39 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

表3.5.2 PIE配置与控制寄存器

表3.5.3 外部中断寄存器

每一个外部中断都一个被使能/禁止,或者进行上升沿/下降沿检测鉴定。

第 40 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 3.6 系统控制

晶振、锁相环以及相关的时钟传送,看门狗模块功能和低功耗模式等等,在图3.6.1 中显示了这些部分的时钟与复位区域。

图3.6.1 时钟和复位

锁相环、时钟、看门狗和低功耗模式控制寄存器见表3.6.1。

第 41 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

表3.6.1 锁相环、时钟、看门狗和低功耗模式寄存器

3.7 晶振、锁相环

图3.7.1晶振与锁相环

片上晶体震荡电路允许用户在引脚X1/XCLKIN和X2之间焊接一个晶振。如果没有焊接晶振,那么在引脚X1/XCLKIN上直接输入一个时钟,而引脚X2则可以悬空。引脚X1/XCLKIN和X2的

第 42 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 输入/输出电平均不允许超过内核电源电压VDD(1.8V)。寄存器PLLCR的位[3:0]控制时钟倍率,见表3.7.1。

表3.7.1 PLLCR寄存器

在PLL使能的模式下,如果输入时钟引脚X1/XCLKIN或者晶振时钟丢失,那么PLL将仍然输出一个弱模式时钟(limp-mode clock)。此弱模式时钟一个1~4MHz的频率给CPU和外设继续提供时钟。如果要使用此种模式,则PLLCR寄存器应该写入一个非零值。

通常,当输入时钟出现后,看门狗计数器将进行计数,并初始化一个看门狗复位或WDINT中断。然而,当外部输入时钟丢失,看门狗计数器将停止计数(在弱模式时钟下看门狗计数器也不计数)。这可以作为应用程序检测输入时钟丢失的条件,以便及时初始化一个系统关闭程序。 当在复位时,XPLLDIS=0则PLL禁止,XPLLDIS=1则PLL有效。当PLL有效时,配置PLLCR寄存器则控制PLL的倍率。具体模式控制见表3.7.2。

表3.7.2 PLL控制模式

第 43 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

3.8 低功耗

低功耗模式与240x比较相似,表3.8.1总结了不同类型的低功耗模式。

表3.8.1 低功耗模式

共有3种低功耗模式,分别描述如下:

IDLE模式:

通过有效的中断或处理器识别的XNMI都可以使得系统推出此模式。当控制

寄存器LPMCR0的LPM为设为00时,低功耗模块不执行任何任务。

STANDBY模式:如果通过LPMCR1寄存器来选择,所有其它信号(包含XNMI)将把器件从此方式中唤醒。必须选择唤醒器件的信号。已选信号在唤醒器件前还要通过OSCCLK的审核,在LPMCR0的寄存器中指定OSCCLK的个数。

HALT模式:

只有XRS和XNMI外部信号能从此模式唤醒该器件。XNMI输入到CPU,在

XNMICR寄存器中,有一个使能/无效位。因此,对于此功能,使用XNMI信号是安全的。

第 44 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

四、外设

本芯片包含如下几个外设: 4.1 看门狗

4.2 32位CPU定时器3个

4.3 事件管理器模块2个(EVA、EVB) 4.4 增强型模数转换器(ADC) 4.5 增强型局域网控制器模块(eCAN) 4.6 多通道缓冲串行口模块(McBSP) 4.7 串行通信接口模块2个(SCI-A,SCI-B) 4.8 串行外设接口模块(SPI) 4.9 通用输入输出接口(GPIO) 4.1 看门狗

看门狗模块和C240x芯片内的看门狗模块相同。无论什么时候,只要8位看门狗加法计数器到达最大值,看门狗模块就会产生一个输出脉冲,为512个震荡器时钟宽度(OSCCLK)。为了防止看门狗加法计数器溢出,用户可使计数器无效,或通过软件向负责复位看门狗计数器的看门狗密钥寄存器周期性地写入0x55+0xAA序列。图4.1.1显示了看门狗模块中的各种功能块。

图4.1.1 看门狗模块

第 45 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 WDINT信号使能看门狗,用于唤醒IDLE/STANDBY方式定时器。

在STANDBY方式,器件上的所有外设都关闭。仅有的保持其功能的外设是看门狗。看门狗模块将关闭PLL时钟或振荡器时钟。WDINT信号反馈到LPM模块,这样就可以将器件从STANDBY方式唤醒(如果使能)。

在IDLE方式中,WDINT信号可以产生一个送至CPU的中断(PIE中的WAKEINT中断),使CPU推出IDLE方式。

在HALT方式中不能使用此功能,因为振荡器和PLL已被关闭,这样看门狗也被关闭。

4.2 32位CPU定时器0/1/2

本器件中共有3个32位的CPU定时器,分别为TIMER0、TIMER1、TIMER2。

其中, CPU定时器2被保留用作实时操作系统(DSP/BIOS)。CPU定时器0和CPU定时器1可以供用户使用。这些定时器不同于事件管理器中的通用定时器(GP timers)。如果用户没有使用实时操作系统(DSP/BIOS),那么CPU定时器2 可以供用户使用。

图4.2.1 CPU定时器

CPU定时器的中断信号TINT0、TINT1、TINT2的连接如图4.2.2所示。

第 46 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

图4.2.2 CPU定时器中断信号和输出信号

定时器的一般操作如下:将周期寄存器PRDH:PRD中的值装入32位计数器寄存器TIMH:TIM。然后计数器寄存器一C28x的SYSCLKOUT速率递减。当计数器减到0时,就会产生一个定时器中断输出信号(一个中断脉冲)。

表4.2.1 CPU定时器0、1、2配置与控制寄存器

第 47 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 4.3 事件管理器(EVA、EVB)

事件管理器模块包含通用定时器(GP),全比较/PWM单元,捕获单元,正交编码脉冲电路(QEP)。EVA和EVB的定时器,比较单元和捕获单元功能是相同的;然而,定时器单元的命名对于EVA和EVB是不同的。表4.3.1 显示了模块名称和信号名称的使用。表4.3.1显示事件管理器模块可以被使用的功能和特点,并重点说明了EVA的命名。

事件管理器EVA和EVB拥有功能相同的外设寄存器组。EVA寄存器组的地址开始于7400h,EVB寄存器组的地址开始于7500h。本小节描述了采用EVA命名方式的GP定时器、比较单元、捕获单元和正交编码脉冲电路(QEPs)的功能。这些部分的描述对于与EVB相关的器件功能同样是适用得,只是模块及信号的命名不同而已。表4.3.2 列出了EVA寄存器。

表4.3.1 EVA和EVB模块名称和信号名称

第 48 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

表4.3.2 EVA寄存器

第 49 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

图4.3.1 EVA功能框图

4.3.1 通用目前(GP)定时器

事件管理器各有两组GP定时器。GP定时器x(x=1或2属于EVA;x=3或4属于EVB)包括:

 1个16位定时器TxCNT,为增/减计数器,TXCNT可以读写

第 50 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

 1个16位的定时器比较寄存器TxCMPR(双缓冲影子寄存器),可以读/写  1个16位定时器周期寄存器TxPR(双缓冲影子寄存器),可以读/写  1个16定时器控制寄存器TxCON,可以读/写  可选择的内部或外部输入时钟

 一个对于内部或外部输入时钟可编程的预定标因子

 控制和中断逻辑,用于4种可屏蔽中断:下溢中断、上溢中断、定时器比较中断

和定时器周期中断

 1个输入方向选择引脚(TDIRx)(当选择为单增/减计数器模式后,进行增计数或

减计数)

GP定时器可以进行单独操作,也可与其他定时器同步操作。每个GP定时器所具有的比较寄存器可以用作比较功能和PWM波形的产生。对于每一个GP定时器在增或增/减计数模式下都有3种连续操作模式。通过预定标因子,每个GP定时器可以使用内部或外部时钟。GP定时器可以为事件管理器的其他子模块提供时基:GP定时器1可以为所有的比较和PWM电路提供时基,GP定时器1和GP定时器2可以为捕获电路和正交脉冲计数操作提供时基。双缓冲的周期和比较寄存器允许可编程的变化定时器(PEM)的周期,从而得到比较/PWM脉冲的所需宽度。

4.3.2 全比较单元

每个事件管理器都有3个全比较单元。这些比较单元使用定时器1为其提供时基,通过使用可编程的死区电路可产生6个比较输出或PWM波形输出,6个输出中的任何一个输出状态都可以单独设置。比较单元中的比较寄存器是双缓冲的,允许可编程的变换比较/PWM脉冲宽度。

4.3.3 可编程的死区发生器

死区发生器电路包括3个8位计数器和8位比较寄存器。可将需要的死区幅值通过编程写入比较寄存器,以便用于3个比较单元的输出。通过每个比较单元的输出可以单独使能或禁止死区的产生。死区发生器电路可以为每个比较寄存器的输出信号产生两个输出(带有或不带有死区地带)。通过双缓冲ACTRx寄存器,可以根据需要设置或更改死区发生器的输出状态。

4.3.4 PWM波形的产生

第 51 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 每个事件管理器在同一时刻可产生多达8个PWM的波形输出;通过带有可编程死区的3个全比较单元可单独产生3对(6个)输出;通过GP定时器的比较功能可产生两个单独得PWMs。

4.3.5 PWM的特点 PWM的特点如下:

 16位寄存器

 为PWM输出对提供范围宽广的可编程死区

 可变的PWM载体频率,提供所需的PWM摇摆(wobbling)频率  根据需要在PWM周期内或之后变化PWM脉冲宽度  外部可屏蔽功率和驱动保护中断

 脉冲方式发生器电路,用于可编程的产生对称、非对称和四维空间向量PWM波

 使用自动重载功能的比较和周期寄存器使CPU的开销最小

 当PDPINTx引脚变为低电平而且在PDPINTx引脚信号赋值后,PWM引脚变为高

阻状态,PDPINTx引脚(赋值后)反映在寄存器COMCONx的D8位

4.3.6 捕获单元

捕获单元为用户提供了对不同事件和变化进行记录的功能。当捕获输入引脚CAPx(x=1、2或3属于EVA;x=4、5或6属于EVB)检测到变化时,他将捕获所选择的GP定时器的当前计数值,并把该计数值存储在两极深度的FIFO堆栈中。捕获单元由3个捕获电路组成。

捕获单元具有以下的特点:

 一个16位的捕捉控制寄存器CAPCONx(读/写)  一个16位的捕捉FIFO状态寄存器CAPFIFOx

 可以选择GP定时器1、2(为EVA)或GP定时器3、4(为EVB)作为时基  三个16位的两级深度FIFO堆栈,每个捕获单元配备一个

 六个捕获输入引脚(CAP1/2/3为EVA所用,CAP4/5/6位EVB所用),每个捕获单元

有一个捕获引脚。所有的捕获引脚的输入都与器件的CPU时钟同步。为了能正确地捕获到引脚上的变化,输入引脚的信号电平必须保持两个时钟的上升沿。输入引脚CAP1/2和CAP4/5也可以作为正交编码脉冲电路的输入引脚。

第 52 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

 用户可指定侦测变化的方式(上升沿、下降沿或两个边沿)  三个可屏蔽中断标志,每个捕获单元具有一个

4.3.7 正交编码脉冲电路

两个捕获输入(EVA的CAP1/2;EVB的CAP4/5)可以作为芯片自带具有一个正交编码脉冲的QEP电路的接口。这些输入的完全同步由芯片完成。当引脚探测到方向或先导脉冲序列时,GP定时器2、4的计数器根据两个输入信号的上升沿和下降沿增加或减少(由于两个输入脉冲的两个边沿都被正交编码脉冲电路计数,因此,这样产生的时钟频率是每个输入序列的4倍)。

4.3.8 外部启动转换的模数转换器(ADC)

EVA/EVB的启动转换信号(SOC)可以送至外部引脚(EVASOC),该信号为外部ADC的接口所用。EVASOC和EVBSOC可以单独由T2CTRIP和T4CTRIP多路传输。

第 53 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

4.4 模数转换模块(ADC)

ADC模块是一个12位分辨率、具有流水线结构的模-数转换器。此转换器的模拟电路(核)包括:前端模拟多路复用器(MUXs)、采样-保持电路(S/H)、转换核、电压调节器以及其他模拟支持电路。数字电路包括:可编程转换序列发生器、转换结果寄存器、模拟电路接口、设备外围总线接口以及其他片上模块接口等。

ADC模块有16个通道,可配置为两个独立的8通道模块以便为事件管理器A和B服务。两个独立的8通道模块可以级连组成一个16通道模块。虽然有多个输入通道和两个序列器,但在ADC模块中只有一个转换器。图4.4.1为ADC模块的框图。

两个8通道模块具有一系列转换和自动序列化的能力,通过模拟多路复用器,每个模块都可以选择可用的8个通道中的任何一个通道。在级连模式下,自动序列发生器可作为一个单一的16通道序列发生器。在每个序列发生器上,一旦转换结束,已选择的通道值就保存在各个通道的结果寄存器ADCRESULT中。

自动序列化允许系统对同一通道转换多次,允许用户执行过采样算法。这较传统的单一采样转换结果增加了更多的解决方案。

ADC模块的功能包括:

1. 内建两个采样保持电路(S/H)的12位ADC核心。 2. 序列采样或并发采样模式。 3. 模拟输入范围:0~3V。

4. 最快转换速度:ADC时钟为25MHz时,达到最大转换速度12.5MSPS。 5. 16个输入通道,多路选择输入。

6. 自动序列化能力,在一次转换任务中,能提供多达16个自动转换,并且每个转换可以通过编程选择16个输入通道中的任何一个。

第 54 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

图4.4.1 ADC模块框图

7. 序列发生器可以配置成两个独立的8状态序列发生器或一个16状态序列发生器(即两个8状态序列发生器级联)。

8. 16个结果寄存器(可独立寻址)用来保存转换结果。 9. 输入模拟电压对应的数字值为:

数字值4095

输入模拟电压值ADCLO

3

10.多个触发源可用于启动转换(SOC)序列: ● 软件(S/W):软件立即启动;

● EVA:事件管理器A(EVA中的多个事件源可以启动转换);

● EVB:事件管理器B(EVB中的多个事件源可以启动转换); ● 外部引脚:ADCSOC引脚。

第 55 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 11.灵活的中断控制机制,允许中断请求出现在每一个或每隔一个转换序列结束(EOS)时。

表4.4.1 ADC寄存器组

12.序列发生器可以工作在“启动/停止”模式,允许多个“时间序列”触发以使转换同步。 13.在双序列发生器模式下,EVA和EVB可以独立地触发SEQ1和SEQ2。 14.采样保持电路的采集时间可以单独预分频控制。

要获得指定的ADC精度,关键是采用合适的电路板布局。为了获得最佳效果,ADCINxx引脚引出的引线要尽量远离数字信号线,这将最大程度地消除耦合到ADC模拟输入端的数字电路中的开关噪声。此外,ADC模块的电源引脚和数字电源之间也需要采用合适的隔离技术进行隔离。ADC寄存器如表4.4.1所示。

第 56 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 4.5 增强行局域网控制器(eCAN)

C28x中的eCAN模块与现行的CAN2.0标准兼容。它可使用已制定的协议在存在电子噪声的环境中与其他控制器进行串行通信。借助32个完全可配置的邮箱和时间标志(time-stamping)特性,eCAN模块提供了一种具有通用性和鲁棒性的串行通讯接口。

图4.5.1 eCAN模块功能框图

第 57 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 eCAN模块有以下特性:

 与CAN协议版本2.0B完全兼容  支持高达1Mbps的传输速率

 具有32个邮箱,每一个邮箱都具有以下特性:

- 可配置为接收或发送

- 可用标准的或扩展的标识符进行配置 - 具有可编程的接收过滤屏蔽(mask) - 支持数据帧和远程帧(remote frame) - 支持0~8字节的数据

- 在接收和发送的消息中使用一个32位的时间标志 - 阻止旧消息被新消息覆盖的保护措施 - 允许对发送消息优先级的动态编程

- 使用一种具有两个中断级别的可编程中断方案 - 对发送和接收的超时现象使用一种可编程的中断操作  低功耗模式

 总线活动的可编程唤醒  远端请求消息的自动应答

 某帧在缺少仲裁和发生错误情况下的自动重传

 有一个特殊消息(与16号邮箱关联)同步的32位时间标志计数器  自检模式

- 以一种回环的方式接收自己的消息。提供了一种虚拟的响应信息,从而不必要求另一个节点提供响应位

第 58 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

图4.5.2 eCAN存储器映像

第 59 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

表4.5.1列出了被器件中eCAN的寄存器表,CPU用这些寄存器来对eCAN控制器和消息对象进行配置和控制。eCAN控制寄存器只支持32位的读写操作。邮箱RAM能够以16位或32位的模式访问,32位的访问方式必须将地址对准到偶地址边界。

表4.5.1 eCAN寄存器映像表

第 60 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 4.6 多通道缓冲串行口(McBSP)

McBSP在数字信号处理器和系统的其它设备之间提供了直接的串行接口。McBSP外围设备在28x设备和McBSP兼容的设备(如VBAP、AIC、多媒体数字信号编码器等)之间提供了接口。McBSP能够同步地传送和接收8/16/32位串行数据。 McBSP模块具备如下一些特性:  全双工通行方式

 双倍缓冲的传送和三倍缓冲的接收,并适用于连续的数据流  对接收和传送采用独立的时钟和帧

 外部移位时钟发生器或内部可编程频率的移位时钟  宽范围数据宽度选择:8、12、16、24或32位  8位数据发送可以选择首先发送LSB,还是MSB  帪同步和时钟极性可编程  内部时钟和帧的产生可编程  支持A-bis模式

 接口可直接连接与工业标准的多媒体数字信号编解码器(CODECs)、模拟接口芯片(AICs)

以及其它串行连接的A/D和D/A转换器  支持SPI兼容设备

 发送通道具有2个16*16级深度的FIFO  接收通道具有2个16*16级深度的FIFO 支持下列应用接口设备:  T1/E1帧

 与MVIP转换器兼容的和适用于ST-BUS的设备包括:

- MVIP帧调节器 - H.100帧调节器 - SCSA帧调节器 - IOM-2兼容设备

- AC-97兼容设备(提供必须的多相帧同步能力) - IIS兼容设备

 McBSP时钟频率CLKG=CLKSRG/(1+CLKGDIV),这里CLKSRG输入源可以为LSPCLK、CLKX

第 61 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

或CLKR

图4.6.1 带FIFO缓冲器的McBSP模块框图

图4.6.1显示了带FIFO缓冲器的McBSP模块功能框图,对应的寄存器位于外设帧2。 表4.6.1 列出了McBSP的寄存器汇总表。

第 62 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

表4.6.1 McBSP寄存器汇总表

第 63 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

表4.6.1 McBSP寄存器汇总表(续)

第 64 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 4.7 串行通讯接口(SCI)

串行通信接口(SCI)是双线的异步串口,一般看作UART。SCI模块支持CPU与采用NRZ标准格式的异步外设之间的数字通信。SCI的接收器和发送器各具有16级深度的FIFO,这样可以减少空头的服务。他们还各有自己的使能位和中断位,可以在半双工通讯中进行独立的操作,或在全双工通讯中同时进行操作。

为了确保数据的完整性,SCI检查所接收数据的中断检测、极性、溢出和帧错误。位速率可通过一个16位的波特率改变寄存器而改变。

图4.7.1 SCI模块功能框图

第 65 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 SCI模块的主要特点如下:

 两个外部引脚SCITXD和SCIRXD,发送通道和接受通道相互独立 - SCITXD:SCI发送输出引脚 - SCIRXD:SCI接收输入引脚

 波特率可通过编程达到64K种不同的速率 - 波特率 = LSPCLK/[(BRR+1)*8], 当BRR≠0时

= LSPCLK/16 ,当BRR=0时

 数据字格式: - 一个起始位

- 可通过编程选择1~8位的数据长度 - 可供选择的偶/奇/非极性位 - 一个或两个结束位

 4个错误检测标志:极性,溢出,帧和中断检测  两个唤醒多处理器模式:空闲线和地址位  半双工或全双工模式  双缓冲接受和发送功能

 发送器和接收器可通过带有状态标志的中断驱动或者圆滑算法完成操作  独立的发送器中断使能位和接收器中断使能位(BRKDT除外)  最大位速率 = 75MHz/16 = 4.688 *106b/s  不归零编码NRZ格式

 10个SCI模块控制器,位于开始地址为7050h的控制寄存器结构中 增强性特点:  自动波特率检测  16级发送/接受FIFO

第 66 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

表4.7.1 SCIA寄存器

表4.7.2 SCIB寄存器

第 67 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 4.8 串行外设接口(SPI)

SPI是一个高速的同步串行输入/输出端口,它允许可编程长度的串行位流一个可编程的位传输速率移入或移出该设备。SPI一般用于DSP控制器与外部外部之间或者DSP控制器与另一个控制器之间的通讯。典型应用包括通过使用移位寄存器、显示驱动器和模数转换器之类的设备完成外部I/O或外设扩展。多种设备的通信受到SPI的主从模式支持。C28x系列的端口支持一个16级的接收和发送FIFO,以减少CPU的服务开销。

图4.8.1 SPI模块功能框图(从模式)

第 68 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

SPI的主要功能和特点如下:

 四个外部引脚:

- SPISOMI:SPI从模式输出/主模式输入引脚 - SPISIMO:SPI从模式输入/主模式输出引脚 - SPISTE:SPI从模式发送引脚使能引脚 - SPICLK:SPI串行时钟引脚

 两种工作模式:主工作模式和从工作模式

 波特率:125种不同的编程速率。能够使用的最小波特率受到I/O缓冲器最小速

度的限制

- 波特率 = LSPCLK/(SPIBRR+1),当SPIBRR ≠ 0

= LSPCLK / 4 ,当SPIBRR = 0,1,2,3

 数据字长度:1~16位

 4种时钟配置方法(由时钟极性位和时钟相位位控制):

- 不带相位延时的下降沿:SPICLK高有效,SPI在SPICLK的下降沿发送数据,在SPICLK的上升沿接收数据

- 带有相位延时的下降沿:SPICLK高有效,SPI在SPICLK的下降沿的前半周期处发送数据,在SPICLK的下降沿接收数据

- 不带相位延时的上升沿:SPICLK低有效,SPI在SPICLK的上升沿发送数据,在SPICLK的下降沿接收数据

- 带有相位延时的上升沿:SPICLK低有效,SPI在SPICLK的上升沿的前半周期发送数据,在SPICLK的上升沿接收数据

 接收和发送操作同步(发送功能可以通过软件禁止)  发送器和接收器可通过中断驱动或者圆滑算法完成

 9个SPI模块控制寄存器:位于开始地址为7040h的控制寄存器帧中

注意:该模块中的所有寄存器都是16位寄存器,这些寄存器与外设帧2相连。当访问寄存器时,寄存器数据位于低位字节(7-0),而高位字节(15-8)则读出恒零。写入时高位字节不受影响。 增强型特点:

第 69 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

 16级发送/接收FIFO  延时的发送控制

表4.8.1 SPI寄存器

第 70 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所 4.9 通用输入输出接口(GPIO)

本芯片提供了多达56个多功能引脚,用户可以将这些引脚作为外设的输入/输出引脚(片内外设I/O口),当不使用片内外设时,也可以将它们用作数字I/O口。GPIO的多路复用器在将有关引脚用作数字I/O口时,可以组成两个16位字的数字I/O口GPIOA、GPIOB;一个4位的数字I/O口GPIOD;一个3位的数字I/O口GPIOE及一个15位的数字I/O口GPIOF。使用GPIO的有关寄存器可以选择和控制这些共享引脚的操作。例如:通过GPxDIR寄存器可以把这些引脚作为数字I/O口或片内外设I/O口。如果选择某个引脚作为数字I/O口,则可以通过GPxDIR寄存器来设置引脚的方向(输入/输出);另外,可以通过GPxQUAL寄存器来改善输入信号,去除不希望的噪声。表4.9.1列出了GPIO多路复用器寄存器的情况。

图4.9.1 GPIO/外设端口框图

第 71 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

表4.9.1 GPIO多路复用寄存器

如果将引脚配置为数字I/O方式,则需要提供另外的寄存器(经GPxSET寄存器)来设置每个I/O信号,清除每个I/O信号(经GPxCLEAR寄存器),触发每个I/O信号(经GPxTOGGLE寄存器)或者读/写每个I/O信号(GPxDAT寄存器)。表4.9.2列出了GPIO的数据寄存器的情况。

第 72 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

表4.9.2 GPIO数据寄存器

第 73 页 共 74 页

CMDSPF2812使用说明 中国电科第五十八研究所

五、 推荐使用环境

为保证电路能够可靠无故障的工作,特对本电路的工作环境作如下建议: 5.1 供电电压

 端口I/O:3.3V (电压范围3.14V~3.47V)  内核: 1.8V

1.9V

5.2 晶振

 外接晶振的输出波形幅度不高于内核电压1.8V/1.9V 5.3 外部时钟输入(不使用晶振)

 外部时钟输入波形幅度不高于内核电压1.8V/1.9V  3.3V输入也可以,但是不推荐使用 5.4 FLASH编程

 对FLASH的编程时,系统主时钟(SYSCLKOUT)设计不高于100MHz

(电压范围1.71V~1.89V) (电压范围1.81V~2.00V)

第 74 页 共 74 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务