dsp原理与应第四章_第1页
dsp原理与应第四章_第2页
dsp原理与应第四章_第3页
dsp原理与应第四章_第4页
dsp原理与应第四章_第5页
已阅读5页,还剩154页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

第4章

TMS320C54x片内外设、接口及应用内容提要

本章详细介绍了TMS320C54x中主机接口HPI、定时器、串行接口和中断系统。

主机接口HPI是TMS320C54x系列定点芯片内部具有的一种接口部件,主要用于DSP与其他总线或CPU进行通信。HPI接口通过HPI控制寄存器(HPIC)、地址寄存器(HPIA)、数据锁存器(HPID)和HPI内存块实现与主机通信。

片内定时器包括定时寄存器TIM、定时周期寄存器PRD和定时控制寄存器TCR。

TMS320C54x的串行口有4种类型:标准同步串口BP、缓冲同步串口BSP、多路缓冲串口McBSP和时分多路同步串口TMD。

中断是由硬件或软件驱动的中断信号,使CPU中断当前程序,去执行中断服务程序。

2024/7/91DSP原理及应用第4章TMS320C54x片内外设、接口及应用4.1’C54x的主机接口

4.2’C54x的定时器4.3’C54x的串行接口4.4’C54x的中断系统2024/7/92DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.1’C54x的主机接口

’C54x的主机接口(HPI)是一个8位并行口,用来实现与主设备或主处理器的通信。

主机与HPI的通信,可通过专用地址和数据寄存器、HPI控制寄存器以及使用外部数据与接口控制信号来实现。

HPI口作为主机的外围设备,提供8根外部数据线HD(0~7)与主机(或主设备)交换信息。当’C54x与主机传送数据时,HPI能自动地将外部接口连续传来的8位数组成16位数,并传送至’C54x。当主机使用HPI寄存器执行数据传输时,HPI控制逻辑自动执行对’C54x内部的双寻址RAM的访问,以完成数据处理。

2024/7/93DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.1’C54x的主机接口

HPI接口有两种工作方式:

共用寻址模式(SAM方式)在这种方式下,主机和’C54x都能寻址HPI存储器。如果是异步工作的主机寻址,可在HPI内部重新得到同步。当’C54x与主机的周期发生冲突时,则主机具有寻址优先权,’C54x将等待一个周期。

主机寻址模式(HOM方式)

在HOM方式下,HPI存储器只能让主机寻址,而’C54x则处于复位状态或IDLE2空转状态。主机可以访问HPIRAM,而’C54x则配置为最小功耗。

2024/7/94DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.1’C54x的主机接口

HPI口可以支持主设备与’C54x之间的高速数据传送。

在SAM工作方式时,若HPI每5个CLKOUT周期传送一个字节,则主机的运行频率可达(fd×n)/5。

fd——’C54x的CLKOUT频率;

n——主机每进行一次外部寻址的周期数,通常n是3(或4)。例如:’C54x的CLKOUT频率为40MHz,那么主机的时钟频率可达32(或24)MHz,且不插入等待周期。在HOM方式时,主机可以获得更高的速度。即每50ns寻址一个字节(即160Mbps),且与’C54x的时钟速度无关。

2024/7/95DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.1’C54x的主机接口

1.HPI与主机的连接

’C54x通过HPI与主机设备连接,除了8位HPI数据总线以及控制信号线外,不需要附加其他的逻辑电路。

数据线

地址

读/写

数据口

地址锁存使能

准备中断主机HD0~HD7HCNTL0HCNTL0HBILHR/WHDS1HDS2HCSHASHRDYHINTTMS320C54x82024/7/96DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.HPI与主机的连接

HPI与主机连接的信号名称和功能:HD0~HD7:当不传送数据(HDSx或HCS=1)或EMU1/OFF=0(切断所有输出)时,HD7~HD0均处于高阻状态。

双向并行三态数据总线,与主机数据总线相连。片选信号,与主机地址线或控制线相连。HCS:作为HPI的使能输入端,在每次寻址期间必须为低电平,而两次寻址之间也可以停留在低电平。

2024/7/97DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.HPI与主机的连接

HPI与主机连接的信号名称和功能:地址选通信号,与主机地址锁存使能(ALE)或地址选通引脚相连,也可以不使用。HAS:若主机的地址和数据线是分开的,则HAS接高电平,此时由HDS1、HDS2或HCS中最迟的下降沿锁存HBIL、HCNTL0/1和HR/W信号。

若主机的地址和数据是一条多路总线,HAS则与主机的ALE引脚相连。在HAS的下降沿,锁存HBIL、HCNTIL0/1和HR/W信号;

2024/7/98DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.HPI与主机的连接

HPI与主机连接的信号名称和功能:字节识别信号,与主机地址线或控制线连接,用于识别主机传送来的是第几字节。HBIL:高电平表示HPI已准备好,可执行一次数据传送;低电平表示HPI正忙于完成当前事务。

当HBIL=0时,为第1字节;当HBIL=1时,为第2字节。第1个字节是高字节还是低字节,由HPIC寄存器中的BOB位决定。

HRDY:

HPI准备好端,与主机异步准备好线相连。2024/7/99DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.HPI与主机的连接

主机控制信号,与主机地址线或控制线连接,用来选择主机所要寻址的寄存器。HCNTL0、HCNTL1:HCNTL0HCNTL1功能说明00主机可以读/写HPIC寄存器。

01主机可以读/写HPID寄存器。每读1次,HPIA事后增1;

每写1次,HPIA事先增1。

