DSP技术应用电子通信_第1页
DSP技术应用电子通信_第2页
DSP技术应用电子通信_第3页
DSP技术应用电子通信_第4页
DSP技术应用电子通信_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DSP技术应用电子通信2 片内外设是集成在片内外设是集成在DSP芯片内部的外部设备,芯片内部的外部设备,CPU核核对片内外设的访问是通过对相应控制寄存器的访问来完成对片内外设的访问是通过对相应控制寄存器的访问来完成的。所有的的。所有的C54x DSP的的CPU结构及功能完全相同,但是片结构及功能完全相同,但是片内的外设配置多少不同。内的外设配置多少不同。优点:优点: n 片内外设访问速度快。片内外设访问速度快。 n 可以简化电路板的设计。如将可以简化电路板的设计。如将A/D转换、转换、D/A转换、定时转换、定时器集成在片内。器集成在片内。(3) 提供一些必须的特殊功能。如提供一些必须的特殊功能

2、。如JTAG口、软件等待状态口、软件等待状态发生器等。发生器等。 3一、一、C54x的主机接口的主机接口 HPI n 功能功能 主机接口主机接口HPI专门提供了专门提供了C54xDSP与外部其它主与外部其它主处理器(如其它处理器(如其它 DSP、微处理器、单片机等)的通信、微处理器、单片机等)的通信接口,接口, 主机接口为主从分布式系统和多处理器并行处主机接口为主从分布式系统和多处理器并行处理系统提供了方便。理系统提供了方便。 C54xDSP主机接口是一个并行的主机接口是一个并行的 8 位或位或 16 位接位接口,外部主机是口,外部主机是HPI的主控者。的主控者。C54x系列中提供了标系列中提

3、供了标准的准的 8位位HPI接口或接口或 8位增强的位增强的HPI接口或接口或16位增强的位增强的HPI接口。接口。4TMS320C54x系列系列DSP具有并行接口具有并行接口类型(类型(3种)种): 标准标准8位位HPI-8 增强型增强型8位位HPI-8 增强型增强型16位位HPI-16功能:用于主机功能:用于主机(其他其他DSP或单片机或单片机)与与C54x DSP的通信,的通信, 通信的主控方为其他主机。通信的主控方为其他主机。优点:优点:HPI不需要或只需要很少外部逻辑就能和很多不同不需要或只需要很少外部逻辑就能和很多不同 的主机设备相连。的主机设备相连。5nHPI-8的特点的特点n是

4、一个是一个8位并行口位并行口n用于主机用于主机(其他控制器其他控制器)与与C54x DSP之间的通信,实现之间的通信,实现主机访问主机访问DSP内部内部2K的双访问的双访问RAM(HPI存储器存储器)。nHPI具有两种工作模式:具有两种工作模式:n共用访问模式共用访问模式(SAM):主机和:主机和C54x DSP都能访问都能访问HPI存储器。当访问发生冲突时主机具有优先访问权,而存储器。当访问发生冲突时主机具有优先访问权,而C54x DSP需等待一个周期。需等待一个周期。n仅主机访问模式仅主机访问模式(HOM), C54x DSP休眠状态。休眠状态。nHPI支持主机与支持主机与C54x DSP

