TMS320C系列DSP寄存器及初始化.docx
- 文档编号:10879902
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:66
- 大小:45.57KB
TMS320C系列DSP寄存器及初始化.docx
《TMS320C系列DSP寄存器及初始化.docx》由会员分享,可在线阅读,更多相关《TMS320C系列DSP寄存器及初始化.docx(66页珍藏版)》请在冰豆网上搜索。
TMS320C系列DSP寄存器及初始化
TMS320C2000系列DSP寄存器及初始化
[日期:
2009-09-27]
来源:
作者:
徐丽红王佰营
[字体:
大中小]
TMS320LF240X系列DSP使用时,在掌握了其工作原理和过程之后,就要熟练使用DSP自带的一些资源如:
IO口、DSRM、SRAM、EVA、,EVB、SCI、SPI、ADC和WD等等;对这些资源的使用很重要的一点就是对其合理配置和初始化,初始化的关键就是对其相关寄存器的设置,设置寄存器必须了解各位的含义,记住每位的含义是不大现实的;为此,我们专门设计了DSP初始化子程序,注明每个模块所用到的寄存器以及每位的含义,以方便设计。
;Init_DSP.asm
.text
;----------------------------------------------------------
; function:
InitDSP DSP初始化子程序
; input:
------
; output:
------
; usege:
aCC
;==========================================================
DSP_Init:
;==========================================================
; DSP系统初始化
;----------------------------------------------------------
;ST0------
; 15~~13 12 11 10 9 8~~0
;ST0 ARP OV OVM 1 INTM DP
; 15~13 12 11 10 9 8~5 4 3~21~0
;ST1 ARB CNF TC SXM C 1 XF 1 PM
; ARB---辅助寄存器指针缓冲器:
当ARP被加载到ST0,除了使用LST指令外,原有的
; ARP值被复制到ARB中;当通过LST#1指令加载ARB时,也把相同的ARB
; 值复制到ARP;
; ARP----辅助寄存器指针:
ARP选择间接寻址时当前的辅助寄存器AR;当ARP被加载
; 时,原有的ARP值被复制到ARB寄存器中;在间接寻址时,ARP可由存储器
; 相关指令改变,也可由LARP,MAR,和LST指令改变;当执行LST#1指令
; 时,ARP也可加载每ARB相同的值
; C---- 进位位:
此位在加法结果产生进位时被置为1,或在减法结果产生借位时被清0
; 否则,除了执行带有16位移位的ADD或SUB指令外,C在加法后被清除或在减
; 法后被设置;在ADD或USB指令时,ADD仅可对进位位进行置位而SUB仅可
; 对进位位进行清除,而不会对进位位产生其他影响;移1位和循环指令也可影响
; 进位位C,以及SETC、CLRC和LST指令也可影响C;条件转移、调用和返回
; 指令可以根据C的状态进行执行;复位时C被置1
; CNF----片内DARAM配置位:
若CNF=0,可配置的双口RAM区被映射到数据存储空
; 间;若CNF=I,可配置的双口RAM区被映射到程序存储空间;CNF位可通过
; SETCCNF,CLRCCNF和LST指令修改;R/S/复位时CNF置为0
; DP---- 数据存储器页指针:
9位的DP寄存器与一个指令字的低七位一起形成一个16
; 位的直接寻址地址
; INTM---中断模式位:
当INTM被置为0时,所有的未屏蔽中断使能;当它被置1,
; 所有可屏蔽中断禁止;
; OV---- 溢出标志位:
该位保存一个被锁存的值,用以指示CALU中是否有溢出发生;
; 一旦发生溢出,OV位保持为1直到下列条件中的一个发生时才能被清除
; OVM----溢出方式位:
当OVM=0时,累加器中结果正常溢出;当OVM=1时,根据
; 遇到溢出的情况,累加器被设置为它的最大正值或负值;SETC指令和
; CLRC指令分别对该位进行置位和复位;
; PM----乘积移位方式:
; 若PM=00,乘法器的32位乘积结果不移位直接装入CALU;
; 若PM=01,PREG输出左移1位后装入CALU,最低位LSB以0填充;
; 若PM=10,PREG输出左移4位后装入CALU,最低位LSB以0填充;
; 若PM=11,时PREG输出进行符号扩展右移六位
; SXM----符号扩展方式位:
当SXM一1时,数据通过定标移位器传送到累加器时将产
; 生符号扩展;SXM=0将抑制符号扩展;SXM位对某些指令没有影响;
; TC---- 测试/控制标志位:
在下述情况之一,TC位被置1:
由BIT或BITT指令测
; 试的位为1;当利用NORM指令测试时,累加器的两个最高有效位"异或"
; 功能为真;条件转移、调用和返回指令可根据TC位的条件来执行;
; BIT、BITT、CMPR、LST和NORM指令影响TC位
; XF---- XF引脚状态位:
该位决定XF引脚的状态;SETCXF指令可对位XF进行置位,
; 而CLRCXF指令可对其进行清0;复位时XF置1
;SCSR1------系统控制和状态寄存器1---地址7018H
; D15---保留位
; D14---CLKSRC。
CLKOUT引脚源选择位
; 0 CLKOUT引脚输出CPU时钟
; 1 CLKOUT引脚输出WDCLK时钟
; D13---12LPM(1:
0)。
低功耗模式选择位
; 00 CPU进入IDLE1(LPM0)
; 01 CPU进入IDLE2(LPM1)
; 1x CPU进入HALT(LPM2)
; D11-9---PLL时钟预定标选择位,这三位对输入时钟选择PLL倍频系数。
; s CLKPS1 CLIPS0 系统时钟频率
; 0 0 0 4*fin
; 0 0 1 2*fin
; 0 1 0 1.33*fin
; 0 1 1 1*fin
; 1 0 0 0.8*fin
; 1 0 1 0.66*fin
; 1 1 0 0.57*fin
; 1 1 1 0.5*fin
; D8---保留位
; D7---ADCCLKEN。
ADC模块时钟使能控制位。
; 0禁止ADC模块的时钟(即:
关断ADC模块以节约能量)
; 1使能ADC模块的时钟,且正常运行
; D6---SCICLKEN。
SCI模块时钟使能控制位。
; 0禁止SCI模块的时钟(即:
关断SCI模块以节约能量)
; 1使能SCI模块的时钟,且正常运行
; D5---SPICLKEN。
SPI模块时钟使能控制位。
; 0禁止SPI模块的时钟(即:
关断SPI模块以节约能量)
; 1使能SPI模块的时钟,且正常运行
; D4---CANCLKEN。
CAN模块时钟使能控制位。
; 0禁止CAN模块的时钟(即:
关断CAN模块以节约能量)
; 1使能CAN模块的时钟,且正常运行
; D3---EVBCLKEN。
EVB模块时钟使能控制位。
; 0禁止EVB模块的时钟(即:
关断EVB模块以节约能量)
; 1使能EVB模块的时钟,且正常运行
; D2---EVACLKEN。
EVA模块时钟使能控制位。
; 0禁止EVA模块的时钟(即:
关断EVA模块以节约能量)
; 1使能EVA模块的时钟,且正常运行
; D1---保留位
; D0---ILLADR位。
无效地址检测位。
;----------------------------------------------------------
; D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
;----------------------------------------------------------
;
;----------------------------------------------------------
;SCSR2------系统控制和状态寄存器2---7019h
; D15-7:
保留位
; D6---I/P QUAL,时钟输入限定,它限定输入到LF240x
; 的CAP1-6、XINT1-2、ADCSOC、PDPINTA*/
; PDPINTB*引脚上的最小脉冲宽度。
脉冲宽度只有达到这个宽度之后,内部的输入状态才会改变。
; 0-锁存脉冲至少需要5个时钟周期;
; 1-锁存脉冲至少需要11个时钟周期。
如这些引脚作I/O使用,则不使用输入时钟限定电路。
; D5---WD保护位,该位可用来禁止WD工作。
该位是-
; 个只能清除的位,复位后=1。
通过向该位写1对其清0。
; 0-保护WD,防止WD被软件禁止。
; 1-复位时的默认值,禁止WD工作。
; D4---XMIF HI-Z。
该位控制外部存储器接口信号(XMIF)。
; 0-所有XMIF信号为正常驱动模式(非高阻态)。
; 1-所有XMIF信号处于高阻态。
注意:
该位仅对LF2407/ LF2407A型号有效,对其它
; 型号为保留位
; D3---(使能位)。
这位反映了BOOTEN*引脚在复位时的状态。
; 0-使能引导ROM。
地址0000h-00FFh被片内引导ROM块占用。
禁止用FLash存储器。
; 1-禁止引导ROM。
LF2407片内Flash程序存储器映射地址范围为0000h-7FFFh。
; D2---MP/MC* (微处理器/微控制器选择)。
; 0:
DSP设置为微控制器方式,片内FLASH映射到程序存储器空间,地址为0000h-7FFFh。
; 1:
DSP设置为微处理器方式,程序空间0000h-7FFFh被
; 映射到片外程序存储器空间(必须外扩外部程序存储器)
; D1-0---SARAM的程序/数据空间选择
; 00-地址空间不被映射,该空间被分配到外部存储器
;----------------------------------------------------------
; D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
;----------------------------------------------------------
;
;----------------------------------------------------------
;IMR------中断屏蔽寄存器
; D15~6保留位。
这些位读出时始终为0。
; D5---INT6mask中断6的屏蔽位。
; 0中断INT6级被屏蔽
; 1中断INT6级被使能
; D4---INT5mask中断5的屏蔽位。
。
; 0中断INT5级被屏蔽
; 1中断INT5级被使能
; D3---INT4mask中断4的屏蔽位。
; 0中断INT4级被屏蔽
; 1中断INT4级被使能
; D2---INT3mask中断3的屏蔽位。
; 0中断INT3级被屏蔽
; 1中断INT3级被使能
; D1---INT2mask中断2的屏蔽位。
; 0中断INT2级被屏蔽
; 1中断INT2级被使能
; D0---INT1mask中断1的屏蔽位。
; 0中断INT1级被屏蔽
; 1中断INT1级被使能
;----------------------------------------------------------
; D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
;----------------------------------------------------------
;
;----------------------------------------------------------
;IFR------中断标志寄存器
; D15~6保留位。
这些位读出时始终为0。
; D5---INT6flag中断6标志位。
该位用作连至第6级中断INT6的所有中断标志。
; 0无INT6级的中断挂起
; 1至少一个INT6级的中断挂起,向该位写1可将该位清除为0,即清除中断请求。
; D4---INT5FLAG中断5标志位。
该位用作连至第5级中断INT5的所有中断标志。
; 0无INT5级的中断挂起
; 1至少一个INT5级的中断挂起,向该位写1可将该位清除为0,即清除中断请求。
; D3---INT4FLAG中断4标志位。
该位用作连至第4级中断INT4的所有中断标志。
; 0无INT4级的中断挂起
; 1至少一个INT4级的中断挂起,向该位写1可将该位清除为0,即清除中断请求。
; D2---INT3FLAG中断3标志位。
该位用作连至第3级中断INT3的所有中断标志。
; 0无INT3级的中断挂起
; 1至少一个INT3级的中断挂起,向该位写1可将该位清除为0,即清除中断请求。
; D1---INT2FLAG中断2标志位。
该位用作连至第2级中断INT2的所有中断标志。
; 0无INT2级的中断挂起
; 1至少一个INT2级的中断挂起,向该位写1可将该位清除为0,即清除中断请求。
; D0---INT1FLAG中断1标志位。
该位用作连至第1级中断INT1的所有中断标志。
; 0无INT1级的中断挂起
; 1至少一个INT1级的中断挂起,向该位写1可将该位清除为0,即清除中断请求。
;----------------------------------------------------------
; D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
;----------------------------------------------------------
;;
;----------------------------------------------------------
;外设中断寄存器包括如下几种:
;o 外设中断请求寄存器0(PIRQR0)
;o 外设中断请求寄存器1(PIRQR1)
;o 外设中断请求寄存器2(PIRQR2)
;o 外设中断应答寄存器0(PIACKR0)
;o 外设中断应答寄存器1(PIACKR1)
;o 外设中断应答寄存器2(PIACKR2)外设中断请求寄存器和外设中断应答寄存器都属于外
;设中断扩展模块用来向CPU产生INT1-INT6中断请求
;的内部寄存器。
这些寄存器用户只能对其读。
;PIVR------外设中断向量寄存器---701Eh
; 该寄存器的16位V15-V0,为最近一次被应答的外设中断的地址向量。
;PIRQR0------外设中断请求寄存器0---7010h
; D15-0 :
外设请求标志位IRQ0.15-IRQ0.0
; 0 无相应外设的中断请求
; 1 相应外设的中断请求被挂起
;注:
写入1会发出一个中断请求到DSP核,写入0无影响。
;PIRQR1------外设中断请求寄存器1---7011h
; D15:
保留位,读出为0,写入无影响。
; D14-0 :
外设请求标志位IRQ1.14-IRQ1.0
; 0 无相应外设的中断请求
; 1 相应外设的中断请求被挂起
;注:
写入1会发出一个中断请求到DSP核,写入0无影响。
;PIRQR2------外设中断请求寄存器2---7012h
; D15:
保留位
; D14-0 :
外设请求标志位IRQ2.14-IRQ2.0
; 0 无相应外设的中断请求
; 1 相应外设的中断请求被挂起
;注:
写1会发出一个中断请求到DSP核,写0无影响。
;PIACKR0------外设中断应答寄存器0---7014h
;PIACKR1------外设中断应答寄存器1---7015h
;PIACKR2------外设中断应答寄存器2---7016h
;XINT1CR------外部中断1控制寄存器---7070h
; D15:
XINT1标志位。
; 0 没有检测到跳变
; 1 检测到跳变
; D14-3:
保留位
; D2:
XINT1极性。
; 0 在下降沿产生中断
; 1 在上升沿产生中断
; D1:
XINT1优先级?
; 0 高优先级
; 1 低优先级
; D0:
XINTl使能位。
; 0 屏蔽中断
; 1 使能中断
;----------------------------------------------------------
; D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
;----------------------------------------------------------
;
;----------------------------------------------------------
;XINT2CR------外部中断2控制寄存器---7071h
; D15:
XINT2中断请求标志位。
当XINT2的中断请求被应答时,该位被自动清0。
; 0-没有检测到跳变
; 1-检测到跳变软件向该位写1(写0无效)或器件复位时,该位也被清0
; D14-3:
保留位。
; D2:
XINT2极性。
该位决定XINT2引脚信号的上升沿还是下降沿产生中断。
; 0 在下降沿产生中断
; 1 在上升沿产生中断
; D1:
XINT2的中断优先级。
; 0 高优先级
; 1 低优先级
; D0:
XINT2的中断使能位。
; 0 屏蔽该中断
; 1 使能该中断
;----------------------------------------------------------
; D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0
;----------------------------------------------------------
;
;----------------------------------------------------------
setc intm ;关闭所有可屏蔽中断
clrc sxm
clrc ovm
clrc cnf ;B0被配置为数据存储空间
ldp #DP_PF1
splk #85feh, SCSR1
splk #0e8h, WDCR;不使能WDT
ldp #0
splk #0000h, IMR ;关闭中断
splk #0ffffh, IFR ;清全部中断标志
LDP #0E0H
;SPLK #81FEH, SCSR1 ;CLKIN=6M,CLKOUT=24M
SPLK #0E8H, WDCR ;不使能WDT
;==========================================================
; GPIO----初始化
;==========================================================
;7090h MCRA I/O复用控制寄存器A
;7092h MCRB I/O复用控制寄存器B
;7094h MCRC I/O复用控制寄存器C
;7098h PADATDIR I/O端口A数据和方向寄存器
;709Ah PBDATDIR I/O端口B数据和方向寄存器
;709Ch PCDATDIR I/O端口C数据和方向寄存器
;709Eh PDDATDIR I/O端口D数据和方向寄存器
;7095h PEDATDIR I/O端口E数据和方向寄存器
;7096h PFDATDIR I/O端口F数据和方向寄存器
;MCRA------I/O口复用控制寄存器A---7090H
;-----------------------------------------------------------
;位的名称 功能选择
;-----------------------------------------------------------
; 基本功能(MCRA.n=1) 一般I/O口(MCRA.n=0)
;-----------------------------------------------------------
;0 MCRA.0 SCITXD IOPA0
;1 MCRA.1 SCIRXD IOPA1
;2 MCRA.2 XINT1 IOPA2
;3 MCRA.3 CAP1/QEP1 IOPA3
;4 MCRA.4 CAP2/QEP2 IOPA4
;5 MCRA.5 CAP3 IOPA5
;6 MCRA.6 PWM1 IOPA6
;7 MCRA.7 PWM2 IOPA7
;8 MCRA.8 PWM3 IOPB0
;9 MCRA.9 PWM4 IOPB1
;10 MCRA.10 PWM5 IOPB2
;11 MCRA.11 PWM6 IOPB3
;12 MCRA.12 T1PWM/T1CMP IOPB4
;13 MCRA.13 T2PWM/T2CMP IOPB5
;14 MCRA.14 TDIRA IOPB6
;15 MCRA.15 TCLKINA IOPB7
;-----------------------------------------------------------
;MCRB------I/O口复用控制寄存器B---7092H
;-----------------------------------------------------------
;位的名称 功能选择
;-----------------------------------------------------------
; 基本功能(MCRB.n=1) 一般I/O口(MCRB.n=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TMS320C 系列 DSP 寄存器 初始化