- DSP原理及应用:TMS320F28335架构、功能模块及程序设计
- 张小鸣
- 2028字
- 2020-08-28 20:47:49
2.4 片上外设帧
F28335的片上外设寄存器均为片上存储器映射寄存器,定位于片上数据存储器空间0x000800~0x007FFF,共分为4个区域,分别称为外设帧0、外设帧1、外设帧2、外设帧3。外设帧0支持16位宽度和32位宽度数据总线访问,直接映射到CPU总线,外设帧0寄存器组基本特性如表2-7所示。
表2-7 外设帧0基本特性(1)
![](https://epubservercos.yuewen.com/298E48/17214368804804006/epubprivate/OEBPS/Images/Figure-T66_38399.jpg?sign=1739194124-JaTayeIJRif7o2LVt9stClvlbm3uSUw8-0-32e7d6b5247ec9f806572dbfd24620cf)
注:(1)外设帧0寄存器支持16位和32位存取。
(2)若寄存器是EALLOW写保护的寄存器,则在执行EALLOW指令之后才能对EALLOW写保护寄存器进行写操作。EDIS指令是EALLOW指令的逆操作,不允许对EALLOW写保护寄存器进行写操作。
(3)Flash寄存器还受代码安全模块(CSM)保护。
外设帧1、外设帧2、外设帧3是片上外设模块寄存器组在片上数据存储器的映射地址空间。片上外设模块包括系统控制模块、eCAN模块、ePWM模块、eCAP模块、eQEP模块、GPIO模块、复位控制模块、SPI-A模块、SCI-A/B/C模块、外部中断模块、ADC模块、I2C模块、McBSP模块等。有些外设模块寄存器是EALLOW写保护寄存器,有些不是。
外设帧1映射到32位外设总线,外设帧1的基本特性如表2-8所示。外设帧2映射到16位外设总线,外设帧2的基本特性如表2-9所示。外设帧3映射到片上数据存储器空间,外设帧3的基本特性如表2-10所示。
表2-8 外设帧1的基本特性
![](https://epubservercos.yuewen.com/298E48/17214368804804006/epubprivate/OEBPS/Images/Figure-T66_38401.jpg?sign=1739194124-3z1VDGN8NI37Wpg7lo6NnUTO3TVoHbxj-0-112eb5f18d08c6c77165aa9fde26f680)
注:*外设帧1寄存器允许16位和32位访问。所有32位访问与偶地址边界对齐。
表2-9 外设帧2的基本特性
![](https://epubservercos.yuewen.com/298E48/17214368804804006/epubprivate/OEBPS/Images/Figure-T67_38405.jpg?sign=1739194124-Nvs1EDLTrZYDYGNrPKvwkk9bX8zgFhV8-0-16f312c836b241a6b702e30c78139b1d)
表2-10 外设帧3的基本特性
![](https://epubservercos.yuewen.com/298E48/17214368804804006/epubprivate/OEBPS/Images/Figure-T67_38406.jpg?sign=1739194124-2MI1tTpVva16xBo7QM9vXwnaTT2hwood-0-08ebe81c8ec9a324ed9fa2e4ac1a0889)
注:*ePWM/HRPWM模块能被重新映射到外设帧3,以便能被DMA模块存取。为了达到这个目的,MAPCNF寄存器(映射配置寄存器)的MAPEPWM位必须被置1(上电复位默认状态),MAPCNF寄存器是EALLOW写保护寄存器。当MAPEPWM位被软件清0时,ePWM/HRPWM模块被重新映射到外设帧1。
2.4.1 写保护寄存器的访问特性
外设帧中某些寄存器是EALLOW写保护寄存器(EALLOW-protected registers),这些写保护寄存器包括器件仿真寄存器、Flash寄存器、代码安全模块寄存器、PIE向量表、系统控制寄存器、GPIO复用寄存器以及一些eCAN寄存器和外部接口寄存器。EALLOW写保护寄存器是指只允许读、不允许写的片上外设寄存器。在状态寄存器1(ST1)的位域变量EALLOW(ST1.EALLOW)指示EALLOW状态值,如表2-11所示。
表2-11 EALLOW写保护寄存器的访问特性
![](https://epubservercos.yuewen.com/298E48/17214368804804006/epubprivate/OEBPS/Images/Figure-T68_38410.jpg?sign=1739194124-XPxMErpV6CzeE2FKYurajPmK4MbT90aW-0-220303dc6917a88b8055096cfacc95ca)
系统复位后,EALLOW被清0,使能EALLOW写保护功能。在写保护下,CPU对写保护寄存器的所有写操作均被忽略,只有CPU读、JTAG读、JTAG写被允许。仅当执行EALLOW宏语句将EALLOW置1时,才允许CPU对写保护寄存器进行写操作。写操作后,应执行EDIS宏语句将EALLOW清0,再禁止写保护寄存器的写操作,防止电磁干扰等对写保护寄存器误写。
2.4.2 器件仿真寄存器
器件仿真寄存器(EALLOW写保护)包括器件配置和块保护相关的寄存器,均为EALLOW写保护寄存器,映射地址如表2-12所示。
表2-12 器件仿真寄存器(EALLOW写保护)
![](https://epubservercos.yuewen.com/298E48/17214368804804006/epubprivate/OEBPS/Images/Figure-T68_38411.jpg?sign=1739194124-u9CYIowcPgKRRSiWcUzNfUMDYHxb4bro-0-4c9831a280cee20614b7c5a1e8eff832)
2.4.3 Flash/OTP配置寄存器
Flash/OTP配置寄存器(EALLOW写保护)包括Flash电源模式寄存器、Flash低功耗模式寄存器、Flash状态与控制寄存器、Flash/OTP读访问等待状态寄存器等,均为EALLOW写保护寄存器,映射地址如表2-13所示。
表2-13 Flash/OTP配置寄存器(EALLOW写保护)
![](https://epubservercos.yuewen.com/298E48/17214368804804006/epubprivate/OEBPS/Images/Figure-T68_38412.jpg?sign=1739194124-rruRwl7T85yZXCxty0uzCla8z7Jdp6BJ-0-388d12b07a2a8a8b7bfda71fe0baeae3)
2.4.4 代码安全模块寄存器
代码安全模块(CSM)寄存器(EALLOW写保护)包括8×16位密钥寄存器(KEY0~KEY7)和CSM状态与控制寄存器(CSMSCR),均为EALLOW写保护寄存器,映射地址如表2-14所示。
表2-14 代码安全模块寄存器(EALLOW写保护)
![](https://epubservercos.yuewen.com/298E48/17214368804804006/epubprivate/OEBPS/Images/Figure-T69_38414.jpg?sign=1739194124-C5xWAYKg0JgOrRDRizXEUBRyFODoSZWP-0-69e00240cb198d1072292c2b8dd38f14)
2.4.5 PIE向量表
PIE向量表(EALLOW写保护)位于外设帧0中,受EALLOW写保护,映射地址如表2-15所示。
表2-15 PIE向量表(EALLOW写保护)
![](https://epubservercos.yuewen.com/298E48/17214368804804006/epubprivate/OEBPS/Images/Figure-T69_38416.jpg?sign=1739194124-qyDY3ohcyJiODhgzLDIfcvYYWScLA8jz-0-27810037bec487add1ed221a8895928b)
2.4.6 系统控制寄存器
系统控制寄存器(EALLOW写保护)包括:锁相环状态与控制寄存器;高/低速外设时钟预定标寄存器、外设时钟控制寄存器0/1/3;低功耗模式控制寄存器0;系统控制和状态寄存器;看门狗计数器寄存器;看门狗复位密钥寄存器;看门狗控制寄存器,均为EALLOW写保护寄存器,映射地址如表2-16所示。
表2-16 系统控制寄存器(EALLOW写保护)
![](https://epubservercos.yuewen.com/298E48/17214368804804006/epubprivate/OEBPS/Images/Figure-T70_38419.jpg?sign=1739194124-NGNswDkjancQjD0d19Kn6Lp0WzFYDVzX-0-0ab26bd1300468bf6e0f4e14f15059fc)
2.4.7 GPIO复用寄存器
GPIO复用寄存器(EALLOW写保护)包括GPIOA/B/C控制寄存器、GPIOA/B资格选择寄存器、GPIOA/B/C复用寄存器、GPIOA/B/C方向寄存器、GPIOA/B/C上拉禁止寄存器、XINT1/2/3/4/5/6/7复用GPIO输入引脚选择寄存器、低功耗模式唤醒信号复用GPIO输入引脚选择寄存器,均为EALLOW写保护寄存器,映射地址如表2-17所示。
表2-17 GPIO复用寄存器
![](https://epubservercos.yuewen.com/298E48/17214368804804006/epubprivate/OEBPS/Images/Figure-T71_38423.jpg?sign=1739194124-kNOLCztvctBTSqREEJaKS2gTVltOTlgd-0-814d1c5fbd0ec5b425dc7de1ab550f8e)
2.4.8 eCAN寄存器
eCAN寄存器(EALLOW写保护)包括主控寄存器、位定时配置寄存器、全局中断屏蔽寄存器、邮箱中断屏蔽寄存器、时间戳计数器、CANTXA/CANRXA引脚I//O控制寄存器,这些eCAN寄存器除邮箱中断屏蔽寄存器受EALLOW写保护外,其他eCAN寄存器只有某些位是受EALLOW写保护,映射地址如表2-18所示。
表2-18 eCAN寄存器
![](https://epubservercos.yuewen.com/298E48/17214368804804006/epubprivate/OEBPS/Images/Figure-T71_38421.jpg?sign=1739194124-LIN1f94asL8n2l5M5Pw19uk8QLOw7R9I-0-43627fd79038587cc979aa87bf8b1afa)
注:(1)只有CANMC的位[15~9]和位[7~6]被保护。
(2)只有BCR的位[23~16]和位[10~0]被保护。
(3)只有CANGIM的位[14~8]和位[2~0]被保护。
(4)只有IOCONT1的位[3]被保护。
(5)只有IOCONT2的位[3]被保护。
2.4.9 ePWM1~ePWM6寄存器
ePWM1~ePWM6寄存器(EALLOW写保护)包括故障区选择寄存器TZSEL、故障区控制寄存器TZCTL、故障区使能寄存器TZEINT、故障区清零寄存器TZCLR、故障区强制寄存器TZFRC、高分辨率PWM(HRPWM)配置寄存器HRCNFG,这些寄存器均为EALLOW写保护寄存器,映射地址如表2-19所示。
表2-19 ePWM1~ePWM6寄存器
![](https://epubservercos.yuewen.com/298E48/17214368804804006/epubprivate/OEBPS/Images/Figure-T72_38427.jpg?sign=1739194124-bIFtQ7ymvhQLR0tbsBqH1v0spZCqBsmB-0-e633208e58265af98ace8ffc4f14d055)
2.4.10 XINTF寄存器
XINTF(外部接口)寄存器(EALLOW写保护)包括寻址区0/6/7时序寄存器(XTIMING0/6/7)、XINTF配置寄存器、XINTF跨区控制寄存器、XINTF版本修订寄存器、XINTF复位寄存器,均为EALLOW写保护寄存器,映射地址如表2-20所示。
表2-20 XINTF寄存器
![](https://epubservercos.yuewen.com/298E48/17214368804804006/epubprivate/OEBPS/Images/Figure-T72_38428.jpg?sign=1739194124-b3LU3O9ORdsCZrdP2Vq4CevqGVQiNIa1-0-122603f94b1a17f2ce652bf8369a94e3)
注:(1)所有XINTF寄存器都是EALLOW写保护寄存器。
(2)XTIMING1~XTIMING5未用,保留为将来扩展用。
(3)XINTCNF1保留未用。