5、之间高速数据传输。之间高速数据传输。 6标准标准HPIHPI的两种工作模式:的两种工作模式: (1)共享模式()共享模式(SAM)(2)主机模式()主机模式(HOM) HPI存储器存储器 主机主机 C54x HPI存储器存储器 主机主机 C54x 72. HPI-8结构框图结构框图8(1)HPI存储器(存储器(2k字字DARAM)(2)HPI地址寄存器(地址寄存器(HPIA)(3)HPI数据锁存器(数据锁存器(HPID) (4)PHI控制寄存器(控制寄存器(HPIC)(5)PHI控制逻辑控制逻辑工作过程工作过程HPIHPI存储存储空间访问空间访问主机数据主机数据寄存器寄存器HPIDHPID主机

6、地址主机地址寄存器寄存器HPIAHPIA外部外部主机主机外部控制信号外部控制信号9 外部主机通过访问主机接口的外部主机通过访问主机接口的3个寄存器实现对个寄存器实现对DSP内内部部HPI存储器的访问:存储器的访问:HPIA: 地址寄存器。主机直接访问该寄存器地址寄存器。主机直接访问该寄存器HPIC(002Ch): 控制寄存器,可以由主机或控制寄存器,可以由主机或C54x DSP直接访直接访问,包含了问,包含了HPI操作的控制和状态位操作的控制和状态位.HPID: 数据寄存器,只能由主机直接访向。包含从数据寄存器,只能由主机直接访向。包含从HPI存储存储器读出的数据,或者要写到器读出的数据,或者

7、要写到HPI存储器的数据存储器的数据HPI控制逻辑控制逻辑: 用于处理用于处理HPI与主机之间的接口信号与主机之间的接口信号HPI存储器存储器(DARAM):用于:用于C54x DSP与主机之间传送数据与主机之间传送数据103. 控制寄存器控制寄存器HPIC HPIC共有共有4 个位用于控制个位用于控制HPI操作。操作。BOB :字节选择位,:字节选择位,BOB会影响数据和地址传输。会影响数据和地址传输。SMOD :寻址方式选择位。:寻址方式选择位。DSPINT :主机向:主机向C54x DSP发出中断位;发出中断位;HINT : C54x DSP向主机发出中断位。向主机发出中断位。11标准标

8、准HPI-8的的HPIC控制寄存器各位设置控制寄存器各位设置 12 4. 主机接口的操作主机接口的操作 n 8 位数据总线位数据总线(HD0HD7)与主机之间交换信息。与主机之间交换信息。 16位位 字,由字,由HBIL引脚和引脚和HPIC的的BOB位决定;位决定;n 两个控制输入两个控制输入(HCNTL0和和HCNTL1)表示哪个表示哪个HPI寄存器寄存器 被访问;被访问; n HPIA寄存器可以使用自动增寻址方式寄存器可以使用自动增寻址方式 ;n 主机可以中断主机可以中断C54x DSP,C54x DSP也可用也可用HPIC中的中的 HINT来中断主机;来中断主机; n HPI存储器为存储

9、器为2K字字16位的双访问位的双访问RAM块,其地址范围块,其地址范围 为数据存储空间的为数据存储空间的1000h17FFh 。13C54x HPI-8与主机的连接:与主机的连接: 14HPI的中断过程的中断过程主机主机HPI中断中断写写DSPINT=1HCNTL0HCNTL100HPIC15 应用举例:应用举例: 设为双设为双DSP通过通过HPI口通信。口通信。DSP1向向DSP2的数据空间的数据空间发送数据,并读回到发送数据,并读回到DSP1的存储器中。的存储器中。 DSP2的的HPI口的口的HPIC映射到映射到DSP1的的0 x8008、0 x8009; HPIA映射到映射到DSP1的的

10、0 x800C、0 x800D; HPID映射到映射到DSP1的的0 x800A、0 x800B。 由于由于DSP2在被访问过程中不需要操作,所以,以下为在被访问过程中不需要操作,所以,以下为DSP1的程序。的程序。 16 STM 0 x1000, AR1 ST0 x00, *AR1PORTW*AR1, 0 x8008 ;将将0 x00写入写入HPICST0 x00, *AR1PORTW*AR1, 0 x8009 ;高低位都为高低位都为0 x00NOPST0 x10, *AR1PORTW*AR1, 0 x800C ;将将0 x10写入写入HPIA高位高位ST0 x20, *AR1NOPPORT

11、W*AR1, 0 x800D ;将将0 x20写入写入HPIA低位低位NOP ;地址为地址为0 x1020loop:ST 0 x1A,*AR1PORTW *AR1,0 x800A ;将将0 x1A2B写入写入DSP2的的0 x1020ST 0 x2B,*AR1PORTW *AR1,0 x800B NOPSTM 0 x1010,AR2PORTR 0 x800A,*AR2 ;将读到的数放入将读到的数放入0 x1010和和0 x1011 NOP ;两个单元,每个为;两个单元,每个为8位数位数 STM 0 x1011,AR2 PORTR 0 x800B,*AR2 ST 0 x3C,*AR1PORTW

12、*AR1,0 x800A ;利用自动增量模式将利用自动增量模式将0 x3C4D写入写入 ;DSP2的的0 x1021 18 ST 0 x4D,*AR1NOPPORTW *AR1, 0 x800B STM 0 x1012, AR2NOPPORTR 0 x800A,*AR2 ;将将DSP2中的数通过中的数通过HPI读到读到 ;DSP1的的0 x1012和和0 x1013中,中,NOP ; DSP1两个单元中分别为两个两个单元中分别为两个8位数位数STM0 x1013, AR2 PORTR 0 x800B,*AR2 hearB hear .end19定时器的结构及特点:定时器的结构及特点:n C54

13、x的片内定时器根据所选型号不同有的片内定时器根据所选型号不同有23个不等,定时器个不等,定时器0、1、2,其结构相同。,其结构相同。n 每个定时器有每个定时器有3个寄存器,都是存储器映像寄存器个寄存器,都是存储器映像寄存器(24-26H)定时寄存器定时寄存器TIM :是减:是减1计数器,可加载周期寄存器计数器,可加载周期寄存器PRD的的值,并随计数减少。值,并随计数减少。定时周期寄存器定时周期寄存器PRD :PRD中存放定时器的周期计数值,提中存放定时器的周期计数值,提供供TIM重载用。重载用。定时控制寄存器定时控制寄存器TCR :TCR包含定时器的控制和状态位,控包含定时器的控制和状态位,控

14、制定时器的工作过程。制定时器的工作过程。二、二、C54x的可编程定时器的可编程定时器 201. C54x的定时器结构的定时器结构 结结构构图图分分 频系频系 数数时时 间常间常 数数主定时器模块主定时器模块(由由PRD和和TIM组成组成)预定标器模块预定标器模块(由由TCR的的TDDR和和PSC位组成位组成)。 21主要特点:主要特点:(1) 定时器是一个减计数器。定时器是一个减计数器。(2) 由由16位计数器和位计数器和4位预分频计数器组成。位预分频计数器组成。16位计数器位计数器 的触发脉冲由预分频计数器提供,预分频计数器由的触发脉冲由预分频计数器提供,预分频计数器由 CPU工作时钟决定。

15、工作时钟决定。(3) 有复位功能。有复位功能。(4) 可以选择调试断点时定时器的工作方式。可以选择调试断点时定时器的工作方式。22TSS保留保留15 12soft11free10PSC9 6TRB5TDDR3 04TCR中的控制位和状态位中的控制位和状态位定时器定时器停止停止/ /启动启动定时器定时器工作状态工作状态定时器定时器预定标预定标计数器计数器复位复位片内片内定时器定时器预定标预定标分频分频系数系数23PSC (96位位):定时器预定标计数器。当:定时器预定标计数器。当PSC中的数值减到中的数值减到0后,后, TIM减减1 , TDDR中的数加载到中的数加载到PSC;TRB (5位位)

16、:定时器重新加载控制位。复位片内定时器。当:定时器重新加载控制位。复位片内定时器。当TRB置位时,置位时,TIM重新装载重新装载PRD的值,的值,PSC重新装载重新装载TDDR中的值。中的值。TSS (4位位):定时器停止位,:定时器停止位,TSS=0 定时器开始工作,定时器开始工作,TSS=1 定时器停止定时器停止TDDR (30位位):当:当PSC减为减为0时,时,TDDR中的值被装载到中的值被装载到PSC中中24 2. 定时中断周期的计算定时中断周期的计算 定时中断周期定时中断周期= TCLKOUT(TTDDR+1)(TPRD+1)定时器输出信号定时器输出信号TOUT定时脉冲输出定时脉冲

17、输出TINT 定时中断输出定时中断输出25定时器的操作过程:定时器的操作过程: n PSC由由CPU提供时钟提供时钟,每个,每个CPU时钟信号将使时钟信号将使PSC减减1 。 n TDDR的内容重新加载到的内容重新加载到PSC。n TIM由预定标器由预定标器PSC提供时钟,每个来自预定标块的输出提供时钟,每个来自预定标块的输出时钟使时钟使TIM减减l。 PRD中的内容重新加载到中的内容重新加载到TIM。 26初始化定时器:初始化定时器:(1) 将将TCR中的中的TSS位置位置1,关闭定时器。,关闭定时器。(2) 加载加载PRD。(3) 重新加载重新加载TCR以初始化以初始化TDDR。(4) 重

18、新启动定时器。重新启动定时器。TSS位为位为0,TRB位为位为l,以重载定时,以重载定时 器周期值,使能定时器。器周期值,使能定时器。3. 定时器初始化步骤定时器初始化步骤 27使能定时器中断使能定时器中断(假定假定ST1寄存器中寄存器中INTM=1):(1) 将将IFR中的中的TINT位置位置1,清除尚未处理完,清除尚未处理完(挂起挂起)的定时的定时 器中断。器中断。(2) 将将IMR中的中的TINT位置位置l,使能定时器中断。,使能定时器中断。(3) 将将ST1中的中的INTM位清位清0,使能全局中断。,使能全局中断。28【例例】 利用利用C54x定时器可以实现方波信号发生器。要求利用定时

19、器可以实现方波信号发生器。要求利用定时器定时器0在通用在通用I/O引脚引脚XF输出周期为输出周期为1s的方波。的方波。分析:设分析:设 f =100MHz,已知定时最大值为:已知定时最大值为: =10(ms),要输出要输出1s的方波,的方波,1和和0分别为分别为500ms.可定时可定时5ms,再在中断程序中加个,再在中断程序中加个100计数器,计数器,定时器周期定时器周期 =10ns(1+9)(1+49999)=5ms。 41610(ns)2229CounterSet.set 100 ;定义计数次数;定义计数次数PERIOD .set 49999 ;定义计数周期;定义计数周期 .asg AR1

20、, Counter ;AR1做计数指针,重做计数指针,重 ; 新命名以便识别新命名以便识别 STM #CounterSet, Counter ;设计数器初值;设计数器初值 STM #0000000000010000B, TCR ;停止计数器;停止计数器 STM #PERIOD, TIM ;给;给TIM设定初值设定初值49999 STM #PERIOD, PRD ;PRD与与TIM一样一样 STM #0000001001101001B, TCR ;开始定时器;开始定时器 STM #0008H, IMR ;开;开TIME0的中断的中断 RSBX INTM ;开总中断;开总中断End: NOP B

21、End30中断服务程序:中断服务程序:TINT0_ISRTINT0_ISR: PSHM ST0 ;保护;保护ST0,因要改变,因要改变TC BANZ Next,*Counter- ;计数器不为计数器不为0,计数器,计数器 减减1,退出中断,退出中断 STM #CounterSet,Counter ; BITF *AR2,#1 ;计数器为;计数器为0, 根据当前根据当前XF状态状态 ;分别到;分别到setXF或或ResetXF BC ResetXF,TC setXF: SSBX XF ;置;置XF为高为高 ST #1,*AR2 B NextResetXF: RSBX XF ;置;置XF为低为低

22、ST #0, *AR231Next: POPM ST0 RETE end 32三、三、C54x的串行口的串行口 C54x 具有功能强、且使用灵活的高速、全双工串行具有功能强、且使用灵活的高速、全双工串行口,可实现多种标准通讯形式;可提供丰富的多路及时分口,可实现多种标准通讯形式;可提供丰富的多路及时分复用功能,高效地实现和双向串口器件的通讯或多微处理复用功能,高效地实现和双向串口器件的通讯或多微处理器之间的通讯。器之间的通讯。n标准同步串行口(标准同步串行口(SP)n缓冲同步串行口(缓冲同步串行口(BSP)n多通道缓冲串行口(多通道缓冲串行口(McBSP)n时分多路同步串行口(时分多路同步串行

23、口(TDM)串串行行口口分分类类当缓冲串行口和时分多路串行口工作在标准方式时,它们的功能与标准串行口相同当缓冲串行口和时分多路串行口工作在标准方式时,它们的功能与标准串行口相同 33配置配置: DSP芯片不同串口配置也不尽相同。芯片不同串口配置也不尽相同。访问访问: 串行接口一般通过中断来实现与核心串行接口一般通过中断来实现与核心CPU的同步。的同步。功能功能: 串行接口可以用来与串行外部器件相连,如编码解串行接口可以用来与串行外部器件相连,如编码解 码器、串行码器、串行A/D或或D/A以及其他串行设备。以及其他串行设备。 34芯片型号芯片型号SPBSPMcBSPTDMC5412000C542

24、0101C5430101C5451100C5461100C5480201C5490201C54020020C54100030C54200060部分部分C54x系列系列DSP芯片串行口配置芯片串行口配置351)、标准同步串行口)、标准同步串行口 SP 36组成:组成: n16位数据接收寄存器(位数据接收寄存器(DRR)n16位数据发送寄存器(位数据发送寄存器(DXR)n接收移位寄存器(接收移位寄存器(RSR)n发送移位寄存器(发送移位寄存器(XSR)n接收时钟和发送时钟接收时钟和发送时钟n接收帧同步和发送帧同步接收帧同步和发送帧同步n控制电路控制电路37标准串口标准串口SPSP特点:特点: n可

25、有多个相互独立的标准同步串口可有多个相互独立的标准同步串口n发送和接收是双向缓冲的发送和接收是双向缓冲的n3个存储器映像寄存器用于传送数据个存储器映像寄存器用于传送数据n每个口有时钟、帧同步脉冲以及串行移位寄存器每个口有时钟、帧同步脉冲以及串行移位寄存器n可以按可以按8位字节或位字节或16位字节转换位字节转换n可以产生自己的可屏蔽收发中断可以产生自己的可屏蔽收发中断n可以工作在多种时钟频率上可以工作在多种时钟频率上n标准串行口的最高工作频率是标准串行口的最高工作频率是CLKOUT的的1/4。38串行口控制寄存器串行口控制寄存器 SPC 功能:控制串行口的操作功能:控制串行口的操作 39标准串口

26、标准串口SPSP的使用的使用 nSTM #0038H ,SPC ;串口初始化;串口初始化nSTM #00C0H ,IFR ;清除挂起的串口中断;清除挂起的串口中断nAND #00C0H ,IMR ;使能中断;使能中断 nRSBX INTM ;使能全局中断;使能全局中断nSTM #00F8H ,SPC ;开始串口传输;开始串口传输nSTM DATA1,DXR ;写第一个数据到;写第一个数据到DXR 40 操作过程操作过程:发送数据时,数写到发送数据时,数写到DXRXSR DX引脚输出。发送期引脚输出。发送期间,间,DXR中的数据复制到中的数据复制到XSR后,串行口控制寄存器后,串行口控制寄存器(

27、SPC)中的发送准备好中的发送准备好(XRDY)位由位由0变为变为1,随后产生一个串行口,随后产生一个串行口发送中断发送中断(XINT)信号,通知信号,通知CPU可以对可以对DXR重新加载。重新加载。接收数据时,来自接收数据时,来自DR引脚的数据引脚的数据 RSR DRR,CPU从从DRR中读出数据。当中读出数据。当RSR的数据复制到的数据复制到DRR后,后,SPC中的中的接收数据准备好接收数据准备好(RRDY)位由位由0变为变为l,随后产生一个串行口,随后产生一个串行口接收中断接收中断(RINT)信号,通知信号,通知CPU可以从可以从DRR中读取数据。中读取数据。串行口是双缓冲的,发送和接收

28、都是自动完成,用户只需串行口是双缓冲的,发送和接收都是自动完成,用户只需检测检测RRDY或或XRDY位来判断可否继续发送或接收数据。位来判断可否继续发送或接收数据。41连接方法之一:连接方法之一: 数据发送工作过程数据发送工作过程 数据接收工作过程数据接收工作过程 42实例实例: (操作以中断的方式完成操作以中断的方式完成)1) 串口的初始化串口的初始化(1) 复位,并将复位,并将0 x0038写入写入SPC,初始化串口。,初始化串口。(2) 将将0 x00C0h写入写入IMR,清除任何挂起的串行接口中断。,清除任何挂起的串行接口中断。(3) 将将0 x00C0h和和IMR求或逻辑运算,使能串

29、行接口中断。求或逻辑运算,使能串行接口中断。(4) 清除清除ST1的的INTM位,使能全局中断。位,使能全局中断。(5) 将将0 x00F8h写入写入SPC,启动串行接口。,启动串行接口。(6) 将第一个数据写入将第一个数据写入DXR。43串行口 2) 串口中断服务程序串口中断服务程序(1) 保存当前工作状态到堆栈中。保存当前工作状态到堆栈中。(2) 读读DRR或写或写DXR或同时操作,从或同时操作,从DRR读出的数据写入读出的数据写入存储器中,将要发送的数据从存储器中取出写入存储器中,将要发送的数据从存储器中取出写入DXR。(3) 恢复现场。恢复现场。(4) 用用RETE从中断子程序返回。从

30、中断子程序返回。44结构和特点结构和特点:n 缓冲串行口在标准同步串行口基础上增加了一个自动缓冲串行口在标准同步串行口基础上增加了一个自动 缓冲单元缓冲单元(ABU),并以,并以CLKOUT频率计时。频率计时。n ABU利用独立于利用独立于CPU的专用总线,让串行口直接读的专用总线,让串行口直接读/写写 C54x内部存储器。这样可使串行口处理事务的开销最内部存储器。这样可使串行口处理事务的开销最 省,并能达到较快的数据率。省,并能达到较快的数据率。n BSP有两种工作方式:非缓冲方式和自动缓冲方式。有两种工作方式:非缓冲方式和自动缓冲方式。n ABU具有自身的循环寻址寄存器组,每个都与地址产生

31、具有自身的循环寻址寄存器组,每个都与地址产生 单元相关。发送和接收缓冲存储器位于一个指定的单元相关。发送和接收缓冲存储器位于一个指定的C54x DSP内部存储器的内部存储器的2K字块中。该块可作为通用的存储字块中。该块可作为通用的存储 器,但却是唯一的自动缓冲能使用的存储块。器,但却是唯一的自动缓冲能使用的存储块。2)、缓冲同步串行口()、缓冲同步串行口(BSP) 45BDRBDRBCLKRBCLKRBFSRBFSRBCLKXBCLKXBFSXBFSXBDXBDXBRINTBRINTBMINTBMINTBXINTBXINTC54xC54x内存界面内存界面自动缓冲单元自动缓冲单元 ABUABU控

32、制控制XRDY RRDY BXINT BMINT BRINTXRDY RRDY BXINT BMINT BRINTBDXRBDXRBSPCEBSPCEBXSRBXSRBRSRBRSR串口控串口控制逻辑制逻辑BSPCBSPCBDRRBDRR中断中断控制控制C54xC54xCPUCPU界面界面中断中断逻辑逻辑161146组成:组成:数据接收寄存器数据接收寄存器BDRR数据发送寄存器数据发送寄存器BDXR控制寄存器控制寄存器BSPC 控制扩展寄存器控制扩展寄存器BSPCE数据接收移位寄存器数据接收移位寄存器BRSR数据发送移位寄存器数据发送移位寄存器BXSR 串口控制逻辑串口控制逻辑中断控制逻辑中断

33、控制逻辑自动缓冲单元自动缓冲单元ABU47缓冲串行口的工作模式缓冲串行口的工作模式 (1 1)缓冲串行口标准模式)缓冲串行口标准模式(2 2)缓冲串行口增强模式)缓冲串行口增强模式 可编程串口时钟频率可编程串口时钟频率时钟和帧同步信号的极性可选时钟和帧同步信号的极性可选除除8 8、1616位字长外,位字长外,1010、1212位字长数据位字长数据转换可选转换可选新增新增功能功能 48自动缓冲单元自动缓冲单元 ABU可独立于可独立于CPU自动完成控制串口与固定缓自动完成控制串口与固定缓冲内存区中的直接数据交换,实现串行口冲内存区中的直接数据交换,实现串行口与与CPU并行操作。并行操作。功能功能组

