DSP片内外设课件

上传人:公**** 文档编号:590139921 上传时间:2024-09-12 格式:PPT 页数:77 大小:745.50KB
返回 下载 相关 举报
DSP片内外设课件_第1页
第1页 / 共77页
DSP片内外设课件_第2页
第2页 / 共77页
DSP片内外设课件_第3页
第3页 / 共77页
DSP片内外设课件_第4页
第4页 / 共77页
DSP片内外设课件_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《DSP片内外设课件》由会员分享,可在线阅读,更多相关《DSP片内外设课件(77页珍藏版)》请在金锄头文库上搜索。

1、第第6 6章章 DSP DSP片内外设片内外设时钟发生器可编程定时器串行口主机接口通用I/O软件等待状态发生器分区转换逻辑6.0 DSP6.0 DSP片内外设概述片内外设概述 优点:优点: (1)片内外设访问速度快。片内外设访问速度快。 (2)可以简化电路板的设计。如将可以简化电路板的设计。如将A/D转换、转换、D/A转换、定转换、定时器集成在片内。时器集成在片内。(3) 提供一些必须的特殊功能。如提供一些必须的特殊功能。如JTAG口、等待状态发生口、等待状态发生器等。器等。 DSP的片内外设是集成在芯片内部的外部设备,的片内外设是集成在芯片内部的外部设备,主要用于与主要用于与DSP外部器件进