10主机可以读/写HPIA寄存器。这个寄存器指向HPI存储器。

11

主机可以读/写HPID寄存器。HPIA寄存器不受影响

2024/7/910DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.HPI与主机的连接

数据选通信号,与主机读选通和写选通或数据选通线连接,用于在主机寻址HPI周期内,控制HPI数据的传送。HDS1、HDS2:

HDS1和HDS2信号与HCS一道产生内部选通信号。

HPI中断输出信号,与主机中断输入相连。受HPIC寄存器中的HINT位控制。HINT:当’C54x复位时为高电平,EMU1/OFF低电平时为高阻状态。2024/7/911DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.HPI与主机的连接

读/写信号。与主机读/写选通、地址线或多路地址数据线连接,用于控制主机对HPI的读写操作。HR/W:当该信号为高电平时,表示主机要读HPI;

当该信号为低电平时,表示主机要写HPI。

若主机没有读/写信号,可用一根地址线代替。2024/7/912DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.1’C54x的主机接口

2.控制寄存器HPIC

HPI控制寄存器为16位寄存器,用来控制HPI的操作。其高8位与低8位完全相同,提供了4个控制位,分别为BOB、SMOD、DSPINT和HINT位。

15~121110987~43210XHINTDSIPNTSMODBOBXHINTDSIPNTSMODBOB2024/7/913DSP原理及应用第4章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和主机都可以读它。2024/7/914DSP原理及应用第4章TMS320C54x的片内外设、接口及应用2.控制寄存器HPIC

主机和’C54x对HPIC寄存器的寻址有4种结果:①主机读HPIC寄存器15~121110987~43210XHINT0SMODBOBXHINT0SMODBOBDSIPNT=0②主机写HPIC寄存器15~121110987~43210XHINTDSIPNTXBOBXHINTDSIPNTXBOBSMOD=X2024/7/915DSP原理及应用第4章TMS320C54x的片内外设、接口及应用2.控制寄存器HPIC

主机和’C54x对HPIC寄存器的寻址有4种结果:③’C54x读HPIC寄存器15~121110987~43210XHINT0SMOD0高12位为任意值XDSIPNT=0BOB=0④’C54x写HPIC寄存器15~121110987~43210XHINTXSMODX任意值X2024/7/916DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.2’C54x的定时器

在工业应用中,计数器和定时器常用于检测和控制中的时序协调及控制。

’C54x的片内定时器是一个可编程的定时器,可用于周期地产生中断。定时器的最高分辨率为处理器的CPU时钟速度。通过带4位预定标器的16位计数器,可以获得较大范围的定时频率。2024/7/917DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.2’C54x的定时器

定时器主要由定时寄存器TIM、定时周期寄存器PRD、定时控制寄存器TCR及相应的逻辑控制电路组成。

寄存器TIM、PRD和TCR是存储器映像寄存器,地址分别为0024H、0025H和0026H。4.2.1定时器结构

1.定时器的组成

2024/7/918DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.定时器的组成

主定时模块预定标模块周期寄存器PRD定时寄存器TIM借位13预定标计数器PSC借位预定标分频系数TDDR12111&SRESETTRBCLKOUTTSSTINTTOUT2024/7/919DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.定时器的组成

定时寄存器TIM逻辑控制电路定时周期寄存器PRD定时控制寄存器TCR16位减1计数器。地址:0024H

用来存放定时时间。地址:0025H存放定时器的控制位和状态位。地址:0026H。

用来控制定时器协调工作。2024/7/920DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.定时器的组成

逻辑控制电路:由三个或门和一个与门组成。

通过或门1、3控制PRD的加载计数;

通过或门1、2控制PSC的加载计数。停止控制位TSS:通过与门屏蔽CLKOUT信号来控制定时器的启动。TINT——外部定时中断,定时时间到发生中断;TOUT——定时输出,输出定时波形。复位SRESET和TRB:2024/7/921DSP原理及应用第4章TMS320C54x的片内外设、接口及应用主定时模块包括PRD和TIM,由预定标模块定时,预定标模块每输出一个时钟,TIM减1。当TIM减到0后,TIM装入PRD的值。2.定时器工作原理

当设备复位(SRESET=1)或者定时器复位(TRB=1)时,PRD的内容将装入TIM中。

主定时模块的定时中断(TINT)信号输出至CPU以及定时器的输出引脚TOUT。2024/7/922DSP原理及应用第4章TMS320C54x的片内外设、接口及应用

预定标模块包括TCR中的TDDR和PSC位,由CPU时钟定时,每来一个CPU时钟,PSC值减1。

当PSC减至0、设备复位或定时器复位时,TDDR的内容复制到PSC中。

2.定时器工作原理

4位预定标计数器PSC和16位定时计数器TIM组成一个20位计数器,定时器每接收一个CPU时钟减1,当计数器减到0时,产生定时中断(TINT),同时PSC和TIM重新装入预设的值。2024/7/923DSP原理及应用第4章TMS320C54x的片内外设、接口及应用2.定时器工作原理

由逻辑控制电路控制定时器运行。

定时分频系数和周期数分别装入TCD和PRC寄存器中;

每来一个定时脉冲CLKOUT,计数器PSC减1;

当PSC减至0时,PSC产生借位信号;

在PSC的借位信号作用下,TIM减1计数,同时将分频系数装入PSC,重新计数;

当TIM减到0时,定时时间到,由借位产生定时中断TINT和定时输出TOUT,并将PRD中的时间常数重新装入TIM。定时器的工作过程:2024/7/924DSP原理及应用第4章TMS320C54x的片内外设、接口及应用

