《DSP器件及应用》2-5-C2000的片内外设_第1页
《DSP器件及应用》2-5-C2000的片内外设_第2页
《DSP器件及应用》2-5-C2000的片内外设_第3页
《DSP器件及应用》2-5-C2000的片内外设_第4页
《DSP器件及应用》2-5-C2000的片内外设_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

DSP器件及应用第2章TMS320C2000DSP的硬件结构2.5片内外设’C2000的片内外设用户可以使用的片内外设有:时钟发生器(clockgenerator)定时器(timer)软件可编程等待状态发生器(software-controlledwait-stategenerator)通用I/O引脚(general-purposeI/Opins)同步串行口SSP(synchronousserialport)异步串行口ASP/或UART(asynchronous serialport)等CLKOUT1CLKOUT1为主时钟输出信号,CLKOUT1决定器件的工作速度:

l

定时器时钟速率是CLKOUT1的分频l

指令周期即CLKOUT1周期l

1个等待状态等于CLKOUT1周期(不管是由于READY信号引起还是片内软件等待状态发生器产生)2.5.1时钟发生器

CLKOUT1受控于片内时钟发生器,其频率可以是片内时钟发生器源时钟信号CLKIN的倍频或分频。而片内时钟发生器由两个独立元件、一个振荡器和一个锁相环PLL组成。振荡器需外接定时元件或稳频晶体,以得到源时钟CLKIN。

降低CLKOUT1频率可使功耗降低

时钟源PLL倍频时钟Clock

CLKOUT1比率Rate

CLKOUT1DIV2DIV1外时钟源Ext-CLKIN

内振荡器OSC内锁相环

PLL

÷2

CLKIN÷2

00×√×√×××1

CLKIN×1

01√×√×2

CLKIN×2

10√×√×4

CLKIN×4

11√×√CLKOUT1的输出CLKOUT1输出与否受控于CLK寄存器。该寄存器为I/O映射寄存器,I/O地址为0FFE8h,只使用最低位(CLKOUT1位)。当寄存器CLK的CLKOUT1位为0时,引脚CLKOUT1有效输出当寄存器CLK的CLKOUT1位为1时,引脚CLKOUT1无输出寄存器CLK的CLKOUT1位在复位时清0,软件可读写2.5.2定时器 ‘C2000DSP的定时器包括两部分: 一个4位的预定标定时器(PSC)和 一个16位的主定时器(TIM),

这两个定时器均为减法计数。 预定标定时器(PSC)由其周期寄存器(定时器降频除数寄存器)TDDR加载, 主定时器(TIM)也由其周期寄存器PRD加载。定时器原理图定时器的中断率举例假设TMS320F206的CLKIN为外振荡器,其频率为40MHz,时钟为÷2模式,要用定时器产生10KHz的TOUT信号作为A/D的采集时钟,请计算PRD和TDDR的值。

CLKOUT1=40MHz÷2=20MHz 10KHZ=20MHz/(PRD+1)(TDDR+1) (PRD+1)(TDDR+1)=20MHz/10KHz=2000 PRD=0-65535TDDR=0-15 TDDR=4 PRD=2000/(4+1)–1=400–1=399

故:TDDR和PRD应分别加载4和399,这样 可得到10KHz的TOUT输出。2.5.3软件可编程等待状态发生器当’C2000与较慢速度的外部逻辑和/或存储器接口时,必须插入等待状态,1个等待状态等于1个CLKOUT1周期等待状态可以由READY信号拉低来产生也可以由片内软件等待状态发生器产生,在正常指令周期上插入的等待状态的数目由等待状态发生器控制寄存器WSGR

的相关位决定片内存储器资源和片内I/O映射寄存器无需等待

WSGR等待状态控制位

和等待状态个数的关系等待状态控制位:I/O空间 ISWS11109数据存储器 DSWS876高半部分程序存储器PSUWS543低半部分程序存储器PSLWS210等待状态 XXX2.5.4通用I/O引脚‘C2xxDSP有6个通用I/O引脚,它们是BIO、XF和IO3:0。

1)BIO是输入引脚,它可以作为外部事件(逻辑电平)对指令执行的直接影响。利用该信号可直接引起程序(指令流)的条件分支(BCNDpma,BIO)、条件调用(CCpma,BIO)和条件返回(RETCBIO),这条件就是BIO信号为低电平。若不使用该信号,为避免其受干扰而影响条件分支、调用和返回等有关指令的执行,应将其上拉至高电平。