34、成组成地址寄存器地址寄存器AXR块长度发送寄存器块长度发送寄存器BKX地址接收寄存器地址接收寄存器ARR块长度接收寄存器块长度接收寄存器BKR串口控制寄存器串口控制寄存器BSPCE 5个存储器映射寄存器个存储器映射寄存器49自动缓冲过程可归纳为:自动缓冲过程可归纳为: ABU完成对缓冲存储器的存取。完成对缓冲存储器的存取。 工作过程中地址寄存器自动增加,直至缓冲区的底部。工作过程中地址寄存器自动增加,直至缓冲区的底部。到底部后,地址寄存器内容恢复到缓冲存储器区顶部。到底部后,地址寄存器内容恢复到缓冲存储器区顶部。 如果数据到了缓冲区的一半或底部,就会产生中断,并如果数据到了缓冲区的一半或底部,

35、就会产生中断,并更新更新BSPEC中的中的XH/RH,以表明那一部分数据已经被发送,以表明那一部分数据已经被发送或接收。或接收。 如果选择禁止自动缓冲功能,当数据过半或到达缓冲区如果选择禁止自动缓冲功能,当数据过半或到达缓冲区底部时,底部时,ABU会自动停止缓冲功能。会自动停止缓冲功能。50循环寻址原理循环寻址原理 装载装载BKX/R确定缓冲区长度,装载确定缓冲区长度,装载ARX/R给出给出2K字缓字缓冲区基地址和缓冲区数据起始地址实现初始化。冲区基地址和缓冲区数据起始地址实现初始化。BKX/R从从高位至低位方向第一个高位至低位方向第一个1的位置的位置N位将位将ARX/R分为分为ARH和和AR

