Download presentation
Presentation is loading. Please wait.
Published byYenny Hartanto Modified 6年之前
1
第7章 TMS320C54x片内外设、接口及应用 内容提要 本章详细介绍了TMS320C54x中主机接口HPI、定时器、串行接口和中断系统。
第7章 TMS320C54x片内外设、接口及应用 内容提要 本章详细介绍了TMS320C54x中主机接口HPI、定时器、串行接口和中断系统。 主机接口HPI是TMS320C54x系列定点芯片内部具有的一种接口部件,主要用于DSP与其他总线或CPU进行通信。HPI接口通过HPI控制寄存器(HPIC)、地址寄存器(HPIA)、数据锁存器(HPID)和HPI内存块实现与主机通信。 片内定时器包括定时寄存器TIM、定时周期寄存器PRD和定时控制寄存器TCR。 TMS320C54x的串行口有4种类型:标准同步串口BP、缓冲同步串口BSP、多路缓冲串口McBSP和时分多路同步串口TMD。 中断是由硬件或软件驱动的中断信号,使CPU中断当前程序,去执行中断服务程序。 2019年1月18日 DSP原理及应用
2
第7章 TMS320C54x片内外设、接口及应用 7.1 ’C54x的主机接口 7.2 ’C54x的定时器 7.3 ’C54x的串行接口
第7章 TMS320C54x片内外设、接口及应用 7.1 ’C54x的主机接口 7.2 ’C54x的定时器 7.3 ’C54x的串行接口 7.4 ’C54x的中断系统 2019年1月18日 DSP原理及应用
3
7.1 ’C54x的主机接口 ’C54x的主机接口(HPI)是一个8位并行口,用来实现与主设备或主处理器的通信。
第7章 TMS320C54x的片内外设、接口及应用 7.1 ’C54x的主机接口 ’C54x的主机接口(HPI)是一个8位并行口,用来实现与主设备或主处理器的通信。 主机与HPI的通信,可通过专用地址和数据寄存器、HPI控制寄存器以及使用外部数据与接口控制信号来实现。 HPI口作为主机的外围设备,提供8根外部数据线HD(0~7)与主机(或主设备)交换信息。当’C54x与主机传送数据时,HPI能自动地将外部接口连续传来的8位数组成16位数,并传送至’C54x。当主机使用HPI寄存器执行数据传输时,HPI控制逻辑自动执行对’C54x内部的双寻址RAM的访问,以完成数据处理。 2019年1月18日 DSP原理及应用
4
7.1 ’C54x的主机接口 HPI接口有两种工作方式: 共用寻址模式(SAM方式)
第7章 TMS320C54x的片内外设、接口及应用 7.1 ’C54x的主机接口 HPI接口有两种工作方式: 共用寻址模式(SAM方式) 在这种方式下,主机和’C54x都能寻址HPI存储器。如果是异步工作的主机寻址,可在HPI内部重新得到同步。当’C54x与主机的周期发生冲突时,则主机具有寻址优先权,’C54x将等待一个周期。 主机寻址模式(HOM方式) 在HOM方式下,HPI存储器只能让主机寻址,而’C54x则处于复位状态或IDLE2空转状态。主机可以访问HPI RAM,而’C54x则配置为最小功耗。 2019年1月18日 DSP原理及应用
5
7.1 ’C54x的主机接口 HPI口可以支持主设备与’C54x之间的高速数据传送。
第7章 TMS320C54x的片内外设、接口及应用 7.1 ’C54x的主机接口 HPI口可以支持主设备与’C54x之间的高速数据传送。 在SAM工作方式时,若HPI每5个CLKOUT周期传送一个字节,则主机的运行频率可达(fd×n)/5。 fd——’C54x的CLKOUT频率; n——主机每进行一次外部寻址的周期数,通常n是3(或4)。 在HOM方式时,主机可以获得更高的速度。即每50ns寻址一个字节(即160Mbps),且与’C54x的时钟速度无关。 例如:’C54x的CLKOUT频率为40MHz,那么主机的时钟频率可达32(或24)MHz,且不插入等待周期。 2019年1月18日 DSP原理及应用
6
第7章 TMS320C54x的片内外设、接口及应用 7.1 ’C54x的主机接口 1.HPI与主机的连接 ’C54x通过HPI与主机设备连接,除了8位HPI数据总线以及控制信号线外,不需要附加其他的逻辑电路。 8 数据线 地址 读/写 数据口 地址锁存使能 准备 中断 主机 HD0~HD7 HCNTL0 HBIL HR/W HDS1 HDS2 HCS HAS HRDY HINT TMS320C54x 2019年1月18日 DSP原理及应用
7
双向并行三态数据总线,与主机数据总线相连。 HD0~HD7:
第7章 TMS320C54x的片内外设、接口及应用 1.HPI与主机的连接 HPI与主机连接的信号名称和功能: 双向并行三态数据总线,与主机数据总线相连。 HD0~HD7: 当不传送数据(HDSx或HCS=1)或EMU1/OFF=0(切断所有输出)时,HD7~HD0均处于高阻状态。 HCS: 片选信号,与主机地址线或控制线相连。 作为HPI的使能输入端,在每次寻址期间必须为低电平,而两次寻址之间也可以停留在低电平。 2019年1月18日 DSP原理及应用
8
地址选通信号,与主机地址锁存使能(ALE)或地址选通引脚相连,也可以不使用。 HAS:
第7章 TMS320C54x的片内外设、接口及应用 1.HPI与主机的连接 HPI与主机连接的信号名称和功能: 地址选通信号,与主机地址锁存使能(ALE)或地址选通引脚相连,也可以不使用。 HAS: 若主机的地址和数据是一条多路总线,HAS则与主机的ALE引脚相连。在HAS的下降沿,锁存HBIL、HCNTIL0/1和HR/W信号; 若主机的地址和数据线是分开的,则HAS接高电平,此时由HDS1、HDS2或HCS中最迟的下降沿锁存HBIL、HCNTL0/1和HR/W信号。 2019年1月18日 DSP原理及应用
9
字节识别信号,与主机地址线或控制线连接,用于识别主机传送来的是第几字节。
第7章 TMS320C54x的片内外设、接口及应用 1.HPI与主机的连接 HPI与主机连接的信号名称和功能: HBIL: 字节识别信号,与主机地址线或控制线连接,用于识别主机传送来的是第几字节。 当HBIL=0时,为第1字节;当HBIL=1时,为第2字节。第1个字节是高字节还是低字节,由HPIC寄存器中的BOB位决定。 HPI准备好端,与主机异步准备好线相连。 HRDY: 高电平表示HPI已准备好,可执行一次数据传送;低电平表示HPI正忙于完成当前事务。 2019年1月18日 DSP原理及应用
10
主机控制信号,与主机地址线或控制线连接,用来选择主机所要寻址的寄存器。 HCNTL0、HCNTL1:
第7章 TMS320C54x的片内外设、接口及应用 1.HPI与主机的连接 主机控制信号,与主机地址线或控制线连接,用来选择主机所要寻址的寄存器。 HCNTL0、HCNTL1: HCNTL0 HCNTL1 功 能 说 明 主机可以读/写HPIC寄存器。 1 主机可以读/写HPID寄存器。 每读1次,HPIA事后增1; 每写1次,HPIA事先增1。 主机可以读/写HPIA寄存器。 这个寄存器指向HPI存储器。 主机可以读/写HPID寄存器。 HPIA寄存器不受影响 2019年1月18日 DSP原理及应用
11
数据选通信号,与主机读选通和写选通或数据选通线连接,用于在主机寻址HPI周期内,控制HPI数据的传送。 HDS1、HDS2:
第7章 TMS320C54x的片内外设、接口及应用 1.HPI与主机的连接 数据选通信号,与主机读选通和写选通或数据选通线连接,用于在主机寻址HPI周期内,控制HPI数据的传送。 HDS1、HDS2: HDS1和HDS2信号与HCS一道产生内部选通信号。 HINT: HPI中断输出信号,与主机中断输入相连。受HPIC寄存器中的HINT位控制。 当’C54x复位时为高电平,EMU1/OFF低电平时为高阻状态。 2019年1月18日 DSP原理及应用
12
读/写信号。与主机读/写选通、地址线或多路地址数据线连接,用于控制主机对HPI的读写操作。 HR/W:
第7章 TMS320C54x的片内外设、接口及应用 1.HPI与主机的连接 读/写信号。与主机读/写选通、地址线或多路地址数据线连接,用于控制主机对HPI的读写操作。 HR/W: 当该信号为高电平时,表示主机要读HPI; 当该信号为低电平时,表示主机要写HPI。 若主机没有读/写信号,可用一根地址线代替。 2019年1月18日 DSP原理及应用
13
第7章 TMS320C54x的片内外设、接口及应用 7.1 ’C54x的主机接口 2.控制寄存器HPIC HPI控制寄存器为16位寄存器,用来控制HPI的操作。其高8位与低8位完全相同,提供了4个控制位,分别为BOB、SMOD、DSPINT和HINT位。 15~12 11 10 9 8 7 ~ 4 3 2 1 X HINT DSIPNT SMOD BOB 2019年1月18日 DSP原理及应用
14
2.控制寄存器HPIC HPI控制位的功能: 第7章 TMS320C54x的片内外设、接口及应用 控制位 主机状态 ’C54x状态
第7章 TMS320C54x的片内外设、接口及应用 2.控制寄存器HPIC HPI控制位的功能: 控制位 主机状态 ’C54x状态 功 能 说 明 HINT 读/写 ’C54x向主机发出中断位。这一位决定HINT输出端的状态,用来对主机发出中断。 复位后,HINT=0,外部HINT输出端无效(高电平)。该位只能由’C54x置位,也只能由主机将其复位。 当外部HINT引脚无效(高电平)时,’C54x和主机读HINT位为0;当HINT为有效(低电平)时,读为1 BOB —— 字节选择位。若BOB=1,第1个字节为低字节,否则,第1个字节为高字节。BOB位影响数据和地址的传送。只有主机可以修改这一位,’C54x对它既不能读也不能写。 DSPINT 写 主机向’C54x发出中断位,只能由主机写入,且主机和’C54x都不能读它。当主机对该位写1时,就对’C54x产生一次中断。该位总是读成0。当主机写HPIC时,高、低字节必须写入相同的值。 SMOD 读 寻址方式选择位。若SMOD=0,选择HOM方式,’C54x都不能寻址HPI的RAM区。’C54x复位期间,SMOD=0;复位后,SMOD=1。该位只能由’C54x修正,’C54x和主机都可以读它。 2019年1月18日 DSP原理及应用
15
主机和’C54x对HPIC寄存器的寻址有4种结果:
第7章 TMS320C54x的片内外设、接口及应用 2.控制寄存器HPIC 主机和’C54x对HPIC寄存器的寻址有4种结果: ① 主机读HPIC寄存器 15~12 11 10 9 8 7 ~ 4 3 2 1 X HINT SMOD BOB ② 主机写HPIC寄存器 15~12 11 10 9 8 7 ~ 4 3 2 1 X HINT DSIPNT BOB DSIPNT=0 SMOD=X 2019年1月18日 DSP原理及应用
16
主机和’C54x对HPIC寄存器的寻址有4种结果:
第7章 TMS320C54x的片内外设、接口及应用 2.控制寄存器HPIC 主机和’C54x对HPIC寄存器的寻址有4种结果: ③ ’C54x读HPIC寄存器 15~12 11 10 9 8 7 ~ 4 3 2 1 X HINT SMOD ④ ’C54x写HPIC寄存器 高12位为任意值X DSIPNT=0 BOB=0 15~12 11 10 9 8 7 ~ 4 3 2 1 X HINT SMOD 任意值X 2019年1月18日 DSP原理及应用
17
7.2 ’C54x的定时器 在工业应用中,计数器和定时器常用于检测和控制中的时序协调及控制。
第7章 TMS320C54x的片内外设、接口及应用 7.2 ’C54x的定时器 在工业应用中,计数器和定时器常用于检测和控制中的时序协调及控制。 ’C54x的片内定时器是一个可编程的定时器,可用于周期地产生中断。定时器的最高分辨率为处理器的CPU时钟速度。通过带4位预定标器的16位计数器,可以获得较大范围的定时频率。 2019年1月18日 DSP原理及应用
18
第7章 TMS320C54x的片内外设、接口及应用 7.2 ’C54x的定时器 7.2.1 定时器结构 1. 定时器的组成 定时器主要由定时寄存器TIM、定时周期寄存器PRD、定时控制寄存器TCR及相应的逻辑控制电路组成。 寄存器TIM、PRD和TCR是存储器映像寄存器,地址分别为0024H、0025H和0026H。 2019年1月18日 DSP原理及应用
19
1. 定时器的组成 第7章 TMS320C54x的片内外设、接口及应用 周期寄存器 PRD 定时寄存器 TIM 借位 1 3 预定标计数器
第7章 TMS320C54x的片内外设、接口及应用 1. 定时器的组成 周期寄存器 PRD 定时寄存器 TIM 借位 1 3 预定标计数器 PSC 预定标分频系数 TDDR 2 1 & SRESET TRB CLKOUT TSS TINT TOUT 主定时模块 预定标模块 2019年1月18日 DSP原理及应用
20
1. 定时器的组成 定时周期寄存器PRD 用来存放定时时间。地址:0025H 定时寄存器TIM 16位减1计数器。地址:0024H
第7章 TMS320C54x的片内外设、接口及应用 1. 定时器的组成 定时周期寄存器PRD 用来存放定时时间。地址:0025H 定时寄存器TIM 16位减1计数器。地址:0024H 定时控制寄存器TCR 存放定时器的控制位和状态位。地址:0026H。 逻辑控制电路 用来控制定时器协调工作。 2019年1月18日 DSP原理及应用
21
逻辑控制电路:由三个或门和一个与门组成。
第7章 TMS320C54x的片内外设、接口及应用 1. 定时器的组成 逻辑控制电路:由三个或门和一个与门组成。 复位SRESET和TRB: ① 通过或门1、3控制PRD的加载计数; ② 通过或门1、2控制PSC的加载计数。 停止控制位TSS:通过与门屏蔽CLKOUT信号来控制定时器的启动。 TINT——外部定时中断,定时时间到发中断; TOUT——定时输出,输出定时波形。 2019年1月18日 DSP原理及应用
22
主定时模块包括PRD和TIM,由预定标模块定时,预定标模块每输出一个时钟,TIM减1。当TIM减到0后,TIM装入PRD的值。
第7章 TMS320C54x的片内外设、接口及应用 2. 定时器工作原理 主定时模块包括PRD和TIM,由预定标模块定时,预定标模块每输出一个时钟,TIM减1。当TIM减到0后,TIM装入PRD的值。 当设备复位(SRESET=1)或者定时器复位(TRB=1)时,PRD的内容将装入TIM中。 主定时模块的定时中断(TINT)信号输出至CPU以及定时器的输出引脚TOUT。 2019年1月18日 DSP原理及应用
23
预定标模块包括TCR中的TDDR和PSC位,由CPU时钟定时,每来一个CPU时钟,PSC值减1。
第7章 TMS320C54x的片内外设、接口及应用 2. 定时器工作原理 预定标模块包括TCR中的TDDR和PSC位,由CPU时钟定时,每来一个CPU时钟,PSC值减1。 当PSC减至0、设备复位或定时器复位时,TDDR的内容复制到PSC中。 4位预定标计数器PSC和16位定时计数器TIM组成一个20位计数器,定时器每接收一个CPU时钟减1,当计数器减到0时,产生定时中断(TINT),同时PSC和TIM重新装入预设的值。 2019年1月18日 DSP原理及应用
24
2. 定时器工作原理 定时器的工作过程: 由逻辑控制电路控制定时器运行。 第7章 TMS320C54x的片内外设、接口及应用
第7章 TMS320C54x的片内外设、接口及应用 2. 定时器工作原理 定时器的工作过程: ① 定时分频系数和周期数分别装入TCD和PRC寄存器中; 由逻辑控制电路控制定时器运行。 ② 每来一个定时脉冲CLKOUT,计数器PSC减1; ③ 当PSC减至0时,PSC产生借位信号; ④ 在PSC的借位信号作用下,TIM减1计数,同时将分频系数装入PSC,重新计数; ⑤ 当TIM减到0时,定时时间到,由借位产生定时中断TINT和定时输出TOUT,并将PRD中的时间常数重新装入TIM。 2019年1月18日 DSP原理及应用
25
16位存储器映像寄存器,包含定时器的控制位和状态位。
第7章 TMS320C54x的片内外设、接口及应用 3. 定时控制寄存器TCR 16位存储器映像寄存器,包含定时器的控制位和状态位。 15 ~ 12 11 10 9 ~ 6 5 4 3 ~ 0 TDR 0026h 保留 Soft Free PSC TRB TSS TDDR 保留位 软件调试控制位 预定标计数器 重新 加载位 停止 状态位 分 频 系 数 2019年1月18日 DSP原理及应用
26
TDDR:定时器分频系数,用来对CLKOUT进行分频,以改变定时周期。 最大预定标值为16,最小预定标值为1。
第7章 TMS320C54x的片内外设、接口及应用 3. 定时控制寄存器TCR TDDR:定时器分频系数,用来对CLKOUT进行分频,以改变定时周期。 最大预定标值为16,最小预定标值为1。 当PSC减到0后,以TDDR中的数加载PSC。 TSS:定时器停止状态位,用于停止或启动定时器 复位时,TSS位清0,定时器立即定时。 TSS=0,定时器启动工作; TSS=1,定时器停止工作。 2019年1月18日 DSP原理及应用
27
TRB:定时器重新加载位,用来复位片内定时器。 当TRB置1时,以PRD中的数加载TIM,以及以TDDR中的值加载PSC。TRB总是读成0。
第7章 TMS320C54x的片内外设、接口及应用 3. 定时控制寄存器TCR TRB:定时器重新加载位,用来复位片内定时器。 当TRB置1时,以PRD中的数加载TIM,以及以TDDR中的值加载PSC。TRB总是读成0。 PSC:定时器预定标计数器,其标定范围为1~16。当PSC减到0后,TDDR位域中的数加载到PSC, TIM减1。 2019年1月18日 DSP原理及应用
28
Free、Soft:软件调试控制位。Free和Soft位结合使用,用来控制调试程序断点操作情况下的定时器工作状态。
第7章 TMS320C54x的片内外设、接口及应用 3. 定时控制寄存器TCR Free、Soft:软件调试控制位。Free和Soft位结合使用,用来控制调试程序断点操作情况下的定时器工作状态。 Soft Free 定时器状态 定时器立即停止工作 1 当计数器减至0时停止工作 X 定时器继续工作 保留:读成0。 2019年1月18日 DSP原理及应用
29
定时器的基准工作脉冲由CLKOUT提供,每来一个脉冲预定标计数器PSC减1,当PSC减至0时,下一个脉冲到来,PSC产生借位。
第7章 TMS320C54x的片内外设、接口及应用 4. 定时器的初始化 定时器的基准工作脉冲由CLKOUT提供,每来一个脉冲预定标计数器PSC减1,当PSC减至0时,下一个脉冲到来,PSC产生借位。 借位信号分别控制定时计数器TIM减1和或门2的输出,重新将TDDR的内容加载预定标计数器PSC,从而完成定时工作的一个基本周期。 定时器的定时时间为: 定时周期 = CLKOUT×(TDDR+1)×(PRD+1) 2019年1月18日 DSP原理及应用
30
4. 定时器的初始化 第7章 TMS320C54x的片内外设、接口及应用 定时器初始化步骤如下:
第7章 TMS320C54x的片内外设、接口及应用 4. 定时器的初始化 定时器初始化步骤如下: ① TCR的TSS位置1,关闭定时器,停止定时; ② 装载PRD值; ③ 重新装入TCR,初始化TDDR,设置TSS=0和TRB=1,重装载定时器周期。启动定时器。 设置定时器中断方法(INTM=1)如下: ● 将IFR中的TINT置1,以清除尚未处理完的定时器中断; ● 将IMR中的TINT置1,启动定时器中断。 ● 将INTM置0,启动全部中断。 2019年1月18日 DSP原理及应用
31
复位时,TIM和PRD被设置为最大值(0FFFFH),TCR中的TDDR置0,定时器可以通过启动定时控制寄存器(TCR)完成以下操作:
第7章 TMS320C54x的片内外设、接口及应用 4. 定时器的初始化 复位时,TIM和PRD被设置为最大值(0FFFFH),TCR中的TDDR置0,定时器可以通过启动定时控制寄存器(TCR)完成以下操作: ● 设定定时器的工作方式; ● 设定预定标计数器中的当前数值; ● 启动或停止定时器; ● 重新装载定时器; ● 设置定时器的分频值。 2019年1月18日 DSP原理及应用
32
4. 定时器的初始化 第7章 TMS320C54x的片内外设、接口及应用 【例7.2.1】定时器自动装载定时。
第7章 TMS320C54x的片内外设、接口及应用 4. 定时器的初始化 【例7.2.1】定时器自动装载定时。 TSS=0:启动定时器;TRB=1:自动装载;TDDR=Ah:分频系数10 soft=1,free=0:计数器减至0时,停止工作;TCR=0AAAH。 定时周期:0101H;关闭定时器中断:IFR=0008H; 开放定时器中断:IMR=0008H。 STM #0000H,SWWSR STM #0010H,TCR STM #0101H,PRD STM #0AAAH,TCR STM #0080H,IFR STM #0080H,IMR RSBX INTM ;不插等待时间 ;TSS=0关闭定时器 ;加载周期寄存器(PRD) ;装入定时器控制字,启动定时器 ;消除尚未处理完的定时器中断 ;开放定时器中断 ;开放中断 2019年1月18日 DSP原理及应用
33
7.2 ’C54x的定时器 7.2.2 ’C54x定时器/计数器的应用 1.方波发生器
第7章 TMS320C54x的片内外设、接口及应用 7.2 ’C54x的定时器 7.2.2 ’C54x定时器/计数器的应用 1.方波发生器 (1)定时器初始化 例如:用TMS320VC5402实现方波发生器。假设时钟频率为4MHz,在XF端输出占空比为50%的方波,方波的周期由片上定时器确定,采用中断方法实现。 ● 关闭定时器,TCR中的TSS=1; ● 加载PRD。设定定时中断周期,每中断一次,输出端电平取反一次; ● 启动定时器,初始化TDDR,TSS=0,TRB=1。 2019年1月18日 DSP原理及应用
34
● 中断允许寄存器IFR中的定时中断位TINT=1,清除未处理完的定时中断;
第7章 TMS320C54x的片内外设、接口及应用 1.方波发生器 (2)中断初始化 ● 中断允许寄存器IFR中的定时中断位TINT=1,清除未处理完的定时中断; ● 中断屏蔽寄存器IMR中的定时屏蔽位TINT=1,开放定时中断; ● 状态控制寄存器ST1中的中断标志位INTM=0,开放全部中断。 2019年1月18日 DSP原理及应用
35
周期为8ms的方波发生器,定时中断周期为4ms,每中断一次,输出端电平取一次反。
第7章 TMS320C54x的片内外设、接口及应用 (3)方波发生器程序清单 程序清单: 周期为8ms的方波发生器,定时中断周期为4ms,每中断一次,输出端电平取一次反。 ;abc1.asm ;定时器0寄存器地址 TIM .set H PRD .set H TCR .set H ;K_TCR0:设置定时器控制寄存器的内容 K_TCR0_SOFT .set 0b ;Soft=0 K_TCR0_FREE .set 0b ;Free=0 K_TCR0_PSC .set b ;PSC=9H K_TCR0_TRB .set 1b ;TRB=1 K_TCR0_TSS .set 0b ;TSS=0 K_TCR0_TDDR .set b ;TDDR=9 K_TCR set K_TCR0_SOFT| K_TCR0_FREE| K_TCR0_PSC| K_TCR0_TRB| K_TCR0_TSS| K_TCR0_TDDR 2019年1月18日 DSP原理及应用
36
(3)方波发生器程序清单 第7章 TMS320C54x的片内外设、接口及应用 程序清单: ;初始化定时器0
第7章 TMS320C54x的片内外设、接口及应用 (3)方波发生器程序清单 程序清单: ;初始化定时器0 ;根据定时长度计算公式:Tt=T* (TDDR+1) * (PRD+1) ;给定TDDR=9,PRD=1599,CLKOUT主频f=4MHz,T=250ns ;Tt=250*(9+1)*(1599+1)=4,000,000(ns)=4(ms) STM #1599,TIM0 STM #1599,PRD0 STM #K_TCR0,TCR ;启动定时器0中断 RET ;定时器0的中断服务子程序:通过引脚XF给出周期为8ms的占空比 ;为50%的方波波形 t0_flag .usect “vars”,1 ;当前XF输出电平标志位 ;若t0_flag=1,则XF=1 ;若t0_flag=0,则XF=0 2019年1月18日 DSP原理及应用
37
第7章 TMS320C54x的片内外设、接口及应用 time0_rev: PSHM TRN PSHM T PSHM ST0 PSHM ST1
第7章 TMS320C54x的片内外设、接口及应用 time0_rev: PSHM TRN PSHM T PSHM ST0 PSHM ST1 BITF t0_flag,#1 BC xf_out,NTC SSBX XF ST #0,t0_flag B next xf_out: RSBX XF ST #1,t0_flag next: POPM ST1 POPM ST0 POPM T POPM TRN RETE 2019年1月18日 DSP原理及应用
38
对于周期信号的周期检测,可在信号的每个周期内发出一个脉冲,然后通过程序计算两个脉冲之间的时间来确定信号的周期。
第7章 TMS320C54x的片内外设、接口及应用 7.2.2 ’C54x定时器/计数器的应用 2.周期信号的周期检测 对于周期信号的周期检测,可在信号的每个周期内发出一个脉冲,然后通过程序计算两个脉冲之间的时间来确定信号的周期。 当脉冲来临时,触发外部中断INT0。外部中断INT0用来记录脉冲,定时器0用来记录时间。 为了增加计时长度,可在程序中设置一级计数器。定时器0的寄存器用来记录低位时间,程序中的计数器用来记录高位时间,在外部中断服务程序中读取时间。在定时器0中断服务程序中对计数器加1,实现低位时间的进位。 2019年1月18日 DSP原理及应用
39
2.周期信号的周期检测 第7章 TMS320C54x的片内外设、接口及应用 程序清单如下: ;abc3.asm ;定时器0寄存器地址
第7章 TMS320C54x的片内外设、接口及应用 2.周期信号的周期检测 程序清单如下: ;abc3.asm ;定时器0寄存器地址 TIM0 .set H PRD0 .set H TCR0 .set H TSSSET .set H TSSCLR .set 0ffefH ;K_TCR0:设置定时器控制寄存器的内容 K_TCR0_SOFT .set 0b ;Soft=0 K_TCR0_FREE .set 0b ;Free=0 K_TCR0_PSC .set b ;PSC=15 K_TCR0_TRB .set 1b ;TRB=1 2019年1月18日 DSP原理及应用
40
K_TCR0_TDDR .set 1111b ;TDDR=15
第7章 TMS320C54x的片内外设、接口及应用 程序清单如下: K_TCR0_TSS set 0b ;TSS=0 K_TCR0_TDDR set b ;TDDR=15 K_TCR set K_TCR0_SOFT| K_TCR0_FREE| K_TCR0_PSC| K_TCR0_TRB| K_TCR0_TSS| K_TCR0_TDDR t_counter usect “vars”,1 t_ptr_counter .uset “vars”,1 tim_ptr_counter .usect “vars”,1 tcr_ptr_counter .usect “vars”,1 ;变量定义 t_array usect “vars”,15 tim_array usect “vars”,15 tcr_array usect “vars”,15 .asg AR7,t_ptr .asg AR6,tim_ptr .asg AR5,tcr_ptr 2019年1月18日 DSP原理及应用
41
;定时长度=T*(TDDR+1)*(PRD+1),本程序中TDDR=11,PRD=32767, ;主频为f,T=1/f
第7章 TMS320C54x的片内外设、接口及应用 程序清单如下: _inittime: ;初始化定时器0,定时长度为T*393,216 ;定时长度=T*(TDDR+1)*(PRD+1),本程序中TDDR=11,PRD=32767, ;主频为f,T=1/f STM #32767,TIM0 STM #32767,PRD0 STM # K_TCR0,TCR0 ST #0,*(t_counter) ST #t_array,*( t_ptr_counter) ST #tim_array,*( tim_ptr_counter) ST #tcr_array,*( tcr_ptr_counter) RET 2019年1月18日 DSP原理及应用
42
;外部中断INT0,在脉冲来时被激活并响应服务子程序,从脉冲响应 ;到响应存在延迟 int0isr:PSHM ST0 PSHM ST1
第7章 TMS320C54x的片内外设、接口及应用 程序清单如下: ;外部中断INT0,在脉冲来时被激活并响应服务子程序,从脉冲响应 ;到响应存在延迟 int0isr:PSHM ST0 PSHM ST1 PSHM t_ptr PSHM tim_ptr PSHM tcr_ptr PSHM AL PSHM AH PSHM AG PSHM BL PSHM BH PSHM BG 2019年1月18日 DSP原理及应用
43
;将当前存储地址加载到地址指针即寄存器中 LD *(t_ptr_counter),A STM A,t_ptr
第7章 TMS320C54x的片内外设、接口及应用 程序清单如下: ;将当前存储地址加载到地址指针即寄存器中 LD *(t_ptr_counter),A STM A,t_ptr LD *(tim_ptr_counter),A STM A,tim_ptr LD *( tcr_ptr_counter),A STM A,tcr_ptr ;用户手册上建议,为精确计时,读寄存器时,先停止定时器 ORM TSSSET,TCR0 ;停止定时器 LDM TIM0,A ;读TIM0寄存器,需1个CLKOUT周期 LDM TCR0,B ;读TCR0寄存器,需1个CLKOUT周期 ANDM TSSCLR,TCR0 ;打开定时器,运行该指令需1个 ;CLKOUT周期 2019年1月18日 DSP原理及应用
44
;由于读定时器的寄存器,定时器停止计时共3个CLKOUT周期 STL A,*tim_ptr ;读TIM0寄存器,保存
第7章 TMS320C54x的片内外设、接口及应用 程序清单如下: ;由于读定时器的寄存器,定时器停止计时共3个CLKOUT周期 STL A,*tim_ptr ;读TIM0寄存器,保存 AND #0FH,B ;取TCR0寄存器的低4位,即TDDR STL B,*tcr_ptr ;保存 LD *( t_counter),A STL A,* t_ptr ;读到的时间=脉冲到来的时间+延迟响应时间t1+停止定时器之前运行程序的时间 ADDM #1,*(t_ptr_counter) ADDM #1,*(tim_ptr_counter) ADDM #1,*(tcr_ptr_counter) 2019年1月18日 DSP原理及应用
45
Time0isr:ANDM #1,*(t_counter)
第7章 TMS320C54x的片内外设、接口及应用 程序清单如下: POPM BG POPM BH POPM BL POPM AG POPM AH POPM A POPM tcr_ptr POPM tim_ptr POPM t_ptr POPM ST1 POPM ST0 RETE Time0isr:ANDM #1,*(t_counter) 2019年1月18日 DSP原理及应用
46
检测输入脉冲频率是通过外部中断请求输入来实现。定时器的定时时间是根据所检测输入信号的周期来设定。
第7章 TMS320C54x的片内外设、接口及应用 7.2.2 ’C54x定时器/计数器的应用 3.脉冲频率监测 检测输入脉冲频率是通过外部中断请求输入来实现。定时器的定时时间是根据所检测输入信号的周期来设定。 根据设定时间内所检测脉冲的个数,计算被检测输入信号的频率。 第一个负跳变触发定时器工作,每输入一个负跳变计一个数。当达到设定时间时,定时器停止工作。则此时定时器的时间值与所计脉冲数相除,所得的结果就是所测输入信号的周期。 2019年1月18日 DSP原理及应用
47
3.脉冲频率监测 第7章 TMS320C54x的片内外设、接口及应用 程序清单: ;abc4.asm .mmregs ;定时器0寄存器地址
第7章 TMS320C54x的片内外设、接口及应用 3.脉冲频率监测 程序清单: ;abc4.asm .mmregs ;定时器0寄存器地址 TIM0 .set H PRD0 .set H TCR0 .set H TSSSET .set H TSSCLR .set 0ffefH ;K_TCR0:设置定时器控制寄存器的内容 K_TCR0_SOFT .set 0b ;Soft=0 K_TCR0_FREE .set 0b ;Free=0 K_TCR0_PSC .set b ;PSC=15 K_TCR0_TRB .set 1b ;TRB=1 K_TCR0_TSS .set 0b ;TSS=0 K_TCR0_TDDR .set b ;TDDR=15 2019年1月18日 DSP原理及应用
48
3.脉冲频率监测 第7章 TMS320C54x的片内外设、接口及应用 程序清单:
第7章 TMS320C54x的片内外设、接口及应用 3.脉冲频率监测 程序清单: K_TCR set K_TCR0_SOFT|K_TCR0_FREE| K_TCR0_PSC|K_TCR0_TRB|K_TCR0_TSS|K_TCR0_TDDR t_counter usect “vars”,1 ;变量定义 t_ptr_counter .usect “vars”,1 tim_ptr_counter .usect “vars”,1 tcr_ptr_counter .usect “vars”,1 t_array usect “vars”,20 tim_array usect “vars”,20 tcr_array usect “vars”,20 .asg AR7,t_ptr .asg AR6,tim_ptr .asg AR5,tcr_ptr t0_time usect “vars”,1 t0_end usect “vars”,1 2019年1月18日 DSP原理及应用
49
3.脉冲频率监测 第7章 TMS320C54x的片内外设、接口及应用 程序清单: intex_sub: ;外部脉冲中断子程序
第7章 TMS320C54x的片内外设、接口及应用 3.脉冲频率监测 程序清单: intex_sub: ;外部脉冲中断子程序 PSHM TRN PSHM T PSHM ST0 PSHM ST1 ADD tim_ptr_counter,#1 ;脉冲计数器加1 POPM ST1 POPM ST0 POPM T POPM TRN RETE 2019年1月18日 DSP原理及应用
50
3.脉冲频率监测 第7章 TMS320C54x的片内外设、接口及应用 程序清单: Int0_sub: ;定时器中断子程序 PSHM TRN
第7章 TMS320C54x的片内外设、接口及应用 3.脉冲频率监测 程序清单: Int0_sub: ;定时器中断子程序 PSHM TRN PSHM T PSHM ST0 PSHM ST1 LD t0_end,#1 POPM ST1 POPM ST0 POPM T POPM TRN RETE 2019年1月18日 DSP原理及应用
51
7.3 ’C54x的串行口 ’C54x为用户提供了丰富的同步串行口,可与双向串口器件实现高效的串行通信。 ’C54x的串行口有四种类型:
第7章 TMS320C54x的片内外设、接口及应用 7.3 ’C54x的串行口 ’C54x为用户提供了丰富的同步串行口,可与双向串口器件实现高效的串行通信。 ’C54x的串行口有四种类型: 标准同步串口SP 缓冲同步串口BSP 多路缓冲串口McBSP 时分多路同步串口TMD 2019年1月18日 DSP原理及应用
52
7.3 ’C54x的串行口 不同型号的芯片所带串口类型不同。 第7章 TMS320C54x的片内外设、接口及应用 芯片型号 SP BSP
第7章 TMS320C54x的片内外设、接口及应用 7.3 ’C54x的串行口 不同型号的芯片所带串口类型不同。 芯片型号 SP BSP McBSP TMD ’C541 2 ’C542 1 ’C543 ’C545 ’C546 ’C548 ’C549 ’C5402 ’C5409 3 ’C5410 ’C5416 ’C5420 6 2019年1月18日 DSP原理及应用
53
7.3 ’C54x的串行口 7.3.1 标准同步串行口SP 1.SP串口结构 结构组成: 数据接收寄存器DRR; 数据发送寄存器DXR;
第7章 TMS320C54x的片内外设、接口及应用 7.3 ’C54x的串行口 7.3.1 标准同步串行口SP 1.SP串口结构 结构组成: 数据接收寄存器DRR; 数据发送寄存器DXR; 接收移位寄存器RSR; 发送移位寄存器XSR; 二个装载控制逻辑电路; 二个位/字控制计数器。 2019年1月18日 DSP原理及应用
54
1.SP串口结构 标准同步串行口结构: 第7章 TMS320C54x的片内外设、接口及应用 数据总线 数据发送寄存器 DXR(16位)
第7章 TMS320C54x的片内外设、接口及应用 1.SP串口结构 标准同步串行口结构: 数据总线 数据发送寄存器 DXR(16位) 16 发送移位寄存器 XSR(16位) 装载控 制逻辑 位/字控制 计数器 数据接收寄存器 DRR(16位) 接收移位寄存器 RSR(16位) RINT XINT DR DX FSR CLKR CLKX FSX Clear Clock 2019年1月18日 DSP原理及应用
55
1.SP串口结构 标准同步串行口的外部引脚: 第7章 TMS320C54x的片内外设、接口及应用 接收通道 发送通道 引 脚 说 明 引脚
第7章 TMS320C54x的片内外设、接口及应用 1.SP串口结构 标准同步串行口的外部引脚: 接收通道 发送通道 引 脚 说 明 引脚 CLKR 接收时钟信号 CLKX 发送时钟信号 DR 接收串行数据信号 DX 发送串行数据信号 FSR 接收帧同步信号 FSX 发送帧同步信号 2019年1月18日 DSP原理及应用
56
16位的存储器映像数据接收寄存器,用来保存来自RSR寄存器并将要写到数据总线的输入数据。复位时,DRR被清除。
第7章 TMS320C54x的片内外设、接口及应用 1.SP串口结构 标准同步串行口各部分的功能: (1) 数据接收寄存器DRR 16位的存储器映像数据接收寄存器,用来保存来自RSR寄存器并将要写到数据总线的输入数据。复位时,DRR被清除。 (2) 数据发送寄存器DXR 16位的存储器映像数据发送寄存器,用来保存来自数据总线并将要加载到XSR的外部串行数据。复位时,DXR被清除。 2019年1月18日 DSP原理及应用
57
16位的数据接收移位寄存器,用来保存来自串行数据接收(DR)引脚的输入数据,并控制数据到DRR的传输。
第7章 TMS320C54x的片内外设、接口及应用 1.SP串口结构 (3) 数据接收移位寄存器RSR 16位的数据接收移位寄存器,用来保存来自串行数据接收(DR)引脚的输入数据,并控制数据到DRR的传输。 (4) 数据发送移位寄存器XSR 16位数据发送移位寄存器,用来控制来自DXR的外部数据的传输,并保存将要发送到串行数据发送引脚的数据。 2019年1月18日 DSP原理及应用
58
16位的存储器映像串行接口控制寄存器,用来保存串行接口的模式控制和状态位。
第7章 TMS320C54x的片内外设、接口及应用 1.SP串口结构 (5) 串行接口控制寄存器SPC 16位的存储器映像串行接口控制寄存器,用来保存串行接口的模式控制和状态位。 (6) 控制电路 用于控制串行口协调工作,分为: 装载控制电路:完成接收和发送数据的装载; 位/字控制计数器:完成位/字传输控制。 2019年1月18日 DSP原理及应用
59
1.SP串口结构 例如:完成两个’C54x串行通信的连接。 第7章 TMS320C54x的片内外设、接口及应用 ’C54x ’C54x DR
第7章 TMS320C54x的片内外设、接口及应用 1.SP串口结构 例如:完成两个’C54x串行通信的连接。 ’C54x DX FSX CLKX 发 送 ’C54x DR FSR CLKR 接 收 2019年1月18日 DSP原理及应用
60
② 当上一个数据发送完后,DXR的数据自动装入XSR;
第7章 TMS320C54x的片内外设、接口及应用 1.SP串口结构 发送过程: ① 发送数据装入DXR; ② 当上一个数据发送完后,DXR的数据自动装入XSR; ③ 在发送帧同步信号FSX和发送时钟CLKX作用下,将XSR的数据通过引脚DX发送输出。 接收过程: ① 在接收帧同步信号FSR和接收时钟CLKR作用下,接收数据通过DR引脚移至RSR中; ② 当RSR满时,将数据装入DRR中。 2019年1月18日 DSP原理及应用
61
2. 控制寄存器SPC 第7章 TMS320C54x的片内外设、接口及应用 SPC用于控制串行口的操作。 SPCH 仿真 控制 接收移位
第7章 TMS320C54x的片内外设、接口及应用 2. 控制寄存器SPC SPC用于控制串行口的操作。 15 14 13 12 11 10 9 8 SPCH Free Soft RSRFULL XSREMPTY XRDY RRDY IN1 IN0 仿真 控制 接收移位 寄存器 满 发送移位 空 发送 准备 好 接收 时钟 状态 7 6 5 4 3 2 1 SPCL RRST XRST TXM MCM FSM FO DLB Res 接收 复位 发送 模式 时钟 选择模式 帧 同步 数据 格式 回送模式 保留 R/W R 2019年1月18日 DSP原理及应用
62
RES:保留位,用于单’C54x测试串行口代码,总读为0。 DLB:数字回送模式位,用于设置串行接口数据回送模式。
第7章 TMS320C54x的片内外设、接口及应用 7 6 5 4 3 2 1 SPCL RRST XRST TXM MCM FSM FO DLB RES RES:保留位,用于单’C54x测试串行口代码,总读为0。 DLB:数字回送模式位,用于设置串行接口数据回送模式。 1 DR DX (内部) DLB FSR FSX CLKR CLKX & MUX MCM 当DLB=0时,为禁止数据回送模式。 DR、FSR和CLKR信号来自它们各自器件引脚; 当DLB=1时,为使能数据回送模式。 DR和FSR分别选通DX和FSX; 若MCM=1,则输出时钟CLKR选择片内时钟CLKX; 若MCM=0,则输出时钟CLKR选择片外时钟CLKR。 2019年1月18日 DSP原理及应用
63
当FO=1时,接/发数据按8位字节传输,先送高8位; 当FO=0时,接/发数据按16位字节传输。
第7章 TMS320C54x的片内外设、接口及应用 7 6 5 4 3 2 1 SPCL RRST XRST TXM MCM FSM FO DLB RES FO:数据格式位。 用于定义串行口发送/接收数据的字长。 当FO=1时,接/发数据按8位字节传输,先送高8位; 当FO=0时,接/发数据按16位字节传输。 FSM:帧同步模式位。 用来定义串行口工作时,在初始帧同步脉冲之后,是否还要求FSX和FSR帧同步脉冲。 当FSM=1时,串行口工作在字符组方式; 当FSM=0时,串行口工作在连续方式。 2019年1月18日 DSP原理及应用
64
若MCM=1,CLKX配置成输出,采用内部时钟源; 若MCM=0,CLKX配置成输入,采用外部时钟源。
第7章 TMS320C54x的片内外设、接口及应用 7 6 5 4 3 2 1 SPCL RRST XRST TXM MCM FSM FO DLB RES MCM:时钟选择模式位。 用来设定CLKX的时钟源。 若MCM=1,CLKX配置成输出,采用内部时钟源; 若MCM=0,CLKX配置成输入,采用外部时钟源。 TXM:发送模式位。 用于设定帧同步脉冲FSX的来源。 当TXM=1时,FSX设置成输出,由片内产生帧同步脉冲; 当TXM=0时,FSX设置成输入,由外部提供帧同步脉冲。 2019年1月18日 DSP原理及应用
65
当XRST=0时,串行口处于复位状态,停止操作。
第7章 TMS320C54x的片内外设、接口及应用 7 6 5 4 3 2 1 SPCL RRST XRST TXM MCM FSM FO DLB RES XRST:发送复位位。 用来对串行口发送器进行复位。 当XRST=1时,串行口处于工作状态; 当XRST=0时,串行口处于复位状态,停止操作。 RRST:接收复位位。 用来对串行口接收器进行复位。 当RRST=1时,串行口处于工作状态; 当RRST=0时,串行口处于复位状态,停止操作。 2019年1月18日 DSP原理及应用
66
用于检测接收移位寄存器RSR接收数据的状态。
第7章 TMS320C54x的片内外设、接口及应用 15 14 13 12 11 10 9 8 SPCH Free Soft RSRFULL XSREMPTY XRDY RRDY IN1 IN0 IN0:接收时钟状态位。 用于显示接收时钟CLKR当前状态。 IN1:发送时钟状态位。 用于显示发送时钟CLKX当前状态。 RRDY:接收准备好位。 用于检测接收移位寄存器RSR接收数据的状态。 RRDY由0变1,表示RSR中的内容已复制到接收数据寄存器DRR中,同时串行口产生接收中断RINT。 2019年1月18日 DSP原理及应用
67
用于检测发送寄存器DXR发送数据的状态。
第7章 TMS320C54x的片内外设、接口及应用 15 14 13 12 11 10 9 8 SPCH Free Soft RSRFULL XSREMPTY XRDY RRDY IN1 IN0 XRDY:发送准备好位。 用于检测发送寄存器DXR发送数据的状态。 XRDY由0变1,表示DXR中的内容已复制到发送移位寄存器XSR中,同时串行口产生发送中断XINT。 XSREMPTY:发送移位寄存器空位。 用于反映发送移位寄存器的状态。 当发生如下情况时,XSREMPTY=0,暂停发送数据: ① 发送移位寄存器XSR已空,而DXR仍未加载; ② 发送复位XRST=0; ③ 芯片复位RS=0。 2019年1月18日 DSP原理及应用
68
用来反映接收移位寄存器的状态,高电平有效。 在FSM=1时,下述条件同时发生时,RSRFULL=1:
第7章 TMS320C54x的片内外设、接口及应用 15 14 13 12 11 10 9 8 SPCH Free Soft RSRFULL XSREMPTY XRDY RRDY IN1 IN0 RSRFULL:接收移位计数器满。 用来反映接收移位寄存器的状态,高电平有效。 在FSM=1时,下述条件同时发生时,RSRFULL=1: ① 上次从RSR传到DRR的数据还没有读出; ② RSR已满; ③ 一个帧同步脉冲已出现在FSR端。 在FSM=0时,若满足前两个条件,RSRFULL=1。 当发生如下情况时,RSRFULL=0: ① 读取DRR中的数据; ② 接收复位RRST=0; ③ 芯片复位RS=0。 2019年1月18日 DSP原理及应用
69
用于调试程序遇到断点时决定串行口的时钟状态。
第7章 TMS320C54x的片内外设、接口及应用 15 14 13 12 11 10 9 8 SPCH Free Soft RSRFULL XSREMPTY XRDY RRDY IN1 IN0 Free、Soft:仿真控制位。 用于调试程序遇到断点时决定串行口的时钟状态。 Free Soft 串行时钟状态 立即停止串行口时钟,结束传输数据。 1 接收数据不受影响,若正在发送数据,则等待当前数据发送后停止。 x 出现断点,时钟不停,数据继续移位。 2019年1月18日 DSP原理及应用
70
3.标准串口SP的操作 第7章 TMS320C54x的片内外设、接口及应用 串口初始化步骤:
第7章 TMS320C54x的片内外设、接口及应用 3.标准串口SP的操作 串口初始化步骤: ① 复位,并且把0038H(或0008H)写到SPC,初始化串行接口。 ② 把00C0H写到IFR,清除任何挂起的串行接口中断。 ③ 把00C0H和IMR求或逻辑运算,使能串行接口中断。 ④ 清除ST1的INTM位,使能全局中断。 ⑤ 把00F8H(或00C8H)写入SPC,启动串行接口。 ⑥ 把第一个数据写到DXR。 如果这个串行接口与另一个处理器的串行接口连接,而且这个处理器产生一个帧同步信号SFX,则在写这个数据之前必须有握手信号。 2019年1月18日 DSP原理及应用
71
② 读DRR或写DXR,或者同时进行两种操作。从DRR读出的数据写到内储器中预定单元,写到DXR的数据从存储器的指定单元取出。
第7章 TMS320C54x的片内外设、接口及应用 3.标准串口SP的操作 串口中断服务程序步骤: ① 保存上下文到堆栈中。 ② 读DRR或写DXR,或者同时进行两种操作。从DRR读出的数据写到内储器中预定单元,写到DXR的数据从存储器的指定单元取出。 ③ 恢复现场。 ④ 用RETE从中断子程序返回,并重新使能中断。 2019年1月18日 DSP原理及应用
72
第7章 TMS320C54x的片内外设、接口及应用 7.3 ’C54x的串行口 7.3.2 缓冲同步串行口BSP 缓冲同步串行接口BSP是一个全双工、双缓冲的串行接口。它是在SP的基础上增加一个自动缓冲单元ABU。 ABU是一种增强型标准串行口。它提供与其他串口工作器件的接口,如编码器、串行A/D转换器等。 BSP串口允许使用8,10,12,16位连续通信流数据包,为发送提供帧同步脉冲及一个可编程频率的串行时钟,最大的操作频率是CLKOUT。 2019年1月18日 DSP原理及应用
73
BSP由一个复用的双缓冲串行接口组成,它的各项功能类似于标准串口,只是多了一个自动缓冲单元ABU。
第7章 TMS320C54x的片内外设、接口及应用 7.3.2 缓冲同步串行口BSP 1. BSP结构 BSP由一个复用的双缓冲串行接口组成,它的各项功能类似于标准串口,只是多了一个自动缓冲单元ABU。 ABU是一个附加逻辑电路,允许串口直接对内存读写,不需要CPU参与,可以节省时间,实现串口与CPU的并行操作。 2019年1月18日 DSP原理及应用
74
第7章 TMS320C54x的片内外设、接口及应用 1. BSP结构 2019年1月18日 DSP原理及应用
75
ABU的功能:是利用专用总线,控制串行口直接与’C54x的内部存储器进行数据交换。
第7章 TMS320C54x的片内外设、接口及应用 1. BSP结构 ABU的功能:是利用专用总线,控制串行口直接与’C54x的内部存储器进行数据交换。 ABU单元含有5个寄存器: ① 11位的地址发射寄存器AXR; ② 11位的块长度发送寄存器BKX; ③ 11位的地址接收寄存器ARR; ④ 11位的块长度接收寄存器BKR; ⑤ 16位的串口控制寄存器BSPCE。 2019年1月18日 DSP原理及应用
76
除了能进行8,16位串行数据通讯外,还可以传送10,12位字。
第7章 TMS320C54x的片内外设、接口及应用 7.3.2 缓冲同步串行口BSP 2. BSP的控制寄存器BSPCE BSP的扩展功能包括: 具有可编程串口的时钟速率; 可选择时钟和帧同步信号的正负极性; 除了能进行8,16位串行数据通讯外,还可以传送10,12位字。 允许设置忽略或不忽略帧同步信号; 为使用PMC接口提供一个专用的操作模式。 2019年1月18日 DSP原理及应用
77
BSPCE寄存器包含控制位和状态位,用于控制BSP和ABU的增强功能。寄存器的低10位用于增强特性控制,高6位用于ABU控制。
第7章 TMS320C54x的片内外设、接口及应用 2. BSP的控制寄存器BSPCE BSPCE寄存器包含控制位和状态位,用于控制BSP和ABU的增强功能。寄存器的低10位用于增强特性控制,高6位用于ABU控制。 15~10 9 8 7 6 5 4~0 BSPCE ABU控制 PCM FIG FE CLKP FSP CLKDV ABU 控制位 脉冲编码 模式位 帧同步信号选择位 扩展 格式位 时钟极性 设置位 帧同步极 性设置位 发送时钟 分频因数 2019年1月18日 DSP原理及应用
78
PCM:PCM脉冲编码模式位,用于设置串口工作于编码模式。
第7章 TMS320C54x的片内外设、接口及应用 2. BSP的控制寄存器BSPCE BSPCE寄存器各位功能: ABU控制:用于自动缓冲单元的控制。 PCM:PCM脉冲编码模式位,用于设置串口工作于编码模式。 这种PCM模式只影响发送器。BDXR到BXSR转换不受PCM编码位的影响。 ① PCM=0,清除脉冲编码模式; ② PCM=1,设置脉冲编码模块模式。 2019年1月18日 DSP原理及应用
79
FIG:帧同步信号选择位,该位仅在连续发送模式下且具有外部帧同步信号, 以及连续接收模式下工作。
第7章 TMS320C54x的片内外设、接口及应用 2. BSP的控制寄存器BSPCE FIG:帧同步信号选择位,该位仅在连续发送模式下且具有外部帧同步信号, 以及连续接收模式下工作。 ① FIG=0,第一个帧脉冲之后的帧同步脉冲重新启动发送; ② FIG=1,忽略帧同步信号。 2019年1月18日 DSP原理及应用
80
FE:格式扩展位,用于和SPC中的FO位一起指定字长。
第7章 TMS320C54x的片内外设、接口及应用 2. BSP的控制寄存器BSPCE FE:格式扩展位,用于和SPC中的FO位一起指定字长。 FO FE 字长 16位 1 10位 8位 12位 2019年1月18日 DSP原理及应用
81
CLKP:时钟极性设置位,用于设定接收和发送时,何时采样数据。
第7章 TMS320C54x的片内外设、接口及应用 2. BSP的控制寄存器BSPCE CLKP:时钟极性设置位,用于设定接收和发送时,何时采样数据。 CLKP=0时,接收器在BCLKR的下降沿采样数据,发送器在BCLKX的上升沿发送数据; CLKP=1时,接收器在BCLKR的上升沿采样数据,发送器在BCLKX的下降沿发送数据。 FSP:帧同步极性设置位,用于设定帧同步脉冲触发电平高低。 FSP=0,帧同步脉冲(BFSX和BFSR)高电平激活; FSP=1,帧同步脉冲(BFSX和BFSR)低电平激活。 2019年1月18日 DSP原理及应用
82
CLKDV:CLKDV内部发送时钟分频因数。
第7章 TMS320C54x的片内外设、接口及应用 2. BSP的控制寄存器BSPCE CLKDV:CLKDV内部发送时钟分频因数。 当BSPC的MCM=1时,CLKX由片上的时钟源驱动,其频率为CLKOUT/(CLKDV+1),CLKDV的取值范围是0~31。 当CLKDV为奇数或0时,CLKX的占空比为50%; 当CLKDV为偶数时,其占空比依赖于CLKP: CLKP=0,占空比为(P+1)/P; CLKP=1,占空比为P/(P+1)。 2019年1月18日 DSP原理及应用
83
ABU的功能是自动控制串口与内部’C54x存储器之间的数据传输,且不需要CPU干预。
第7章 TMS320C54x的片内外设、接口及应用 7.3.2 缓冲同步串行口BSP 3. ABU自动缓冲单元 ABU的功能是自动控制串口与内部’C54x存储器之间的数据传输,且不需要CPU干预。 工作方式:非缓冲方式和自动缓冲方式。 非缓冲方式:即标准方式,与SP相同。 自动缓冲方式:在ABU的控制下,串行口直接与C54x的内部存储器进行16位数据块传输。当传输的数据长度是数据块长度的一半或整个长度时,产生中断。 2019年1月18日 DSP原理及应用
84
HALTR(15):自动缓冲接收停止位,用于决定当缓冲区已接收到一半时,自动缓冲是否暂停
第7章 TMS320C54x的片内外设、接口及应用 3. ABU自动缓冲单元 ABU寄存器功能: HALTR(15):自动缓冲接收停止位,用于决定当缓冲区已接收到一半时,自动缓冲是否暂停 HALTR=0,当缓冲区接收到一半时,继续操作; HALTR=1,当缓冲区接收到一半时,自动缓冲停止。 RH(14):接收缓冲区半满,用来指明接收缓冲区哪一半已经填满。 RH=0:表示缓冲区的前半部分被填满,当前接收的数据正存入后半部分缓冲区; RH=1:表示后半部分缓冲区被填满,当前接收的数据正填入前半部分缓冲区。 2019年1月18日 DSP原理及应用
85
BRE(13):自动接收使能控制位,用于控制自动缓冲接收。 BRE=0:自动接收禁止,串口工作于标准模式; BRE=1:接收器自动接收允许。
第7章 TMS320C54x的片内外设、接口及应用 3. ABU自动缓冲单元 BRE(13):自动接收使能控制位,用于控制自动缓冲接收。 BRE=0:自动接收禁止,串口工作于标准模式; BRE=1:接收器自动接收允许。 HALTX(12):自动缓冲发送禁止,用于控制自动缓冲发送是否暂停。 HALTX=0:当一半缓冲区发送完成后,自动缓冲继续工作; HALTX=1:当一半缓冲区发送完成后,自动缓冲停止。此时,BRE清零,串口继续工作于标准模式。 2019年1月18日 DSP原理及应用
86
XH(11):发送缓冲区半满。用来表示发送缓冲区哪一半已经发送。
第7章 TMS320C54x的片内外设、接口及应用 3. ABU自动缓冲单元 XH(11):发送缓冲区半满。用来表示发送缓冲区哪一半已经发送。 XH=0:缓冲区前半部分发送完成,当前发送数据取自缓冲区的后半部分; XH=1:缓冲区后半部分发送完成,当前发送数据取自缓冲区的前半部分。 BXE(10):自动缓冲发送使能位,用来控制自动缓冲发送。 BXE=0:禁止自动缓冲发送, 串行接口工作于标准模式; BXE=1:允许自动缓冲发送功能。 2019年1月18日 DSP原理及应用
87
7.3.2 缓冲同步串行口BSP 4. BSP的初始化 BSP发送初始化步骤: 第7章 TMS320C54x的片内外设、接口及应用
第7章 TMS320C54x的片内外设、接口及应用 7.3.2 缓冲同步串行口BSP 4. BSP的初始化 BSP发送初始化步骤: ① 把0008H写到BSPCE寄存器,复位和初始化串口; ② 把0020H写到IFR,清除挂起的串口中断; ③ 把0020H与IMR进行或操作,使能串口中断; ④ 清除ST1的INTM位,使能全局中断; ⑤ 把1400H写到BSPCE寄存器,初始化ABU的发送器; ⑥ 把缓冲区开始地址写到AXR; ⑦ 把缓冲长度写到BKX; ⑧ 把0048H写到BSPCE,开始串口操作。 2019年1月18日 DSP原理及应用
88
4. BSP的初始化 BSP接收初始化步骤: 第7章 TMS320C54x的片内外设、接口及应用
第7章 TMS320C54x的片内外设、接口及应用 4. BSP的初始化 BSP接收初始化步骤: ① 把0000H写到BSPCE寄存器,复位和初始化串口; ② 把0010H写到IFR,清除挂起的串口中断; ③ 把0010H与IMR进行或操作,使能串口中断; ④ 清除ST1的INTM位,使能全局中断; ⑤ 把2160H写到BSPCE寄存器,初始化ABU的发送器; ⑥ 把缓冲开始地址写到ARR; ⑦ 把缓冲长度写到BKR; ⑧ 把0080H写到BSPCE寄存器,开始串口操作。 2019年1月18日 DSP原理及应用
89
第7章 TMS320C54x的片内外设、接口及应用 7.3 ’C54x的串行口 7.3.3 时分复用串行口TDM TDM串口可以使’C54x器件最多与7个其他器件进行时分串行通信。为多处理器应用提供了一种简单有效的接口。 时分复用操作是将与不同器件的通信按时间依次分为时间段,周期性分别按时间顺序与不同的器件进行通信的工作方式。每个器件占用各自的通信时段(信道),循环往复地传送数据。 2019年1月18日 DSP原理及应用
90
7.3.3 时分复用串行口TDM 4信道的TDM框图。 第7章 TMS320C54x的片内外设、接口及应用 2019年1月18日
第7章 TMS320C54x的片内外设、接口及应用 7.3.3 时分复用串行口TDM 4信道的TDM框图。 2019年1月18日 DSP原理及应用
91
非TDM方式:称为标准方式,与SP相同。
第7章 TMS320C54x的片内外设、接口及应用 7.3.3 时分复用串行口TDM 工作方式:非TDM方式和TDM方式。 非TDM方式:称为标准方式,与SP相同。 TDM方式:是将与多个不同器件的通信按时间依次划分成若干个信道,TDM周期性地按时间顺序与不同信道的器件进行串行通信。 TDM串口操作通过6个存储器映像寄存器和2个其他专用寄存器来实现。 这些寄存器分别为TRCV、TDXR、TSPC、TCSR、TRTA、TRAD、TRSR和TXSR。 2019年1月18日 DSP原理及应用
92
16位存储器映像寄存器,用来保存接收的串行数据,功能与DRR相同。
第7章 TMS320C54x的片内外设、接口及应用 7.3.3 时分复用串行口TDM 各寄存器功能如下: ① TDM数据接收寄存器TRCV 16位存储器映像寄存器,用来保存接收的串行数据,功能与DRR相同。 ② TDM数据发送寄存器TDXR 16位存储器映像寄存器,用来保存发送的串行数据,功能与DXR相同。 2019年1月18日 DSP原理及应用
93
16位存储器映像寄存器,包含TDM的模式控制或状态控制位。
第7章 TMS320C54x的片内外设、接口及应用 7.3.3 时分复用串行口TDM 各寄存器功能如下: ③ TDM串口控制寄存器TSPC 16位存储器映像寄存器,包含TDM的模式控制或状态控制位。 第0位是TDM模式控制位,用来配置串行接口。 TDM=1,多路复用通信方式; TDM=0,标准串口接口工作方式。 其他各位的定义与SPC相同。 2019年1月18日 DSP原理及应用
94
16位存储器映像寄存器,存留TDM地址线的各种状态信息。 ⑤ TDM通道选择寄存器TCSR
第7章 TMS320C54x的片内外设、接口及应用 7.3.3 时分复用串行口TDM ④ TDM接收地址寄存器TRAD 16位存储器映像寄存器,存留TDM地址线的各种状态信息。 ⑤ TDM通道选择寄存器TCSR 16位存储器映像寄存器,指定每个通信器件发送操作时间段。 ⑥ TDM发送/接收地址寄存器TRTA 16位存储器映像寄存器,低8位(RA0~RA7)为接收地址,高8位(TA0~TA7)发送地址。 2019年1月18日 DSP原理及应用
95
16位专用寄存器,控制从输入引脚到TRCV数据的接收保存过程,与RSR功能类似。
第7章 TMS320C54x的片内外设、接口及应用 7.3.3 时分复用串行口TDM ⑦ TDM数据接收移位寄存器TRSR 16位专用寄存器,控制从输入引脚到TRCV数据的接收保存过程,与RSR功能类似。 ⑧ TDM数据发送移位寄存器TXSR 16位专用寄存器,控制从TDXR来的输出数据的传送,并保存从TDM引脚发送出去的数据,与XSR功能相同。 2019年1月18日 DSP原理及应用
96
7.3.3 时分复用串行口TDM ’C54x的TDM端口结构。 第7章 TMS320C54x的片内外设、接口及应用 2019年1月18日
第7章 TMS320C54x的片内外设、接口及应用 7.3.3 时分复用串行口TDM ’C54x的TDM端口结构。 2019年1月18日 DSP原理及应用
97
8个器件可以连接到4条串行总线上,连接的各器件可以进行分时通信。 TDM端口的4条总线分别为: 时钟总线TCLK; 帧同步信号线TFRM;
第7章 TMS320C54x的片内外设、接口及应用 7.3.3 时分复用串行口TDM 8个器件可以连接到4条串行总线上,连接的各器件可以进行分时通信。 TDM端口的4条总线分别为: 时钟总线TCLK; 帧同步信号线TFRM; 数据线TDAT; 附加地址线TADD。 TDAT和TADD信号是双向信号,它们在不同时间段被总线上不同器件用帧同步信号驱动。 2019年1月18日 DSP原理及应用
98
7.3 ’C54x的串行口 7.3.4 多通道带缓冲串行口McBSP
第7章 TMS320C54x的片内外设、接口及应用 7.3 ’C54x的串行口 7.3.4 多通道带缓冲串行口McBSP ’C54x的多通道缓冲串行口McBSP是在缓冲串行口的基础上发展起来的。在外部通道选择电路的控制下,采用分时方式实现多路缓冲串行通信。 McBSP串行口可以与其他’C54x器件、编程器或其他串口器件通信。 2019年1月18日 DSP原理及应用
99
● 双缓冲的发送和三缓冲接收数据存储器,支持连续的数据流传送;
第7章 TMS320C54x的片内外设、接口及应用 7.3.4 多通道带缓冲串行口McBSP 1. McBSP串行口的功能 McBSP的功能包括: ● 全双工通信; ● 双缓冲的发送和三缓冲接收数据存储器,支持连续的数据流传送; ● 独立的接收、发送帧和时钟信号; ● 可直接与工业标准的编码器、模拟界面芯片(AICs)、其他串行A/D、D/A器件连接并通信; 2019年1月18日 DSP原理及应用
100
● 具有外部变速时钟发生器及内部频率可编程时钟发生器; ● 可以直接利用多种串行协议接口通信。
第7章 TMS320C54x的片内外设、接口及应用 1. McBSP串行口的功能 ● 具有外部变速时钟发生器及内部频率可编程时钟发生器; ● 可以直接利用多种串行协议接口通信。 如:T1/E1帧调节器、MVIP转换兼容和ST-BUS兼容的器件、H.100帧调节器、SCSA帧调节器、IOM-2兼容器件、AC97兼容器件、IIS兼容器件、SPI器件等。 ● 多达128路发送和接收通道; ● 数据的字长可选择,包括8、12、16、20、24和32位; ● 可进行μ律或A律的压缩扩展通信; ● 帧同步和时钟信号的极性可编程; ● 可编程内部时钟和帧发生器。 2019年1月18日 DSP原理及应用
101
第7章 TMS320C54x的片内外设、接口及应用 2. McBSP结构 2019年1月18日 DSP原理及应用
102
控制通道完成内部时钟和帧同步信号的产生与控制、多通道的选择、产生中断信号送往CPU和产生同步事件通知DMA控制器等。
第7章 TMS320C54x的片内外设、接口及应用 2. McBSP结构 McBSP串行口是由外部通信引脚、接收发送通道、时钟及帧同步信号发生器、多通道选择以及CPU中断信号和DMA同步信号等组成,可分为数据通道和控制通道两部分。 数据通道主要完成数据的接收和发送。 控制通道完成内部时钟和帧同步信号的产生与控制、多通道的选择、产生中断信号送往CPU和产生同步事件通知DMA控制器等。 2019年1月18日 DSP原理及应用
103
McBSP通过DX和DR引脚与外部设备进行数据通信,时钟和帧同步等控制信息的传输通过CLKX、CLKR、FSX和FSR引脚来实现。
第7章 TMS320C54x的片内外设、接口及应用 2. McBSP结构 (1) 外部引脚 DX:串行数据发送引脚; DR:串行数据接收引脚; CLKX:发送时钟引脚; CLKR:接收时钟引脚; FSX:发送帧同步引脚; FSR:接收帧同步引脚; CLKS:外部提供的采样时钟引脚。 McBSP通过DX和DR引脚与外部设备进行数据通信,时钟和帧同步等控制信息的传输通过CLKX、CLKR、FSX和FSR引脚来实现。 2019年1月18日 DSP原理及应用
104
REVTA:触发DMA接收同步事件A信号; XEVTA:触发DMA发送同步事件A信号。
第7章 TMS320C54x的片内外设、接口及应用 2. McBSP结构 (2) CPU中断信号和DMA同步信号 RINT:触发CPU的发送中断信号; XINT:触发CPU的接收中断信号; REVT:触发DMA接收同步事件信号; XEVT:触发DMA发送同步事件信号; REVTA:触发DMA接收同步事件A信号; XEVTA:触发DMA发送同步事件A信号。 2019年1月18日 DSP原理及应用
105
CPU可以通过内部总线访问McBSP的控制寄存器。
第7章 TMS320C54x的片内外设、接口及应用 2. McBSP结构 (3) McBSP的控制寄存器 CPU可以通过内部总线访问McBSP的控制寄存器。 地 址 子地址 名称缩写 寄存器名称 McBSP0 McBSP1 McBSP2 — RBR[1,2] 接收缓冲寄存器1,2 RSR[1,2] 接收移位寄存器1,2 XSR[1,2] 发送移位寄存器1,2 0020H 0040H 0030H DRR2x 数据接收寄存器2 0021H 0041H 0031H DRR1x 数据接收寄存器1 0022H 0042H 0032H DXR2x 数据发送寄存器2 0023H 0043H 0033H DXR1x 数据发送寄存器1 2019年1月18日 DSP原理及应用
106
(3) McBSP的控制寄存器 第7章 TMS320C54x的片内外设、接口及应用 地 址 子地址 名称缩写 寄存器名称 McBSP0
第7章 TMS320C54x的片内外设、接口及应用 (3) McBSP的控制寄存器 地 址 子地址 名称缩写 寄存器名称 McBSP0 McBSP1 McBSP2 0038H 0048H 0034H — SPSAx 子地址寄存器 0039H 0049H 0035H 0000H SPCR1x 串口控制寄存器1 0001H SPCR2x 串口控制寄存器2 0002H RCR1x 接收控制寄存器1 0003H RCR2x 接收控制寄存器2 0004H XCR1x 发送控制寄存器1 0005H XCR2x 发送控制寄存器2 0006H SRGR1x 采样率发生寄存器1 0007H SRGR2x 采样率发生寄存器2 2019年1月18日 DSP原理及应用
107
(3) McBSP的控制寄存器 第7章 TMS320C54x的片内外设、接口及应用
第7章 TMS320C54x的片内外设、接口及应用 (3) McBSP的控制寄存器 地 址 子地址 名称缩写 寄存器名称 McBSP0 McBSP1 McBSP2 0039H 0049H 0035H 0008H MCR1x 多通道寄存器1 0009H MCR2x 多通道寄存器2 000AH RCERAx 接收通道使能寄存器A 000BH RCERBx 接收通道使能寄存器B 000CH XCERAx 发送通道使能寄存器A 000DH XCERBx 发送通道使能寄存器B 000EH PCRx 引脚控制寄存器 注意:RBR[1,2]、RSR[1,2]、XSR[1,2]不能直接通过CPU或DMA存取。 2019年1月18日 DSP原理及应用
108
① CPU通过外设总线,将数据写入数据发送寄存器DXR[1,2];
第7章 TMS320C54x的片内外设、接口及应用 2. McBSP结构 (4) McBSP的工作原理 在时钟信号和帧同步信号控制下,接收和发送通过DR和DX引脚与外部器件直接通信。’C54x内部CPU对McBSP的操作是利用16位控制寄存器,通过片内外设总线进行存取控制。 数据发送过程: ① CPU通过外设总线,将数据写入数据发送寄存器DXR[1,2]; ② McBSP串口将DXR[1,2]中的发送数据传送到发送移位寄存器XSR[1,2]中; ③ 通过发送移位寄存器XSR[1,2],将数据经DX引脚移出发送。 2019年1月18日 DSP原理及应用
109
① McBSP串口通过DR引脚,将接收数据移入接收移位数据寄存器RSR[1,2]中;
第7章 TMS320C54x的片内外设、接口及应用 2. McBSP结构 (4) McBSP的工作原理 数据接收过程: ① McBSP串口通过DR引脚,将接收数据移入接收移位数据寄存器RSR[1,2]中; ② 将RSR[1,2]中的接收数据拷贝到接收缓冲寄存器RBR[1,2]; ③ 将RBR[1,2]中的接收数据复制到数据接收寄存器DRR[1,2]; ④ CPU或DMA控制器从DRR[1,2]中读出数据。 2019年1月18日 DSP原理及应用
110
2. McBSP结构 (4) McBSP的工作原理 McBSP的工作模式: ① 多通道缓冲模式; ② SPI模式; ③ A-bis模式;
第7章 TMS320C54x的片内外设、接口及应用 2. McBSP结构 (4) McBSP的工作原理 McBSP的工作模式: ① 多通道缓冲模式; ② SPI模式; ③ A-bis模式; ④ 数据回路模式; ⑤ GPIO模式; ⑥ 省电模式。 2019年1月18日 DSP原理及应用
111
三个16位寄存器SPCR1、SPCR2和PCR可进行串口配置。这三个寄存器包含了McBSP的状态信息和当前操作的配置。
第7章 TMS320C54x的片内外设、接口及应用 7.3.4 多通道带缓冲串行口McBSP 3. McBSP串口的配置寄存器 用于McBSP串口配置的寄存器共有7个,分别为串口控制寄存器SPCR1和SPCR2、引脚控制寄存器PCR、接收控制寄存器RCR1和RCR2以及发送控制寄存器XCR1和XCR2。 三个16位寄存器SPCR1、SPCR2和PCR可进行串口配置。这三个寄存器包含了McBSP的状态信息和当前操作的配置。 接收和发送寄存器RCR[1.2]和XCR[1,2]用于配置收发操作的不同参数。 2019年1月18日 DSP原理及应用
112
3. McBSP串口的配置寄存器 (1) McBSP的控制寄存器SPCR1 SPCR1的结构:
第7章 TMS320C54x的片内外设、接口及应用 3. McBSP串口的配置寄存器 (1) McBSP的控制寄存器SPCR1 SPCR1的结构: 15 10~8 SPCR1H DLB RJUST CLKSTP 保留 RW,+0 R,+0 7 6 3 2 1 SPCR1L DLB ABIS RINTM RSYNCERR RFULL RRDY RRST RW,+0 R,+0 2019年1月18日 DSP原理及应用
113
(1) McBSP的控制寄存器SPCR1 SPCR1各位的功能: 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能
第7章 TMS320C54x的片内外设、接口及应用 (1) McBSP的控制寄存器SPCR1 SPCR1各位的功能: 位 名 称 功 能 15 DLB 数字循环返回(回送)模式: DLB=0,废除数字循环返回(回送)模式; DLB=1,使能数字循环返回(回送)模式。 14~13 RJUST 接收数据符号扩展和对齐模式: RJUST=00,右对齐,DRR[1,2]最高位为0; RJUST=01,右对齐,DRR[1,2]最高位为符号扩展位; RJUST=10,左对齐,DRR[1,2]最低位为0; RJUST=11,保留。 12~11 CLKSTP 时钟停止模式: CLKSTP=0X,废除时钟停止模式,非SPI模式的正常时钟。 SPI模式包括如下几种情况: CLKSTP=10,且CLKXP=0,时钟开始于上升沿,无延时; CLKSTP=10,且CLKXP=1,时钟开始于下降沿,无延时; CLKSTP=11,且CLKXP=0,时钟开始于上升沿,有延时; CLKSTP=11,且CLKXP=1,时钟开始于下降沿,有延时。 10~8 保留 2019年1月18日 DSP原理及应用
114
(1) McBSP的控制寄存器SPCR1 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能 7 DXENA
第7章 TMS320C54x的片内外设、接口及应用 (1) McBSP的控制寄存器SPCR1 位 名 称 功 能 7 DXENA DX使能位。 DXENA=0,DX使能关断; DXENA=1,DX使能打开。 6 ABIS A-bis模式。 ABIS=0,废除A-bis模式; ABIS=1,使能A-bis模式 。 5~4 RINTM 接收中断模式。 RINTM=00,由RRDY(字结束)产生或在A-bis模式帧结束产生接收中断RINT; RINTM=01,多通道操作中,由块结束或帧结束产生接收中断RINT; RINTM=10,一个新的帧同步产生接收中断RINT; RINTM=11,由接收同步错误RSYNCERR产生接收中断RINT。 3 RSYNCERR 接收同步错误。 RSYNCERR=0,无接收同步错误; RSYNCERR=1,探测到接收同步错误。 2019年1月18日 DSP原理及应用
115
(1) McBSP的控制寄存器SPCR1 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能 2 RFULL
第7章 TMS320C54x的片内外设、接口及应用 (1) McBSP的控制寄存器SPCR1 位 名 称 功 能 2 RFULL 接收移位寄存器RSR[1,2]满。 RFULL=0,接收缓冲寄存器RBR[1,2]未超载; RFULL=1,RSR[1,2]移入新字已满,RBR[1,2]满,DRR[1,2]未被读取。 1 RRDY 接收准备位。 RRDY=0,接收器为准备好; RRDY=1,接收器准备好从DDR[1,2]读数据。 RRST 接收器复位,可以复位和使能接收器。 RRST=0,串口接收器被废除,并处于复位状态; RRST=1,串口接收器使能。 2019年1月18日 DSP原理及应用
116
3. McBSP串口的配置寄存器 (2) McBSP的控制寄存器SPCR2 SPCR2的结构:
第7章 TMS320C54x的片内外设、接口及应用 3. McBSP串口的配置寄存器 (2) McBSP的控制寄存器SPCR2 SPCR2的结构: 9 8 SPCR2H 保 留 Free Soft R,+0 RW,+0 7 6 3 2 1 SPCR2L FRST GRST XINTM XSYNCERR XEMPTY XRDY XRST RW,+0 R,+0 2019年1月18日 DSP原理及应用
117
(2) McBSP的控制寄存器SPCR2 SPCR2各位的功能: 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能
第7章 TMS320C54x的片内外设、接口及应用 (2) McBSP的控制寄存器SPCR2 SPCR2各位的功能: 位 名 称 功 能 15~10 保留 9 Free 自由运行模式。 Free=0,废除自由运行模式; Free=1,使能自由运行模式。 8 Soft 软件模式。 Soft=0,废除软件模式; Soft=1,使能软件模式。 7 FRST 帧同步发送器复位。 FRST=0,帧同步逻辑电路复位,采样率发生器不会产生帧同步信号FGS; FRST=1,在时钟发生器CLKG产生了(FPER+1)个脉冲后,发生帧同步信号FSG。 2019年1月18日 DSP原理及应用
118
(2) McBSP的控制寄存器SPCR2 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能 6 GRST
第7章 TMS320C54x的片内外设、接口及应用 (2) McBSP的控制寄存器SPCR2 位 名 称 功 能 6 GRST 采样率发生器复位。 GRST=0,采样率发生器复位; GRST=1,采样率发生器启动。CLKG按照采样率发生器中的编程值产生时钟信号。 5~4 XINTM 发送中断模式。 XINTM=00,由XRDY产生或A-bis模式的帧结束产生发送中断请求XINT; XINTM=01,块结束或多通道操作时的帧同步结束产生发送中断请求XINT; XINTM=10,由新的帧同步信号产生发送中断请求XINT; XINTM=11,由发送同步错误位XSYNCERR产生中断。 3 XSYNCERR 发送同步错误位。 XSYNCERR=0,无同步错误; XSYNCERR=1,探测到同步错误。 2019年1月18日 DSP原理及应用
119
(2) McBSP的控制寄存器SPCR2 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能 2 XEMPTY
第7章 TMS320C54x的片内外设、接口及应用 (2) McBSP的控制寄存器SPCR2 位 名 称 功 能 2 XEMPTY 发送移位寄存器XSR[1,2]空。 XEMPTY=0,发送移位寄存器XSR空; XEMPTY=1,发送移位寄存器XSR不空。 1 XRDY 发送器准备。 XRDY=0,发送器未准备好; XRDY=1,发送器准备好发送DXR[1,2]中的数据。 XRST 发送器复位和使能位。 XRST=0,串口发送器废除,且处于复位状态; XRST=1,串口发送器使能。 2019年1月18日 DSP原理及应用
120
3. McBSP串口的配置寄存器 (3) McBSP的引脚控制寄存器PCR PCR的结构:
第7章 TMS320C54x的片内外设、接口及应用 3. McBSP串口的配置寄存器 (3) McBSP的引脚控制寄存器PCR PCR的结构: 13 12 11 10 9 8 PCRH 保 留 XIOEN RIOEN RSXM FSRM CLKXM CLKRM R,+0 RW,+0 7 6 5 4 3 2 1 PCRL 保留 CLK_STAT DX_STAT DR_STAT FSXP FSRR CLKXP CLKRP R,+0 RW,+0 2019年1月18日 DSP原理及应用
121
(3) McBSP的引脚控制寄存器PCR PCR寄存器各位的功能: 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能
第7章 TMS320C54x的片内外设、接口及应用 (3) McBSP的引脚控制寄存器PCR PCR寄存器各位的功能: 位 名 称 功 能 15~14 保留 13 XIOEN 发送通用I/O模式位,只有SPCR[1,2]中的XRST=0时才有效。 XIOEN=0,DX、FSX、CLKX配置为串口引脚,不作通用I/O引脚; XIOEN=1,DX配置为通用输出引脚,FSX,CLKX引脚配置为通用I/O。此时,这些引脚不能用于串口操作。 12 RIOEN 接收通用I/O模式位,只有SPCR[1,2]中的RRST=0时才有效。 RIOEN=0,DR,FSR,CLKR,CLKS配置为串口引脚,非通用I/O; RIOEN=1,DR和CLKS配置为通用输入引脚。FSR和CLKR用作通用I/O引脚。这些引脚不能用于串口操作。 11 FSXM 帧同步模式位 FSXM=0,帧同步信号由外部器件产生; FSXM=1,帧同步信号由采样率发生器中的帧同步位FSGM决定。 2019年1月18日 DSP原理及应用
122
(3) McBSP的引脚控制寄存器PCR 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能 10 FSRM
第7章 TMS320C54x的片内外设、接口及应用 (3) McBSP的引脚控制寄存器PCR 位 名 称 功 能 10 FSRM 接收帧同步模式位。 FSRM=0,帧同步信号由外部器件产生,FSR为输入引脚; FSRM=1,帧同步由片内采样率发生器产生,除GSYNC=1情况外,FSR为输出引脚。 9 CLKXM 发送器时钟模式位。 CLKXM=0,发送时钟由外部时钟产生,CLKX作为输入引脚; CLKXM=1,发送时钟由片上采样率发生器提供,CLKX为输出引脚; 在SPI模式下(CLKSTP为非0值): CLKXM=0,McBSP为从器件,时钟信号由系统中的SPI主器件驱动,CLKR由内部CLKX驱动; CLKXM=1,McBSP为主器件,产生时钟CLKX驱动它的接收时钟CLKR,并取代系统中SPI从器件的时钟。 2019年1月18日 DSP原理及应用
123
(3) McBSP的引脚控制寄存器PCR 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能 8 CLKRM
第7章 TMS320C54x的片内外设、接口及应用 (3) McBSP的引脚控制寄存器PCR 位 名 称 功 能 8 CLKRM 接收时钟模式位。 情况1:SPCR1中的DLB=0时,数字循环返回模式不设置。 CLKRM=0,接收时钟由外部时钟驱动, CLKR为输入引脚; CLKRM=1,接收时钟由内部采样发生器驱动,CLKR为输出。 情况2:SPCR1中DLB=1时,数字循环返回模式设置。 CLKRM=0,接收时钟由PCR中CLKXM确定的发送时钟驱动(不是CLKR),CLKR处于高阻状态; CLKRM=1,CLKR设定为输出引脚,由发送时钟驱动,发送时钟由PCR中的CLKM位定义驱动。 7 保留 6 CLK_STAT CLKS引脚状态位。 当CLKS被选作通用输入时,用来反映该引脚的电平值。 5 DX_STAT DX引脚状态位。当DX作为通用输出时,用来反映DX的值。 2019年1月18日 DSP原理及应用
124
(3) McBSP的引脚控制寄存器PCR 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能 4 DR_STAT
第7章 TMS320C54x的片内外设、接口及应用 (3) McBSP的引脚控制寄存器PCR 位 名 称 功 能 4 DR_STAT DR引脚状态位。当DR作为通用输入时,用来反映DR的值。 3 FSXP 发送帧同步信号极性位。 FSXP=0,发送帧同步脉冲FSX高电平有效; FSXP=1,发送帧同步脉冲FSX低电平有效。 2 FSRP 接收帧同步信号极性位。 FSRP=0,接收帧同步脉冲FSR高电平有效; FSRP=1,接收帧同步脉冲FSR低电平有效。 1 CLKXP 发送时钟极性位。 CLKXP=0,在CLKX的上升沿对发送数据进行采样; CLKXP=1,在CLKX的下降沿对发送数据进行采样。 CLKRP 接收时钟极性位。 CLKRP=0,在CLKR的下降沿对接收数据进行采样; CLKRP=1,在CLKR的上升沿对接收数据进行采样。 2019年1月18日 DSP原理及应用
125
3. McBSP串口的配置寄存器 (4) McBSP的接收控制寄存器RCR1 RCR1寄存器的结构:
第7章 TMS320C54x的片内外设、接口及应用 3. McBSP串口的配置寄存器 (4) McBSP的接收控制寄存器RCR1 RCR1寄存器的结构: 15 RCR1 保 留 RFRLEN1 RWDLEN1 保 留 R,+0 RW,+0 接收帧长度1 接收字长度1 2019年1月18日 DSP原理及应用
126
(4) McBSP的接收控制寄存器RCR1 RCR1寄存器各位的功能: 第7章 TMS320C54x的片内外设、接口及应用 位 名 称
第7章 TMS320C54x的片内外设、接口及应用 (4) McBSP的接收控制寄存器RCR1 RCR1寄存器各位的功能: 位 名 称 功 能 15 保留 14~8 RFRLEN1 接收帧长度1 RFRLEN1= ,每帧1个字; RFRLEN1= ,每帧2个字; …… RFRLEN1= ,每帧128个字。 7~5 RWDLEN1 接收字长1 RWDLEN1=000,字长8位; RWDLEN1=001,字长12位; RWDLEN1=010,字长16位; RWDLEN1=011,字长20位; RWDLEN1=100,字长24位; RWDLEN1=101,字长32位; RWDLEN1=11x,保留。 4~0 2019年1月18日 DSP原理及应用
127
3. McBSP串口的配置寄存器 (5) McBSP的接收控制寄存器RCR2 RCR2寄存器的结构:
第7章 TMS320C54x的片内外设、接口及应用 3. McBSP串口的配置寄存器 (5) McBSP的接收控制寄存器RCR2 RCR2寄存器的结构: 15 2 RCR2 RPHASE RFRLEN2 RWDLEN2 RCOMPAND RFIG RDATDLY RW,+0 接收 相位 接收帧 长度2 接收字 长度2 接收压 缩模式 接收帧 忽略位 接收数据 延迟位 2019年1月18日 DSP原理及应用
128
(5) McBSP的接收控制寄存器RCR2 RCR2寄存器各位的功能: 第7章 TMS320C54x的片内外设、接口及应用 位 名 称
第7章 TMS320C54x的片内外设、接口及应用 (5) McBSP的接收控制寄存器RCR2 RCR2寄存器各位的功能: 位 名 称 功 能 15 RPHASE 接收相位 RPHASE=0,单相帧 RPHASE=1,双相帧 14~8 RFRLEN2 接收帧长度2 RFRLEN1= ,每帧1个字; RFRLEN1= ,每帧2个字; …… RFRLEN1= ,每帧128个字。 7~5 RWDLEN2 接收字长2 RWDLEN1=000,字长8位; RWDLEN1=001,字长12位; RWDLEN1=010,字长16位; RWDLEN1=011,字长20位; RWDLEN1=100,字长24位; RWDLEN1=101,字长32位; RWDLEN1=11x,保留。 2019年1月18日 DSP原理及应用
129
(5) McBSP的接收控制寄存器RCR2 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能 4~3 RCOMPAND
第7章 TMS320C54x的片内外设、接口及应用 (5) McBSP的接收控制寄存器RCR2 位 名 称 功 能 4~3 RCOMPAND 接收压缩模式位。除了00模式外,其他的要求8位字长。 RCOMPAND=00,无压缩,数据传送时,最高位先传送和接收; RCOMPAND=01,无压缩,数据传送时,最低位先传送和接收; RCOMPAND=10,接收数据进行μ律压缩; RCOMPAND=11,接收数据进行A律压缩。 2 RFIG 接收帧忽略 RFIG=0,第一个接收帧同步脉冲之后,重新开始数据传输; RFIG=1,第一个接收帧同步脉冲之后,忽略帧同步信号。 1~0 RDATDLY 接收数据延迟 RDATDLY=00,0位数据延时; RDATDLY=01,1位数据延时; RDATDLY=10,2位数据延时; RDATDLY=11,保留。 2019年1月18日 DSP原理及应用
130
3. McBSP串口的配置寄存器 (6) McBSP的发送控制寄存器XCR1 XCR1寄存器的结构:
第7章 TMS320C54x的片内外设、接口及应用 3. McBSP串口的配置寄存器 (6) McBSP的发送控制寄存器XCR1 XCR1寄存器的结构: 15 XCR1 保 留 XFRLEN1 XWDLEN1 保 留 R,+0 RW,+0 发送帧长度1 发送字长度1 2019年1月18日 DSP原理及应用
131
(6) McBSP的发送控制寄存器XCR1 XCR1寄存器各位的功能: 第7章 TMS320C54x的片内外设、接口及应用 位 名 称
第7章 TMS320C54x的片内外设、接口及应用 (6) McBSP的发送控制寄存器XCR1 XCR1寄存器各位的功能: 位 名 称 功 能 15 保留 14~8 XFRLEN1 发送帧长度1。 XFRLEN1= ,每帧1个字; XFRLEN1= ,每帧2个字; …… XFRLEN1= ,每帧128个字。 7~5 XWDLEN1 发送字长1。 XWDLEN1=000,字长8位; XWDLEN1=001,字长12位; XWDLEN1=010,字长16位; XWDLEN1=011,字长20位; XWDLEN1=100,字长24位; XWDLEN1=101,字长32位; XWDLEN1=11x,保留。 4~0 2019年1月18日 DSP原理及应用
132
3. McBSP串口的配置寄存器 (7) McBSP的发送控制寄存器XCR2 XCR2寄存器的结构:
第7章 TMS320C54x的片内外设、接口及应用 3. McBSP串口的配置寄存器 (7) McBSP的发送控制寄存器XCR2 XCR2寄存器的结构: 15 2 XCR2 XPHASE XFRLEN2 XWDLEN2 XCOMPAND XFIG XDATDLY RW,+0 发送 相位 发送帧 长度2 发送字 长度2 发送压 缩模式 发送帧 忽略位 发送数据 延迟位 2019年1月18日 DSP原理及应用
133
(7) McBSP的发送控制寄存器XCR2 XCR2寄存器各位的功能: 第7章 TMS320C54x的片内外设、接口及应用 位 名 称
第7章 TMS320C54x的片内外设、接口及应用 (7) McBSP的发送控制寄存器XCR2 XCR2寄存器各位的功能: 位 名 称 功 能 15 XPHASE 发送相位。 XPHASE=0,单相帧; XPHASE=1,双相帧。 14~8 XFRLEN2 发送帧长度2。 XFRLEN1= ,每帧1个字; XFRLEN1= ,每帧2个字; …… XFRLEN1= ,每帧128个字。 7~5 XWDLEN2 发送字长2。 XWDLEN1=000,字长8位; XWDLEN1=001,字长12位; XWDLEN1=010,字长16位; XWDLEN1=011,字长20位; XWDLEN1=100,字长24位; XWDLEN1=101,字长32位; XWDLEN1=11x,保留。 2019年1月18日 DSP原理及应用
134
(7) McBSP的发送控制寄存器XCR2 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能 4~3 XCOMPAND
第7章 TMS320C54x的片内外设、接口及应用 (7) McBSP的发送控制寄存器XCR2 位 名 称 功 能 4~3 XCOMPAND 发送压缩模式位。除了00模式外,其他的要求8位字长。 XCOMPAND=00,无压缩,数据传送时,最高位先发送; XCOMPAND=01,无压缩,数据传送时,最低位先发送; XCOMPAND=10,发送数据进行μ律压缩; XCOMPAND=11,发送数据进行A律压缩。 2 XFIG 发送帧忽略。 XFIG=0,第一个发送帧同步脉冲之后,重新开始数据传输; XFIG=1,第一个发送帧同步脉冲之后,忽略帧同步信号。 1~0 XDATDLY 发送数据延迟。 XDATDLY=00,0位数据延时; XDATDLY=01,1位数据延时; XDATDLY=10,2位数据延时; XDATDLY=11,保留。 2019年1月18日 DSP原理及应用
135
通过对控制寄存器中的RRST、XRST和GRST位清零,可分别对发送器、接收器和采样率发生器进行复位。
第7章 TMS320C54x的片内外设、接口及应用 7.3.4 多通道带缓冲串行口McBSP 4. McBSP串口的工作步骤 (1) McBSP串行口的复位 McBSP串行口有两种复位方式: ① 系统复位 ② McBSP复位 即通过芯片复位端RS复位。 当RS=0时,导致的串口发送器、接收器、采样率发生器复位。RS复位完成后,串口仍然处于复位状态,此时GRST、FRST、RRST、XRST均为0。配置寄存器赋值,进入McBSP复位。 利用McBSP控制寄存器的控制位复位。 通过对控制寄存器中的RRST、XRST和GRST位清零,可分别对发送器、接收器和采样率发生器进行复位。 2019年1月18日 DSP原理及应用
136
(1) McBSP串行口的复位 McBSP复位时各引脚的状态: 第7章 TMS320C54x的片内外设、接口及应用 McBSP 引脚
第7章 TMS320C54x的片内外设、接口及应用 (1) McBSP串行口的复位 McBSP复位时各引脚的状态: McBSP 引脚 引脚状态 芯片复位RS McBSP复位 接收复位 RRST=0,GRST=0 发送复位 DR 输入 CLKR 输入/输出/高阻 若为输入,状态已知; 若为输出,CLKR运行 FSR 若为输出,FSRP未激活 CLKS DX 输出 高阻 CLKX FSX 2019年1月18日 DSP原理及应用
137
McBSP复位后,可进行初始化,其步骤如下:
第7章 TMS320C54x的片内外设、接口及应用 4. McBSP串口的工作步骤 (2) McBSP串行口的初始化 McBSP复位后,可进行初始化,其步骤如下: ① 对控制寄存器的复位位置0,使RRST、XRST和GRST位为零。若刚刚复位,不必进行这一步操作; ② 根据串口复位的要求,对McBSP的寄存器进行编程配置; ③ 等待2个时钟周期,以保证内部时钟同步; ④ 对DXD写信息,设置数据通道; 2019年1月18日 DSP原理及应用
138
⑤ 设置XRST和RRST置1,使串口处于使能状态;
第7章 TMS320C54x的片内外设、接口及应用 (2) McBSP串行口的初始化 ⑤ 设置XRST和RRST置1,使串口处于使能状态; ⑥ 如果需要内部帧同步信号,则设定FRST=1; ⑦ 等待2个时钟周期后,接收器和发送器被激活。 2019年1月18日 DSP原理及应用
139
当采用时分复用数据流时,CPU仅需要处理少数通道。为了节省存储空间和总线带宽,多通道选择允许对发送和接收的多通道进行单独配置。
第7章 TMS320C54x的片内外设、接口及应用 7.3.4 多通道带缓冲串行口McBSP 5. McBSP串口的多通道选择配置 使用单相帧同步设置McBSP,可以为发送器和接收器选择独立的多通道工作模式。每一个帧代表一个时分复用(TDM)数据流。用(R/X)FRLEN1位设定的每帧字数来表示所选的有效通道数。 当采用时分复用数据流时,CPU仅需要处理少数通道。为了节省存储空间和总线带宽,多通道选择允许对发送和接收的多通道进行单独配置。 2019年1月18日 DSP原理及应用
140
McBSP的多通道选择配置可以通过设定多通道控制寄存器来进行。
第7章 TMS320C54x的片内外设、接口及应用 5. McBSP串口的多通道选择配置 McBSP的多通道选择配置可以通过设定多通道控制寄存器来进行。 (1) 多通道控制寄存器MCR1 MCR1寄存器的结构: 1 MCR1 保留 RPBBLK RPABLK RCBLK RMCM R,+0 RW,+0 2019年1月18日 DSP原理及应用
141
(1) 多通道控制寄存器MCR1 MCR1寄存器各位的功能: 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能
第7章 TMS320C54x的片内外设、接口及应用 (1) 多通道控制寄存器MCR1 MCR1寄存器各位的功能: 位 名 称 功 能 15~9 保留 8~7 RPBBLK 接收区B块的划分: RPBBLK=00,块1,对应通道16 ~ 31 RPBBLK=01,块3,对应通道48 ~ 63 RPBBLK=10,块5,对应通道80 ~ 95 RPBBLK=11,块7,对应通道112 ~ 127 6~5 RPABLK 接收区A块的划分: RPABLK=00,块0,对应通道0 ~ 15 RPBBLK=01,块2,对应通道32 ~ 47 RPBBLK=10,块4,对应通道64 ~ 79 RPBBLK=11,块6,对应通道96 ~ 111 2019年1月18日 DSP原理及应用
142
(1) 多通道控制寄存器MCR1 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能 4~2 RCBLK
第7章 TMS320C54x的片内外设、接口及应用 (1) 多通道控制寄存器MCR1 位 名 称 功 能 4~2 RCBLK 当前接收块划分: RCBLK=000,块0,对应通道0 ~ 15 RCBLK=001,块1,对应通道16 ~ 31 RCBLK=010,块2,对应通道32 ~ 47 RCBLK=011,块3,对应通道48 ~ 63 RCBLK=100,块4,对应通道64 ~ 79 RCBLK=101,块5,对应通道80 ~ 95 RCBLK=110,块6,对应通道96 ~ 111 RCBLK=111,块7,对应通道112 ~ 127 1 保留 RMCM 接收多通道选择使能 RMCM=0,所有128个通道使能 RMCM=1,所有通道默认为不使能。 要使用的通道,由使能RP(A/B)BLK块和相应的RCER(A/B)来选择。 2019年1月18日 DSP原理及应用
143
5. McBSP串口的多通道选择配置 (2) 多通道控制寄存器MCR2 MCR2寄存器的结构:
第7章 TMS320C54x的片内外设、接口及应用 5. McBSP串口的多通道选择配置 (2) 多通道控制寄存器MCR2 MCR2寄存器的结构: MCR2 保留 XPBBLK XPABLK XCBLK XMCM R,+0 RW,+0 2019年1月18日 DSP原理及应用
144
(2) 多通道控制寄存器MCR2 MCR2寄存器各位的功能: 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能
第7章 TMS320C54x的片内外设、接口及应用 (2) 多通道控制寄存器MCR2 MCR2寄存器各位的功能: 位 名 称 功 能 15~9 保留 8~7 XPBBLK 发送区B块的划分: XPBBLK=00,块1,对应通道16 ~ 31 XPBBLK=01,块3,对应通道48 ~ 63 XPBBLK=10,块5,对应通道80 ~ 95 XPBBLK=11,块7,对应通道112 ~ 127 6~5 XPABLK 发送区A块的划分: XPABLK=00,块0,对应通道0 ~ 15 XPBBLK=01,块2,对应通道32 ~ 47 XPBBLK=10,块4,对应通道64 ~ 79 XPBBLK=11,块6,对应通道96 ~ 111 2019年1月18日 DSP原理及应用
145
(2) 多通道控制寄存器MCR2 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能 4~2 XCBLK
第7章 TMS320C54x的片内外设、接口及应用 (2) 多通道控制寄存器MCR2 位 名 称 功 能 4~2 XCBLK 当前发送块划分: XCBLK=000,块0,对应通道0 ~ 15 XCBLK=001,块1,对应通道16 ~ 31 XCBLK=010,块2,对应通道32 ~ 47 XCBLK=011,块3,对应通道48 ~ 63 XCBLK=100,块4,对应通道64 ~ 79 XCBLK=101,块5,对应通道80 ~ 95 XCBLK=110,块6,对应通道96 ~ 111 XCBLK=111,块7,对应通道112 ~ 127 2019年1月18日 DSP原理及应用
146
(2) 多通道控制寄存器MCR2 第7章 TMS320C54x的片内外设、接口及应用 位 名 称 功 能 0~1 XMCM
第7章 TMS320C54x的片内外设、接口及应用 (2) 多通道控制寄存器MCR2 位 名 称 功 能 0~1 XMCM 发送多通道选择使能: XMCM=00,所有通道使能,且无屏蔽(数据发送时,DX总是驱动); XMCM=01,所有通道不使能,默认屏蔽。所需的通道由使能XP(A/B)BLK块和相应的XCEX(A/B)相应位选择。另外,这些选定的通道不能被屏蔽,因此,DX总是被驱动; XMCM=10,所有的通道使能,但被屏蔽。由XP(A/B)BLK和XCEX(A/B)所选择的通道不可屏蔽; XMCM=11,所有通道不使能,默认为屏蔽状态。利用置位XP(A/B)和XCEX(A/B)选择所需通道。利用置位XP(A/B)BLK和XCEX(A/B)选择不可屏蔽通道。这个模式用于对称发送和接收操作。 2019年1月18日 DSP原理及应用
147
接收通道使能寄存器RCERx,用于使能32个通道的接收,其中A区和B区各有16个通道,对应的通道使能寄存器分别为RCERA和RCERB。
第7章 TMS320C54x的片内外设、接口及应用 5. McBSP串口的多通道选择配置 (3) 接收通道使能寄存器RCERx 接收通道使能寄存器RCERx,用于使能32个通道的接收,其中A区和B区各有16个通道,对应的通道使能寄存器分别为RCERA和RCERB。 接收通道使能寄存器的结构: 15 14 13 12 11 10 9 8 RCEA15 RCEA14 RCEA13 RCEA12 RCEA11 RCEA10 RCEA9 RCEA8 RW,+0 Rw,+0 RCERA 7 6 5 4 3 2 1 RCEA7 RCEA6 RCEA5 RCEA4 RCEA3 RCEA2 RCEA1 RCEA0 RW,+0 Rw,+0 15 14 13 12 11 10 9 8 RCEB15 RCEB14 RCEB13 RCEB12 RCEB11 RCEB10 RCEB9 RCEB8 RW,+0 Rw,+0 RCERB 7 6 5 4 3 2 1 RCEB7 RCEB6 RCEB5 RCEB4 RCEB3 RCEB2 RCEB1 RCEB0 RW,+0 Rw,+0 2019年1月18日 DSP原理及应用
148
(3) 接收通道使能寄存器RCERx RCERA寄存器的位功能: RCERB寄存器的位功能:
第7章 TMS320C54x的片内外设、接口及应用 (3) 接收通道使能寄存器RCERx RCERA寄存器的位功能: 位 名 称 功 能 15~0 RCEA15~RCEA0 接收通道使能 RCEAn=0,禁止A区(偶数块)的第n通道的接收; RCEAn=1,使能A区(偶数块)的第n通道的接收。 RCERB寄存器的位功能: 位 名 称 功 能 15~0 RCEB15~RCEB0 接收通道使能 RCEBn=0,禁止B区(奇数块)的第n通道的接收; RCEBn=1,使能B区(奇数块)的第n通道的接收。 2019年1月18日 DSP原理及应用
149
发送通道使能寄存器XCERx,用于使能32个通道的发送,其中A区和B区各有16个通道,对应的通道使能寄存器分别为XCERA和XCERB。
第7章 TMS320C54x的片内外设、接口及应用 5. McBSP串口的多通道选择配置 (4) 发送通道使能寄存器XCERx 发送通道使能寄存器XCERx,用于使能32个通道的发送,其中A区和B区各有16个通道,对应的通道使能寄存器分别为XCERA和XCERB。 发送通道使能寄存器的结构: 15 14 13 12 11 10 9 8 XCEA15 XCEA14 XCEA13 XCEA12 XCEA11 XCEA10 XCEA9 XCEA8 RW,+0 Rw,+0 XCERA 7 6 5 4 3 2 1 XCEA7 XCEA6 XCEA5 XCEA4 XCEA3 XCEA2 XCEA1 XCEA0 RW,+0 Rw,+0 15 14 13 12 11 10 9 8 XCEB15 XCEB14 XCEB13 XCEB12 XCEB11 XCEB10 XCEB9 XCEB8 RW,+0 Rw,+0 XCERB 7 6 5 4 3 2 1 XCEB7 XCEB6 XCEB5 XCEB4 XCEB3 XCEB2 XCEB1 XCEB0 RW,+0 Rw,+0 2019年1月18日 DSP原理及应用
150
(4) 发送通道使能寄存器XCERx XCERA寄存器的位功能: XCERB寄存器的位功能:
第7章 TMS320C54x的片内外设、接口及应用 (4) 发送通道使能寄存器XCERx XCERA寄存器的位功能: 位 名 称 功 能 15~0 XCEA15~XCEA0 发送通道使能 XCEAn=0,禁止A区(偶数块)的第n通道的发送; XCEAn=1,使能A区(偶数块)的第n通道的发送。 XCERB寄存器的位功能: 位 名 称 功 能 15~0 XCEB15~XCEB0 发送通道使能 XCEBn=0,禁止B区(奇数块)的第n通道的发送; XCEBn=1,使能B区(奇数块)的第n通道的发送。 2019年1月18日 DSP原理及应用
151
7.3 ’C54x的串行口 7.3.5 ’C54x串行口的应用 下面以’C5402芯片与串行A/D转换器的数据通讯为例,介绍串行口的应用。
第7章 TMS320C54x的片内外设、接口及应用 7.3 ’C54x的串行口 7.3.5 ’C54x串行口的应用 下面以’C5402芯片与串行A/D转换器的数据通讯为例,介绍串行口的应用。 ’C5402芯片的BSP口功能强大,时钟极性和同步信号极性均可编程,并具有SPI工作方式,能方便地与满足SPITM协议的串行设备连接。 A/D转换器采用串行接口的MAX1247芯片,可与DSP芯片的串行口实现无缝连接。 2019年1月18日 DSP原理及应用
152
’C5402作为SPI主设备,向MAX1247提供串行时钟、命令和片选信号,与MAX1247的连接不需要不附加外部逻辑电路。
第7章 TMS320C54x的片内外设、接口及应用 7.3.5 ’C54x串行口的应用 ’C5402作为SPI主设备,向MAX1247提供串行时钟、命令和片选信号,与MAX1247的连接不需要不附加外部逻辑电路。 ’C5402 CLKX DX DR FSX MAX1247 SCLK DIN DOUT C/S 2019年1月18日 DSP原理及应用
153
7.3.5 ’C54x串行口的应用 第7章 TMS320C54x的片内外设、接口及应用 程序清单: ;初始化McBPS0为SPI
第7章 TMS320C54x的片内外设、接口及应用 7.3.5 ’C54x串行口的应用 程序清单: ;初始化McBPS0为SPI LD #00H,DP STM #SPCR10,SPSA0 STM #0000H,BSP ;RRST=0 STM #SPCR20,SPSA0 STM #0000H,BSP ;XRST=0 RPT #100 NOP STM #K_SPCR10,BSP0 STM #RCR10,SPSA0 STM #K_RCR10,BSP0 2019年1月18日 DSP原理及应用
154
7.3.5 ’C54x串行口的应用 第7章 TMS320C54x的片内外设、接口及应用 程序清单: STM #XCR10,SPSA0
第7章 TMS320C54x的片内外设、接口及应用 7.3.5 ’C54x串行口的应用 程序清单: STM #XCR10,SPSA0 STM #K_XCR10,BSP0 STM #PCR10,SPSA0 STM #K_PCR10,BSP0 STM #SRGR10,SPSA0 STM #K_SRGR10,BSP0 STM #SRGR20,SPSA0 STM #K_SRGR20,BSP0 STM #XCR20,SPSA0 STM #K_XCR20,BSP0 STM #RCR20,SPSA0 STM #K_RCR20,BSP0 2019年1月18日 DSP原理及应用
155
7.3.5 ’C54x串行口的应用 第7章 TMS320C54x的片内外设、接口及应用 程序清单: STM #SPCR10,SPSA0
第7章 TMS320C54x的片内外设、接口及应用 7.3.5 ’C54x串行口的应用 程序清单: STM #SPCR10,SPSA0 ORM #0001H,BSP ;RRST=1 NOP STM #SPCR20,SPSA0 ORM # B,BSP ;FRST=1,GRST=1,XRST=1 RPT #100 STM #0000H,DXR ;24b command for MAX1247 STM #9F00H,DXR10 2019年1月18日 DSP原理及应用
156
7.3.5 ’C54x串行口的应用 第7章 TMS320C54x的片内外设、接口及应用 程序清单: ;ad.asm
第7章 TMS320C54x的片内外设、接口及应用 7.3.5 ’C54x串行口的应用 程序清单: ;ad.asm STM #0000H,DXR20 ;24b command for MAX1247 STM #9F00H,DXR10 ; B,CH0,SIG,UIP,external ;通过串口接收器将转换结果读入, ;由于MAX1247为12位,所以经过或操作, ;得到的12位结果在A寄存器中 LD DRR10,8,A OR DRR20,A 2019年1月18日 DSP原理及应用
157
7.4 ’C54x的中断系统 中断系统是DSP应用系统实现实时操作和多任务多进程操作的关键部分。
第7章 TMS320C54x的片内外设、接口及应用 7.4 ’C54x的中断系统 中断系统是DSP应用系统实现实时操作和多任务多进程操作的关键部分。 ’C54x的中断系统根据芯片型号的不同,提供了24~30个硬件及软件中断源,分为11~17个中断优先级,可实现多层任务嵌套。 本节从应用的角度介绍’C54x中断系统的工作过程和编程方法。 2019年1月18日 DSP原理及应用
158
第7章 TMS320C54x的片内外设、接口及应用 7.4 ’C54x的中断系统 7.4.1 中断寄存器 ’C54x中断系统设置两个中断寄存器,分别为中断标志寄存器IFR和中断屏蔽寄存器IMR。 1. 中断标志寄存器IFR ’C5402中断标志寄存器IFR的结构: 中断标志寄存器IFR是一个存储器映像寄存器,当一个中断出现时,IFR中的相应的中断标志位置1,直到CPU识别该中断为止。 13 12 11 10 9 8 保 留 DMAC5 DMAC4 BXINT1 BRINT1 HPINT INT3 7 6 5 4 3 2 1 TINT1 DMAC0 BXINT0 BRINT0 TINT0 INT2 INT1 INT0 2019年1月18日 DSP原理及应用
159
7.4.1 中断寄存器 1. 中断标志寄存器IFR 中断标志寄存器IFR各位的功能。 第7章 TMS320C54x的片内外设、接口及应用 位
第7章 TMS320C54x的片内外设、接口及应用 7.4.1 中断寄存器 1. 中断标志寄存器IFR 中断标志寄存器IFR各位的功能。 位 名称 功 能 15~14 保留 保留位,总是0 6 DMAC0 DMA通道0中断标志 13 DMAC5 DMA通道5中断标志 5 BXINT0 缓冲串口发送中断0标志 12 DMAC4 DMA通道4中断标志 4 BRINT0 缓冲串口接收中断0标志 11 BXINT1 缓冲串口发送中断1标志 3 TINT0 定时器中断0标志 10 BRINT1 缓冲串口接收中断1标志 2 INT2 外部中断2标志 9 HPINT HPI中断标志 1 INT1 外部中断1标志 8 INT3 外部中断3标志 INT0 外部中断0标志 7 TINT1 定时器中断1标志 2019年1月18日 DSP原理及应用
160
① 软件和硬件复位,即’C54x的复位引脚RS=0; ② 相应的IFR标志位置1; ③ 使用相应的中断号响应该中断,
第7章 TMS320C54x的片内外设、接口及应用 7.4.1 中断寄存器 1. 中断标志寄存器IFR 在’C54x系列芯片中,IFR中5 ~ 0位对应的中断源完全相同,分别为外部中断和通信中断标志寄存位,而15~6位中断源根据芯片的不同,定义的中断源类型不同。有三种情况将清除中断标志: ① 软件和硬件复位,即’C54x的复位引脚RS=0; ② 相应的IFR标志位置1; ③ 使用相应的中断号响应该中断, 即使用INTR #K指令。 2019年1月18日 DSP原理及应用
161
中断屏蔽寄存器是一个存储器映像寄存器,主要用于控制中断源的屏蔽和开放。
第7章 TMS320C54x的片内外设、接口及应用 7.4.1 中断寄存器 2. 中断屏蔽寄存器IMR 中断屏蔽寄存器是一个存储器映像寄存器,主要用于控制中断源的屏蔽和开放。 当状态寄存器ST1中的INTM位为0时,全局中断允许。IMR中的某位置1时,开放相应的中断。由于RS和NMI都不包含在IMR中,因此IMR对这两个中断不能进行屏蔽。 2019年1月18日 DSP原理及应用
162
2. 中断屏蔽寄存器IMR 中断屏蔽寄存器IMR的结构: 用户可以对IMR寄存器进行读写操作。
第7章 TMS320C54x的片内外设、接口及应用 2. 中断屏蔽寄存器IMR 中断屏蔽寄存器IMR的结构: 13 12 11 10 9 8 保 留 DMAC5 DMAC4 BXINT1 BRINT1 HPINT INT3 7 6 5 4 3 2 1 TINT1 DMAC0 BXINT0 BRINT0 TINT0 INT2 INT1 INT0 用户可以对IMR寄存器进行读写操作。 2019年1月18日 DSP原理及应用
163
2. 中断屏蔽寄存器IMR 中断屏蔽寄存器IMR各位的功能: 第7章 TMS320C54x的片内外设、接口及应用 位 名称 功 能
第7章 TMS320C54x的片内外设、接口及应用 2. 中断屏蔽寄存器IMR 中断屏蔽寄存器IMR各位的功能: 位 名称 功 能 15~14 保留 保留位,总是0 6 DMAC0 DMA通道0中断屏蔽位 13 DMAC5 DMA通道5中断屏蔽位 5 BXINT0 缓冲串口发送中断0屏蔽位 12 DMAC4 DMA通道4中断屏蔽位 4 BRINT0 缓冲串口接收中断0屏蔽位 11 BXINT1 缓冲串口发送中断1屏蔽位 3 TINT0 定时器中断0屏蔽位 10 BRINT1 缓冲串口接收中断1屏蔽位 2 INT2 外部中断2屏蔽位 9 HPINT HPI中断屏蔽位 1 INT1 外部中断1屏蔽位 8 INT3 外部中断3屏蔽位 INT0 外部中断0屏蔽位 7 TINT1 定时器中断1屏蔽位 2019年1月18日 DSP原理及应用
164
第7章 TMS320C54x的片内外设、接口及应用 7.4 ’C54x的中断系统 7.4.2 中断控制 中断控制主要是屏蔽某些中断,避免其他中断对当前运行程序的干扰,以及防止同级中断之间的响应竞争。 1. 中断请求 一个中断可由硬件器件或软件指令提出请求。当产生一个中断时,IFR寄存器中相应的中断标志位被置1。不管中断是否被处理器应答,该标志位都会置1。当相应的中断响应后,该标志位自动被清除。 2019年1月18日 DSP原理及应用
165
外部硬件中断由外部中断口的信号发出请求,而内部硬件中断由片内外设的信号发出中断请求。
第7章 TMS320C54x的片内外设、接口及应用 1. 接收中断请求 (1) 硬件中断请求 外部硬件中断由外部中断口的信号发出请求,而内部硬件中断由片内外设的信号发出中断请求。 ’C5402硬件中断的请求信号: 外部中断: INT3 ~ INT0引脚; 非屏蔽中断:RS和NMI引脚; 片内中断:BRINT0、BXINT0、BRINT1和BXINT1(串口中断) TINT0、TINT1(定时器中断); DMAC4、DMAC5(DMA中断); HPINT(HPI中断)。 2019年1月18日 DSP原理及应用
166
软件中断是由程序指令产生的中断请求,主要有3条指令:
第7章 TMS320C54x的片内外设、接口及应用 1. 接收中断请求 (2) 软件中断请求 软件中断是由程序指令产生的中断请求,主要有3条指令: INTR指令:允许执行任何的可屏蔽中断,包括用户定义的中断(从SINT0到SINT30); TRAP指令:与INTR指令相同,但不影响状态寄存器ST1的中断方式(INTM)位; RESET指令:可在程序的任何时候产生,使处理器返回一个预定状态。 2019年1月18日 DSP原理及应用
167
对于软件中断和非屏蔽中断,CPU将立即响应,进入相应中断服务程序。 对于硬件可屏蔽中断,只要满足以下3种条件后CPU才能响应中断。
第7章 TMS320C54x的片内外设、接口及应用 7.4.2 中断控制 2. 中断响应 对于软件中断和非屏蔽中断,CPU将立即响应,进入相应中断服务程序。 对于硬件可屏蔽中断,只要满足以下3种条件后CPU才能响应中断。 ① 当前中断优先级最高。 ② INTM位清0。 ’C54x按照中断优先级响应中断请求。 ③ IMR屏蔽位为1。 在IMR中,中断的相应位为1,表明允许该中断。 当INTM=0,所有可屏蔽中断被使能。 当INTM=1,所有可屏蔽中断被禁止。 2019年1月18日 DSP原理及应用
168
第7章 TMS320C54x的片内外设、接口及应用 2. 中断响应 满足上述条件后,CPU响应中断,终止当前正进行的操作,指令计数器PC自动转向相应的中断向量地址,取出中断服务程序地址,并发出硬件中断响应信号IACK,而清除相应的中断标志位。 2019年1月18日 DSP原理及应用
169
① 保护现场,将程序计数器PC值压入堆栈; ② 将中断向量的地址加载到PC; ③ 从中断向量所指定的地址开始取指;
第7章 TMS320C54x的片内外设、接口及应用 7.4.2 中断控制 3. 中断服务程序 CPU响应中断后,将进行以下操作: ① 保护现场,将程序计数器PC值压入堆栈; ② 将中断向量的地址加载到PC; ③ 从中断向量所指定的地址开始取指; ④ 执行分支转移,进入中断服务程序; ⑤ 执行中断服务程序直到出现返回指令; ⑥ 从堆栈中弹出返回地址,加载到PC中; ⑦ 继续执行主程序。 2019年1月18日 DSP原理及应用
170
7.4.2 中断控制 4.保存中断上下文 第7章 TMS320C54x的片内外设、接口及应用
第7章 TMS320C54x的片内外设、接口及应用 7.4.2 中断控制 4.保存中断上下文 当执行一个中断服务程序时,有些寄存器必须保存在堆栈中。当程序从ISR返回时,用户软件代码必须恢复这些寄存器的上下文。 使用堆栈操作指令可以将这些寄存器传送到堆栈中,或者从堆栈中取出。 PSHM指令:将MMR寄存器中的内容传送到堆栈中; POPM指令:从堆栈中读出的数据传送到MMR寄存器中; PSHD指令:将数据存储器中的数据传送到堆栈; POPD指令:从堆栈中读出的数据传送到数据存储器中. 2019年1月18日 DSP原理及应用
171
① 当使用堆栈保存上下文时,必须按相反的方向执行恢复;
第7章 TMS320C54x的片内外设、接口及应用 4.保存中断上下文 当保存和恢复上下文时,应考虑如下几点: ① 当使用堆栈保存上下文时,必须按相反的方向执行恢复; ② 当恢复ST1寄存器的BRAF位之前,应该恢复BRC位。如果没有按照这个顺序,BRC=0,则BRAF位将被清除。 2019年1月18日 DSP原理及应用
172
当中断响应后,清除相应的标志位,屏蔽其他可屏蔽中断; PC值保存到堆栈中; 分支转移执行中断服务程序;
第7章 TMS320C54x的片内外设、接口及应用 7.4.2 中断控制 6.中断操作流程 (1)可屏蔽中断操作过程: 设置IFR寄存器的相应标志位; 测试中断响应条件; 当中断响应后,清除相应的标志位,屏蔽其他可屏蔽中断; PC值保存到堆栈中; 分支转移执行中断服务程序; 中断返回,将返回地址从堆栈中弹出给PC; CPU继续执行主程序。 2019年1月18日 DSP原理及应用
173
CPU立刻响应该中断,产生中断响应信号; 如果中断是由RS、NMI或INTR指令请求的,则INTM位被置1;
第7章 TMS320C54x的片内外设、接口及应用 6.中断操作流程 (2)非屏蔽中断操作过程: CPU立刻响应该中断,产生中断响应信号; 如果中断是由RS、NMI或INTR指令请求的,则INTM位被置1; 若INTR指令已经请求了一个可屏蔽中断,则相应的标志位被清零; PC值保存到堆栈中; 分支转移执行中断服务程序; 中断返回,将返回地址从堆栈中弹出给PC; CPU继续执行主程序。 2019年1月18日 DSP原理及应用
174
第7章 TMS320C54x的片内外设、接口及应用 6.中断操作流程 中断操作流程: 2019年1月18日 DSP原理及应用
175
中断向量可以映射到程序存储器的任何128字页面的起始位置,除保留区域外。
第7章 TMS320C54x的片内外设、接口及应用 7.4.2 中断控制 7.中断向量地址 中断向量可以映射到程序存储器的任何128字页面的起始位置,除保留区域外。 ’C54x的中断向量地址是由PMST寄存器中的IPTR(9位中断向量指针)和左移2位后的中断向量序号所组成。 中断向量地址=IPTR+(左移2位的中断向量序号) 例如,IPTR=0001H,INT0的中断向量序号为10H,中断向量的地址为00C0H。 中断向量地址= = 00C0H 2019年1月18日 DSP原理及应用
176
硬件复位时,IPTR=1FFH,复位向量将映射到程序存储器的511页空间,复位向量地址为FF80H。
第7章 TMS320C54x的片内外设、接口及应用 7.中断向量地址 硬件复位时,IPTR=1FFH,复位向量将映射到程序存储器的511页空间,复位向量地址为FF80H。 当硬件复位后,CPU将从0FF80H开始执行程序。 若对IPTR重新赋值,中断向量可以映射到程序存储器的其他地址。 例如,用0001H加载IPTR,中断向量将被移到0080H单元开始的程序存储器空间。 2019年1月18日 DSP原理及应用
177
外部中断触发方式有两种,分别是电平触发和边沿触发。 (1) 电平触发方式 是指外部的硬件中断源产生中断用电平表示。
第7章 TMS320C54x的片内外设、接口及应用 7.4.2 中断控制 8.外部中断触发 外部中断触发方式有两种,分别是电平触发和边沿触发。 (1) 电平触发方式 是指外部的硬件中断源产生中断用电平表示。 采用电平触发时,CPU可以通过采集硬件信号电平,来响应中断信息。 要求:在中断服务程序返回之前,外部中断请求输入必须无效,否则,CPU会反复中断。 在这种触发方式下,CPU必须有应答硬件信号通知外部中断源,当中断处理完成后,取消中断申请。 2019年1月18日 DSP原理及应用
178
在这种方式下,外部中断申请触发器能锁存外部中断输入线上的负跳变。即使CPU不能及时响应中断,中断申请标志也不丢失。
第7章 TMS320C54x的片内外设、接口及应用 8.外部中断触发 (2)边沿触发方式 在这种方式下,外部中断申请触发器能锁存外部中断输入线上的负跳变。即使CPU不能及时响应中断,中断申请标志也不丢失。 要求:输入脉冲宽度至少保持3个时钟周期,才能被CPU采集到。 外部中断的边沿触发方式适用于以负脉冲方式输入的外部中断请求。 2019年1月18日 DSP原理及应用
179
第7章 TMS320C54x的片内外设、接口及应用 7.4 ’C54x的中断系统 7.4.3 中断系统的应用 如果系统有多个外部中断源,首先按这些中断源时间响应要求的轻重缓急进行中断排队;然后按规定优先级将中断源连接到系统中。 由于’C54x系列的外部中断引脚只有4个,为了扩展外部中断源的个数,可采用“或”逻辑或“与”逻辑的方法,将多个中断源连接到外部中断引脚上,同时将各个中断源与I/O口连接。当产生中断时,CPU读I/O口,判别是哪个中断源申请中断。 2019年1月18日 DSP原理及应用
180
7.4.3 中断系统的应用 第7章 TMS320C54x的片内外设、接口及应用
第7章 TMS320C54x的片内外设、接口及应用 7.4.3 中断系统的应用 【例7.4.1】有8个中断源,分别表示为IR1,IR2,…IR8,各中断源均采用边沿触发方式,试用’C5402建立相应的中断系统。 (1) 构建硬件中断系统 每两中断源为一组,相“与”后分别与四个外部中断INT0、INT1、INT2和INT3连接。 8个中断源分别与主机口HPI相连,以便’C5402查询。 优先级顺序:IR1、IR2、IR3、IR4、IR5、IR6、IR7、IR8 2019年1月18日 DSP原理及应用
181
第7章 TMS320C54x的片内外设、接口及应用 (1) 构建硬件中断系统 硬件中断系统: 2019年1月18日 DSP原理及应用
第7章 TMS320C54x的片内外设、接口及应用 (1) 构建硬件中断系统 硬件中断系统: 2019年1月18日 DSP原理及应用
182
PORTR HPIPORT,*(hpi_var) ;读HPI口 STL *(hpi_var),B AND #01B,B
第7章 TMS320C54x的片内外设、接口及应用 (2) 系统中断程序 中断服务程序: ;外部中断INT0中断服务子程序: INT0ISR: PSHM ST ;保存寄存器 PSHM ST1 PSHM BG PSHM BH PSHM BL PORTR HPIPORT,*(hpi_var) ;读HPI口 STL *(hpi_var),B AND #01B,B BC IR2,ANEQ ;首先判别是否是IR1, ;是,则执行服务程序, ;否,则跳至对IR2的判断 2019年1月18日 DSP原理及应用
183
BC INT0END,ANEQ ;首先判别是否是IR1, ;是,则执行服务程序, ;否,则跳转至结束 INT0ED: POPM BL
第7章 TMS320C54x的片内外设、接口及应用 (2) 系统中断程序 ;扩展中断IR0的服务程序主体 IR2: STL *(hpi_var),B AND #010B,B BC INT0END,ANEQ ;首先判别是否是IR1, ;是,则执行服务程序, ;否,则跳转至结束 ;扩展中断IR1的服务程序主体 INT0ED: POPM BL POPM BH POPM BG POPM ST1 POPM ST0 RETE 2019年1月18日 DSP原理及应用
184
PORTR HPIPORT,*(hpi_var) ;读HPI口 STL *(hpi_var),B AND #0100B,B
第7章 TMS320C54x的片内外设、接口及应用 (2) 系统中断程序 ;外部中断INT1中断服务子程序: INT1ISR: PSHM ST ;保存寄存器 PSHM ST1 PSHM BG PSHM BH PSHM BL PORTR HPIPORT,*(hpi_var) ;读HPI口 STL *(hpi_var),B AND #0100B,B BC IR4,ANEQ ;首先判别是否是IR3, ;是,则执行服务程序, ;否,则跳至对IR4的判断 2019年1月18日 DSP原理及应用
185
BC INT0END,ANEQ ;首先判别是否是IR4, ;是,则执行服务程序, ;否,则跳转至结束 ;扩展中断IR4的服务程序主体
第7章 TMS320C54x的片内外设、接口及应用 (2) 系统中断程序 ;扩展中断IR3服务程序主体 IR4: STL *(hpi_var),B AND #01000B,B BC INT0END,ANEQ ;首先判别是否是IR4, ;是,则执行服务程序, ;否,则跳转至结束 ;扩展中断IR4的服务程序主体 INT1ED: POPM BL POPM BH POPM BG POPM ST1 POPM ST0 RETE 2019年1月18日 DSP原理及应用
186
PORTR HPIPORT,*(hpi_var) ;读HPI口 STL *(hpi_var),B AND #010000B,B
第7章 TMS320C54x的片内外设、接口及应用 (2) 系统中断程序 ;外部中断INT2中断服务子程序: INT2ISR: PSHM ST ;保存寄存器 PSHM ST1 PSHM BG PSHM BH PSHM BL PORTR HPIPORT,*(hpi_var) ;读HPI口 STL *(hpi_var),B AND #010000B,B BC IR6,ANEQ ;首先判别是否是IR5, ;是,则执行服务程序, ;否,则跳至对IR6的判断 2019年1月18日 DSP原理及应用
187
BC INT2END,ANEQ ;首先判别是否是IR6, ;是,则执行服务程序, ;否,则跳转至结束 ;扩展中断IR6的服务程序主体
第7章 TMS320C54x的片内外设、接口及应用 (2) 系统中断程序 ;扩展中断IR5的服务程序主体 IR6: STL *(hpi_var),B AND #01000B,B BC INT2END,ANEQ ;首先判别是否是IR6, ;是,则执行服务程序, ;否,则跳转至结束 ;扩展中断IR6的服务程序主体 INT2ED: POPM BL POPM BH POPM BG POPM ST1 POPM ST0 RETE 2019年1月18日 DSP原理及应用
188
PORTR HPIPORT,*(hpi_var) ;读HPI口 STL *(hpi_var),B AND #010000B,B
第7章 TMS320C54x的片内外设、接口及应用 (2) 系统中断程序 ;外部中断INT3中断服务子程序: INT3ISR: PSHM ST ;保存寄存器 PSHM ST1 PSHM BG PSHM BH PSHM BL PORTR HPIPORT,*(hpi_var) ;读HPI口 STL *(hpi_var),B AND #010000B,B BC IR8,ANEQ ;首先判别是否是IR7, ;是,则执行服务程序, ;否,则跳至对IR8的判断 2019年1月18日 DSP原理及应用
189
BC INT3END,ANEQ ;首先判别是否是IR8, ;是,则执行服务程序, ;否,则跳转至结束 ;扩展中断IR8的服务程序主体
第7章 TMS320C54x的片内外设、接口及应用 (2) 系统中断程序 ;扩展中断IR7的服务程序主体 IR8: STL *(hpi_var),B AND #01000B,B BC INT3END,ANEQ ;首先判别是否是IR8, ;是,则执行服务程序, ;否,则跳转至结束 ;扩展中断IR8的服务程序主体 INT3ED: POPM BL POPM BH POPM BG POPM ST1 POPM ST0 RETE 2019年1月18日 DSP原理及应用
190
● 中断响应时间。对于扩展的中断源,实际的中断响应时间应包含引导程序的时间;
第7章 TMS320C54x的片内外设、接口及应用 7.4.3 中断系统的应用 扩展外部中断源应注意的问题: ● 中断响应时间。对于扩展的中断源,实际的中断响应时间应包含引导程序的时间; ● 堆栈深度。中断源的增多,使压栈、弹栈的操作频繁,堆栈的大小要慎重考虑; ● 中断申请信号宽度。扩展外部中断时,若中断申请信号采用负脉冲形式,则负脉冲要有一定的宽度。 2019年1月18日 DSP原理及应用
Similar presentations