2、行数据的交换和通信。外部器件进行数据的交换和通信。CPU核对片内外设的访问控制是通过对相应的核对片内外设的访问控制是通过对相应的控制寄存器控制寄存器的的读写来完成的。读写来完成的。片内外设分为两大类:片内外设分为两大类:片内外设片内外设:串行接口、定时器、通用串行接口、定时器、通用I/O引脚和标准主机接引脚和标准主机接口口(HPI8)等。等。增强型外设增强型外设:多通道缓冲串口多通道缓冲串口(McBSP)、主机接口、主机接口(8位增强位增强HPI8、16位增强位增强HPI16)、直接存储器访问(、直接存储器访问(DMA)控控制器等。制器等。控制寄存器控制寄存器:被映射到数据存储空间的第被映射到

3、数据存储空间的第0页页(地址地址20h5Fh)。表。表6-1-p163,164。6.1 时钟发生器时钟发生器 C5402内部有一个时钟发生器,可为内部有一个时钟发生器,可为C5402提供时钟,包提供时钟,包括内部振荡器和锁相环电路括内部振荡器和锁相环电路PLL两部分。两部分。时钟信号的产生的两种方式:时钟信号的产生的两种方式:一是使用一是使用外部时钟源外部时钟源的时钟信号,将外部时钟信号的时钟信号,将外部时钟信号直接加到直接加到DSP芯片的芯片的X2/CLKIN引脚,而引脚,而X1引脚悬空。引脚悬空。 二是利用二是利用DSP芯片芯片内部的振荡器内部的振荡器构成时钟电路,在构成时钟电路,在芯片的

4、芯片的Xl和和X2/CLKIN引脚之间接入一个晶体,用于启动内引脚之间接入一个晶体,用于启动内部振荡器。部振荡器。外接时钟源外接时钟源使用内部振荡器使用内部振荡器C5402的PLL是软件可编程的,通过对16bit的时钟模式寄存器CLKMD进行控制,PLL可以配置为如下两种时钟模式:1、倍频模式(PLL) 输入时钟乘以0.2515共31个系数中的一个。2、分频模式(DIV) 输入时钟除以2或4。CLKMD各位的定义各位的定义CLKMD寄存器各位的含义寄存器各位的含义PLL的乘法系数的乘法系数CLKMD各位的定义各位的定义STM #0xF7FF, CLKMD ;CLKMD=111101111111

5、1111B乘系数乘系数=1,即直通模式,即直通模式 锁相环PLL也可以通过硬件配置硬件配置,通过设定芯片的3个时钟模式引脚CLKMD13的电平,可以选择片内振荡时钟与外部参考时钟的倍频。注意:改变注意:改变PLL倍频,必须先将倍频,必须先将PLL切换到切换到DIV方式,方式,然后再切换到新的倍频。基本步骤:然后再切换到新的倍频。基本步骤:1、复位、复位PLLNDIV,选择选择DIV方式。方式。2、检测、检测PLL状态,即读状态,即读PLLSTATUS位,若该位为位,若该位为0,表明已经切,表明已经切换到换到DIV方式。方式。3、根据要切换的倍频,选择、根据要切换的倍频,选择PLLNDIV,PL

6、LDIV,PLLMUL 的组合。的组合。4、根据所需要的牵引时间,设置、根据所需要的牵引时间,设置PLLCOUNT的当前值。的当前值。5、设定、设定CLKMD寄存器。寄存器。STM #0, CLKMD ; software setting of DSP clockSTM #0, CLKMD ; (to divider mode before setting)TstStatu1: LDM CLKMD, A AND #01b, A ;poll STATUS bit BC TstStatu1, ANEQ STM #0xF7FF, CLKMD ; set C5402 DSP clock to 10MH

7、z1、复位、复位PLLNDIV,选择选择DIV方式。方式。2、检测、检测PLL状态,即读状态,即读PLLSTATUS位,若该位为位,若该位为0,表,表明已经切换到明已经切换到DIV方式。方式。3、根据要切换的倍频,选择、根据要切换的倍频,选择PLLNDIV,PLLDIV,PLLMUL 的组合。的组合。4、根据所需要的牵引时间,设置、根据所需要的牵引时间,设置PLLCOUNT的当前值。的当前值。5、设定、设定CLKMD寄存器。寄存器。6.2 可编程定时器可编程定时器 6.2.1 定时器的结构及特点定时器的结构及特点 C5402内部有定时器内部有定时器0和定时器和定时器1两个定时器。结构一样两个定

8、时器。结构一样. 每个定时器有每个定时器有3个控制寄存器,都是存储器映像寄存器个控制寄存器,都是存储器映像寄存器TIM定时器寄存器定时器寄存器:是减是减1计数器,可加载周期寄存器计数器,可加载周期寄存器PRD的的值,并随计数减少。值,并随计数减少。PRD定时器周期寄存器定时器周期寄存器:PRD中存放定时器的周期计数值,提中存放定时器的周期计数值,提供供TIM重载用。重载用。TCR定时器控制寄存器定时器控制寄存器:TCR包含定时器的控制和状态位,控包含定时器的控制和状态位,控制定时器的工作过程。制定时器的工作过程。定时器的工作原理周期寄存器周期寄存器周期寄存器周期寄存器PRDPRD定时寄存器定时

9、寄存器定时寄存器定时寄存器TIM(TIM(1616位位位位) )借借借借位位位位oror3 3预定标计数器预定标计数器预定标计数器预定标计数器PSC(PSC(4 4位位位位) )借借借借位位位位预定标分频系数预定标分频系数预定标分频系数预定标分频系数TDDRTDDRoror2 2oror1 11 1&SRESETSRESETTRBTRBCLKOUTCLKOUTTSSTSSTINTTINTTOUTTOUT0024H0025H0026H主定时模块主定时模块预标定模块预标定模块复位复位定时中断定时中断主要特点:主要特点:(1)定时器是一个减计数器。定时器是一个减计数器。(2)由由16位计数器和位计数

10、器和4位预分频计数器组成。位预分频计数器组成。16位计数器位计数器的触发脉冲由预分频计数器提供,预分频计数器由的触发脉冲由预分频计数器提供,预分频计数器由CPU工工作时钟决定。作时钟决定。(3) 有复位功能。有复位功能。(4) 可以选择调试断点时定时器的工作方式。可以选择调试断点时定时器的工作方式。15 1211109 6543 0TCR0026h保留保留 Soft Free PSC TRB TSS TDDR 保留位保留位软件调试控制位软件调试控制位 预定标预定标计数器计数器 重新重新加载位加载位 停止停止状态位状态位 分分 频频系系 数数 6.2.2 定时器的控制寄存器定时器的控制寄存器TC

11、RSoft Free 定时器状态定时器状态 0 0 定时器立即停止工作 1 0 当计数器减至0时停止工作 X 1 定时器继续工作 保留位:总是读为保留位:总是读为0 0; 软件调试控制位:控软件调试控制位:控制制调试断点调试断点时定时器的工时定时器的工作;作;PSC (96位位): 定时器预定标计数器。当定时器预定标计数器。当PSC中的数值减中的数值减到到0后,后, TIM减减1 , TDDR中的数加载到中的数加载到PSC;TRB(5位位): 定时器重新加载控制位。复位片内定时器。当定时器重新加载控制位。复位片内定时器。当TRB置位时,置位时,TIM重新装载重新装载PRD的值,的值,PSC重新

12、装载重新装载TDDR中的值。中的值。TSS(4位位):定时器停止位,定时器停止位,TSS=0 定时器开始工作,定时器开始工作,TSS=1 定时器停止定时器停止TDDR(30位位): 当当PSC减为减为0时,时,TDDR中的值被装载到中的值被装载到PSC中中6.2.3 定时器的操作过程定时器的操作过程 PSC由由CPU提供时钟提供时钟,每个,每个CPU时钟信号将使时钟信号将使PSC减减1 。 PSC 减到减到0时,向主定时模块时,向主定时模块TIM输出时钟,输出时钟,TDDR的内容重新加载到的内容重新加载到PSC。TIM由预定标器由预定标器PSC提供时钟,每个来自预定标块的输出时钟使提供时钟,每

13、个来自预定标块的输出时钟使TIM减减1。 TIM 减到减到0时,向时,向CPU输出定时器中断信号(输出定时器中断信号(TINT),并同时输出到定),并同时输出到定时器输出引脚(时器输出引脚(TOUT ),), PRD中的内容重新加载到中的内容重新加载到TIM。 定时器的中断周期定时器的中断周期定时器的工作过程周期寄存器周期寄存器周期寄存器周期寄存器PRDPRD定时寄存器定时寄存器定时寄存器定时寄存器TIM(TIM(1616位位位位) )借借借借位位位位oror3 3预定标计数器预定标计数器预定标计数器预定标计数器PSC(PSC(4 4位位位位) )借借借借位位位位预定标分频系数预定标分频系数预

14、定标分频系数预定标分频系数TDDRTDDRoror2 2oror1 11 1&SRESETSRESETTRBTRBCLKOUTCLKOUTTSSTSSTINTTINTTOUTTOUT0024H0025H0026H 定时分频系数和周期数分别装入定时分频系数和周期数分别装入TCR的的TDDR位域和位域和PRD寄存器;寄存器;定时器的工作过程周期寄存器周期寄存器周期寄存器周期寄存器PRDPRD定时寄存器定时寄存器定时寄存器定时寄存器TIM(TIM(1616位位位位) )借借借借位位位位oror3 3预定标计数器预定标计数器预定标计数器预定标计数器PSC(PSC(4 4位位位位) )借借借借位位位位预

15、定标分频系数预定标分频系数预定标分频系数预定标分频系数TDDRTDDRoror2 2oror1 11 1&SRESETSRESETTRBTRBCLKOUTCLKOUTTSSTSSTINTTINTTOUTTOUT0024H0025H0026H 每来一个时钟,每来一个时钟,PSCPSC减减1 1; PSC PSC减到减到0 0时,产生借位信号;时,产生借位信号;定时器的工作过程周期寄存器周期寄存器周期寄存器周期寄存器PRDPRD定时寄存器定时寄存器定时寄存器定时寄存器TIM(TIM(1616位位位位) )借借借借位位位位oror3 3预定标计数器预定标计数器预定标计数器预定标计数器PSC(PSC(

16、4 4位位位位) )借借借借位位位位预定标分频系数预定标分频系数预定标分频系数预定标分频系数TDDRTDDRoror2 2oror1 11 1&SRESETSRESETTRBTRBCLKOUTCLKOUTTSSTSSTINTTINTTOUTTOUT0024H0025H0026H 借位信号使得借位信号使得TIMTIM减减1 1,同时,同时TDDRTDDR再次装载再次装载PSCPSC,重新计数;,重新计数;定时器的工作过程周期寄存器周期寄存器周期寄存器周期寄存器PRDPRD定时寄存器定时寄存器定时寄存器定时寄存器TIM(TIM(1616位位位位) )借借借借位位位位oror3 3预定标计数器预定标

17、计数器预定标计数器预定标计数器PSC(PSC(4 4位位位位) )借借借借位位位位预定标分频系数预定标分频系数预定标分频系数预定标分频系数TDDRTDDRoror2 2oror1 11 1&SRESETSRESETTRBTRBCLKOUTCLKOUTTSSTSSTINTTINTTOUTTOUT0024H0025H0026H TIM TIM减到减到0 0时,定时时间到,产生借位信号时,定时时间到,产生借位信号定时中断和定时中断和TOUT;定时器的工作过程周期寄存器周期寄存器周期寄存器周期寄存器PRDPRD定时寄存器定时寄存器定时寄存器定时寄存器TIM(TIM(1616位位位位) )借借借借位位位

18、位oror3 3预定标计数器预定标计数器预定标计数器预定标计数器PSC(PSC(4 4位位位位) )借借借借位位位位预定标分频系数预定标分频系数预定标分频系数预定标分频系数TDDRTDDRoror2 2oror1 11 1&SRESETSRESETTRBTRBCLKOUTCLKOUTTSSTSSTINTTINTTOUTTOUT0024H0025H0026H 周期寄存器周期寄存器PRD再次装入再次装入TIM。初始化定时器:初始化定时器:(1) 将将TCR中的中的TSS位置位置1,停止定时器停止定时器。(2) 加载加载PRD。(3) 重新加载重新加载TCR以以初始化初始化TDDR。(4) 重新启动

19、定时器。重新启动定时器。 TRB位为位为1, TSS位为位为0,以重载定,以重载定时器周期值,使能定时器。时器周期值,使能定时器。使能定时器中断使能定时器中断(假定假定INTM=1):(1) 将将IFR中的中的TINT位置位置1,清除尚未处理完,清除尚未处理完(挂起挂起)的定的定时器中断。时器中断。(2) 将将IMR中的中的TINT位置位置1,使能定时器中断。,使能定时器中断。(3) 可以将可以将ST1中的中的INTM位清位清0,使能全局中断。,使能全局中断。【例【例6.1】 利用定时器利用定时器Timer0在在XF引脚产生周期为引脚产生周期为1s的方的方波。波。分析:分析:设设f=100MH

20、z,定时最大值是:定时最大值是: 10(ms),要输出要输出1s的方波,的方波,1和和0分别为分别为500ms.可定时可定时5ms,再在中断程序中加个,再在中断程序中加个100计数器,计数器,定时器周期定时器周期=10ns(1+9)(1+49999)=5ms。 CounterSet.set 100-1 ;定义计数次数;定义计数次数PERIOD .set 49999 ;定义计数周期;定义计数周期 .asg AR1,Counter ;AR1做计数指针,重新命名以便识别做计数指针,重新命名以便识别 STM #CounterSet,Counter ;设计数器初值;设计数器初值 STM #10000B,

21、TCR ;停止计数器;停止计数器 STM #PERIOD,TIM ;给;给TIM设定初值设定初值49999 STM #PERIOD,PRD ;PRD与与TIM一样一样 STM #0000001001101001B,TCR;启动定时器;启动定时器STM #0008H, IFR ;清除尚未处理的定时器中断清除尚未处理的定时器中断 STM #0008H,IMR ;开开TIME0的中断的中断 RSBX INTM ;开总中断开总中断End: NOP B End15 1211109 6543 0TCR0026h保留保留 Soft Free PSC TRB TSS TDDR PSHM ST0Counter=

22、0Counter=Counterset*AR2=1XF=0*AR2=0XF=1*AR2=1POPM ST0RETECounter-YNYN中断服务程序:中断服务程序:中断服务程序:中断服务程序:TINT0_ISRTINT0_ISR: PSHM ST0 ;保护;保护ST0,因要改变,因要改变TC BANZ Next,*Counter- ;计数器不为;计数器不为0,计数器减,计数器减1,退出中断,退出中断 ;计数器为;计数器为0, 重新加载重新加载Counter, ;根据当前;根据当前XF的状态,分别到的状态,分别到setXF或或ResetXFSTM #CounterSet,Counter ; B

23、ITF *AR2,#1 BC ResetXF,TC setXF:SSBX XF ST #1,*AR2 B NextResetXF: RSBX XF ST #0, *AR2Next: POPM ST0 RETE endPSHM ST0Counter=0Counter=Counterset*AR2=1XF=0*AR2=0XF=1*AR2=1POPM ST0RETECounter-YNYN6.3 串串 行行 口口串口分为串口分为4种:种: 标准同步串口标准同步串口(SP) 带缓冲的串行接口带缓冲的串行接口(BSP) 时分复用时分复用(TDM)串行口串行口 多通道缓冲串口多通道缓冲串口(McBSP)

24、配置配置: 芯片不同串口配置也不尽相同,芯片不同串口配置也不尽相同, C5402具有两个多通具有两个多通道缓冲串口道缓冲串口(McBSP)访问访问: 串行接口一般通过中断来实现与核心串行接口一般通过中断来实现与核心CPU的同步。的同步。功能功能: 串行接口可以用来与串行外部器件相连,如编码解码器、串行接口可以用来与串行外部器件相连,如编码解码器、串行串行A/D或或D/A以及其他串行设备。以及其他串行设备。 6.3.1 标准同步串行口标准同步串行口(SP)1.结构结构: 2个存储器映像寄存器用于传送数据个存储器映像寄存器用于传送数据 接收数据寄存器接收数据寄存器(DRR) 发送数据寄存器发送数据

25、寄存器(DXR) 一个串口控制寄存器一个串口控制寄存器(SPC) 每个串行口的发送和接收部分都有独立的每个串行口的发送和接收部分都有独立的时钟时钟、帧同步脉冲帧同步脉冲以以及串行移位寄存器。及串行移位寄存器。 接收移位寄存器接收移位寄存器(RSR)、 发送移位寄存器发送移位寄存器(XSR)特点:特点:(1) 发送与接收的帧同步和时钟同步信号完全独立。发送与接收的帧同步和时钟同步信号完全独立。(2) 发送和接收部分可独立复位。发送和接收部分可独立复位。(3) 串口的工作时钟可来源于片外或片内。串口的工作时钟可来源于片外或片内。(4) 独立的发送和接收数据线。独立的发送和接收数据线。(5) 具有数

26、据返回方式,便于测试。具有数据返回方式,便于测试。(6) 在程序调试时,工作方式可选。在程序调试时,工作方式可选。(7) 可以以查询和中断两种方式工作。可以以查询和中断两种方式工作。2.串行口控制寄存器串行口控制寄存器(SPC) 串行口的操作是由串行口控制寄存器串行口的操作是由串行口控制寄存器(SPC)决定的。决定的。 SPC寄存器的控制位及功能如表寄存器的控制位及功能如表6-4所示所示P170-171。15141312111098SPCHFreeSoftRSRFULL XSREMPTY XRDYRRDYIN1IN0仿真仿真控制控制仿真仿真控制控制接收移位接收移位寄存器寄存器满满发送移位发送移

27、位寄存器寄存器空空发送发送准备准备好好接收接收准备准备好好发送发送时钟时钟状态状态接收接收时钟时钟状态状态76543210SPCLRRSTXRSTTXMMCMFSMFODLBRes接收接收复位复位发送发送复位复位发送发送模式模式时钟时钟选择模式选择模式帧帧同步同步模式模式数据数据格式格式数据数据回送回送模式模式保留保留要复位和重新配置串行口,需要对要复位和重新配置串行口,需要对SPC寄存器写两次。寄存器写两次。 第一次,对第一次,对SPC寄存器的寄存器的RRST和和XRST位写位写0,其余位,其余位写入所希望的配置。写入所希望的配置。 第二次,对第二次,对SPC寄存器的寄存器的RRST和和XR

28、ST位写位写1,其余位,其余位是所希望的配置,再一道重新写一次。是所希望的配置,再一道重新写一次。 3.操作过程操作过程: 发送数据时,数写到发送数据时,数写到DXRXSR DX引脚输出。引脚输出。在发送在发送期间,期间,DXR中的数据复制到中的数据复制到XSR后,串行口控制寄存器后,串行口控制寄存器(SPC)中的发送准备好中的发送准备好(XRDY)位由位由0变为变为1,随后产生一个串行口发,随后产生一个串行口发送中断送中断(XINT)信号,通知信号,通知CPU可以对可以对DXR重新加载。重新加载。 接收数据时,来自接收数据时,来自DR引脚的数据引脚的数据 RSR DRR,CPU从从DRR中读

29、出数据。当中读出数据。当RSR的数据复制到的数据复制到DRR后,后,SPC中的中的接收数据准备好接收数据准备好(RRDY)位由位由0变为变为l,随后产生一个串行口接,随后产生一个串行口接收中断收中断(RINT)信号,通知信号,通知CPU可以从可以从DRR中读取数据。中读取数据。 串行口是双缓冲的,发送和接收都是自动完成,用户只需串行口是双缓冲的,发送和接收都是自动完成,用户只需检测检测RRDY或或XRDY位来判断可否继续发送或接收数据。位来判断可否继续发送或接收数据。 串行口传送数据的一种连接串行口传送数据的一种连接 4.实例实例: (操作以中断的方式完成操作以中断的方式完成)P170,SPC

30、的定义的定义1) 串口的初始化串口的初始化(1) 复位,并将复位,并将0x0038写入写入SPC,初始化串口。,初始化串口。(2) 将将0x00C0h写入写入IFR,清除任何挂起的串行接口中断。,清除任何挂起的串行接口中断。(3) 将将0x00C0h和和IMR求逻辑或运算,使能串行接口中断。求逻辑或运算,使能串行接口中断。(4) 清除清除ST1的的INTM位,使能全局中断。位,使能全局中断。(5) 将将0x00F8h写入写入SPC,启动串行接口。,启动串行接口。(6) 将第一个数据写入将第一个数据写入DXR。2) 串口中断服务程序串口中断服务程序(1) 保护现场。保护现场。(2) 读读DRR或