16位存储器映像寄存器,包含定时器的控制位和状态位。3.定时控制寄存器TCR

15~1211109~6543~0TDR0026h保留

Soft

Free

PSC

TRB

TSS

TDDR

保留位软件调试控制位

预定标计数器

重新加载位停止状态位分频系数2024/7/925DSP原理及应用第4章TMS320C54x的片内外设、接口及应用

TDDR:定时器分频系数,用来对CLKOUT进行分频,以改变定时周期。最大预定标值为16,最小预定标值为1。当PSC减到0后,以TDDR中的数加载PSC。3.定时控制寄存器TCR

TSS:定时器停止状态位,用于停止或启动定时器复位时,TSS位清0,定时器立即定时。TSS=0,定时器启动工作;TSS=1,定时器停止工作。2024/7/926DSP原理及应用第4章TMS320C54x的片内外设、接口及应用

TRB:定时器重新加载位,用来复位片内定时器。当TRB置1时,以PRD中的数加载TIM,以及以TDDR中的值加载PSC。TRB总是读成0。3.定时控制寄存器TCR

PSC:定时器预定标计数器,其标定范围为1~16。当PSC减到0后,TDDR位域中的数加载到PSC,TIM减1。2024/7/927DSP原理及应用第4章TMS320C54x的片内外设、接口及应用

Free、Soft:软件调试控制位。Free和Soft位结合使用,用来控制调试程序断点操作情况下的定时器工作状态。3.定时控制寄存器TCR

Soft

Free

定时器状态

0

0

定时器立即停止工作

1

0

当计数器减至0时停止工作

X

1

定时器继续工作

保留:读成0。

2024/7/928DSP原理及应用第4章TMS320C54x的片内外设、接口及应用定时器的基准工作脉冲由CLKOUT提供,每来一个脉冲预定标计数器PSC减1,当PSC减至0时,下一个脉冲到来,PSC产生借位。

借位信号分别控制定时计数器TIM减1和或门2的输出,重新将TDDR的内容加载预定标计数器PSC,从而完成定时工作的一个基本周期。4.定时器的初始化

定时器的定时时间为:

定时周期=CLKOUT×(TDDR+1)×(PRD+1)

2024/7/929DSP原理及应用第4章TMS320C54x的片内外设、接口及应用定时器初始化步骤如下:

TCR的TSS位置1,关闭定时器,停止定时;

②装载PRD值;

③重新装入TCR,初始化TDDR,设置TSS=0和TRB=1,重装载定时器周期。启动定时器。

4.定时器的初始化

设置定时器中断方法(INTM=1)如下:

●将IFR中的TINT置1,以清除尚未处理完的定时器中断;

●将IMR中的TINT置1,启动定时器中断。●

将INTM置0,启动全部中断。2024/7/930DSP原理及应用第4章TMS320C54x的片内外设、接口及应用复位时,TIM和PRD被设置为最大值(0FFFFH),TCR中的TDDR置0,定时器可以通过启动定时控制寄存器(TCR)完成以下操作:

●设定定时器的工作方式;

●设定预定标计数器中的当前数值;

●启动或停止定时器;

●重新装载定时器;●

设置定时器的分频值。

4.定时器的初始化

2024/7/931DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.2’C54x的定时器

4.2.2’C54x定时器/计数器的应用1.方波发生器(1)定时器初始化

关闭定时器,TCR中的TSS=1;

●加载PRD。设定定时中断周期,每中断一次,输出端电平取反一次;●

启动定时器,初始化TDDR,TSS=0,TRB=1。

2024/7/932DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.方波发生器(2)中断初始化

中断允许寄存器IFR中的定时中断位TINT=1,清除未处理完的定时中断;●中断屏蔽寄存器IMR中的定时屏蔽位TINT=1,开放定时中断;●

状态控制寄存器ST1中的中断标志位INTM=0,开放全部中断。

2024/7/933DSP原理及应用第4章TMS320C54x的片内外设、接口及应用

对于周期信号的周期检测,可在信号的每个周期内发出一个脉冲,然后通过程序计算两个脉冲之间的时间来确定信号的周期。

当脉冲来临时,触发外部中断INT0。外部中断INT0用来记录脉冲,定时器0用来记录时间。4.2.2’C54x定时器/计数器的应用2.周期信号的周期检测

为了增加计时长度,可在程序中设置一级计数器。定时器0的寄存器用来记录低位时间,程序中的计数器用来记录高位时间,在外部中断服务程序中读取时间。在定时器0中断服务程序中对计数器加1,实现低位时间的进位。

2024/7/934DSP原理及应用第4章TMS320C54x的片内外设、接口及应用

检测输入脉冲频率是通过外部中断请求输入来实现。定时器的定时时间是根据所检测输入信号的周期来设定。

根据设定时间内所检测脉冲的个数,计算被检测输入信号的频率。

第一个负跳变触发定时器工作,每输入一个负跳变计一个数。当达到设定时间时,定时器停止工作。则此时定时器的时间值与所计脉冲数相除,所得的结果就是所测输入信号的周期。4.2.2’C54x定时器/计数器的应用3.脉冲频率监测2024/7/935DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3’C54x的串行口

’C54x为用户提供了丰富的同步串行口,可与双向串口器件实现高效的串行通信。

’C54x的串行口有四种类型:

标准同步串口SP

缓冲同步串口BSP

多路缓冲串口McBSP

时分多路同步串口TMD