36、L两部分,缓冲区顶部地址两部分,缓冲区顶部地址(TBA)由高位为由高位为ARH,而低,而低位为位为N+1个个0组成的数定义。缓冲区底部地址组成的数定义。缓冲区底部地址(BBA)由由ARH和和BKL-1决定。而当前数据缓冲区的位置由决定。而当前数据缓冲区的位置由ARX/R的内容的内容决定。决定。ARX/R的内容会随着每一次访问继续增加直至到下的内容会随着每一次访问继续增加直至到下一个允许的缓冲区开始地址。然后在后续的存取操作中,一个允许的缓冲区开始地址。然后在后续的存取操作中,作为更新的循环缓冲开始地址,新的作为更新的循环缓冲开始地址,新的ARX/R内容用来进行内容用来进行正确的循环缓冲地址计算

37、。正确的循环缓冲地址计算。 51循环寻址原理示意图循环寻址原理示意图 BKX/RBKX/RARX/RARX/RARHARHARLARL000011BBABBATBATBA缓冲区当前位置缓冲区当前位置 ARHARHBKLBKLARHARHBKL1BKL1ARHARH0000下半部开始下半部开始 缓冲区顶部缓冲区顶部 上半部分上半部分 缓冲区底部缓冲区底部下半部分下半部分 523)、时分多路串行口)、时分多路串行口 TDM 时分多路串行口允许时分多路串行口允许C54x可以与最多可以与最多 8个其它器件个其它器件进行时分复用串行通信,从而提供了简单有效的多处理进行时分复用串行通信,从而提供了简单有效