31、写或写DXR。(3) 恢复现场。恢复现场。(4) 用用RETE从中断子程序返回。从中断子程序返回。6.3.2 带缓冲的串行接口带缓冲的串行接口(BSP)结构和特点结构和特点: 缓冲串行口在标准同步串行口的基础上增加了一个自动缓缓冲串行口在标准同步串行口的基础上增加了一个自动缓冲单元冲单元(ABU),并以,并以CLKOUT频率计时。频率计时。 ABU利用独立于利用独立于CPU的专用总线,让串行口直接读的专用总线,让串行口直接读/写写C54x内部存储器。这样可以使串行口处理事务的开销最省,内部存储器。这样可以使串行口处理事务的开销最省,并能达到较快的数据率。并能达到较快的数据率。 BSP有两种工作

32、方式:非缓冲方式和自动缓冲方式。有两种工作方式:非缓冲方式和自动缓冲方式。 ABU具有自身的循环寻址寄存器组,每个都与地址产生单具有自身的循环寻址寄存器组,每个都与地址产生单元相关。发送和接收缓冲存储器位于一个指定的元相关。发送和接收缓冲存储器位于一个指定的C54x DSP内内部存储器的部存储器的2K字块中。该块可作为通用的存储器,但却是唯字块中。该块可作为通用的存储器,但却是唯一的自动缓冲能使用的存储块。一的自动缓冲能使用的存储块。2. 缓冲串行口的控制寄存器缓冲串行口的控制寄存器(6个个)数据接收寄存器数据接收寄存器(BDRR)数据发送寄存器数据发送寄存器(BDXR)控制寄存器控制寄存器(

33、BSPC):控制扩展寄存器控制扩展寄存器(BSPCE)数据接收移位寄存器数据接收移位寄存器(BRSR)数据发送移位寄存器数据发送移位寄存器(BXSR) 缓冲串行口在标准串行口的基础上新增了许多功能,这些特殊功能受控制扩展寄存器(BSPCE)控制,其各位的定义如表65所示。缓冲工作模式的操作过程缓冲工作模式的操作过程其功能主要由自动缓冲单元其功能主要由自动缓冲单元ABU来完成来完成 自动缓冲单元自动缓冲单元(ABU)可独立于可独立于CPU自动完成自动完成控制串行口与固定缓控制串行口与固定缓冲内存区中的数据交换冲内存区中的数据交换。它包括。它包括 地址发送寄存器地址发送寄存器(AXR) 块长度发送