2)IO3:0可用作异步口的联络信号,也可作为通用引脚使用。

3)XF:输出引脚,DSP对外标志信号,等于ST1的XF位,与BIO一起可以作为DSP间的级联控制2.5.5同步串行口SSP’C2000DSP内置了一个同步串行口SSP(SynchronousSerialPort),它可与串行设备(如编解码器、串行A/DD/A转换器等)直接通信,也可用于在多处理器之间的内部通信SSP内部配置有4个字深度的发送FIFO缓冲器和4个字深度的接收FIFO缓冲器,FIFO的收满发空等情况可产生中断,降低了数据传输时的CPU开销量SSP的工作速率范围很宽,当使用内部时钟时,最高速率可高至DSP主时钟频率CLKOUT1的一半SSP既可工作在单字突发方式也可工作在连续传送方式同步串行口SSP结构图SSP的基本信号引脚名功能描述CLKX时钟信号发送时钟,输入或输出。为数据移位及从XSR寄存器到DX引脚的传送提供时钟。如果该串行口被配置成接收外时钟,则此引脚作为时钟输入。如果该串行口被配置为产生一个内部时钟,则此引脚作为时钟输出。CLKR接收时钟,总是配置为输入。为数据从DR引脚到RSR寄存器的传送及数据移位提供时钟。从该引脚接收一个外部时钟信号。FSX帧同步信号发送帧同步,输入或输出。该信号表示发送开始。如果该串行口被配置为接收一个外部帧同步脉冲,则此引脚作为输入。如果该串行口被配置为产生一个内部帧同步脉冲,则此引脚作为输出。FSR接收帧同步,总是配置为输入。该信号表示接收开始。DX数据信号串行数据发送。经此引脚将串行口发送移位寄存器XSR的数据串行发送出去。DR串行数据接收。经此引脚接收串行数据,并传送到接收移位寄存器RSR中。SSP接口应用实例同步串行口控制寄存器SSPCR15141312111098FREESOFTTCOMPRFNEFT1FT0FR1FR0R/W-0R/W-0R-0R-0R/W-0R/W-0R/W-0R/W-076543210OVFIN0XRSTRRSTTXMMCMFSMDLBR-0R-0R/W-1R/W-1R/W-0R/W-0R/W-0R/W-0FREE,SOFT――专用仿真位FREE,SOFT――专用仿真位,用于确定在高级语言调试程序中遇到断点时串行口时钟的状态,如表2.22所示表2.22运行与仿真模式FREE(D15)SOFT(D14)断点时串行口时钟模式00立即停止01传完字后停止10连续运行、数据移出11连续运行、数据移出注:如果接收器选择除立即停止之外的模式,有可能发生溢出错误。复位时为立即停止。TCOMP-―发送完成位0当发送FIFO缓冲器中的所有数据发送完(缓冲器已空)时,该位清0。1当发送FIFO缓冲器中写入新数据(缓冲器不空)时,该位置1。RFNE-―接收FIFO缓冲器状态位0当接收FIFO缓冲器有数据时,该位为1。1当接收FIFO缓冲器已空时,该位为0。FT1,FT0-―FIFO发送中断位。通过向FT0和FT1位写入一个值来设置一个发送中断触发条件。当满足该条件时,就产生发送中断(XINT)表2.23产生发送中断的条件选择位何时产生FT1FT000发送FIFO缓冲器能够接收1或多个字;XINT重复产生,直到缓冲器满01发送FIFO缓冲器能够接收2或多个字;XINT重复产生,直到写入3个字10发送FIFO缓冲器能够接收3或4个字;XINT重复产生,直到写入2个字11发送FIFO缓冲器为空(可接收4个字);XINT重复产生,直到写入1个字FR1,FR0-―FIFO接收中断位。通过向FR1、FR0写入一个值来设置接收中断触发条件。当满足该条件时,就产生一个接收中断(RINT),并且可以通过IN指令从FIFO缓冲器中取出数据,如表2.24所示。表2.24产生接收中断的条件选择位何时产生FR1FR000接收FIFO缓冲器不空时01接收FIFO缓冲器至少存有2个字时10接收FIFO缓冲器至少存有3个字时11接收FIFO缓冲器为满(存4个字)时OVF-―溢出位:当接收FIFO缓冲器已满且接收移位寄存器RSR接收到另一字时,该位被置位。该新字不改变FIFO缓冲器的内容。当读FIFO时,OVF位被清除。IN0-―输入位:该位允许将CLKR引脚用做位输入,IN0位反映CLKR引脚上的当前逻辑电平。XRST-发送复位位:该位可使串行口发送器复位,复位时该位为0。RRST-―接收复位位:该位可使串行口接收器复位,复位时该位为0。TXM-―发送模式(帧同步源)TXM-―发送模式。该位可确定发送帧同步脉冲的来源,即确定FSX引脚是作为输入还是输出(接收帧同步FSR总为输入)。0选择外部帧同步源。FSX引脚被设置为输入,可接收外部帧同步信号。发送部分在帧同步脉冲加到FSX引脚之前处于空闲状态。1选择内部帧同步源。FSX引脚被设置为输出,在每次发送开始时发出一个帧同步脉冲。在这种模式下,当SDTR的数据写入XSR以启动数据传送时,帧同步脉冲由器件内部产生。所产生的帧同步信号与CLKX同步。时钟模式和帧同步模式MCM-―时钟模式。用于确定串行口传送所需时钟的来源。0选择外部时钟源。CLKX引脚被设置为输入,接收外部时钟信号。1选择内部时钟源。CLKX引脚被设置为输出,由内部时钟源驱动,其频率为CLKOUT1/2。FSM-―帧同步模式。该位指定在连续字传送时是否需要帧同步脉冲。0选择连续模式。采用连续模式时,一个帧同步脉冲(FSX/FSR)可启动多个字的发送/接收。1选择突发模式。采用突发模式时,一个帧同步脉冲(FSX/FSR)只启动一个字的发送/接收。数字环路测试DLB-―数字环路位。该位可将串行口设置为数字环路模式。0禁止数字环路模式。此时DR、FSR、CLKR信号均连到它们相应的器件引脚。1使能数字环路模式。此时DR、FSR分别在片内连接到DX、FSX。FSX、DX信号出现在引脚上,但FSR、DR不出现在引脚上。为保证数字环路模式正常工作,TXM位必须置1。此时允许在外部将CLKX和CLKR连接在一起,若MCM=1,则由CLKX驱动CLKR;如果MCM=0,则由外部时钟源提供时钟。SSP的其它关联寄存器同步数据发送和接收寄存器SDTRSDTR是FIFO缓冲器(发送和接收缓冲器)的最高级,也是FIFO的4级中唯一可访问的部分。用于向发送FIFO缓冲器传送数据(OUT指令)或从接收FIFO缓冲器提取数据(IN指令)。SDTR是I/O映射寄存器,占用I/O地址0FFF0h。同步串行口发送移位寄存器XSRFIFO缓冲器的最低端的每个数据传送到XSR,然后XSR通过DX引脚移出数据(MSB在先)。XSR不是I/O映射寄存器,CPU不能对其访问。同步串行口接收移位寄存器RSR每个数据字在DR引脚处被接收(一次一位)并移入到RSR,然后RSR将该字送入接收FIFO缓冲器的最低端。RSR不是I/O映射寄存器,CPU不能对其访问。SSP的中断SSP具有两种硬件可屏蔽中断:发送中断和接收中断,让处理器知道何时FIFO缓冲器需要服务:发送中断XINT:当满足发送中断触发条件时,发送中断将使程序转移到000Ah地址单元。发送中断触发条件由SSPCR中的FT1和FT0位选择决定。XINT的优先级别为8(1为最高级)。接收中断RINT:当满足接收中断触发条件时,接收中断将使程序转移到0008h地址单元。接收中断触发条件由SSPCR中的FR1和FR0位选择决定。RINT的优先级别为7。上述两个中断都是由中断屏蔽寄存器(IMR)和中断标志寄存器(IFR)控制的可屏蔽中断。为避免来自同步串行口SSP的双重中断,必须在中断服务程序返回之前清除相应的IFR位(XINT或RINT)。2.5.6异步串行口ASP/或UART