2024/7/936DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3’C54x的串行口

不同型号的芯片所带串口类型不同。

芯片型号SPBSPMcBSPTMD’C5412000’C5420101’C5430101’C5451100’C5461100’C5480201’C5490201’C54020020’C54090030’C54100030’C54160030’C542000602024/7/937DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3’C54x的串行口

4.3.1标准同步串行口SP

1.SP串口结构

结构组成:

数据接收寄存器DRR;

数据发送寄存器DXR;

接收移位寄存器RSR;

发送移位寄存器XSR;

二个装载控制逻辑电路;二个位/字控制计数器。2024/7/938DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.SP串口结构

标准同步串行口结构:

数据总线数据发送寄存器DXR(16位)16发送移位寄存器XSR(16位)装载控制逻辑位/字控制计数器数据接收寄存器DRR(16位)16接收移位寄存器RSR(16位)装载控制逻辑位/字控制计数器1616RINTXINTDRDXFSRCLKRCLKXFSXClearClockClockClear2024/7/939DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.SP串口结构

标准同步串行口的外部引脚:

接收通道发送通道引脚说明引脚说明CLKR接收时钟信号CLKX发送时钟信号DR接收串行数据信号DX发送串行数据信号FSR接收帧同步信号FSX发送帧同步信号2024/7/940DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.SP串口结构

标准同步串行口各部分的功能:

(1)

数据接收寄存器DRR

16位的存储器映像数据接收寄存器,用来保存来自RSR寄存器并将要写到数据总线的输入数据。复位时,DRR被清除。

(2)

数据发送寄存器DXR

16位的存储器映像数据发送寄存器,用来保存来自数据总线并将要加载到XSR的外部串行数据。复位时,DXR被清除。

2024/7/941DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.SP串口结构

(3)

数据接收移位寄存器RSR

16位的数据接收移位寄存器,用来保存来自串行数据接收(DR)引脚的输入数据,并控制数据到DRR的传输。

(4)

数据发送移位寄存器XSR

16位数据发送移位寄存器,用来控制来自DXR的外部数据的传输,并保存将要发送到串行数据发送引脚的数据。

2024/7/942DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.SP串口结构

(5)

串行接口控制寄存器SPC

16位的存储器映像串行接口控制寄存器,用来保存串行接口的模式控制和状态位。(6)

控制电路

用于控制串行口协调工作,分为:装载控制电路:完成接收和发送数据的装载;位/字控制计数器:完成位/字传输控制。2024/7/943DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.SP串口结构

例如:完成两个’C54x串行通信的连接。

’C54x

DXFSXCLKX发送

’C54xDRFSRCLKR接收2024/7/944DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.SP串口结构

发送过程:

发送数据装入DXR;

②当上一个数据发送完后,DXR的数据自动装入XSR;

③在发送帧同步信号FSX和发送时钟CLKX作用下,将XSR的数据通过引脚DX发送输出。接收过程:

在接收帧同步信号FSR和接收时钟CLKR作用下,接收数据通过DR引脚移至RSR中;

②当RSR满时,将数据装入DRR中。2024/7/945DSP原理及应用第4章TMS320C54x的片内外设、接口及应用2.

控制寄存器SPC15141312111098SPCHFreeSoftRSRFULLXSREMPTYXRDYRRDYIN1IN0仿真控制仿真控制接收移位寄存器满发送移位寄存器空发送准备好接收准备好发送时钟状态接收时钟状态76543210SPCLRRSTXRSTTXMMCMFSMFODLBRes接收复位发送复位发送模式时钟选择模式帧同步模式数据格式数据回送模式保留R/WR

SPC用于控制串行口的操作。2024/7/946DSP原理及应用第4章TMS320C54x的片内外设、接口及应用RES:保留位,用于单’C54x测试串行口代码,总读为0。

01DR

DX

DR(内部)DLB01FSR

FSX

FSR(内部)DLB

01CLKR

CLKX

CLKR(内部)

DLB&MUXMUXMUXMCMDLB:数字回送模式位,用于设置串行接口数据回送模式。

当DLB=0时,为禁止数据回送模式。

DR、FSR和CLKR信号来自它们各自器件引脚;

76543210SPCLRRSTXRSTTXMMCMFSMFODLBRES

当DLB=1时,为使能数据回送模式。

DR和FSR分别选通DX和FSX;

若MCM=1,则输出时钟CLKR选择片内时钟CLKX;

若MCM=0,则输出时钟CLKR选择片外时钟CLKR。2024/7/947DSP原理及应用第4章TMS320C54x的片内外设、接口及应用76543210SPCLRRSTXRSTTXMMCMFSMFODLBRESFO:数据格式位。用于定义串行口发送/接收数据的字长。

当FO=1时,接/发数据按8位字节传输,先送高8位;当FO=0时,接/发数据按16位字节传输。FSM:帧同步模式位。用来定义串行口工作时,在初始帧同步脉冲之后,是否还要求FSX和FSR帧同步脉冲。

当FSM=1时,串行口工作在字符组方式;当FSM=0时,串行口工作在连续方式。2024/7/948DSP原理及应用第4章TMS320C54x的片内外设、接口及应用76543210SPCLRRSTXRSTTXMMCMFSMFODLBRESMCM:时钟选择模式位。

用来设定CLKX的时钟源。

若MCM=1,CLKX配置成输出,采用内部时钟源;

若MCM=0,CLKX配置成输入,采用外部时钟源。

TXM:发送模式位。

用于设定帧同步脉冲FSX的来源。