34、寄存器块长度发送寄存器(BKX) 地址接收寄存器地址接收寄存器(ARR) 块长度接收寄存器块长度接收寄存器(BKR) 串行口控制寄存器串行口控制寄存器(BSPCE) 当发送或接收缓冲区的一半或全部满或空时,当发送或接收缓冲区的一半或全部满或空时,ABU才产生才产生CPU的中断,避免了的中断,避免了CPU直接介入每一次传输带来的资源消耗。直接介入每一次传输带来的资源消耗。 综上所述,自动缓冲过程可归纳为:综上所述,自动缓冲过程可归纳为: ABU完成对缓冲存储器的存取。完成对缓冲存储器的存取。 工作过程中地址寄存器自动增加,直至缓冲区的底部。到工作过程中地址寄存器自动增加,直至缓冲区的底部。到底部

35、后,地址寄存器内容恢复到缓冲存储器区顶部。底部后,地址寄存器内容恢复到缓冲存储器区顶部。 如果数据到了缓冲区的一半或底部,就会产生中断,并更如果数据到了缓冲区的一半或底部,就会产生中断,并更新新BSPEC中的中的XH/RH,以表明那一部分数据已经被发送或,以表明那一部分数据已经被发送或接收。接收。 如果选择禁止自动缓冲功能,当数据过半或到达缓冲区底如果选择禁止自动缓冲功能,当数据过半或到达缓冲区底部时,部时,ABU会自动停止缓冲功能。会自动停止缓冲功能。BSP发送发送初始化 把0008H写到BSPCE寄存器,复位和初始化串口; 把0020H写到IFR,清除挂起的串口中断 把0020H与IMR进