异步口收发字符长度为8位,具有1或2个停止位,可编程波特率最高可达2.5Mbaud,相当于250KBPS的吞吐能力(1个起始位、1个停止位和8个数据位)。 在接收数据时具有自动波特率检测逻辑,能将异步串行口波特率锁定在输入数据率上。 当CLKOUT1为40MHz时,波特率的变化范围为38.14Baud—2.5Mbaud。ASP结构原理图与异步串行口有关的信号信号引脚名功能描述数据信号TX异步串行口数据发送引脚从发送移位寄存器AXSR输出串行数据RX异步串行口数据接收引脚将串行数据接收到接收移位寄存器ARSR中握手信号IO0通用I/O引脚0用作通用输入/输出或异步收发时的握手联络信号IO1通用I/O引脚1功能同IO0IO2通用I/O引脚2功能同IO0IO3通用I/O引脚3功能同IO0BRD与波特率关系波特率由可编程波特率除数寄存器(BRD)中的值来确定,BRD为片内I/O映射寄存器,占用I/O地址为0FFF7hBRD值=CLKOUT1频率/(16x波特率)

当BRD=0时为非法状态,波特率发生器不能工作,异步串行口无法工作。设置BRD不同的值,可得到不同的波特率。几种常用波特率对应的BRD值波特率BRD值(十六进制)CLKOUT1=20MHzCLKOUT1=28.57MHzCLKOUT1=40MHz最低0FFFFh19.07Baud0FFFFh27.25Baud0FFFFh38.14Baud1200Baud0411h05CCh0823h2400Baud0208h02E6h0411h4800Baud0104h0173h0208h9600Baud0082h00B9h0104h19200Baud0041h005Ch0082h最高0001h1250000Baud0001h1785625Baud0001h2500000BaudASP关联寄存器异步数据发送和接收寄存器ADTR异步串行口控制寄存器ASPCRI/O状态寄存器IOSR波特率除数寄存器BRD异步串行口发送移位寄存器AXSRAXSR是一个不可寻址(用户不可访问)的8位寄存器。在发送时,每个8位数据从ADTR被送入到AXSR中,然后通过TX引脚将数据逐位移出(LSB在先)。异步串行口接收移位寄存器ARSRARSR是一个不可寻址(用户不可访问)的8位寄存器。在接收时,通过RX引脚将一个8位数据逐位接收(LSB在先),并移入到ARSR中,然后ARSR将这个8位数据送入ADTR异步数据发送和接收寄存器ADTR片内I/O映射寄存器,占用I/O地址为0FFF4h用于发送和接收数据的16位片内读/写寄存器,读为收,写为发:写入ADTR低8位数据可启动异步串行口发送。由于串行数据为8位,因此写入时高8位无效,低8位置入AXSR读出时,ARSR填充其低8位,高8位为0异步串行口控制寄存器ASPCR15141312111098FREESOFTURSTReservedDIMTIMR/W-0R/W-0R/W-00R/W-0R/W-076543210RIMSTBCADSETBRKCIO3CIO2CIO1CIO0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0片内I/O映射寄存器,占用I/O地址为0FFF5h,是一个16位的片内寄存器,它用来设置端口模式、允许或禁止自动波特率检测逻辑、选择停止位数、允许或禁止中断、设置TX引脚上的电平、配置IO3~IO0引脚以及端口复位等URST――异步串行口复位位。用于复位ASP,复位时,URST=0。0端口为复位状态。1端口使能。DIM-delta中断屏蔽。DIM决定是否设置delta中断。在对通用I/O引脚(IO3~IO0)的配置发生变化时产生一个delta中断。0禁止delta中断。1允许delta中断。TIM――发送中断屏蔽。TIM决定是否设置发送中断。当发送寄存器(ADTR)为空时,根据THRE(I/O状态寄存器IOSR中的发送寄存器已空指示)可发生发送中断。0禁止发送中断。1允许发送中断。RIM――接收中断屏蔽。RIM决定是否设置接收中断。通过IOSR中的某些特定位,如断点(BI)、帧同步错误(FE)、溢出错误(OE)或数据准备就绪(DR)等可产生一个接收中断。0禁止接收中断。1允许接收中断。STB――停止位选择。该位选择发送和接收所用的停止位数量。0在发送和接收中使用一个停止位,它也是复位值。1在发送和接收中使用两个停止位。CAD――校准A检测位。CAD用于允许和禁止自动波特率调整。0禁止自动波特率调整。1允许自动波特率调整。SETBRK――设定信号中断位。SETBRK用于选择当端口不能发送时TX引脚上的输出电平。0强制TX输出高电平。1强制TX输出低电平CIO3~CIO0――IO3~IO0的配置位。用于配置I/O引脚(IO3~IO0)为输入或输出。0IOi引脚被配置为输入(i=0~3)1IOi引脚被配置为输出(i=0~3)I/O状态寄存器IOSR片内I/O映射寄存器,占用I/O地址为FFF6hIOSR的16位用于指示波特率检测、各种错误状态、数据传送状态、RX引脚上的信号中断检测、引脚IO3~IO0的状态及对IO3~IO0引脚上的变化检测15141312111098ReservedADCBITEMTTHREFEOEDR0R/W1C-0R/W1C-0R-1R-1R/W1C-0R/W1C-0R-076543210DIO3DIO2DIO1DIO0IO3IO2IO1IO0R/W1C-xR/W1C-xR/W1C-xR/W1C-xR/W♀-xR/W♀-xR/W♀-xR/W♀-x♀仅当被ASPCR寄存器中相应的CIOx位配置为输出时,该位才能被写。ADC—A检测(波特率自动检测)完成位:如果ASPCR中的CAD位为1,且ADTR接收到A或a字符,则ADC置1。字符A或a被检测出后,就保存在ADTR中。为避免当下一字符到达时可能产生的溢出错误,ADTR应在ADC被设置后立即读取。

