《第6章-C54x系列DSP的外设及应用-《DSP原理及实践应用》电子课件.ppt》由会员分享,可在线阅读,更多相关《第6章-C54x系列DSP的外设及应用-《DSP原理及实践应用》电子课件.ppt(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用内容提要内容提要内容提要 为为为 了了了 满满满 足数据足数据足数据 处处处 理的需要,理的需要,理的需要,TMS320C54x DSPTMS320C54x DSPTMS320C54x DSP 除了除了除了提供哈佛提供哈佛提供哈佛 结结结 构的构的构的 总线总线总线、功能、功能、功能 强强强 大的大的大的CPUCPUCPU 以及大范以及大范以及大范 围围围 的的的地址空地址空地址空 间间间 的存的存的存 储储储 器外,器外,器外,还还还 提供了必要的外部提供了必要的外部提供了必要的外部 设备设备设备 部件。部件。部件。其
2、内容有:其内容有:其内容有:定定定 时时时 器器器 主机接口主机接口主机接口 缓缓缓 冲串行口冲串行口冲串行口 DMA DMA 的控制与操作 的控制与操作第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用 6.1 定时器 TMS320C54x 定时器是一个16 位的软件可编程定时器,它是一个减1 计数器,可用于事件计数器和产生相应中断,一般定时器/计数器能够对许多系统时钟周期计数和产生一个周期性中断,该中断可用于产生精确的采样频率。并且片内定时器/计数器有助于提高DSP 器件性能。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用6.1.1 定时
3、器的工作原理 片内定时器是一个软件可编程定时器,可以用来周期地产生中断,TMS320C54xDSP 的功能框图如图6.1 所示。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用TMS320C54x 定时器是一个16 位的可编程定时器,主要由3 个寄存器组成:定时器寄存器(TimerRegister,TIM)、定时器周期寄存器(TimerPeriodRegisters,PRD)和定时器控制寄存器(TimerControlRegisters,TDR)。这3 个寄存器都是16 位存储器映像寄存器,他们在数据存储器中的地址分别为0024H,0025H,0026H。其中TIM
4、是一个减1 计数器;PRD 用于存放时间常数;TCR 中包含定时器的控制位和状态位。TMS320C54xDSP 的控制寄存器TCR 各位的定义如图6.2所示。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用TRB:定时器重新加载位,用来复位片内定时器。当TRB=1 时,TIM 寄存器装入PRD 寄存器中的数,并且预定标计数器PSC 装入TDDR 寄存器中的值。TRB 总是读成0。TSS:定时器停止状态位,用于停止或启动定时器。TSS=0,定时器开始;TSS=1,定时器停止。TDDR:定时器分频系
5、数。按此分频系数对CLKOUT 进行分频,以改变定时周期。当PSC=0 时,TDDR 寄存器的值装载到PSC 寄存器中。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用 定时器可访问的寄存器有三个:TIM、PRD、TCR。TIM和PRD 这两种寄存器共同工作,提供定时器的当前计数值。在正常情况下,当TIM 减到0 后,PRD 中的时间常数自动地加载到TIM。当系统复位(=1)或定时器复位(TRB=1)时,PRD 中的时间常数重新加载到TIM。在TMS320C54xDSP 中,定时器定时周期通过16 位的PRD 寄存器和一个4 位分频器比率来控制,后者由TCR 寄存器的
6、TDDR 位说明。定时器产生中断的中断周期和中断速率的计算公式分别如下。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用 其中CLKOUT 是DSP 芯片时钟周期,TDDR 和PRD 分别为定时器的分频系数和时间常数。TINT 请求信号将中断标志寄存器IFR 中的TINT 位置1,用于向CPU 申请中断,可以利用中断屏蔽寄存器IMR 来禁止或允许该请求。当系统不用定时器时,应设置中断屏蔽寄存器IMR 的相应位来屏蔽TINT。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用
7、用(4)将IFR 中的TINT 位置1,清除尚未处理完的定时器中断。所对应的指令是:STM#0008H,IFR(5)将IMR 中的TINT 位置1,开放定时器中断。所对应的指令是:STM#0008H,IMR(6)将STI 中的INIM 位置0,从整体上开放中断。所对应的指令是:RSBXINTM第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用 6.1.2 定时器的应用 例:设TMS320C5402 的工作频率为100MHz,设置定时器0 的定时周期为2s,每检测到一次中断,计数值ms 就加1,利用查询方式每计1000 个数就令XF 引脚的电平翻转一次,在XF 引脚输出一
8、矩形波,使LED 指示灯不停的闪烁。通过定时器的中断周期公式我们计算出TDDR=15,PRD=1249。因定时器2s 中断一次,故每1sXF 引脚的电平翻转翻转一次来实现LED 指示灯不停闪烁的目的。定时器中断服务程序如下:第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用#includecpu_reg.hintj;intms;ioportunsignedportf000;intmotor;voidmain()asm(STM#0000h,CLKMD);while(*CLKMD&0 x01);asm
9、(STM#97FFh,CLKMD);/设置CPU 运行频率100M/*40C7h:5*clkin=100M30c7h:4*clkin=80M20c7h:3*clkin=60M10C7h:2*clkin=40M*/第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用asm(STM#04C1h,PRD);/2s,定时周期寄存器PRD(地址0025H)。asm(STM#0C2fh,TCR);/TCR=最后四位asm(STM#0008h,IFR);asm(“ORM#0008h,*(IMR)”);/开中断,中
10、断屏蔽寄存器IMRasm(RSBXINTM);/开中断,状态控制寄存器ST1 中的中断标志 位INTM 位清零,开放全部中断ms=0;第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用while(1)while(ms100);/LED_flashms=0;asm(RSBXXF);/位复位motor=0 x8;for(j=0;j1;if(motor=0 x0)motor=0 x8;/*只有低4 位有效*/第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用6.2 主机接口 C5
11、4x 片内有一个主机接口(HostPortInterface,HPI),HPI 是一种高速、异步并行接口,通过它可以连接到标准的微处理器总线。通过TMS320C54x 的主机接口,可以高速访问TMS320C54x 的片内存储器,这样便于与其他主机之间进行信息交换。HPI 接口是以主处理器为主,DSP 为从的主从结构。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用 6.2.1HPI 的结构HPI 主要由五个部分组成,图6.3 是HPI 的结构框图。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用HPI 存储器(DARAM):用于TMS320X
12、C54x 与主机间传送数据,地址从1000H 到17FFH,也可以用作通用的双寻址数据RAM或程序RAM。HPI 地址寄存器(HPIA):由主机对其进行直接访问,存放当前寻址HPI 存储单元的地址。HPI 数据锁存器(HPID):由主机对其进行直接访问。如果进行的是读操作则存放从HPI 存储器读出的数据;如果进行的是写操作则存放要写到HPI 存储器的数据。HPI 控制寄存器(HPIC):C54x 和主机都能对其直接访问,用于主处理器与DSP 相互连接,实现相互的中断请求。HPI 控制逻辑:用于处理HPI 与主机之间的接口信号。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应
13、应用用 当C54x 与主机交换信息时,HPI 是主机的一个外围设备。在TMS320C54x 和主机传送数据时,HPI 能自动地将外部接口传来的连续的8 位数组合成16 位数后传送给TMS320C54x。HPI 有两种工作方式:共用寻址方式(SAM)和仅主机寻址方式(HOM)。在共用寻址方式下,TMS320C54x 和主机都能访问HPI 存储器,HPI 支持设备与TMS320C54x 之间的高速传送数据,HPI 支持的传输速度为(Fdn)/5。其中Fd 为CLKOUT(TMS320C54x 的主频率);n 是主机每进行一次外部寻址的周期数,通常n 为4(或3)。若在仅主机寻址方式下,仅仅只能让主
14、机寻址HPI 存储器,且访问的速度更快,主机每50ns 寻址一个字节(160Mbps),且与TMS320C54x 的时钟频率无关。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用 6.2.2HPT 设计 图6.4 是TMS320C54xHPI 与主机的连接框图。HPI 提供了灵活而方便的接口,接口外围电路简单。TMS320C54xHPI 与主机相连时,几乎不需要附加其他的逻辑电路。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用HBIL 为字节识别信号,用来识别主机传送
15、过来的是第1 个字节还是第2 个字节。为读/写信号,高电平表示主机要读HPI,低电平表示写HPI。(3)控制线:具体分为 和 控制线。其中 和 为数据选通信号,在主机寻址HPI 周期内控制HPI 数据的传送。和 信号与 一道产生内部选通信号。为片选信号。如果HPI 的使能输入端,在每次寻址期间必须为低电平,而在两次寻址之间也可以停留在低电平 为地址选通信号。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用(4)握手线:具体分为HRDY 和。HRDY 用于控制HPI 是否准备好。高电平表示HPI 已准备好执行一次数据传送;低电平表示HPI 正忙于完成当前事务。为HPI
16、中断输出信号,受HPIC 寄存器中的HINT 位控制。当TMS320C54x 复位时为高电平,低电平时为高阻状态。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用 主机对HPI 的访问由外部和内部两部分组成。外部访问由主机与HPI 寄存器交换数据。内部访问时HPI 寄存器与DSP 存储单元交换数据。TMS320C54x 的HPI 存储器是一个2K16 位字的DARAM。它在数据存储空间的地址为1000H-17FFH。HPI 存储器地址的自动增量特性,可以用来连续寻址HPI 存储器。每进行一次读操作,都会使HPIA 事后增1;每进行一次写操作,都会使HPIA 事先增1。
17、HPIA 寄存器是一个16 位寄存器,在HPIA 中,只有低11 位有效。HPIA 的增/减对HPIA 寄存器所有16 位都会产生影响。由于HPI 指向2K 字的存储空间,因此主机对它的寻址是很方便的,地址为0-7FFH。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用NOPST0 x10,*AR1PORTW*AR1,0 x8008;将0 x10 写入HPIA 高位ST0 x20,*AR1PORTW*AR1,0 x8009;将0 x20 写入HPIA 地位NOP;地址为0 x1020NOPNOP
18、Loop:ST0 x1A,*AR1NOPPORTW*AR1,0 x8006;将0 x1A 写入DSP2 地址0 x1020 的高位第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用NOPST0 x2B,*AR1PORTW*AR1,0 x8007;将0 x2B 写入DSP2 地址0 x1020 的地位NOPNOPNOPSTM0 x1016,AR2NOPPORTR0 x8006,*AR2;将读到的数存入0 x1016和0 x1017 两个单元NOP;每个为8 位数STM0 x1017,AR2NOP第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用第六
19、章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用STM0 x1018,AR2NOPPORTR0 x8006,*AR2;将DSP2 中的数通过HPI 读到DSP1 的0 x1018;和0 x1019 中,此时DSP1 两个单元中分别为;两个8 位数NOPSTM0 x1019,AR2NOPPORTR0 x8007,*AR2NOPNOPHearBhear.end第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用6.3 缓冲串行口TMS320C54x 具有高速、全双工串行口,串行口的功能是提供器件内外数据的串行通信,就是发送器将并行数据逐位移出而成为串行数
20、据流,接收器将串行数据流以一定的时序和格式呈现在连接收/发的数据线上。TMS320C54x 有四种类型的串行口:标准同步串行口(SPI)、缓冲串行口(BSP)、时分多路串行口(TDM)和多通道穿缓冲串行口(McBSP)。并且TMS320C54x 的所有串行口的收发操作都是双缓冲的,他们可以工作在任意低的时钟频率上。本节主要讨论TMS320C54x 四种类型当中的缓冲串行口。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用 6.3.1 标准同步串行口的结构和控制寄存器 当缓冲串行口工作在标准方式时,缓冲串行口的功能与标准串行口相同,因此我们有必要首先了解一下标准串行口。
21、然后再讨论缓冲串行口。图6.5 是标准串行口的结构框图。由图可见,串行口由16 位数据接收寄存器(DRR)、数据发送寄存器(DXR)、接收移位寄存器(RSR)、发送移位寄存器(XSR)以及控制电路组成。其串行口各引脚的定义说明如表6-1 所示。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用 串行口可通过访问3 个寄存器工作,这三个寄存器分别为串行口控制寄存器(SPC)、发送数据寄存器(DXR)和接收数据寄存器(DRR)。这3 个寄存器都是16位的存储器映射寄存器。DXR 和DRR 可在串行操作
22、时分别用于传送和获取数据;标准同步串行口的操作是由串行口控制寄存器(SPC)决定的。SPC 的结构图如图6.6 所示。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用 由图可知,SPC 有16 个控制位,其中7 位是只读,其余9位可以读/写。SPC 寄存器各控制位的功能说明如下:Free、Soft:仿真控制位。当Free、Soft=00 时,立即停止串行口时钟,结束传送数据;Free、Soft=01 时,接收数据不受影响,若正在发送数据,则等到当前字发送完成后停止发送数据;Free、Soft=1x 时,表示使串行口不受仿真调试断点的影响。第六章第六章 C54XC54X
23、系列系列DSPDSP的外的外设设及及应应用用RSRFULL:接收移位寄存器满标志位。当RSRFULL=1,表示RSR 已满。当下列三种情况同时发生时将使RSRFULL 变成有效(RSRFULL=1)。即上一次从RSR 传到DRR 的数据还没有读取、RSR 已满和一个帧同步脉冲已出现在FSR 端。当下列三种情况之一发生时将使RSRFULL 变成无效(RSRFULL=0)。即读取DRR 中的数据、串行口复位和TMS320C54x 复位时。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用:发送移位寄存器空标志位。当下列三种情况之一发生时将会使 变成低电平。即上一个数有DXR
24、 传送到XSR 后,DXR 还没有被加载,而XSR 中的数已经移空。XRDY:发送准备就绪位。当XRDY 位由0 变到1,立即产生一次发送中断(XINT),表示DXR 中的内容已经复制到XSR,可以向DXR 加载新的数据字。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用RRDY:发送就绪位。当RRDY 由0 变到1,立即产生一次接受中断(RINT),表示RSR 中的内容已经复制到DRR,可以从DRR 中取数了。IN1:输入引脚1。当允许CLKX 引脚作为位输入引脚时,IN1 位反应了CLKX 引脚的当前状态。IN0:输入引脚0。当允许CLKR 引脚作为位输入引脚时,
25、IN0 位反应了CKLR 引脚的当前状态。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用:接收复位标示位和发送复位标志位。这两个标示位都是低电平有效,当=0 时,串行口处于复位状态;当=1 时,串行口处于工作状态;当当=MCM(时钟方式位)=0 时,由于不必输出CLKX,可使TMS320C54x 的功耗进一步降低。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用TXM:发送方式位。用于设定帧同步脉冲FSX 的来源。TXM 的功能说明如下:当TXM=0 时,将FSX 设置成输入,由外部提供帧同步脉冲;当TXM=1 时,将FSX 设置成输出,每
26、次发送数据的帧同步脉冲由内部产生。MCM:时钟方式位。用于设定CLKX 的时钟源。MCM 的功能说明如下:当MCM=1 时,片内时钟频率是CLKOUT 频率的四分之一,将CLKX 配置成输出,采用内部时钟;当MCM=0 时,将CLKX 配置成输入,采用外部时钟。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用FSM:帧同步方式位。当FSM=1 时,串行口工作在字符组方式,每发送/接收一个字都要求一个帧同步脉冲FSX/FSR。当FSM=0 时,串行口工作在连续方式,在给出初始帧同步脉冲之后不需要帧同步脉冲。这一位规定了串行口工作时,在初始帧同步脉冲之后是否还要求帧同步脉
27、冲FSX 和FSR。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用FO:数据宽度标志位。当FO=1 时,数据按8 位字节发送,首先传送MSB。当FO=0 时,发送和接收的数据都是16 位字。用该位来规定串行口发送/接收数据的字长。DLB:数字自循环测试方式位。当DLB=1 时,片内通过一个多路开关,将DR 和FSR 分别与DX 和FSX 相连。若在DLB=1 的情况下,MCM=1(选择片内串行口时钟CLKX 为输出),CLKR 由CLKX 驱动;MCM=0(CLKX 从外部输入),CLKR 由外部CLKX 信号驱动。当DLB=0 时,禁止使用该功能,则串行口工作在正
28、常方式,此时DR、FSR 和CLKR 都从外部加入。Res:保留位。此位总是读成0。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用 6.3.2BSP 的结构和控制寄存器 缓冲串行口(BufferedSerialPort,BSP):即在标准同步串行口的基础上增加了一个自动缓冲单元(ABU)。BSP 是一种增强型标准串行口,它是全双工的,并有两个可设置大小的缓冲区。缓冲串行口支持高速的传送,可减少中断服务的次数。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用BSP 串行口共有6 个寄存器:分别是数据接收寄存器BDDR、数据发送寄存器BDXR、
29、控制寄存器BSPC、控制扩展寄存器BSPCE、数据接收移位寄存器BRSR、数据发送移位寄存器BXSR。在标准模式时,BSP 利用自身专用的数据发送寄存器、数据接收寄存器、串行口控制寄存器进行数据通信,也利用附加的控制扩展寄存器BSPCE 处理它的增强功能和控制ABU。BSP 发送和接收移位寄存器不能用软件直接存取,但是具有双缓冲能力。BSP 串行口的结构框图如图6.7 所示。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用BSP 串行口的结构和特点:缓冲串行口是一种增强型串行口。ABU 利用独立
30、于CPU的专用总线,让串行口直接读/写TMS320C54x 内部存储器。这样可以使串行口处理事务的开销最省,并能达到最快的数据率。并且BSP 有非缓冲方式和自动缓冲方式。当缓冲串行口工作在非缓冲方式时,BSP 传送数据与标准串行口一样,都是在软件控制下经中断进行的;当工作在自动缓冲方式时,串行口直接与TMS320C54x 内部存储器进行16位数据传送。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用ABU 具有自身的自循环寻址寄存器组,每个都与地址产生单元无关。在自动缓冲寻址时,使用ABU 可以编程缓冲区的长度和起始地址,可以产生缓冲满中断,并可以在运行中停止缓冲功能
31、。BSP 串行口在标准串行口的基础上新增了像可编程串行时钟、帧同步信号的正负机型和选择时钟等功能。在原有的8、16 位数据转换之外新增加了10、12 位字转换。这些特殊的功能操作都是由控制扩展寄存器(BSPCE)决定的。BSPCE 的结构图如图6.8 所示。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用BSPCE 寄存器各控制位的功能说明如下:HALTR:自动缓冲停止位。HALTR=1 时,缓冲区接收到一半数据时,自动缓冲停止。此时BRE 清零,串行口继续以标准模式工作;当HALTR=0 时,缓冲区接收到一半数据时继续操作。RH:接收缓冲区半满标志位。当RH=1 时
32、,表示后半部分缓冲区满,当前接收的数据正存入前部分缓冲区;当RH=0 时,表示前半部分缓冲区满,当前接收的数据正存入后半部分缓冲区。BRE:自动接收使能控制位。当BRE=1 时,允许自动接收;当BRE=0 时,禁止自动接收,串行口以标准模式进行工作。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用HALTX:自动发送禁止位。当HALTX=1 时,若一半缓冲区发送完成后,自动缓冲停止,此时BRE 清零,串行口继续以标准模式进行工作;当HALTX=0 时,若一半缓冲区发送完成后,自动缓冲继续工作。XH:发送缓冲禁止位。当XH=1 时,缓冲区后半部分发送完成,当前发送数据取
33、自缓冲区的前半部分;当XH=0 时,缓冲区前半部分发送完成,当前发送数据取自缓冲区的后半部分。BXE:自动发送使能位。当BXE=1 时,允许自动发送;当BXE=0 时,禁止自动发送。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用PCM:脉冲编码模块模式位。当PCM=1 时,设置脉冲编码模式;当PCM=0 时,清除脉冲编码模式。注意,PCM 设置串行口工作与编码模式,只影响发送器。BDXR 和BXSR 转换不受该位影响。在PCM 模式下,只有它的最高位(15)为0,BDXR 才被发送,为1 时,BDXR 不发送。BDXR 发送期间BDX 处于高阻态。FIG:帧同步信号
34、忽略位。当FIG=1 时,忽略帧同步信号。当FIG=0 时,在第一个帧脉冲之后的帧同步脉冲重新启动时发送。注意,FIG 位可以将16 位传输格式以外的各种传输字长压缩打包,可用于外部帧同步信号的连续发送和接收。利用FIG 可以节省缓冲内存。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用FE:扩展格式设置位。CLKP:时钟极性控制位。当CLKP=1 时,接收器在BCLKR 的上升沿采样数据,在BCLKR 的下降沿发送数据;当CLKP=0时,在BCLKR 的下降沿采样数据,在BCLKR 的上升沿发送数据。利用该位来设定接收和发送数据采样时间特性。FSP:帧同步极性设置位
35、。当FSP=1 时,帧同步脉冲由低电平激活;当FSP=0 时,帧同步脉冲由高电平激活。利用该位来设定帧同步脉冲触发电平的高低。CLKDV:内部发送时钟分频因数位。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用6.3.3BSP 的应用 例:对TMS320C54x 的McBSP 串口进行控制和使用,并利用C5402 的McBSP1 串口实现数据的收发。所有的TMS320C54X 都提供了串口,大多数都支持缓冲串口。BSP 串行接口能与串行设备,如编/译码器,串行A/D 和D/A 转换器等直接通信。BSP 支持8,10,12 或16-bit数据单元的发送,同时允许程控串口
36、通讯的时钟频率。从VC5402 开始,TMS32054xx 提供了统一的多通道缓冲串口-McBSP。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用 串口初始化包括两个部分:串口收发中断的设置和串口寄存器的初始化。如果利用DES5402PP 实验板来实现该功能,需要将DES5402PP 实验板的串口1 设置为单相帧,字长为16bit,发送CLOCK 由内部CPU 时钟产生,频率为500KHz,并输出。同时串口接收时钟也使用该信号。发送帧同步信号由发送位移寄存器自动产生,同时也提供给串口接收电路。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用
37、 具体设置参见下面的代码:STM#0,MCBSP1_SPSA;选择SPCR11STM#2000h,MCBSP1_SPSD;在DRR 中接收sign_extendSTM#1,MCBSP1_SPSA;选择SPCR20STM#100h,MCBSP1_SPSDSTM#2,MCBSP1_SPSA;选择RCR10STM#40h,MCBSP1_SPSD;每个字16 比特STM#3,MCBSP1_SPSA;选择RCR20STM#40h,MCBSP1_SPSD第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用STM#4,MCBSP1_SPSA;选择XCR10STM#40h,MCBSP1_
38、SPSD;每个字16 比特STM#5,MCBSP1_SPSA;选择XCR20STM#0,MCBSP1_SPSDSTM#6,MCBSP1_SPSA;选择SRGR1STM#1C8h,MCBSP1_SPSD;CLKG=100M/200=500KSTM#7,MCBSP1_SPSA;选择SRGR2STM#2000h,MCBSP1_SPSD;抽样速率产生器钟;从CPU 时钟驱动第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用;0 x8,0 x9,0 xa,0 xb,0 xc,0 xdall=0 x0STM#0eh,MCBSP1_SPSA;选择PCR0STM#0a0eh,MCBSP
39、1_SPSDRPT#0ffhNOPSTM#0h,MCBSP1_SPSASTM#2001h,MCBSP1_SPSD;使能接收!STM#1,MCBSP1_SPSASTM#1c1h,MCBSP1_SPSD;使能发送!STM#0,DXR11 串口收发中断的设置包括中断屏蔽寄存器IMR的设置,即允许串口1 的发送和接收中断,同时设置PMST,指定中断向量表的位置,以便正确响应中断。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用 6.4 DMA 的控制与操作TI 公司早先推出的C54x 芯片大多没有DMA 控制器。后来,在C5402、C5410、C5420 等多种DSP 芯片内
40、部集成了DMA 控制器,应用比较广泛。DMA 控制器有6 个可独立编程的DMA 通道,每个DMA 通道可以进行不同内容的DMA 操作。由于DMA 控制器可以在无需CPU 干扰的情况下,完成存储器不同块间的数据传输。DMA 允许数据在内部传输、片内外设或外部设备之间传输,而不需要CPU 的参与。也就是说,DMA 可以在不占用CPU 资源的情况下,实现数据的自由传送。因为DMA 传输和CPU 运算独立进行、互不影响,这样可以减轻CPU 的负担,使CPU 的高速运算能力得到充分的发挥,在实时性要求比较高的场合具有更大的意义。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用
41、6.4.1DMA 控制器的工作原理1、DMA 请求 首先是CPU 对DMA 控制器进行初始化,并向I/O 接口发出操作命令,然后由I/O 发出DMA 请求。2、DMA 响应DMA 控制器对DMA 请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求。当CPU 执行完当前总线周期即可释放总线控制权。此时,总线裁决逻辑输出总线应答,表示DMA 已经响应,在进行数据传输之前,CPU 还必须把源地址和目的地址等必需的参数写入DMA 控制器,然后再通过DMA 控制器通知I/O 口开始DMA 传输数据。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用3、DMA 传输DMA 控制器获得
42、总线控制权后,CPU 即刻挂起或只执行内部操作,由DMA 控制器输出读写命令,直接控制RAM 与I/O 口进行传输,在传送过程中不需要中央处理器的参与。但是,一旦CPU 需要使用DMA 所占用的总线时,DMA 就必须立即把总控制权交还给CPU。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用4、DMA 结束DMA 的所有功能都是通过寄存器在系统时钟控制下完成的。当完成规定的成批数据传送后,DMA 控制器即释放总线控制权,并向I/O 接口发出结束命令。当I/O 接口收到结束命令后,一方面停止I/O 设备的工作,另一方面向CPU 提出中断请求。最后,带着本次操作结果及转台
43、继续执行原来的程序。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用 6.4.2DMA 控制器的应用 例1 程序存储器到数据存储器的DMA 传送。从程序存储器到数据存储器的DMA 传送的具体要求如下:传送方式 多帧传送方式 初始源地址180F0H(程序空间)初始目的地址40F0H(数据空间)初始传送字数2000H 单字(16 位)自动初始化源地址180F0H(程序空间)第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用 自动初始化目的地址20F0H(数据空间)自动初始化单元计数值2000H 个单字(16 位)自动初始化帧计数值000H(1 帧)
44、同步事件 无 使用通道DMA 通道3第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用本例要求用DMA 方式将程序空间的一块数据传送至数据空间。当第一块数据传送完成之后,DMA 通道用全局重新加载寄存器(DMGSA、DMGDA、DMGCR、DMGFR)的内容进行自动初始化,并再次开始传送。全局重新加载寄存器规定数据空间的目的地址为20F0h,取代第一块传送时的40F0h。第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用STMDMSRCP,DMSA;设置源程序页为1STM#1H,DMSDNSTMDMSRC5,DMSA;设置源地址为8000HSTM
45、#8000H,DMSDN;程序空间地址180F0H 的低16 位STMDMDST0,DMSA;设置目的地址为40F0HSTM#40F0H,DMSDNSTMDMCTR5,DMSA;设置传送次数为2000H 次STM#(2000H-1),DMSDN第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用STMDMSFC5,DMSA;设置同步事件和帧计数寄存器STM#00000b,DMSDN;0000(DSYN)无同步事件;0(DBLW)单字方式(16 位);000(保留);00000000(帧计数)帧计数器=0H(一帧)STMDMMCR5,DMSA;设置传送方式控制寄存器STM#
46、00101b,DMSDN;1(AUTOINIT)自动初始化允许;0(DINM)不发生中断;0(IMOD)N/A;0(CTMOD)多帧方式第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用;0(保留);001(SIND)操作完成后源地址递增;00(DMS)源地址在程序空间;0(保留);001(DIND)操作完成后目的地址递增;01(DMD)目的地址在数据空间STMDMGSA,DMSA;设置全局源地址为8000HSTM#8000H,DMSDN;程序空间地址180F0H 的低16 位STMDMGDA,DMSA;设置全局目的地址为20F0HSTM#20F0H,DMSDNSTMD
47、MGCR,DMSA;设置全局单元计数值,移动2000H 个字STM#(1000H-1),DMSDNSTMDMGFR,DMSA第六章第六章 C54XC54X系列系列DSPDSP的外的外设设及及应应用用STM#00000b,DMSDN;00000000;(保留);00000000;(全局帧计数值)STM#10000b,DMPREC;设置通道优先级和使能控制寄存器STM;0(FREE)硬件仿真停止时DMA 停止;0(保留);100000(DPRC5-0)通道4、3、2、1、0 为低优先级;通道5 为高优先级;00(INTOSEL)N/A;100000(DE5-0)禁止使用通道4、3、2、1、0;允许使用通道5