36、行或操作,使能串口中断 清除ST1的INTM位,使能全局中断 把1400H写到BSPCE寄存器,初始化ABU的发送器 把缓冲区开始地址写到AXR 把缓冲长度写到BKX 把0048H写到BSPCE,开始串口操作BSP接收初始化接收初始化 把0000H写到BSPCE寄存器,复位和初始化串口; 把0010H写到IFR,清除挂起的串口中断 把0010H与IMR进行或操作,使能串口中断 清除ST1的INTM位,使能全局中断 把2160H写到BSPCE寄存器,初始化ABU的发送器 把缓冲区开始地址写到ARR 把缓冲长度写到BKR 把0080H写到BSPCE,开始串口操作6.3.3 多通道缓冲串口多通道缓冲

37、串口(McBSP)由缓冲串行口发展而来;在外部通道选择电路的控制下,采用分时方式实现多路缓冲串行通信;与其他C54x器件、编程器或其他串口器件通信;C54家族只有三款具有McBSP5402两个,5410三个,5420六个McBSP特点全双工通信;双缓冲的发送和三缓冲接收数据存储器,支持连续的数据流传送;独立的接收、发送帧和时钟信号;可直接与工业标准的编码器、模拟界面芯片(AICs)、其他串行A/D、D/A器件通信;具有外部变速时钟发生器及内部频率可编程时钟发生器;可以直接利用多种串行协议接口通信;多达128路发送和接收通道;多字长:8,12,16,20,24,32位;可进行律或A律的压缩扩展通

38、信;帧同步和时钟信号的极性可编程;可编程内部时钟和帧发生器。数数据据通通道道控控制制通通道道2. McBSP的结构 一个McBSP串口有7个引脚。 DSP核通过片内外设总线访问和控制McBSP的内部控制寄存器和数据接收/发送寄存器,涉及到的寄存器如表68所示。 寄存器的子寻址子寻址的工作方式,指的是多路复用技术,可以实现一组寄存器共享存储器中的一个单元。可以使用少量的寄存器映射存储器空间来访问McBSP的20多个寄存器 。3. McBSP控制寄存器控制寄存器 McBSP通过两个通过两个16比特串口控制寄存器比特串口控制寄存器1和和2(SPCR1,2)和管脚控制寄存器和管脚控制寄存器(PCR)进

39、行配置,这些寄存进行配置,这些寄存器包含了器包含了McBSP的状态信息和控制信息。的状态信息和控制信息。 串行接口接收控制寄存器串行接口接收控制寄存器SPCR1 、SPCR2 引脚控制寄存器引脚控制寄存器PCR 接收控制寄存器接收控制寄存器RCR1 、RCR2 发送控制寄存器发送控制寄存器XCR1 、XCR2 除除SPCR1,2和和PCR之外,之外,McBSP还配置了接收控制还配置了接收控制寄存器寄存器RCR1,2和发送控制寄存器和发送控制寄存器XCR1,2来确定接收和来确定接收和发送操作的参数发送操作的参数 。4. McBSP的数据发送和接收的操作流程3个阶段:串口的复位、串口的初始化、发送

40、和接收。 串口的复位 芯片复位 引发的串行复位使整个串行口复位,包括接口发送器、接收器、采样率发生器的复位。 串行接口的发送器和接收器可以利用串行接口控制寄存器(SPCR1和SPCR2)中的 和 位分别独自复位。 串口的初始化串口的初始化(1)设定串行接口控制寄存器设定串行接口控制寄存器SPCR1,2中的中的(2) 如果刚刚复位完毕,不必进行这一步操作。如果刚刚复位完毕,不必进行这一步操作。(2) 编程配置特定的编程配置特定的McBSP的寄存器。的寄存器。(3) 等待等待2个时钟周期,以保证适当的内部同步。个时钟周期,以保证适当的内部同步。(4) 按照写按照写DXR的要求,给出数据。的要求,给