38、的多处理器应用接口。器应用接口。 时分复用:是将与不同器件的通信接口时间依次划时分复用:是将与不同器件的通信接口时间依次划分为不同的时间段,周期性地分别按时间顺序与不同器分为不同的时间段,周期性地分别按时间顺序与不同器件通信的工作方式。件通信的工作方式。53非非TDM方式方式 =标准串口标准串口 TDM方式方式 当当TSPC的的TDM=1 工作工作方式方式相相关关寄寄存存器器TDM数据接收寄存器数据接收寄存器TRCVTDM数据发送寄存器数据发送寄存器TDXRTDM串口控制发送寄存器串口控制发送寄存器TSPCTDM通道选择寄存器通道选择寄存器TCSRTDM发送发送/接收地址寄存器接收地址寄存器T

39、RTATDM接收地址寄存器接收地址寄存器TRADTDM数据接收移位寄存器数据接收移位寄存器TRSRTDM数据发送移位寄存器数据发送移位寄存器TXSR 54C54xTDX TDR TFSX TFSR TCLKX TCLKR器件器件0 0器件器件1 1器件器件7 7TDM时分多路串口连接时分多路串口连接554)、多通道缓冲同步串行口()、多通道缓冲同步串行口(McBSP) 特点:特点:l 全双工通信全双工通信l双倍的发送缓冲和双倍的发送缓冲和3倍的接收缓冲数据寄存器,允许倍的接收缓冲数据寄存器,允许连续的数据流传输连续的数据流传输l独立的接收、发送帧和时钟信、极性可编程独立的接收、发送帧和时钟信、