当TXM=1时,FSX设置成输出,由片内产生帧同步脉冲;

当TXM=0时,FSX设置成输入,由外部提供帧同步脉冲。2024/7/949DSP原理及应用第4章TMS320C54x的片内外设、接口及应用76543210SPCLRRSTXRSTTXMMCMFSMFODLBRESXRST:发送复位位。RRST:接收复位位。用来对串行口发送器进行复位。当XRST=1时,串行口处于工作状态;当XRST=0时,串行口处于复位状态,停止操作。用来对串行口接收器进行复位。当RRST=1时,串行口处于工作状态;当RRST=0时,串行口处于复位状态,停止操作。2024/7/950DSP原理及应用第4章TMS320C54x的片内外设、接口及应用IN0:接收时钟状态位。

用于显示接收时钟CLKR当前状态。15141312111098SPCHFreeSoftRSRFULLXSREMPTYXRDYRRDYIN1IN0IN1:发送时钟状态位。

用于显示发送时钟CLKX当前状态。RRDY:接收准备好位。

用于检测接收移位寄存器RSR接收数据的状态。

RRDY由0变1,表示RSR中的内容已复制到接收数据寄存器DRR中,同时串行口产生接收中断RINT。2024/7/951DSP原理及应用第4章TMS320C54x的片内外设、接口及应用15141312111098SPCHFreeSoftRSRFULLXSREMPTYXRDYRRDYIN1IN0XRDY:发送准备好位。用于检测发送寄存器DXR发送数据的状态。

XRDY由0变1,表示DXR中的内容已复制到发送移位寄存器XSR中,同时串行口产生发送中断XINT。XSREMPTY:发送移位寄存器空位。用于反映发送移位寄存器的状态。

当发生如下情况时,XSREMPTY=0,暂停发送数据:

①发送移位寄存器XSR已空,而DXR仍未加载;②发送复位XRST=0;③芯片复位RS=0。2024/7/952DSP原理及应用第4章TMS320C54x的片内外设、接口及应用15141312111098SPCHFreeSoftRSRFULLXSREMPTYXRDYRRDYIN1IN0RSRFULL:接收移位计数器满。

用来反映接收移位寄存器的状态,高电平有效。

在FSM=1时,下述条件同时发生时,RSRFULL=1:

①上次从RSR传到DRR的数据还没有读出;②RSR已满;③一个帧同步脉冲已出现在FSR端。

在FSM=0时,若满足前两个条件,RSRFULL=1。

当发生如下情况时,RSRFULL=0:

①读取DRR中的数据;②接收复位RRST=0;③芯片复位RS=0。2024/7/953DSP原理及应用第4章TMS320C54x的片内外设、接口及应用15141312111098SPCHFreeSoftRSRFULLXSREMPTYXRDYRRDYIN1IN0Free、Soft:仿真控制位。

用于调试程序遇到断点时决定串行口的时钟状态。FreeSoft串行时钟状态00立即停止串行口时钟,结束传输数据。01接收数据不受影响,若正在发送数据,则等待当前数据发送后停止。1x出现断点,时钟不停,数据继续移位。2024/7/954DSP原理及应用第4章TMS320C54x的片内外设、接口及应用3.标准串口SP的操作串口初始化步骤:

①复位,并且把0038H(或0008H)写到SPC,初始化串行接口。②

把00C0H写到IFR,清除任何挂起的串行接口中断。③

把00C0H和IMR求或逻辑运算,使能串行接口中断。④

清除ST1的INTM位,使能全局中断。⑤

把00F8H(或00C8H)写入SPC,启动串行接口。⑥

把第一个数据写到DXR。如果这个串行接口与另一个处理器的串行接口连接,而且这个处理器产生一个帧同步信号SFX,则在写这个数据之前必须有握手信号。

2024/7/955DSP原理及应用第4章TMS320C54x的片内外设、接口及应用3.标准串口SP的操作串口中断服务程序步骤:

保存上下文到堆栈中。②读DRR或写DXR,或者同时进行两种操作。从DRR读出的数据写到内储器中预定单元,写到DXR的数据从存储器的指定单元取出。③恢复现场。④用RETE从中断子程序返回,并重新使能中断。

2024/7/956DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3’C54x的串行口

4.3.2

缓冲同步串行口BSP

缓冲同步串行接口BSP是一个全双工、双缓冲的串行接口。它是在SP的基础上增加一个自动缓冲单元ABU。

ABU是一种增强型标准串行口。它提供与其他串口工作器件的接口,如编码器、串行A/D转换器等。

BSP串口允许使用8,10,12,16位连续通信流数据包,为发送提供帧同步脉冲及一个可编程频率的串行时钟,最大的操作频率是CLKOUT。2024/7/957DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3.2

缓冲同步串行口BSP

BSP由一个复用的双缓冲串行接口组成,它的各项功能类似于标准串口,只是多了一个自动缓冲单元ABU。

ABU是一个附加逻辑电路,允许串口直接对内存读写,不需要CPU参与,可以节省时间,实现串口与CPU的并行操作。

1.

BSP结构

2024/7/958DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.

BSP结构

2024/7/959DSP原理及应用第4章TMS320C54x的片内外设、接口及应用1.

BSP结构

ABU的功能:是利用专用总线,控制串行口直接与’C54x的内部存储器进行数据交换。

ABU单元含有5个寄存器:

11位的地址发射寄存器AXR;②

11位的块长度发送寄存器BKX;③

11位的地址接收寄存器ARR;④

11位的块长度接收寄存器BKR;⑤