41、出数据。(5) 设置设置 ,以使能串行接口。,以使能串行接口。(6) 如果要求内部帧同步信号,设置如果要求内部帧同步信号,设置 。(7) 等待等待2个时钟周期后,激活接收器和发送器。个时钟周期后,激活接收器和发送器。数据发送和接收的操作数据发送和接收的操作 接收操作是三缓冲的接收操作是三缓冲的 接收数据接收数据数据接收引脚数据接收引脚DR 接收移位寄存器接收移位寄存器RSR1,2 接收缓冲寄存器接收缓冲寄存器RBR1,2 数据接收寄存器数据接收寄存器DRR1,2。发送操作是双缓冲的发送操作是双缓冲的CPU或或DMA将发送数据将发送数据数据发送寄存器数据发送寄存器DXR1,2中中 发送移位寄存器

42、发送移位寄存器XSR1,2; 从从DX移出发送数据移出发送数据 5. McBSP串口应用举例McBSP的初始化程序:STM SPCR1, McBSP1_SPSA ;将SPCR1 对应的子地址放到 子地址寄存器SPSA中STM #0000h, McBSP1_SPSD ;将#0000h加载到SPCR1中, 使接收中断由帧有效信号触发, ;靠右对齐高位添0STM SPCR2, McBSP1_SPSA ;将SPCR2对应的子地址放到 子地址寄存器SPSA中STM 0000h,McBSP1_SPSD ;帧同步发生器复位,发送器复位STM RCR1, McBSP1_SPSA ;将RCR1 对应的子地址放到

43、子地 址寄存器SPSA中STM #0040h, McBSP1_SPSD ;接收帧长度为16位STM RCR2, McBSP1_SPSA ;将RCR2 对应的子地址放到子 地址寄存器SPSA中STM #0040h, McBSP1_SPSD ;接收为单相,每帧16位STM XCR1, McBSP1_SPSA ;将XCR1 对应的子地址放到子 地址寄存器SPSA中STM #0040h, McBSP1_SPSD ;接收每帧16位STM XCR2, McBSP1_SPSA ;将XCR2对应的子地址放到子 地址寄存器SPSA中STM #0040h, McBSP1_SPSD ;发送为单相,每帧16位STM

44、PCR, McBSP1_SPSA ;将PCR对应的子地址放到子地 址寄存器SPSA中STM #000eh, McBSP1_SPSD ;工作于从模式6.4 主机接口主机接口(HPI)主机接口(HPI)是一个并行口,实现与主设备或主处理器的通信;信息通过HPI在c54和主机间交换;主机和C54都可以访问HPI的控制寄存器;外部主机是HPI的主控者,HPI作为一个外设与主机相连;主机通过专用地址和数据寄存器、HPI控制寄存器、外部数据与接口控制信号与HPI通信;类型(类型(3种)种): 标准标准8位位HPI8 增强型增强型8位位HPI-8 增强型增强型16位位HPI-16功能:功能:用于主机用于主机

45、(其他其他DSP或单片机或单片机)与与C54x DSP的通信,的通信, 通信的主控方为其他的主机。通信的主控方为其他的主机。优点:优点:HPI只需要很少或不需要外部逻辑就能和很多不同的只需要很少或不需要外部逻辑就能和很多不同的 主机设备相连。主机设备相连。6.4.1 标准8位主机接口HPI81.HPI8的特点的特点是一个是一个8位并行口位并行口用于主机用于主机(其他控制器其他控制器)与与C54x DSP的通信,实现的通信,实现主机主机访问访问DSP的内部的内部2K的的DARAM(HPI存储器存储器)。HPI具有两种工作模式:具有两种工作模式:(1) 共用访问模式共用访问模式(SAM):主机和:

46、主机和C54x DSP都能访问都能访问HPI存存储器。主机具有访问优先权,储器。主机具有访问优先权,C54x DSP等待一个周期。等待一个周期。(2)仅仅主机访问模式仅仅主机访问模式(HOM): HPI只能由主机寻址,只能由主机寻址,DSP则处于复位或则处于复位或IDLE2空转状态;主机可以访问空转状态;主机可以访问HPI RAM,DSP处于最低功耗配置。处于最低功耗配置。2. 主机接口HPI8的结构 主机通过访问HPI的3个寄存器实现对DSP内部RAM的访问。HPIA: 地址寄存器。主机可以直接访问该寄存器.HPIC(002Ch): 控制寄存器,可以由主机或C54x DSP直接访问,包含了H

47、PI操作的控制和状态位.HPID: 数据寄存器,只能由主机直接访向。包含从HPI存储器读出的数据,或者要写到HPI存储器的数据HPI控制逻辑: 用于处理HPI与主机之间的接口信号HPI存储器(DARAM):用于C54x DSP与主机之间传送数据3. 控制寄存器HPIC HPIC共有4个位用于控制HPI操作,表618。BOB :字节选择位,BOB会影响数据和地址传输。SMOD :寻址方式选择位。DSPINT :主机向C54x DSP发出中断位;HINT : C54x DSP向主机发出中断位。15121110987 43210XHINTDSIPNTSMODBOBXHINTDSIPNTSMODBOB

48、HPIC寄存器各状态位控制位控制位主机状态主机状态C54xC54x状状态态功功 能能 说说 明明HINTHINT 读读/ /写写 读读/ /写写 C54xC54x向主机发出中断位。这一位决定向主机发出中断位。这一位决定HINTHINT输出端的状态,输出端的状态,用来对主机发出中断。用来对主机发出中断。 复位后,复位后,HINTHINT=0=0,外部,外部HINTHINT输出端无效输出端无效( (高电平高电平) )。该位只能。该位只能由由C54xC54x置位,也只能由主机将其复位。置位,也只能由主机将其复位。 当外部当外部HINTHINT引脚无效引脚无效( (高电平高电平) )时,时,C54xC

49、54x和主机读和主机读HINTHINT位为位为0 0;当;当HINTHINT为有效(低电平)时为有效(低电平)时, ,读为读为1 1 BOBBOB 读读/ /写写 字节选择位。若字节选择位。若BOBBOB=1=1,第,第1 1个字节为低字节,否则,第个字节为低字节,否则,第1 1个个字节为高字节。字节为高字节。BOBBOB位影响数据和地址的传送。只有主机可位影响数据和地址的传送。只有主机可以修改这一位,以修改这一位,C54xC54x对它既不能读也不能写。对它既不能读也不能写。 DSPINTDSPINT 写写 主机向主机向C54xC54x发出中断位,只能由主机写入,且主机和发出中断位,只能由主机