0A或a还未被检测出。将不产生接收中断(TXRXINT)。

1A或a已被检测出。如果ASPCR中的CAD位也为1,则无论ASPCR的DIM、TIM和RIM位的值如何,都将产生一个接收中断(TXRXINT)。BI—信号中断指示位。若BI=1,指示在RX引脚上已检测到一个断点。向该位写入1,则BI位清0。复位时,该位为0。RX引脚上的信号中断也产生中断(TXRXINT)。TEMT—发送空指示。该位用于指示发送寄存器(ADTR)与/或发送移位寄存器(AXSR)是满还是空。复位时,TEMT位为1。

0ADTR与/或AXSR已满。

1ADTR与/或AXSR已空。ADTR准备发送一个新字符。THRE—发送寄存器(ADTR)空指示。当ADTR的内容传送到AXSR时,THRE置1;若将一个新字符装入发送寄存器可使THRE变0。器件复位时,THRE位为1。

0发送寄存器不空,端口工作正常。

1发送寄存器已空,指示寄存器准备装载一个新字符。FE—帧错误指示。FE指示在接收时是否已检测到一个有效的停止位。通过向FE位写入1可使FE位清零;复位时,FE位清零。一个帧错误也可产生中断(TXRXINT)。

0未检测到帧错误,端口操作正常。