16位的串口控制寄存器BSPCE。

2024/7/960DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3.2

缓冲同步串行口BSP

BSP的扩展功能包括:

具有可编程串口的时钟速率;

可选择时钟和帧同步信号的正负极性;

除了能进行8,16位串行数据通讯外,还可以传送10,12位字。

允许设置忽略或不忽略帧同步信号;

为使用PMC接口提供一个专用的操作模式。2.

BSP的控制寄存器BSPCE

2024/7/961DSP原理及应用第4章TMS320C54x的片内外设、接口及应用

BSPCE寄存器包含控制位和状态位,用于控制BSP和ABU的增强功能。寄存器的低10位用于增强特性控制,高6位用于ABU控制。2.

BSP的控制寄存器BSPCE

15~10987654~0BSPCEABU控制PCMFIGFECLKPFSPCLKDVABU控制位脉冲编码模式位帧同步信号选择位扩展格式位时钟极性设置位帧同步极性设置位发送时钟分频因数2024/7/962DSP原理及应用第4章TMS320C54x的片内外设、接口及应用

BSPCE寄存器各位功能:2.

BSP的控制寄存器BSPCE

ABU控制:用于自动缓冲单元的控制。

PCM:PCM脉冲编码模式位,用于设置串口工作于编码模式。

这种PCM模式只影响发送器。BDXR到BXSR转换不受PCM编码位的影响。

PCM=0,清除脉冲编码模式;②PCM=1,设置脉冲编码模块模式。2024/7/963DSP原理及应用第4章TMS320C54x的片内外设、接口及应用2.

BSP的控制寄存器BSPCE

FIG:帧同步信号选择位,该位仅在连续发送模式下且具有外部帧同步信号,以及连续接收模式下工作。

①FIG=0,第一个帧脉冲之后的帧同步脉冲重新启动发送;②FIG=1,忽略帧同步信号。2024/7/964DSP原理及应用第4章TMS320C54x的片内外设、接口及应用2.

BSP的控制寄存器BSPCE

FE:格式扩展位,用于和SPC中的FO位一起指定字长。

FOFE字长0016位0110位108位1112位2024/7/965DSP原理及应用第4章TMS320C54x的片内外设、接口及应用2.

BSP的控制寄存器BSPCE

CLKP:时钟极性设置位,用于设定接收和发送时,何时采样数据。

CLKP=0时,接收器在BCLKR的下降沿采样数据,发送器在BCLKX的上升沿发送数据;

CLKP=1时,接收器在BCLKR的上升沿采样数据,发送器在BCLKX的下降沿发送数据。

FSP:帧同步极性设置位,用于设定帧同步脉冲触发电平高低。

FSP=0,帧同步脉冲(BFSX和BFSR)高电平激活;FSP=1,帧同步脉冲(BFSX和BFSR)低电平激活。2024/7/966DSP原理及应用第4章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)。2024/7/967DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3.2

缓冲同步串行口BSP

ABU的功能是自动控制串口与内部’C54x存储器之间的数据传输,且不需要CPU干预。3.

ABU自动缓冲单元

工作方式:非缓冲方式和自动缓冲方式。

非缓冲方式:即标准方式,与SP相同。

自动缓冲方式:在ABU的控制下,串行口直接与C54x的内部存储器进行16位数据块传输。当传输的数据长度是数据块长度的一半或整个长度时,产生中断。2024/7/968DSP原理及应用第4章TMS320C54x的片内外设、接口及应用

ABU寄存器功能:3.

ABU自动缓冲单元HALTR(15):自动缓冲接收停止位,用于决定当缓冲区已接收到一半时,自动缓冲是否暂停

HALTR=0,当缓冲区接收到一半时,继续操作;

HALTR=1,当缓冲区接收到一半时,自动缓冲停止。RH(14):接收缓冲区半满,用来指明接收缓冲区哪一半已经填满。RH=0:表示缓冲区的前半部分被填满,当前接收的数据正存入后半部分缓冲区;RH=1:表示后半部分缓冲区被填满,当前接收的数据正填入前半部分缓冲区。2024/7/969DSP原理及应用第4章TMS320C54x的片内外设、接口及应用3.

ABU自动缓冲单元BRE(13):自动接收使能控制位,用于控制自动缓冲接收。

BRE=0:自动接收禁止,串口工作于标准模式;BRE=1:接收器自动接收允许。HALTX(12):自动缓冲发送禁止,用于控制自动缓冲发送是否暂停。

HALTX=0:当一半缓冲区发送完成后,自动缓冲继续工作;HALTX=1:当一半缓冲区发送完成后,自动缓冲停止。此时,BRE清零,串口继续工作于标准模式。2024/7/970DSP原理及应用第4章TMS320C54x的片内外设、接口及应用3.

ABU自动缓冲单元XH(11):发送缓冲区半满。用来表示发送缓冲区哪一半已经发送。BXE(10):自动缓冲发送使能位,用来控制自动缓冲发送。

BXE=0:禁止自动缓冲发送,串行接口工作于标准模式;BXE=1:允许自动缓冲发送功能。

XH=0:缓冲区前半部分发送完成,当前发送数据取自缓冲区的后半部分;XH=1:缓冲区后半部分发送完成,当前发送数据取自缓冲区的前半部分。2024/7/971DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3.2

缓冲同步串行口BSP

BSP发送初始化步骤:4.

BSP的初始化

把0008H写到BSPCE寄存器,复位和初始化串口;