40、极性可编程l具有外部移位时钟发生器和内部频率可编程移位时钟具有外部移位时钟发生器和内部频率可编程移位时钟l可直接利用多种串行协议接口通讯可直接利用多种串行协议接口通讯l发送和接收通道数最多可达发送和接收通道数最多可达128路路l数据传输格式可选择数据传输格式可选择8、12、16、20、24、32位字长位字长l内置内置u律和律和A律硬件压缩扩展通信律硬件压缩扩展通信l8位数据传输可选择位数据传输可选择LSB或或MSB先传先传l可以直接与工业标准的编解码器、模拟接口芯片及串可以直接与工业标准的编解码器、模拟接口芯片及串行行A/D D/A器件接口器件接口5657McBSP的结构的结构n 一个一个Mc

41、BSP串口有串口有7个引脚。个引脚。n DSP核通过片内外设总线访问和控制核通过片内外设总线访问和控制McBSP的内部控制的内部控制 寄存器和数据接收寄存器和数据接收/发送寄存器。发送寄存器。n 寄存器的寄存器的子寻址子寻址的工作方式,指的是多路复用技术,可的工作方式,指的是多路复用技术,可 以实现一组寄存器共享存储器中的一个单元。可以使用以实现一组寄存器共享存储器中的一个单元。可以使用 少量的寄存器映射存储器空间来访问少量的寄存器映射存储器空间来访问McBSP的的20多个寄多个寄 存器存器 。58McBSP控制寄存器控制寄存器 McBSP通过两个通过两个16比特串口控制寄存器比特串口控制寄存

42、器1和和2(SPCR1,2)和管脚控制寄存器和管脚控制寄存器(PCR)进行配置,这些寄存器包含进行配置,这些寄存器包含McBSP的状态信息和控制信息。的状态信息和控制信息。 串行接口接收控制寄存器串行接口接收控制寄存器SPCR1 、SPCR2 引脚控制寄存器引脚控制寄存器PCR 接收控制寄存器接收控制寄存器RCR1 、RCR2 发送控制寄存器发送控制寄存器XCR1 、XCR2 除除SPCR1,2和和PCR之外,之外,McBSP还配置了接收控制寄存还配置了接收控制寄存器器RCR1,2和发送控制寄存器和发送控制寄存器XCR1,2来确定接收和发送操来确定接收和发送操作的参数作的参数 。59McBSP

43、的数据发送和接收的操作流程的数据发送和接收的操作流程3个阶段:串口的复位、串口的初始化、数据发送和接收。个阶段:串口的复位、串口的初始化、数据发送和接收。 串口的复位串口的复位n 芯片复位芯片复位 引发的串行复位使整个串行口复位,包引发的串行复位使整个串行口复位,包括接口发送器、接收器、采样率发生器的复位。括接口发送器、接收器、采样率发生器的复位。 n 串行接口的发送器和接收器可以利用串行接口控制寄存串行接口的发送器和接收器可以利用串行接口控制寄存器器(SPCR1和和SPCR2)中的中的 和和 位分别独自复位分别独自复位。位。 RS0XPSTRRST60串口的初始化串口的初始化(1) 设定串口