1所接收的字符没含有效停止位(逻辑1)。OE—接收寄存器(ADTR)溢出指示。该位指示还没读的字符是否被覆盖。若OE位写入1,则清0;复位时它也清0。发生溢出也引起中断(TXRXINT)。

0未检测到溢出错误,端口工作正常。

1在下一个字符覆盖之前,ADTR的最后字符还没读取。DR—接收数据准备就绪指示。该位指示ADTR是否已接收新字符。当ADTR被读或器件复位时,此位自动清0。ADTR接收了新字符,也产生中断(TXRXINT)。

0ADTR为空。

1字符已全部被接收,应从接收寄存器(ADTR)读取。DIO3—DIO3电平变化检测位。DIO3指示在IO3引脚上是否发生了一次电平变化。只有当IO3由ASPCR中的CIO3位(CIO3=0)配置为输入并由ASPCR的URST位使能串行口(URST=1)时,才能检测这种变化。向DIO3写入1可清0。检测到IO3引脚的变化也产生中断(TXRXINT)。

0没检测到IO3引脚上的电平变化。

1检测到IO3引脚上的电平变化。DIO2、DIO1、DIO0—DIO2、DIO1、DIO0电平变化检测位。其作用与DIO3相同。IO3—IO3状态位。当IO3引脚被配置为输入(通过ASPCR的CIO3位)时,IO3位反映了IO3引脚上的当前电平。

0

温馨提示

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

评论

0/150

提交评论