版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 DSP 原 理 及 应 用 主主 讲:讲:黄灿水黄灿水电电 话:话:1396099285913960992859Email Email :fzu_fzu_基于基于TMS320LF240 x系列系列课堂授课时间分配课堂授课时间分配: (32学时学时)第第1章章 TMS320LF240 x概述概述 2第第2章章 TMS320LF240 x系列系列DSP内部资源介绍内部资源介绍 4第第3章章 TMS320C240 x寻址方式和指令系统寻址方式和指令系统4第第4章章 CCS3.1集成调试环境集成调试环境 4第第8章章 数字量(数字量(I/O)模块)模块 4第第9章章 事件管理器模块(事件管理器模块(
2、EVM) 6 第第10章章 AD转换模块转换模块 4第第11章章 串行外设接口模块串行外设接口模块(SPI) 第第12章章 串行通信接口模块串行通信接口模块(SCI) 第第13章章 CAN控制器模块控制器模块 第第14章章 应用实例应用实例 4第第2 2章章 TMS320LF240 xTMS320LF240 x系列系列DSPDSP内部资源介绍内部资源介绍 2.1 TMS320LF240 x2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍 2.2 2.2 存储器和存储器和I/OI/O空间空间 2.3 2.3 系统配置和中断系统配置和中断 2.
3、4 2.4 程序控制程序控制 2.1 TMS320LF240 x2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍 中央处理单元中央处理单元(CPU) 输入定标器输入定标器 乘法单元乘法单元 中央算术逻辑单元中央算术逻辑单元 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍 1、输入定标移位器、输入定标移位器 是一个是一个16位到位到32位的滚动位的滚动式左向移位器;式左向移位器; 能将输入的能将输入的16位位数据的数据的015位在本周期内向左移位位在本
4、周期内向左移位以得到以得到32位位的输出;的输出; 本操作不需要额外的周期。本操作不需要额外的周期。 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍 移位器的输入来源移位器的输入来源 数据读总线数据读总线(DRDB),该输入值来自指令该输入值来自指令操作数据所引用的操作数据所引用的数据存储单元;数据存储单元; 程序读总线程序读总线(PRDB),该输入是指令操作该输入是指令操作数给出的常数。数给出的常数。 移位量的来源移位量的来源 嵌在指令字中的常数嵌在指令字中的常数。把移位量放在指令字中,把移位量放在指
5、令字中,该程序代码使用特定的该程序代码使用特定的数据比例;数据比例; 临时寄存器临时寄存器TREG提供提供。根据根据TREG的值移位,的值移位,数据的定标因子是动态数据的定标因子是动态确定的,可适应不同的确定的,可适应不同的系统要求系统要求。 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍 输入移位器的输出值输入移位器的输出值 最低有效位最低有效位LSBs段填段填0; 未使用的最高有效位未使用的最高有效位MSBs填填0或者根据状态寄存器或者根据状态寄存器ST1的的SXM位的值来确定是否需要进行符号扩展位
6、的值来确定是否需要进行符号扩展 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍 2、乘法器、乘法器 1616位的硬件乘法位的硬件乘法器器,在单个周期内产,在单个周期内产生一个生一个32位乘积结果位乘积结果的有符号或无符号数;的有符号或无符号数; 除了除了MPYU指令,所指令,所有的乘法指令都执行有的乘法指令都执行有符号的乘法操作。有符号的乘法操作。 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍 乘法器的输入乘法
7、器的输入 1 6 位 临 时 寄 存 器位 临 时 寄 存 器(TREG),在乘法之前,在乘法之前把数据读总线的值加把数据读总线的值加载到载到TREG; 数据读总线的数据存数据读总线的数据存储器值和程序读总线储器值和程序读总线的程序存储器值。的程序存储器值。 乘法器的输出乘法器的输出 两个输入值相乘后的两个输入值相乘后的32位结果保存在乘积寄存位结果保存在乘积寄存器器(PREG)中;中; PREG的输出连接到的输出连接到32位的乘积定标移位器位的乘积定标移位器(PSCALE),通过,通过PSCALE将乘积结果送将乘积结果送到到CALU或数据存储器。或数据存储器。 2.1 TMS320LF240
8、 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍 乘法定标移位器乘法定标移位器(PSCALE) 输入输入:该移位器的:该移位器的32位输入到位输入到PREG的输出。的输出。 输出输出:完成移位后,全部:完成移位后,全部32位送到位送到CALU,或将结果的,或将结果的16位存到数位存到数据存储器。据存储器。 移位模式移位模式:该移位器可用:该移位器可用4种移位模式,这些模式由状态寄存器种移位模式,这些模式由状态寄存器ST1的乘积移位方式的乘积移位方式(PM)位确定。位确定。 注:注:PREG的内容保持不变,其值被复制到的内容保持不变,其
9、值被复制到PSCALE中,进行移位。中,进行移位。PM移位移位说明说明00不移位不移位乘积结果没有移位地送到乘积结果没有移位地送到CALU单元或数据总线单元或数据总线01左移左移1位位移去在一次移去在一次2的补码乘法运算中产生的的补码乘法运算中产生的1位附加符号位,以得到一个位附加符号位,以得到一个Q31的乘积的乘积10左移左移4位位当与一个当与一个13位的常数相乘时,移去在位的常数相乘时,移去在1613位的位的2的补码乘法运算中产生的的补码乘法运算中产生的4位附加位附加符号位,以生成一个符号位,以生成一个Q31的乘积的乘积11右移右移6位位对乘积结果进行定标,以使得运行对乘积结果进行定标,以
10、使得运行128次的乘积累加器不会溢出次的乘积累加器不会溢出 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍 乘法器相关指令及操作乘法器相关指令及操作 用用LT指令将数据从数据总线载入指令将数据从数据总线载入TREG提供提供1操作数,操作数,MPY指令提指令提供第供第2个操作数或从数据总线上得到。个操作数或从数据总线上得到。 使用使用MPY指令时,可以对一个指令时,可以对一个13位的立即数进行操作,每两个指位的立即数进行操作,每两个指令周期得到一个乘积。令周期得到一个乘积。 代码执行多路乘法和乘积求和运算
11、时,代码执行多路乘法和乘积求和运算时,CPU支持流水线操作。支持流水线操作。指令指令操作操作LT把通过把通过CALU得到的前次乘积结果装载到得到的前次乘积结果装载到TREGLTP把把PREG的值装载入的值装载入ACCLTA把把PREG的值加载到的值加载到ACCDMOV,LTD把把PREG的值加到的值加到ACC,移位,移位TREG输入数据到数据存储器的下一地址输入数据到数据存储器的下一地址LTS从从ACC中减去中减去PREG的值的值 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍 乘法器相关指令及操作乘法
12、器相关指令及操作 乘且累加并带动数据移动指令乘且累加并带动数据移动指令MAC和和MACD充分利用了乘法器的充分利用了乘法器的计算宽度,允许两个操作数被同时处理。计算宽度,允许两个操作数被同时处理。 无符号乘法运算无符号乘法运算MPYU指令执行大大方便了用于扩展精度的算术运指令执行大大方便了用于扩展精度的算术运算。算。 平行并累加前次乘积指令平行并累加前次乘积指令SQRA和平方并减去前次乘积指令和平方并减去前次乘积指令SQRS传送相同的数到乘法器的两个输入端,以对一个数据存储器单元的传送相同的数到乘法器的两个输入端,以对一个数据存储器单元的值进行平方运算。值进行平方运算。 存储乘积的高字节指令存
13、储乘积的高字节指令SPH和低字节指令和低字节指令SPL,可将装入,可将装入PREG的的32位乘积结果传送到位乘积结果传送到CALU单元或数据存储器。单元或数据存储器。 在在执行中断服务程序前必须对执行中断服务程序前必须对PREG的值的值进行保存。进行保存。 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍 3、中央算术逻辑部分、中央算术逻辑部分 中 央 算 术 逻 辑 单 元中 央 算 术 逻 辑 单 元(CALU):实现各种算术、:实现各种算术、逻辑功能;逻辑功能; 32位累加器位累加器(ACC):接收
14、:接收来自来自CALU的输出,并可的输出,并可以根据进位位以根据进位位(C)的值来的值来实现移位;实现移位; 输出移位器输出移位器:将:将ACC的高的高位字和低位字在送入数据位字和低位字在送入数据存储器之前进行移位。存储器之前进行移位。MUXACCHACCLCOutput shifter(32bits)CALUCentral arithmetic logicsection32321632323232输入移位器乘积移位器数据存储器 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍 中央算术逻辑单元中央算术逻
15、辑单元(CALU) 运算功能运算功能:16位加、位加、16位减、布尔逻辑操作、位测试、移动位减、布尔逻辑操作、位测试、移动和循环。和循环。 输入输入:一个由累加器提供,另一个由乘积定标移位器或输入:一个由累加器提供,另一个由乘积定标移位器或输入数据定标移位器提供。数据定标移位器提供。 输出输出:其结果送至:其结果送至32位累加器,进行移位。位累加器,进行移位。 相关状态位相关状态位:符号扩展模式位:符号扩展模式位SXM(ST1第第10位位)确定确定CALU是是否进行符号扩展。否进行符号扩展。SXM=0,抑制符号扩展;,抑制符号扩展;SXM=1,进行符,进行符号扩展。号扩展。 2.1 TMS32
16、0LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍累加器累加器(ACC) 功能功能:对送到:对送到ACC的的CALU的运算结果进行单个移位和循环操作。的运算结果进行单个移位和循环操作。 输入输入:CALU的运算结果。的运算结果。 输出输出:ACC的高的高16位和低位和低16位中任何一个都可送到输出定标移位器,经位中任何一个都可送到输出定标移位器,经定标移位后存入数据存储器。定标移位后存入数据存储器。 相关状态位相关状态位状态位状态位状态寄存器状态寄存器说明说明进位位进位位CST1第第9位位C=0:减结果产生借位减结果产生借位
17、/加结果未产生进位;加结果未产生进位;C=1:加结果产生进位加结果产生进位/减结减结果未产生借位;左移或左循环,果未产生借位;左移或左循环,ACC最高位送至最高位送至C,否则最低位送至,否则最低位送至C。溢出方式位溢出方式位OVMST0第第11位位决定决定ACC如何反映算术运算的溢出。如何反映算术运算的溢出。OVM=1:正溢出,正溢出,ACC填充最大填充最大正数,否则填充最大负数;正数,否则填充最大负数;OVM=0:正常溢出。正常溢出。溢出标志位溢出标志位OVST0第第12位位ACC未发生溢出时,未发生溢出时,OV=0;否则;否则OV=1且被莎存。且被莎存。测试测试/控制标志位控制标志位TCS
18、T1第第11位位根据被测试位的值,该位被置根据被测试位的值,该位被置0或或1。 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍 输出定标移位器输出定标移位器 将累加器输出的内容左移将累加器输出的内容左移07位,移动位数由存位,移动位数由存储器指令指定,然后用储器指令指定,然后用SACH或或SACL指令将移位器中指令将移位器中的高位字或低位字保存到数据存储器中,的高位字或低位字保存到数据存储器中,ACC的内容的内容不变。不变。00F0F0A10F0F0F0F0A103216累加器输出移位器(左移4位)数据
19、存储器位置00F0F0A128403C3C28403216累加器输出移位器(左移6位)数据存储器位置(b)(a) 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍 4、辅助寄存器算术逻辑单元、辅助寄存器算术逻辑单元(ARAU) 在在CALU操作的同时执行操作的同时执行8个辅助寄存器个辅助寄存器(AR7AR0)上的算术运算。上的算术运算。 8个辅助寄存器提供了灵活而有效的间接寻址。个辅助寄存器提供了灵活而有效的间接寻址。 通过把数值通过把数值07写入状态寄存器写入状态寄存器ST0第第3位的辅助寄位的辅助寄存
20、器指针存器指针(ARP),选择一个辅助寄存器作为当前,选择一个辅助寄存器作为当前AR。 当前当前AR存放被访问的数据存储器的地址,根据指令存放被访问的数据存储器的地址,根据指令的需要分别向数据读的需要分别向数据读/写地址总线读写地址总线读/写数据,使用完写数据,使用完该数据后,当前该数据后,当前AR的内容可以被的内容可以被ARAU增减,可实增减,可实现无符号现无符号16位算术运算。位算术运算。 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍 ARAU可执行的操作可执行的操作 将辅助寄存器值增、减将辅助寄
21、存器值增、减1,或,或者增、减一个变址量者增、减一个变址量(借助任借助任何支持间接寻址的指令何支持间接寻址的指令)。 使辅助寄存器的值加使辅助寄存器的值加/减一个常减一个常数数(ADRK/SBRK指令指令),该常,该常数是指令字的低数是指令字的低8位。位。 将将AR0的内容与当前的内容与当前AR的内的内容进行比较,并把结果放入状容进行比较,并把结果放入状态寄存器态寄存器ST1的测试的测试/控制位控制位TC(CMPR指令指令)。结果经数据。结果经数据写总线写总线DWEB传送到传送到TC。 辅助寄存器的用途辅助寄存器的用途 数据存储器地址存储数据存储器地址存储器;器; 通过通过CMPR指令,使指令
22、,使辅助寄存器支持条件辅助寄存器支持条件分支、调用及返回;分支、调用及返回; 用作暂存单元;用作暂存单元; 用作软件计数器,按用作软件计数器,按需要对其进行加、减。需要对其进行加、减。 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍 5、状态寄存器、状态寄存器 两个状态寄存器两个状态寄存器ST0和和ST1,含有各种状态和控制位;,含有各种状态和控制位; 可保存在数据存储器,也可从数据存储器加载,可可保存在数据存储器,也可从数据存储器加载,可以保存和恢复子程序的机器状态;以保存和恢复子程序的机器状态; 加
23、载状态寄存器加载状态寄存器LST指令写指令写ST0和和ST1,保存状态寄,保存状态寄存器存器SST指令读指令读ST0和和ST1; INTM位不受位不受LST指令的影响;指令的影响; 寄存器中每一位均可由寄存器中每一位均可由SETC和和CLRC指令单独置位指令单独置位和清和清0。 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍ARB辅助寄存器指针缓冲器辅助寄存器指针缓冲器:当:当ARP被加载到被加载到ST0,除了使用,除了使用LST指指令外,原有的令外,原有的ARP值被复制到值被复制到ARB中;当通过中;
24、当通过LST #1指令加载指令加载ARB时,把相同的值复制到时,把相同的值复制到ARP。ARP辅助寄存器指针辅助寄存器指针:ARP选择间接寻址时使用的当前选择间接寻址时使用的当前AR;当;当ARP被加载时,原有的被加载时,原有的ARP值被复制到值被复制到ARB寄存器中;在讲解寻址时,寄存器中;在讲解寻址时,ARP可由存储器相关指令改变,也可由可由存储器相关指令改变,也可由LARP、MAR和和LST指令改变;指令改变;当执行当执行LST #1时,时,ARP也加载与也加载与ARB相同的值。相同的值。 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CP
25、UCPU内部功能模块介绍内部功能模块介绍OV溢出标志位溢出标志位:该位锁存的值指出:该位锁存的值指出CALU是否发生了溢出;发生溢是否发生了溢出;发生溢出,出,OV=1,直到复位、溢出时条件转移、无溢出时条件转移或,直到复位、溢出时条件转移、无溢出时条件转移或LST指令执行时才被清指令执行时才被清0。OVM溢出方式位溢出方式位:该位决定如何管理:该位决定如何管理CALU的溢出。的溢出。SETC和和CLRC指令分别可将该位置指令分别可将该位置1或清或清0;LST指令也可修改该位;指令也可修改该位;OVM=0,ACC结果正常溢出;结果正常溢出;OVM=1,根据发生的溢出,把,根据发生的溢出,把AC
26、C置为最大正置为最大正值或负值。值或负值。 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍CNF片内片内DARAM配置位配置位:CNF=0,可配置双口,可配置双口RAM被映射到数据被映射到数据存储空间;存储空间;CNF=1,可配置双口,可配置双口RAM被映射到程序;该位可通过被映射到程序;该位可通过SETC、CLRC和和LST指令修改;指令修改;RS复位时该位清复位时该位清0。TC测试测试/控制标志位控制标志位:TC=1,由,由BIT或或BITT指令测试位为指令测试位为1;利用;利用NORM指令测试时,
27、指令测试时,ACC的的2个最高有效位个最高有效位“异或异或”为真;为真;CMRP所所测试的当前测试的当前AR和和AR0之间的比较条件成立。之间的比较条件成立。 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍INTM中断模式位中断模式位:该位用来允许或禁止所有可屏蔽中断。通过:该位用来允许或禁止所有可屏蔽中断。通过SETC和和CLRC指令置指令置1或清或清0;该位不影响不可屏蔽中断;该位不影响不可屏蔽中断RS和和NMI;LST指指令不影响该位;发生中断及复位时置令不影响该位;发生中断及复位时置1;INTM
28、=0,允许全部没有被屏,允许全部没有被屏蔽的中断;蔽的中断;INTM=1,禁止全部没有被屏蔽的中断。,禁止全部没有被屏蔽的中断。DP数据存储器页指针数据存储器页指针:当指令使用直接寻址方式时,这个:当指令使用直接寻址方式时,这个9位的位的DP寄存器与指令寄存器的低寄存器与指令寄存器的低7位一起形成一个完整的数据存储器位一起形成一个完整的数据存储器16位地位地址。址。LST和和LDP指令可修改该字段。指令可修改该字段。 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍SXM符号扩展模式位符号扩展模式位:SX
29、M=1数据通过定标移位器传送到累加器时产生符号数据通过定标移位器传送到累加器时产生符号扩展,扩展,SXM=0抑制符号扩展;该位不影响某些指令的基本操作,如抑制符号扩展;该位不影响某些指令的基本操作,如ADDS指指令不管令不管SXM位的状态如何都抑制符号扩展;通过位的状态如何都抑制符号扩展;通过SECT、CLRC和和LST指令对指令对该位进行置该位进行置1、清、清0和加载;复位时该位置和加载;复位时该位置1。C进位位进位位:C=1,加法结果产生进位或减法结果未产生借位;,加法结果产生进位或减法结果未产生借位;C=0,反之;移,反之;移位位16位的位的ADD指令只能使指令只能使C位置位置1,SUB
30、指令只能使指令只能使C位清位清0,不会对,不会对C位产位产生其他影响;移生其他影响;移1位、循环指令、位、循环指令、SETC、CLRC和和LST指令均影响该标志位;指令均影响该标志位;条件转移、调用和返回指令可根据条件转移、调用和返回指令可根据C的状态执行;复位时该位置的状态执行;复位时该位置1。 2.1 TMS320LF240 x 2.1 TMS320LF240 x系列系列DSPDSP的的CPUCPU内部功能模块介绍内部功能模块介绍XF引脚状态位引脚状态位:该位确定通用输出引脚:该位确定通用输出引脚XF的状态;通过的状态;通过SECT、CLRC和和LST指令对该位进行置指令对该位进行置1、清
31、、清0和加载;复位时该位置和加载;复位时该位置1。PM乘积移位模式乘积移位模式:该位决定:该位决定PREG的值是送往的值是送往CALU或数据存储器时如或数据存储器时如何移位;何移位;SPM和和LST指令可以对该位加载;复位时该位清指令可以对该位加载;复位时该位清0。 PM=00,乘法器,乘法器32位乘积不经移位送到位乘积不经移位送到CALU或数据存储器;或数据存储器; PM=01,送到,送到CALU之前,之前,PREG的输出左移的输出左移1位位(低位填低位填0); PM=10,送到,送到CALU之前,之前,PREG的输出左移的输出左移4位位(低位填低位填0); PM=11,PREG输出进行符号
32、扩展右移输出进行符号扩展右移6位。位。注注:PREG的内容保持不变,其值被拷贝到乘积移位器中进行移位。的内容保持不变,其值被拷贝到乘积移位器中进行移位。 2.2 2.2 存储器和存储器和I/OI/O空间空间 增强的哈佛结构,三组并行总线增强的哈佛结构,三组并行总线 程序地址总线程序地址总线(PAB) 数据读地址总线数据读地址总线(DRAB) 数据写地址总线数据写地址总线(DWAB) 三个可独立选择的空间三个可独立选择的空间 程序存储器程序存储器(64K字字) 数据存储器数据存储器(64K字字) I/O空间空间(64K字字)注意注意:LF240 x DSP的所有片内外设的寄存器均映射在的所有片内
33、外设的寄存器均映射在数据存储器空间。数据存储器空间。 2.2 2.2 存储器和存储器和I/OI/O空间空间 1、程序存储器、程序存储器 保存程序代码及数据表信保存程序代码及数据表信息和常量息和常量 寻址范围为寻址范围为64K,包括片,包括片内内DARAM和片内和片内FLASH 访问片外程序地址空间时,访问片外程序地址空间时,DSP自动产生一个访问自动产生一个访问外部程序地址空间的信号外部程序地址空间的信号PS 2.2 2.2 存储器和存储器和I/OI/O空间空间 决定程序存储器的配置决定程序存储器的配置两个因素两个因素 CNF位。位。CNF位是状态寄存器位是状态寄存器ST1的第的第12位,决定
34、位,决定DARAM中的中的B0块块配置在数据存储器空间,还是配置在程序存储器空间。配置在数据存储器空间,还是配置在程序存储器空间。 CNF=0,256字的字的B0块被映射到数据存储器空间。块被映射到数据存储器空间。 CNF=1,256字的字的B0块被映射到程序存储器空间。块被映射到程序存储器空间。 复位时,复位时,CNF0,B0块被映射到数据存储器空间。块被映射到数据存储器空间。 MP/MC引脚。该引脚决定是从片内引脚。该引脚决定是从片内Flash读取指令读取指令,还是从外部程序还是从外部程序存储器读取指令。存储器读取指令。 MP/MC=0:微控制器方式。此时访问的是片内程序存储器(片内微控制
35、器方式。此时访问的是片内程序存储器(片内Flash)0000h-7FFFh空间。空间。 MP/MC=1:微处理器方式。此时访问的是片外程序存储器的微处理器方式。此时访问的是片外程序存储器的0000h-7FFFh空间。空间。注注:无论:无论MP/MC引脚为何值,引脚为何值,LF240 xDSP都是从程序存储器空间都是从程序存储器空间的的0000h单元开始执行程序。单元开始执行程序。 2.2 2.2 存储器和存储器和I/OI/O空间空间 2、数据存储器、数据存储器 寻 址 范 围寻 址 范 围 6 4 K 字字 : 前前 3 2 K 字字(0000h-7FFFh)是内部数据存)是内部数据存储器空间
36、储器空间,包括了包括了DARAM和片内和片内外设的映射寄存器;外设的映射寄存器;后后32K字字(8000h-FFFFh)空间的存储器)空间的存储器为外部数据存储器。为外部数据存储器。 片内有片内有3个个DARAM块块:B0、B1和和B2块。块。B0块块:即可为数据存储即可为数据存储器,也可配置为程序存储器。器,也可配置为程序存储器。B1、B2块块:只能配置为数据存储器。只能配置为数据存储器。 2.2 2.2 存储器和存储器和I/OI/O空间空间两种寻址方式:两种寻址方式:直接寻址直接寻址和和间接寻址间接寻址直接寻址时,直接寻址时,128字为一页字为一页的数据块的数据块来对数据存储器进行寻址。来
37、对数据存储器进行寻址。右图显示右图显示了这些块是如何被寻址的了这些块是如何被寻址的。全部全部64K的数据存储器分为的数据存储器分为512个数据个数据页页,其标号从,其标号从0-511。当前页由状态寄。当前页由状态寄存器存器ST0中的中的9位位数据页指针数据页指针(DP)值来值来确定确定。因此,当使用因此,当使用直接寻址直接寻址指令时,用户指令时,用户必须事先指定必须事先指定数据页数据页,并在访问数据,并在访问数据存储器的指令中指定存储器的指令中指定偏移量偏移量,偏移量,偏移量为为7位位。数据存储器页 2.2 2.2 存储器和存储器和I/OI/O空间空间 编程时要注意编程时要注意,访问下面的数据
38、存储器的地址空间是访问下面的数据存储器的地址空间是非法的非法的,并,并会对会对NMI置位置位。除了以下地址,任何对外。除了以下地址,任何对外设寄存器映射中的设寄存器映射中的保留地址保留地址的访问也是的访问也是非法的非法的。 0080h-00FFh 701Fh-71FFh (CAN内部的内部的) 0500h-07FFh 7230h-73FFh (部分在部分在CAN内部内部) 1000h-700Fh 7440h-74FFh 7030h-703Fh 7540h-75FFh 7060h-706Fh 7600h-77EFh 77F4h-7FFFh 7080h-708Fh见P29图2.6 2.2 2.2
39、存储器和存储器和I/OI/O空间空间 第第0页数据地址映射页数据地址映射 数据存储器中包括数据存储器中包括存储器映射寄存器存储器映射寄存器,它们位于数据存储器的,它们位于数据存储器的第第0页页(地址(地址0000h-007Fh),下表是对第),下表是对第0页数据地址映射的详细说明:页数据地址映射的详细说明: 以零等待状态访问以零等待状态访问两个映射寄存器两个映射寄存器:中断屏蔽寄存器(中断屏蔽寄存器(IMR)和和中断标志寄存中断标志寄存器(器(IFR) 测试测试/仿真保留区仿真保留区被测试和仿真系统用于特定信息发送。因此被测试和仿真系统用于特定信息发送。因此不能对测试不能对测试/仿真仿真地址进
40、行操作地址进行操作。地址地址名称名称描述描述0000h0003h保留保留0004hIMR中断屏蔽寄存器中断屏蔽寄存器0005h保留保留0006hIFR中断标志寄存器中断标志寄存器0023h0027h保留保留002Bh002Fh保留用作测试和仿真保留用作测试和仿真0060h007FhB2双口双口RAM(DARAM B2)第0页数据地址映射 2.2 2.2 存储器和存储器和I/OI/O空间空间 数据存储器配置数据存储器配置 CNF位决定位决定B0块的配置,块的配置,CNF位是状态寄存器位是状态寄存器ST1的第的第12位。位。 CNF0,B0块被映射为数据存储器空间;块被映射为数据存储器空间; 复位
41、时,复位时,CNF0; CNF1,B0块被映射到程序存储器空间;块被映射到程序存储器空间; 2.2 2.2 存储器和存储器和I/OI/O空间空间 3、I/O空间空间 寻址范围为寻址范围为64K字。字。 I/O空间访问的空间访问的控制信号为控制信号为IS。 所有所有64K的的I/O空间均可以用空间均可以用IN和和OUT指令指令来访问来访问。当执行。当执行IN或或OUT指令时,信号指令时,信号IS*变为有效变为有效,可作为外部可作为外部I/O设备的片选信号。设备的片选信号。 访问外部访问外部I/O端口与访问程序存储器、数据端口与访问程序存储器、数据存储器存储器复用相同的的地址总线和数据总线复用相同
42、的的地址总线和数据总线。 数据总线的宽度为数据总线的宽度为16位,位,若使用若使用8位的外设位的外设,即可使用即可使用高高8位位数据总线,也可使用数据总线,也可使用低低8位位数据总线,以适应特定应用的需要。数据总线,以适应特定应用的需要。当访问当访问片内片内的的I/O空间时,信号空间时,信号IS和和STRB变成无变成无效,外部地址和数据总线仅仅当访问外部效,外部地址和数据总线仅仅当访问外部I/O地地址时有效。址时有效。LF2407 I/O空间地址映射图 2.2 2.2 存储器和存储器和I/OI/O空间空间 下面是使用汇编语言的直接访问下面是使用汇编语言的直接访问I/O空间的实际例子空间的实际例
43、子: IN DAT2,0AFEEh;从端口地址为;从端口地址为AFEEh的外设的外设 ;读数据,并存入;读数据,并存入DAT2寄存器寄存器 OUT DAT2,0CFEFh;输出数据存储器;输出数据存储器DAT2的内容的内容 ;到端口地址为;到端口地址为CFEFh的的外设外设 下面是访问等待状态发生器的寄存器的实例:下面是访问等待状态发生器的寄存器的实例: IN DAT2,0FFFFh;从等待状态发生器读取数据到;从等待状态发生器读取数据到DAT2寄寄存器存器 OUT DAT2,0FFFFh;将;将DAT2寄存器的数据写入等待状态发寄存器的数据写入等待状态发生器,使用等待状态发生器生器,使用等待
44、状态发生器课时小结课时小结 DSP内部功能模块的输入移位定标器、硬件乘法内部功能模块的输入移位定标器、硬件乘法器、中央逻辑算术单元、辅助寄存器算术逻辑单器、中央逻辑算术单元、辅助寄存器算术逻辑单元的输入和输出?注意数据的位数(元的输入和输出?注意数据的位数(16或或32位)位) 状态寄存器各位的作用?如何设置?(重点)状态寄存器各位的作用?如何设置?(重点) 程序存储空间大小?分配?影响其分配的因素?程序存储空间大小?分配?影响其分配的因素? 数据存储空间大小?分配?影响其分配的因素?数据存储空间大小?分配?影响其分配的因素? I/O空间大小?数据和地址线?空间大小?数据和地址线?等待状态发生
45、器等待状态发生器? 2.3 2.3 系统配置和中断系统配置和中断 本节介绍本节介绍LF240 x的的系统配置寄存器系统配置寄存器和和中断模块中断模块 系统配置系统配置:对:对DSP片内的功能模块进行用户配置片内的功能模块进行用户配置 中断模块中断模块:主要包括中断优先级和中断向量表、:主要包括中断优先级和中断向量表、外设中断扩展控制器外设中断扩展控制器(PIE)、中断向量、中断响应、中断向量、中断响应的流程、的流程、中断响应的延时中断响应的延时、CPU中断寄存器、外中断寄存器、外设中断寄存器、复位、无效地址检测、外部中断设中断寄存器、复位、无效地址检测、外部中断控制寄存器。控制寄存器。 2.3
46、 2.3 系统配置和中断系统配置和中断1、系统配置寄存器、系统配置寄存器(1)、系统控制和状态寄存器系统控制和状态寄存器1(SCSR1) SCSR1映射到数据存储器空间的映射到数据存储器空间的7018h,各位如下:,各位如下: 位位15:保留:保留 位位14:CLKSRC,为,为CLKOUT引脚输出时钟源的选择位引脚输出时钟源的选择位 0CLKOUT引脚输出引脚输出CPU时钟时钟; 1CLKOUT引脚输出引脚输出WDCLK时钟时钟。 位位13、12:LPM1,LPM0,低功耗模式选择低功耗模式选择,指明在,指明在执行执行IDLE 指令指令后进入后进入哪一种低功耗模式哪一种低功耗模式。 00进入
47、进入IDLE1(LPM0)模式;模式; 01进入进入IDLE2(LPM1)模式;模式; 1x进入进入HALT(LPM2)模式。模式。 2.3 2.3 系统配置和中断系统配置和中断 位位119:CLK PS2-CLK PS0,(,(PLL)时钟预定标)时钟预定标选择位,选择位,选择输入时钟频率选择输入时钟频率fin的的倍频系数倍频系数,如下表如下表(P.31)所示。所示。CLKPS2CLKPS1CLKPS0系统时钟频率系统时钟频率0004fin0012fin0101.33fin0111fin1000.8fin1010.66fin1100.57fin1110.5fin 2.3 2.3 系统配置和中
48、断系统配置和中断 位位8:保留:保留 位位7:ADC CLKEN,ADC模块模块时钟使能控制位时钟使能控制位 0-禁止禁止ADC模块时钟(节能)模块时钟(节能) 1-使能使能ADC模块时钟,且正常运行模块时钟,且正常运行 位位6:SCICLKEN,,SCI模块模块时钟使能控制位时钟使能控制位 0-禁止禁止SCI模块时钟(节能)模块时钟(节能) 1-使能使能SCI模块时钟,且正常运行模块时钟,且正常运行 位位5:SPICLKEN,,SPI模块模块时钟使能控制位时钟使能控制位0-禁止禁止SPI模块时钟(节能)模块时钟(节能)1-使能使能SPI模块时钟,且正常运行模块时钟,且正常运行 2.3 2.3
49、 系统配置和中断系统配置和中断 位位4:CANCLKEN,CAN模块模块时钟使能控制位时钟使能控制位0-禁止禁止CAN模块时钟(节能)模块时钟(节能)1-使能使能CAN模块时钟,且正常运行模块时钟,且正常运行 位位3:EVBCLKEN,EVB模块模块时钟使能控制位时钟使能控制位0-禁止禁止EVB模块时钟(节能)模块时钟(节能)1-使能使能EVB模块时钟,且正常运行模块时钟,且正常运行 位位2:EVACLKEN,EVA模块模块时钟使能控制位时钟使能控制位0-禁止禁止EVA模块时钟(节能)模块时钟(节能)1-使能使能EVA模块时钟,且正常运行模块时钟,且正常运行 位位1:保留:保留 位位0:ILL
50、ADR,无效地址检测位无效地址检测位检测到无效地址时检测到无效地址时,该位置,该位置1。置。置1后需软件来清后需软件来清0,即向该位写,即向该位写0即可。即可。复位复位时时该位为该位为0。注意注意:任何无效的地址会导致不可屏蔽中断(任何无效的地址会导致不可屏蔽中断(NMI)事件发生)事件发生。 2.3 2.3 系统配置和中断系统配置和中断 (2)、系统控制和状态寄存器系统控制和状态寄存器2(SCSR2) SCSR2映射到数据存储器空间的映射到数据存储器空间的7019h,各位如下:,各位如下: 位位15-7:保留:保留 位位6:I/P QUAL,时钟输入限定,它限定输入到,时钟输入限定,它限定输
51、入到LF240 x的的CAP1-6、XINT1-2、ADCSOC、PDPINTA/PDPINTB引脚上的引脚上的最小脉冲宽度最小脉冲宽度。脉冲宽度只有达到这个宽度之后,内部的输入。脉冲宽度只有达到这个宽度之后,内部的输入状态才会改变。状态才会改变。 0锁存脉冲至少需要锁存脉冲至少需要5个时钟周期个时钟周期; 1锁存脉冲至少需要锁存脉冲至少需要11个时钟周期个时钟周期。 如这些如这些引脚作引脚作I/O使用使用,则,则不使用输入时钟限定不使用输入时钟限定电路。电路。 2.3 2.3 系统配置和中断系统配置和中断 位位5:WD保护位,保护位,可用来禁止可用来禁止WD工作。工作。该位是该位是个只个只能
52、清除的位,复位后能清除的位,复位后1。通过向该位写。通过向该位写1对其清对其清0。 0-保护保护WD,WD不能被软件禁止不能被软件禁止 1-复位时的默认值复位时的默认值,可通过软件来可通过软件来禁止禁止WD工作工作 位位4:XMIF HI-Z。该位控制外部存储器接口信号。该位控制外部存储器接口信号(XMIF)。 0-所有所有XMIF信号为正常驱动模式信号为正常驱动模式(非高阻态非高阻态) 1-所有所有XMIF信号处于高阻态信号处于高阻态 注意注意:该位仅对:该位仅对LF2407/ LF2407A有效,对其它型号为保留位有效,对其它型号为保留位 2.3 2.3 系统配置和中断系统配置和中断 位位
53、3:使能位。这位反映了:使能位。这位反映了BOOTEN引脚在复位时的状态。引脚在复位时的状态。0-使能引导使能引导ROM。地址。地址0000h-00FFh被片内引导被片内引导ROM块占用块占用。禁止用。禁止用FLash存储器存储器1-禁止引导禁止引导ROM。LF2407片内片内Flash程序存储器程序存储器映射地址范围为映射地址范围为0000h-7FFFh。 位位2:MP/MC(微处理器微控制器选择微处理器微控制器选择)。0-DSP设置为设置为微控制器方式微控制器方式,片内,片内FLASH映射到程序存储器空间,地址为映射到程序存储器空间,地址为0000h-7FFFh。1-DSP设置为设置为微处
54、理器方式微处理器方式,程序,程序空间空间0000h-7FFFh被映射到片外程序存储被映射到片外程序存储器空间器空间(必须外扩外部程序存储器必须外扩外部程序存储器) 位位1-0:SARAM的程序的程序/数据空间选择数据空间选择00-地址空间不被映射,该空间被分配到外部存储器地址空间不被映射,该空间被分配到外部存储器0l-SARAM 被映射到片内程序空间被映射到片内程序空间10-SARAM 被映射到片内数据空间被映射到片内数据空间11-SARAM 被映射到片内程序空间,又被映射到片内数据空间被映射到片内程序空间,又被映射到片内数据空间 2.3 2.3 系统配置和中断系统配置和中断 2.3 2.3
55、系统配置和中断系统配置和中断2、中断优先级和中断向量表、中断优先级和中断向量表 LF2407 DSP具有具有3个不可屏蔽中断个不可屏蔽中断和和6个级别的可屏蔽中断个级别的可屏蔽中断(INT1-INT6)。)。 对多个外设的中断需求采用了对多个外设的中断需求采用了中断扩展设计中断扩展设计来满足。来满足。 在每级可屏蔽中断(在每级可屏蔽中断(INT1-INT6)中又)中又有多个中断源有多个中断源,有唯一有唯一的中断入口地址向量的中断入口地址向量。中断优先级中断优先级中断名称中断名称CPU中断向量中断向量描述描述1Reset0000h复位引脚和复位引脚和WD溢出溢出2保留保留0026h用于仿真用于仿
56、真3NMI0004h软件中断软件中断不可屏蔽中断源的优先级和中断入口地址向量表 2.3 2.3 系统配置和中断系统配置和中断中断优先级中断优先级中断名称中断名称外设中断向量外设中断向量描述描述4PDPINTA0020h功率驱动保护中断功率驱动保护中断5PDPINTB0019h功率驱动保护中断功率驱动保护中断6ADCINT0004h高高优先级优先级ADC中断中断7XINT10001h高高优先级外中断优先级外中断8XINT20011h高高优先级外中断优先级外中断9SPINT0005h高高优先级优先级SPI中断中断10RXINT0006h高高优先级优先级SCI接收中断接收中断11TXINT0007h
57、高高优先级优先级SCI发送中断发送中断12CANMBINT0040h高高优先级优先级CAN邮箱中断邮箱中断可屏蔽中断源的优先级和中断入口地址向量表INT1(级别1) 2.3 2.3 系统配置和中断系统配置和中断中断优先级中断优先级中断名称中断名称外设中断向量外设中断向量描述描述13CANMBINT0041h高高优先级优先级CAN错误中断错误中断14CMP1INT 0021h比较器比较器1中断中断15CMP2INT 0022h比较器比较器2中断中断16CMP3INT 0023h比较器比较器3中断中断17T1PINT 0027h定时器定时器1周期溢中断周期溢中断18T1CINT0028h定时器定时
58、器1比较溢中断比较溢中断19T1UFINT0029h定时器定时器1下溢中断下溢中断20T1OFINT0029h定时器定时器1上溢中断上溢中断21CMP4INT 0024h比较器比较器4中断中断22CMP5INT 0025h比较器比较器5中断中断23CMP6INT 0026h比较器比较器6中断中断24T3PINT 002Fh定时器定时器3周期溢中断周期溢中断25T3CINT0030h定时器定时器3比较溢中断比较溢中断26T3UFINT0031h定时器定时器3下溢中断下溢中断27T10FINT0032h定时器定时器3上溢中断上溢中断INT2(级别2) 2.3 2.3 系统配置和中断系统配置和中断中
59、断优先级中断优先级中断名称中断名称外设中断向量外设中断向量描述描述28T2PINT 002Bh定时器定时器2周期溢中断周期溢中断29T2CINT002Ch定时器定时器2比较溢中断比较溢中断30T2UFINT002Dh定时器定时器2下溢中断下溢中断31T2OFINT 002Eh定时器定时器2上溢中断上溢中断32T4PINT 0039h定时器定时器4周期溢中周期溢中33T4CINT003Ah定时器定时器4比较溢中断比较溢中断INT3(级别3) 2.3 2.3 系统配置和中断系统配置和中断中断优先级中断优先级中断名称中断名称外设中断向量外设中断向量描述描述34T4UFINT003Bh定时器定时器4下
60、溢中断下溢中断35T4OFINT 003Ch定时器定时器4上溢中断上溢中断36CAP1INT0033h比较器比较器1中断中断37CAP2INT0034h比较器比较器2中断中断38CAP3INT0035h比较器比较器3中断中断39CAP4INT 0036h比较器比较器4中断中断40CAP5INT 0037h比较器比较器5中断中断41CAP6INT0038h比较器比较器6中断中断INT4(级别4) 2.3 2.3 系统配置和中断系统配置和中断中断优先级中断优先级中断名称中断名称外设中断向量外设中断向量描述描述42SPINT 0005h低优先级低优先级SPI中断中断43RXINT0006h低优先级低
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冀少版八年级生物上册第三单元第二节根对水分的吸收课件
- 《妈妈睡了》教学设计
- 《学习探究-计算机硬件及其故障》教案
- 印刷工程监理管理与评标规范
- 定州市公园环境卫生维护办法
- 知识产权定向合作协议
- 电力工程师解除聘用合同模板
- 纺织品业保密承诺书样本
- 水利工程保险合同范本
- 深圳汽车4S店租赁合同模板
- 设备开箱验收记录表
- 2022年惠州仲恺城市发展集团有限公司招聘笔试试题及答案解析
- 国家开放大学《组织行为学》章节测试参考答案
- 卷积神经网络讲义课件
- 部编版八年级语文上册课内文言文复习课件
- 高中音乐《影视音乐》教学教学课件
- 围墙护栏建设安装施工组织设计方案
- 毛中特课件讲义整理
- 工匠精神第二讲工匠精神内涵课件
- 2022年江苏省沿海开发集团有限公司校园招聘笔试模拟试题及答案解析
- 利润及利润分配表(通用模板)
评论
0/150
提交评论