44、控制寄存器设定串口控制寄存器SPCR1,2中的中的 。如果刚刚复位完毕,不必进行这一步操作。如果刚刚复位完毕,不必进行这一步操作。(2) 编程配置特定的编程配置特定的McBSP的寄存器。的寄存器。(3) 等待等待2个时钟周期,以保证适当的内部同步。个时钟周期,以保证适当的内部同步。(4) 按照写按照写DXR的要求,给出数据。的要求,给出数据。(5) 设置设置 ,以使能串行接口。,以使能串行接口。(6) 如果要求内部帧同步信号,设置如果要求内部帧同步信号,设置 。(7) 等待等待2个时钟周期后,激活接收器和发送器。个时钟周期后,激活接收器和发送器。XRST=RRST=FRST=0XRST=RRS

45、T=1FRST=161数据发送和接收的操作数据发送和接收的操作 n接收操作是三缓冲的接收操作是三缓冲的 接收数据接收数据数据接收引脚数据接收引脚DR 接收移位寄存器接收移位寄存器RSR1,2 接收缓冲寄存器接收缓冲寄存器RBR1,2 数据接收寄存器数据接收寄存器DRR1,2。n发送操作是双缓冲的发送操作是双缓冲的CPU或或DMA将发送数据将发送数据数据发送寄存器数据发送寄存器DXR1,2中中 发送移位寄存器发送移位寄存器XSR1,2; 从从DX移出发送数据移出发送数据 62 McBSP串口应用举例串口应用举例McBSP的初始化程序:的初始化程序:STM SPCR1, McBSP1_SPSA ;

46、将将SPCR1 对应的子地址放到对应的子地址放到 子地址寄存器子地址寄存器SPSA中中STM #0000h, McBSP1_SPSD ;将将#0000h加载到加载到SPCR1中,中, 使接收中断由帧有效信号触发,使接收中断由帧有效信号触发, ;靠右对齐高位添靠右对齐高位添0STM SPCR2, McBSP1_SPSA ;将将SPCR2对应的子地址放到对应的子地址放到 子地址寄存器子地址寄存器SPSA中中STM 0000h,McBSP1_SPSD ;帧同步发生器复位,发送器复位帧同步发生器复位,发送器复位STM RCR1, McBSP1_SPSA ;将将RCR1 对应的子地址放到子地对应的子地址

47、放到子地 址寄存器址寄存器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 ;将将XCR

48、2对应的子地址放到子对应的子地址放到子 地址寄存器地址寄存器SPSA中中STM #0040h, McBSP1_SPSD ;发送为单相,每帧发送为单相,每帧16位位STM PCR, McBSP1_SPSA ;将将PCR对应的子地址放到子地对应的子地址放到子地 址寄存器址寄存器SPSA中中STM #000eh, McBSP1_SPSD ;工作于从模式工作于从模式64CPU终止正在执行的程序,转去执行一个请求中终止正在执行的程序,转去执行一个请求中断的内部或外部的中断服务程序,待处理完毕后,又返断的内部或外部的中断服务程序,待处理完毕后,又返回到被终止的源程序处继续执行。这一过程称为中断;回到被终止

49、的源程序处继续执行。这一过程称为中断;为实现中断功能而设置的各种硬件和软件。为实现中断功能而设置的各种硬件和软件。 C54x DSP既支持软件中断,也支持硬件中断。当同既支持软件中断,也支持硬件中断。当同时有多个硬件中断出现时,时有多个硬件中断出现时,C54x DSP按照中断优先级别按照中断优先级别的高低对它们进行服务。的高低对它们进行服务。 四、四、C54x的中断系统的中断系统65n受外部中断口信号触发的受外部中断口信号触发的 外部硬件中断外部硬件中断n受片内外围电路信号触发受片内外围电路信号触发的内部硬件中断的内部硬件中断 程序指令程序指令INTRTRAPRESET 中断来源中断来源软件驱

50、动软件驱动硬件驱动硬件驱动66C54x DSP的中断可以分成两大类:的中断可以分成两大类:第一类是可屏蔽中断。这些都是可以用软件来屏蔽或开第一类是可屏蔽中断。这些都是可以用软件来屏蔽或开放的硬件和软件中断。放的硬件和软件中断。C5402只使用只使用14个可屏蔽中断。个可屏蔽中断。 ; RINT0、XINT0、RINT1和和XINT2(串行口中断串行口中断)。 TINT0、TINT1(定时器中断定时器中断)。 HPINT(主机接口中断主机接口中断)DMAC0DMAC5。(2) 第二类是非屏蔽中断。这些中断是不能够屏蔽的,第二类是非屏蔽中断。这些中断是不能够屏蔽的,C54x对这一类中断总是响应,并

51、从主程序转移到中断服务程对这一类中断总是响应,并从主程序转移到中断服务程序。序。C54x DSP的非屏蔽中断包括所有的软件中断,以的非屏蔽中断包括所有的软件中断,以及两个外部硬件中断:及两个外部硬件中断: (复位复位)和和 。 INT0INT3RSNMI67可屏蔽中断可屏蔽中断非屏蔽中断非屏蔽中断中断中断可以用软件可以用软件屏蔽中断屏蔽中断或开放中断或开放中断C54xC54x总是响应所有总是响应所有软件中断和两个外软件中断和两个外部硬件中断部硬件中断、 (非屏蔽中断)(非屏蔽中断)RSNMI68非屏蔽中断:不能由用户用软件来屏蔽的中断。非屏蔽中断:不能由用户用软件来屏蔽的中断。一旦有非屏蔽中断