把0020H写到IFR,清除挂起的串口中断;③把0020H与IMR进行或操作,使能串口中断;

清除ST1的INTM位,使能全局中断;

把1400H写到BSPCE寄存器,初始化ABU的发送器;⑥

把缓冲区开始地址写到AXR;

把缓冲长度写到BKX;⑧

把0048H写到BSPCE,开始串口操作。

2024/7/972DSP原理及应用第4章TMS320C54x的片内外设、接口及应用

BSP接收初始化步骤:4.

BSP的初始化

把0000H写到BSPCE寄存器,复位和初始化串口;②

把0010H写到IFR,清除挂起的串口中断;③

把0010H与IMR进行或操作,使能串口中断;④

清除ST1的INTM位,使能全局中断;⑤

把2160H写到BSPCE寄存器,初始化ABU的发送器;⑥

把缓冲开始地址写到ARR;⑦

把缓冲长度写到BKR;⑧

把0080H写到BSPCE寄存器,开始串口操作。

2024/7/973DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3’C54x的串行口

4.3.3

时分复用串行口TDM

TDM串口可以使’C54x器件最多与7个其他器件进行时分串行通信。为多处理器应用提供了一种简单有效的接口。

时分复用操作是将与不同器件的通信按时间依次分为时间段,周期性分别按时间顺序与不同的器件进行通信的工作方式。每个器件占用各自的通信时段(信道),循环往复地传送数据。

2024/7/974DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3.3

时分复用串行口TDM

4信道的TDM框图。

2024/7/975DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3.3

时分复用串行口TDM

工作方式:非TDM方式和TDM方式。

非TDM方式:称为标准方式,与SP相同。

TDM方式:是将与多个不同器件的通信按时间依次划分成若干个信道,TDM周期性地按时间顺序与不同信道的器件进行串行通信。

TDM串口操作通过6个存储器映像寄存器和2个其他专用寄存器来实现。

这些寄存器分别为TRCV、TDXR、TSPC、TCSR、TRTA、TRAD、TRSR和TXSR。

2024/7/976DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3.3

时分复用串行口TDM各寄存器功能如下:①

TDM数据接收寄存器TRCV

16位存储器映像寄存器,用来保存接收的串行数据,功能与DRR相同。②

TDM数据发送寄存器TDXR

16位存储器映像寄存器,用来保存发送的串行数据,功能与DXR相同。

2024/7/977DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3.3

时分复用串行口TDM各寄存器功能如下:③

TDM串口控制寄存器TSPC

16位存储器映像寄存器,包含TDM的模式控制或状态控制位。

第0位是TDM模式控制位,用来配置串行接口。

TDM=1,多路复用通信方式;

TDM=0,标准串口接口工作方式。

其他各位的定义与SPC相同。

2024/7/978DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3.3

时分复用串行口TDM④

TDM接收地址寄存器TRAD

16位存储器映像寄存器,存留TDM地址线的各种状态信息。⑤

TDM通道选择寄存器TCSR

16位存储器映像寄存器,指定每个通信器件发送操作时间段。⑥

TDM发送/接收地址寄存器TRTA

16位存储器映像寄存器,低8位(RA0~RA7)为接收地址,高8位(TA0~TA7)发送地址。2024/7/979DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3.3

时分复用串行口TDM⑦

TDM数据接收移位寄存器TRSR

16位专用寄存器,控制从输入引脚到TRCV数据的接收保存过程,与RSR功能类似。⑧

TDM数据发送移位寄存器TXSR

16位专用寄存器,控制从TDXR来的输出数据的传送,并保存从TDM引脚发送出去的数据,与XSR功能相同。

2024/7/980DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3.3

时分复用串行口TDM

’C54x的TDM端口结构。

2024/7/981DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3.3

时分复用串行口TDM

8个器件可以连接到4条串行总线上,连接的各器件可以进行分时通信。

TDM端口的4条总线分别为:

时钟总线TCLK;

帧同步信号线TFRM;

数据线TDAT;

附加地址线TADD。

TDAT和TADD信号是双向信号,它们在不同时间段被总线上不同器件用帧同步信号驱动。2024/7/982DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3’C54x的串行口

4.3.4

多通道带缓冲串行口McBSP

’C54x的多通道缓冲串行口McBSP是在缓冲串行口的基础上发展起来的。在外部通道选择电路的控制下,采用分时方式实现多路缓冲串行通信。

McBSP串行口可以与其他’C54x器件、编程器或其他串口器件通信。

2024/7/983DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3.4

多通道带缓冲串行口McBSP

McBSP的功能包括:

●全双工通信;

●双缓冲的发送和三缓冲接收数据存储器,支持连续的数据流传送;

●独立的接收、发送帧和时钟信号;●

可直接与工业标准的编码器、模拟界面芯片(AICs)、其他串行A/D、D/A器件连接并通信;1.

McBSP串行口的功能2024/7/984DSP原理及应用第4章TMS320C54x的片内外设、接口及应用

具有外部变速时钟发生器及内部频率可编程时钟发生器;●

可以直接利用多种串行协议接口通信。1.

McBSP串行口的功能

如:T1/E1帧调节器、MVIP转换兼容和ST-BUS兼容的器件、H.100帧调节器、SCSA帧调节器、IOM-2兼容器件、AC97兼容器件、IIS兼容器件、SPI器件等。

●多达128路发送和接收通道;

●数据的字长可选择,包括8、12、16、20、24和32位;●可进行μ律或A律的压缩扩展通信;

●帧同步和时钟信号的极性可编程;

●可编程内部时钟和帧发生器。