50、写入,且主机和C54xC54x都不能读它。当主机对该位写都不能读它。当主机对该位写1 1时,就对时,就对C54xC54x产生一次中断。产生一次中断。该位总是读成该位总是读成0 0。当主机写。当主机写HPICHPIC时,高、低字节必须写入相时,高、低字节必须写入相同的值。同的值。 SMODSMOD 读读 读读/ /写写 寻址方式选择位。若寻址方式选择位。若SMODSMOD=0=0,选择,选择HOMHOM方式,方式,C54xC54x都不能寻都不能寻址址HPHPI I的的RAMRAM区。区。C54xC54x复位期间,复位期间,SMODSMOD=0=0;复位后,;复位后,SMODSMOD=1=1。该位

51、只能由。该位只能由C54xC54x修正,修正,C54xC54x和主机都可以读它。和主机都可以读它。 主机与HPI8的连接HD0HD7双向并行三态数据总线,与主机数据总线相连;双向并行三态数据总线,与主机数据总线相连;双向并行三态数据总线,与主机数据总线相连;双向并行三态数据总线,与主机数据总线相连; 片选信号,与主机地址线或控制线相连;片选信号,与主机地址线或控制线相连;片选信号,与主机地址线或控制线相连;片选信号,与主机地址线或控制线相连; 主机与HPI8的连接 地址选通信号,与主机地址锁存使能地址选通信号,与主机地址锁存使能地址选通信号,与主机地址锁存使能地址选通信号,与主机地址锁存使能(

52、ALE)(ALE)(ALE)(ALE)或地址选通引脚相或地址选通引脚相或地址选通引脚相或地址选通引脚相连,也可以不使用(接高电平);连,也可以不使用(接高电平);连,也可以不使用(接高电平);连,也可以不使用(接高电平); 主机与HPI8的连接HBIL 字节识别信号,字节识别信号,字节识别信号,字节识别信号,0 0为第一字节,为第一字节,为第一字节,为第一字节,1 1为第二字节;为第二字节;为第二字节;为第二字节; 数据选通信号,与数据选通信号,与数据选通信号,与数据选通信号,与HASHAS信号一起产生内部选通信号,信号一起产生内部选通信号,信号一起产生内部选通信号,信号一起产生内部选通信号,

53、 控制控制控制控制HPIHPI数据的传送;连接到主机的读选通、写选通、数据的传送;连接到主机的读选通、写选通、数据的传送;连接到主机的读选通、写选通、数据的传送;连接到主机的读选通、写选通、 数据选通。数据选通。数据选通。数据选通。 主机与HPI8的连接读读读读/ /写信号,写信号,写信号,写信号,1 1为读,为读,为读,为读,0 0为写;为写;为写;为写; 主机与HPI8的连接HCNTL0,HCNTL1 主机控制信号,选择主机寻址的寄存器;主机控制信号,选择主机寻址的寄存器;主机控制信号,选择主机寻址的寄存器;主机控制信号,选择主机寻址的寄存器;HCNTL0HCNTL1功能00主机读写HPI

54、C寄存器01主机读写HPID寄存器,HPIA寄存器自增寻址10主机读写HPIA寄存器,指向HPI存储器11主机读写HPID寄存器,HPIA不自增寻址4. 主机接口的操作 8位数据总线(HD0HD7)与主机之间交换信息。 16位字 ,HBIL引脚 和HPIC的BOB位 决定; 两个控制输入(HCNTL0和HCNTL1)表示哪个HPI寄存器被访问。 HPIA寄存器可以使用自动增寻址方式。 主机可以中断C54x DSP。C54x DSP也可用HPIC中的HINT来中断主机。 HPI存储器为2K字16位的双访问RAM块,其地址范围为数据存储空间的1000h17FFh 。6.4.2 增强的8位HPI(H

55、PI8) 增强型8位并行主机接口是标准型8位并行接口的改进。 HPI8可以让主机访问到DSP内的所有RAM,而不仅仅是2K的RAM。 HPI8大部分的功能与HPI8相同。 应该注意的是,片内RAM实际上不论是分配给程序或数据区,对访问HPI8的主机来讲,地址只能如图6.10所示。 HPI8的存储器分配 6.4.3 应用举例应用举例 下例假设为双下例假设为双DSP通过通过HPI口通信。口通信。DSP1向向DSP2的数据空间发送数据,并读回到的数据空间发送数据,并读回到DSP1的存储器中。的存储器中。 DSP2的的HPI口的口的HPIC映射到映射到DSP1的的0x8008、0x8009; HPIA

56、映射到映射到DSP1的的0x800C、0x800D; HPID映射到映射到DSP1的的0x800A、0x800B。 由于由于DSP2在访问过程中不需要操作,所以以下为在访问过程中不需要操作,所以以下为DSP1的程序。的程序。 STM0x1000,AR1 ST0x00,*AR1PORTW*AR1,0x8008 ;将将0x00写入写入HPICST0x00,*AR1PORTW*AR1,0x8009 ;高低位都为高低位都为0x00NOPST0x10,*AR1PORTW*AR1,0x800C ;将将0x10写入写入HPIA高位高位ST0x20,*AR1NOPPORTW*AR1,0x800D ;将将0x2

57、0写入写入HPIA低位低位NOP ;地址为地址为0x1020loop:ST 0x1A,*AR1PORTW *AR1,0x800A;将将0x1A2B写入写入HPID NOP ;即写入即写入DSP2的的0x1020ST 0x2B,*AR1PORTW *AR1,0x800B NOP ST 0x3C,*AR1PORTW *AR1,0x800A ;利用自动增量模式将利用自动增量模式将0x3C4D写入写入NOP;DSP2的的0x1021 ST0x4D,*AR1NOPPORTW *AR1,0x800B hearBhear.end 课堂讨论:由示例程序可知:DSP1外部地址总线的低3位2,1,0分别和DSP2