52、请求,一旦有非屏蔽中断请求,CPU必须予以响应。必须予以响应。:用于某些十分重要的事件发生,如:掉电;:用于某些十分重要的事件发生,如:掉电;可屏蔽中断:用户根据需要可用软件开放或禁止中断。可屏蔽中断:用户根据需要可用软件开放或禁止中断。软件指令控制,灵活方便。软件指令控制,灵活方便。一般事件处理。一般事件处理。 69中断处理一般过程:中断处理一般过程: 中断源请求中断;中断标志寄存器中断源请求中断;中断标志寄存器(IFR) CPU响应中断;预定义条件的满足响应中断;预定义条件的满足 保护现场;保护现场; 转中断服务;转中断服务; 恢复现场;恢复现场; 中断返回;中断返回; 701. 中断标志

53、寄存器(中断标志寄存器(IFR) 当一个中断出现的时候,当一个中断出现的时候,IFR中相应的中断标志位中相应的中断标志位置置1,直到中断得到处理为止。,直到中断得到处理为止。 共共14个有效标志位(可屏蔽中断):个有效标志位(可屏蔽中断): 外部中断外部中断4个(个(INT0-INT3) 定时器中断定时器中断2个(个(TINT0-TINT1) 串口定时器串口定时器4个(两发个(两发/两收)两收) DMA中断中断3个(个(DMAC0. 4. 5) HPI中断中断1个个 ;71 2. 中断屏蔽寄存器(中断屏蔽寄存器(IMR) 是一个存储器映像的是一个存储器映像的CPU寄存器,主要用来屏蔽外部寄存器

54、,主要用来屏蔽外部和内部中断和内部中断 共共14个有效位(与个有效位(与IFR对应)对应) (2) 当当IMRi=0 屏蔽该中断;屏蔽该中断; IMRi =1 不屏蔽该中断不屏蔽该中断 72 3. 中断方式控制位(中断方式控制位(INTM)说明:说明:a) INTM是是CPU状态寄存器状态寄存器ST1中的中的1位(第位(第11位)位) b) 功能:功能:开放所有可屏蔽中断关闭所有可屏蔽中断0 1 c) 操作:操作: ;/0/1INTMRSBXRETEINTMSSBX软件清零:;指令执行后自动清中断服务程序中的清零软件置位:,将不影响其它中断中断响应后,会自动置置位 d) 该控制位不影响不可屏蔽

55、中断该控制位不影响不可屏蔽中断 RS , NMI。 e) 该控制位不能用存储操作命令设置。该控制位不能用存储操作命令设置。 73接收、应答及处理中断接收、应答及处理中断1. 接收中断请求接收中断请求 产生一个中断请求时,产生一个中断请求时,IFR中相应的中断标志位被中相应的中断标志位被置位。不管中断是否被处理器应答,该标志位都会被置置位。不管中断是否被处理器应答,该标志位都会被置位。当相应的中断响应后,该标志位自动被清除。一个位。当相应的中断响应后,该标志位自动被清除。一个中断由硬件器件或软件指令请求。中断由硬件器件或软件指令请求。 (1) 硬件中断请求硬件中断请求 硬件中断有外部和内部两种。

56、硬件中断有外部和内部两种。 30INTINTHPIDMA外部中断:等、行口、片内外设:定时器、串74 (2) 软件中断请求软件中断请求 软件中断由程序中的指令软件中断由程序中的指令INTR、TRAP和和 RESET产生。产生。注:注: PC=中断向量地址指针中断向量地址指针+中断向量号中断向量号 该指令允许执行任何可屏蔽中断该指令允许执行任何可屏蔽中断 该指令不影响该指令不影响IFR标志位标志位 不允许中断嵌套不允许中断嵌套禁止其它可屏蔽中断12)715(0,INTMKIPTRPCSTPCSPa) ;75 b) ;除;除INTM不变外,其它同上。不变外,其它同上。 注:注: 可实现中断嵌套可实

57、现中断嵌套 可用软件指令在可用软件指令在TRAP中服中置位中服中置位INTM c) 注:注: 功能:使处理器返回一个预定状态功能:使处理器返回一个预定状态 复位指令:可在程序的任何时候产生;复位指令:可在程序的任何时候产生; 该指令影响该指令影响ST0, ST1,不影响,不影响PMST 76 2. 应答中断应答中断 硬件或软件中断发送了一个中断请求后,硬件或软件中断发送了一个中断请求后,CPU必须必须决定是否应答中断请求。决定是否应答中断请求。 软件中断和非屏蔽硬件中断会立刻被应答软件中断和非屏蔽硬件中断会立刻被应答; 屏蔽中断仅仅在如下条件被满足后才被应答。屏蔽中断仅仅在如下条件被满足后才被应答。 (1) 优先级别最高优先级别最高(当同时出现一个以上中断时当同时出现一个以上中断时)。 (2) 状态寄存器状态寄存器 ST1中的中的INTM位为位为0。 (3) 中断屏蔽寄存器中断屏蔽寄存器IMR中的相应位为中的相应位为1。 CPU响应中断时,让响应中断时,让PC转到适当的地址取出中断向转到适当的地址取出中断向量,并发出中断响应信号,清除相应的中断标志位。量,并发出中断响应信号,清除相应的中断标志位。773. 执行中断服务程序执行中断服务程序(ISR) (1) 将将PC值值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论