2024/7/985DSP原理及应用第4章TMS320C54x的片内外设、接口及应用2.

McBSP结构

2024/7/986DSP原理及应用第4章TMS320C54x的片内外设、接口及应用

McBSP串行口是由外部通信引脚、接收发送通道、时钟及帧同步信号发生器、多通道选择以及CPU中断信号和DMA同步信号等组成,可分为数据通道和控制通道两部分。

数据通道主要完成数据的接收和发送。

控制通道完成内部时钟和帧同步信号的产生与控制、多通道的选择、产生中断信号送往CPU和产生同步事件通知DMA控制器等。2.

McBSP结构2024/7/987DSP原理及应用第4章TMS320C54x的片内外设、接口及应用DX:串行数据发送引脚;

DR:串行数据接收引脚;

CLKX:发送时钟引脚;

CLKR:接收时钟引脚;

FSX:发送帧同步引脚;

FSR:接收帧同步引脚;

CLKS:外部提供的采样时钟引脚。

McBSP通过DX和DR引脚与外部设备进行数据通信,时钟和帧同步等控制信息的传输通过CLKX、CLKR、FSX和FSR引脚来实现。2.

McBSP结构(1)

外部引脚2024/7/988DSP原理及应用第4章TMS320C54x的片内外设、接口及应用

RINT:触发CPU的发送中断信号;XINT:触发CPU的接收中断信号;REVT:触发DMA接收同步事件信号;XEVT:触发DMA发送同步事件信号;REVTA:触发DMA接收同步事件A信号;XEVTA:触发DMA发送同步事件A信号。

2.

McBSP结构(2)

CPU中断信号和DMA同步信号2024/7/989DSP原理及应用第4章TMS320C54x的片内外设、接口及应用

CPU可以通过内部总线访问McBSP的控制寄存器。2.

McBSP结构(3)

McBSP的控制寄存器地址

子地址

名称缩写

寄存器名称

McBSP0McBSP1McBSP2—

RBR[1,2]接收缓冲寄存器1,2—

RSR[1,2]接收移位寄存器1,2—

XSR[1,2]发送移位寄存器1,20020H0040H0030H—

DRR2x数据接收寄存器20021H0041H0031H—

DRR1x数据接收寄存器10022H0042H0032H—

DXR2x数据发送寄存器20023H0043H0033H—DXR1x数据发送寄存器12024/7/990DSP原理及应用第4章TMS320C54x的片内外设、接口及应用(3)

McBSP的控制寄存器地址

子地址

名称缩写

寄存器名称

McBSP0McBSP1McBSP20038H0048H0034H—

SPSAx

子地址寄存器

0039H

0049H

0035H

0000H

SPCR1x串口控制寄存器10039H

0049H0035H0001HSPCR2x串口控制寄存器20039H0049H0035H0002HRCR1x接收控制寄存器10039H0049H0035H0003HRCR2x接收控制寄存器20039H0049H0035H0004HXCR1x发送控制寄存器10039H0049H0035H0005HXCR2x发送控制寄存器20039H0049H0035H0006HSRGR1x采样率发生寄存器10039H0049H0035H0007HSRGR2x采样率发生寄存器22024/7/991DSP原理及应用第4章TMS320C54x的片内外设、接口及应用(3)

McBSP的控制寄存器地址

子地址

名称缩写

寄存器名称

McBSP0McBSP1McBSP20039H0049H0035H0008HMCR1x多通道寄存器10039H0049H0035H0009HMCR2x多通道寄存器20039H0049H0035H000AH

RCERAx

接收通道使能寄存器A0039H0049H0035H000BH

RCERBx

接收通道使能寄存器B0039H0049H0035H000CH

XCERAx

发送通道使能寄存器A0039H0049H0035H000DH

XCERBx

发送通道使能寄存器B0039H0049H0035H000EH

PCRx

引脚控制寄存器

注意:RBR[1,2]、RSR[1,2]、XSR[1,2]不能直接通过CPU或DMA存取。

2024/7/992DSP原理及应用第4章TMS320C54x的片内外设、接口及应用

在时钟信号和帧同步信号控制下,接收和发送通过DR和DX引脚与外部器件直接通信。’C54x内部CPU对McBSP的操作是利用16位控制寄存器,通过片内外设总线进行存取控制。2.

McBSP结构(4)

McBSP的工作原理数据发送过程:

CPU通过外设总线,将数据写入数据发送寄存器DXR[1,2];

McBSP串口将DXR[1,2]中的发送数据传送到发送移位寄存器XSR[1,2]中;③

通过发送移位寄存器XSR[1,2],将数据经DX引脚移出发送。2024/7/993DSP原理及应用第4章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]中读出数据。

2024/7/994DSP原理及应用第4章TMS320C54x的片内外设、接口及应用2.

McBSP结构(4)

McBSP的工作原理McBSP的工作模式:

①多通道缓冲模式;②

SPI模式;③

A-bis模式;④

数据回路模式;⑤

GPIO模式;⑥

省电模式。

2024/7/995DSP原理及应用第4章TMS320C54x的片内外设、接口及应用4.3.4

多通道带缓冲串行口McBSP用于McBSP串口配置的寄存器共有7个,分别为串口控制寄存器SPCR1和SPCR2、引脚控制寄存器PCR、接收控制寄存器RCR1和RCR2以及发送控制寄存器XCR1和XCR2。3.

McBSP串口的配置寄存器

接收和发送寄存器

温馨提示

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

最新文档

评论

0/150

提交评论