58、的HCNTL0,HCNTL1,HBIL连接。提示:DSP2的的HPI口的口的HPIC映射到映射到DSP1的的0x8008、0x8009; HPIA映射到映射到DSP1的的0x800C、0x800D; HPID映射到映射到DSP1的的0x800A、0x800B。HCNTL0HCNTL1功能00主机读写HPIC寄存器01主机读写HPID寄存器,HPIA寄存器自增寻址10主机读写HPIA寄存器,指向HPI存储器11主机读写HPID寄存器,HPIA不自增寻址HBIL=0,发送第一字节。,发送第一字节。 HBIL=1,发送第二字节。,发送第二字节。6.5 外部总线访问时序外部总线访问时序问题问题: 54

59、x系列系列DSP其内部存储器有限,在应用时有时需要扩其内部存储器有限,在应用时有时需要扩展外部存储器展外部存储器. 但可能产生流水线冲突但可能产生流水线冲突; 同时由于同时由于DSP工作频工作频率高,与外部存储器和外设接口时有时序问题。率高,与外部存储器和外设接口时有时序问题。解决解决: C54x系列系列DSP内部有内部有等待状态发生器等待状态发生器与与分区转换控制分区转换控制器器来提供方便的外部程序、数据存储器、外部设备的时序匹配来提供方便的外部程序、数据存储器、外部设备的时序匹配和控制。和控制。应用应用: 在在DSP应用中,选择存储器时,主要考虑的因素有存取应用中,选择存储器时,主要考虑的

60、因素有存取时间、容量和价格等因素。在采用低速器件时,需要用软件或时间、容量和价格等因素。在采用低速器件时,需要用软件或硬件为硬件为DSP插入等待状态来协调。插入等待状态来协调。6.5.1 软件等待状态发生器软件等待状态发生器 可以将外部总线的访问周期延长多达可以将外部总线的访问周期延长多达714个机器周期。个机器周期。 如果外部器件要求更多等待周期,则可以利用硬件如果外部器件要求更多等待周期,则可以利用硬件READY线来线来接口。接口。 受到一个受到一个16位的软件等待状态寄存器位的软件等待状态寄存器(SWWSR)的控制,它是一个的控制,它是一个存储器映像寄存器存储器映像寄存器(0028h)

61、。 程序空间和数据空间都被分成两个程序空间和数据空间都被分成两个32K的字块,的字块,I/O空间由一个空间由一个64K字块组成。这字块组成。这5个字块空间在个字块空间在SWWSR中都相应地有一个中都相应地有一个3位位字段,用来定义各个空间插入等待状态的数目。表字段,用来定义各个空间插入等待状态的数目。表6-19。 复位时,复位时,SWWSR=7FFFh,这时所有的程序、数据和,这时所有的程序、数据和I/O空间都空间都被插入被插入7个等待状态。个等待状态。 将外部总线的访问周期延长多达将外部总线的访问周期延长多达714个机器周期个机器周期程序空间和数据空间都被分成两个程序空间和数据空间都被分成两

62、个32K的字块,的字块,I/O空间空间由一个由一个64K字块组成。这字块组成。这5个字块空间在个字块空间在SWWSR中都相中都相应地有一个应地有一个3位字段。位字段。3位字段取值为位字段取值为0-7,如何与,如何与714个机器周期相对应?个机器周期相对应?在在5402,5410,5420中,有一个软件等待状态寄存器中,有一个软件等待状态寄存器SWCR,第,第0位位SWSM定义了等待状态的倍乘系数。定义了等待状态的倍乘系数。SWSM=0,倍乘系数,倍乘系数=1SWSM=1,倍乘系数,倍乘系数=26.5.2 分区转换逻辑分区转换逻辑 在外部存储器由多个存储芯片构成时,在不同芯片之间的地址转在外部存

63、储器由多个存储芯片构成时,在不同芯片之间的地址转换过程中,需要有一定的延时。换过程中,需要有一定的延时。 可编程分区转换逻辑允许可编程分区转换逻辑允许C54x在外部存储器分区之间切换时不需在外部存储器分区之间切换时不需要使用软件为存储器的访问插入等待状态。当跨越外部程序或数据要使用软件为存储器的访问插入等待状态。当跨越外部程序或数据空间中的存储器分区界线寻址时,分区转换逻辑会自动地插入一个空间中的存储器分区界线寻址时,分区转换逻辑会自动地插入一个周期。周期。 分区转换由分区转换控制寄存器分区转换由分区转换控制寄存器(BSCR)定义,它是存储器映像寄定义,它是存储器映像寄存器存器(0029h)。

64、表。表6-20。 C54x分区转换逻辑可以在下列几种情况下自动地插入一个分区转换逻辑可以在下列几种情况下自动地插入一个附加的周期,让地址总线转换到一个新的地址,即附加的周期,让地址总线转换到一个新的地址,即 一次程序存储器读操作之后,紧跟着对不同的存储器分区的另一次程序存储器读操作之后,紧跟着对不同的存储器分区的另一次程序存储器或数据存储器读操作。一次程序存储器或数据存储器读操作。 当当PSDS位置位置1时,一次程序存储器读操作之后,紧跟着一时,一次程序存储器读操作之后,紧跟着一次数据存储器读操作。次数据存储器读操作。 对于对于C548和和C549,一次程序存储器读操作之后,紧跟着对不,一次程

65、序存储器读操作之后,紧跟着对不同页进行另一次程序存储器或数据存储器读操作。同页进行另一次程序存储器或数据存储器读操作。 一次数据存储器读操作之后,紧跟着对一个不同的存储器分区一次数据存储器读操作之后,紧跟着对一个不同的存储器分区进行另一次程序存储器或数据存储器读操作。进行另一次程序存储器或数据存储器读操作。6.6 通用通用I/O 1.通用通用I/O引脚引脚(1) 分支转移控制输入引脚分支转移控制输入引脚( ) 可以用于监控外部设备的状态。可以用于监控外部设备的状态。 当时间要求严格时,代替中断非常有用。当时间要求严格时,代替中断非常有用。 根据输入的状态可以有条件地执行一个分支转移。根据输入的状态可以有条件地执行一个分支转移。(2)外部标志输出引脚外部标志输出引脚(XF) XF可以用来为外部设备提供输出信号;可以用来为外部设备提供输出信号; XF引脚由软件控制。引脚由软件控制。 复位时,复位时,XF为高电平。为高电平。 作业:p197:1,4,6提示:作业6只有一条汇编指令,设置SWWSR寄存器

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号