工学TMSCx的外设应用编程_第1页
工学TMSCx的外设应用编程_第2页
工学TMSCx的外设应用编程_第3页
工学TMSCx的外设应用编程_第4页
工学TMSCx的外设应用编程_第5页
已阅读5页,还剩104页未读 继续免费阅读

下载本文档

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

文档简介

工学TMSCx的外设应用编程第1页/共109页28.1定时器的原理与应用在工业应用中,计数器和定时器常用于检测和控制中的时序协调及控制。TMS320C54x的片内定时器是一个可编程的定时器,可用于周期地产生中断。定时器的最高分辨率为处理器的CPU时钟速度。通过带4位预定标器的16位计数器,可以获得较大范围的定时频率。第8章TMS320C54x的外设应用编程第2页/共109页38.1.1定时器工作原理

1.定时器的结构组成定时器主要由定时寄存器TIM、定时周期寄存器PRD、定时控制寄存器TCR(包括预标定分频系数TDDR、预标定计数器PSC、控制位TRB和TSS等)及相应的逻辑控制电路组成。

8.1定时器的原理与应用第8章TMS320C54x的外设应用编程第3页/共109页48.1.1定时器工作原理

1.定时器的结构组成8.1定时器的原理与应用第8章TMS320C54x的外设应用编程第4页/共109页5定时寄存器TIM逻辑控制电路定时周期寄存器PRD定时控制寄存器TCR16位减1计数器。地址:0024H用来存放定时时间。地址:0025H存放定时器的控制位和状态位。地址:0026H。

用来控制定时器协调工作。8.1定时器的原理与应用第8章TMS320C54x的外设应用编程8.1.1定时器工作原理

1.定时器的结构组成第5页/共109页68.1.1定时器工作原理

2.定时器的控制寄存器

定时控制寄存器TCR是16位存储器映射寄存器,包含定时器的控制位和状态位。8.1定时器的原理与应用第8章TMS320C54x的外设应用编程第6页/共109页78.1.1定时器工作原理

2.定时器的控制寄存器各个位功能组合说明如下:(1)TDDR:定时器分频系数,用来对CLKOUT进行分频,以改变定时周期。其最大预定标值为16,最小预定标值为1。当PSC减到0后,以TDDR中的数加载PSC。(2)TSS:定时器停止状态位,用于停止或启动定时器。复位时,TSS位清0,定时器立即定时;当TSS=0,定时器启动工作;当TSS=1,定时器停止工作。8.1定时器的原理与应用第8章TMS320C54x的外设应用编程第7页/共109页88.1.1定时器工作原理

2.定时器的控制寄存器各个位功能组合说明如下:(3)TRB:定时器重新加载位,用来复位片内定时器。当TRB置1时,以PRD中的数加载TIM,以及以TDDR中的值加载PSC。TRB总是读成0。(4)PSC:定时器预定标计数器,其标定范围为1~16。当PSC减到0后,TDDR位域中的数加载到PSC,TIM减1。8.1定时器的原理与应用第8章TMS320C54x的外设应用编程第8页/共109页98.1.1定时器工作原理

2.定时器的控制寄存器(5)Free、Soft:软件调试控制位。Free和Soft位结合使用,用来控制调试程序断点操作情况下的定时器工作状态,功能说明如表8-1所示。(6)保留:保留;读成0。8.1定时器的原理与应用第8章TMS320C54x的外设应用编程第9页/共109页108.1.1定时器工作原理

3.定时器的工作原理

主定时器模块由PRD和TIM组成。在正常工作情况下,当TIM减到0后,PRD中的时间常数自动地加载到TIM。当系统复位或者定时器单独复位(TRB置1)时,PRD中的时间常数重新加载到TIM。主定时模块的定时中断(TINT)信号输出至CPU以及定时器的输出引脚TOUT。8.1定时器的原理与应用第8章TMS320C54x的外设应用编程第10页/共109页118.1.1定时器工作原理

3.定时器的工作原理定时器的工作过程:①

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

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

当PSC减至0时,PSC产生借位信号;④在PSC的借位信号作用下,TIM减1计数,同时将分频系数装入PSC,重新计数;⑤

当TIM减到0时,定时时间到,由借位产生定时中断TINT和定时输出TOUT,并将PRD中的时间常数重新装入TIM。8.1定时器的原理与应用第8章TMS320C54x的外设应用编程第11页/共109页128.1.1定时器工作原理

4.定时器应用的初始化(1)定时器模块的初始化步骤如下:1)TCR的TSS位置1,关闭定时器,停止定时。2)装载PRD值。3)重新装入TCR,初始化TDDR,设置TSS=0和TRB=1,重装载定时器周期。启动定时器。(2)设置定时器中断方法(INTM=1)如下:1)将IFR中的TINT置1,以清除尚未处理完的定时器中断。2)将IMR中的TINT置1,启动定时器中断。3)将INTM置0,启动全部中断。8.1定时器的原理与应用第8章TMS320C54x的外设应用编程第12页/共109页138.1.1定时器工作原理

4.定时器应用的初始化(3)复位时,TIM和PRD被设置为最大值(0FFFFh),TCR中的TDDR置0,定时器可以通过启动定时控制寄存器(TCR)完成以下操作:1)设定定时器的工作方式。2)设定预定标计数器中的当前数值。3)启动或停止定时器。4)重新装载定时器。5)设置定时器的分频值。8.1定时器的原理与应用第8章TMS320C54x的外设应用编程第13页/共109页148.1.2定时器的应用实例[例8-1]PLL初始化实例假设外部晶振提供10M的时钟输入,希望设置TMS320C54x的工作主频为100MHZ。汇编子函数实现代码如下:_CLKMD:STM#0b,58h ;switchtoDIVmodeTstStatu:LDM58h,AAND#01b,A ;pollSTATUSbitBCTstStatu,ANEQSTM#09007h,58h ;switchtoPLLRET8.1定时器的原理与应用第8章TMS320C54x的外设应用编程第14页/共109页158.1.2定时器的应用实例[例8-2]定时器自动装载定时设置参数:TSS=0:启动定时器;TRB=1:自动装载;TDDR=Ah:分频系数10soft=1,free=0:计数器减至0时,停止工作;TCR=0AAAh。定时周期:0101h;关闭定时器中断:IFR=0008h;开放定时器中断:IMR=0008h。8.1定时器的原理与应用第8章TMS320C54x的外设应用编程第15页/共109页168.1.2定时器的应用实例[例8-2]定时器自动装载定时代码如下:STM#0000h,SWWSR;不插等待时间STM#0010h,TCR ;TSS=0关闭定时器STM#0101h,PRD ;加载周期寄存器(PRD)STM#0AAAh,TCR ;装入定时器控制字,启动定时器STM#0080h,IFR ;消除尚未处理完的定时器中断STM#0080h,IMR ;开放定时器中断RSBXINTM ;开放中断8.1定时器的原理与应用第8章TMS320C54x的外设应用编程第16页/共109页178.2主机接口(HPI)应用原理与实例8.2.1主机接口(HPI)应用原理TMS320C54x的主机接口(HPI)用于实现与主处理器的通信,外部主机或主处理器可以很方便的通过HPI接口读写TMS320C54x的片内RAM,从而大大提高数据交换的能力。主机与DSP通过HPI的通信,可通过专用地址和数据寄存器、HPI控制寄存器以及使用外部数据与接口控制信号来实现。第8章TMS320C54x的外设应用编程第17页/共109页188.2.1主机接口(HPI)应用原理1.标准HPI接口的工作模式共享寻址模式(SAM方式)主机和TMS320C54x都能寻址HPI存储器。

主机寻址模式(HOM方式)在HOM方式下,HPI存储器只能让主机寻址

8.2主机接口(HPI)应用原理与实例第8章TMS320C54x的外设应用编程第18页/共109页198.2.1主机接口(HPI)应用原理

2.标准HPI接口的内部结构及对外硬件接口信号8.2主机接口(HPI)应用原理与实例第8章TMS320C54x的外设应用编程第19页/共109页208.2.1主机接口(HPI)应用原理2.标准HPI接口的内部结构及对外硬件接口信号

标准HPI对外硬件接口信号线主要由以下信号组成:HD0~HD7:双向并行三态数据总线,与主机数据总线相连。当不传送数据(HDSx或HCS=1)或EMU1/OFF=0(切断所有输出)时,HD7~HD0均处于高阻状态。

HCS:片选信号,与主机地址线或控制线相连。作为HPI的使能输入端,在每次寻址期间必须为低电平,两次寻址之间也可以连续停留在低电平。8.2主机接口(HPI)应用原理与实例第8章TMS320C54x的外设应用编程第20页/共109页218.2.1主机接口(HPI)应用原理2.标准HPI接口的内部结构及对外硬件接口信号

HAS:地址选通信号。HBIL:字节顺序识别信号,与主机地址线或控制线连接,用于识别主机传送来的一个字(16位数据)中的是第几字节(8位数据)。当HBIL=0时为第1字节;当HBIL=1时为第2字节。HRDY:HPI准备好端,与主机异步准备好线相连。高电平表示HPI已准备好,可执行一次数据传送;低电平表示HPI正忙于完成当前事务。8.2主机接口(HPI)应用原理与实例第8章TMS320C54x的外设应用编程第21页/共109页228.2.1主机接口(HPI)应用原理2.标准HPI接口的内部结构及对外硬件接口信号HCNTL0、HCNTL1:主机控制信号,与主机地址线或控制线连接,用来选择主机所要寻址的寄存器,功能说明如表所示。8.2主机接口(HPI)应用原理与实例第8章TMS320C54x的外设应用编程第22页/共109页238.2.1主机接口(HPI)应用原理

2.标准HPI接口的内部结构及对外硬件接口信号HDS1、HDS2:数据选通信号,与主机读选通和写选通或数据选通线连接,用于在主机寻址HPI周期内,控制HPI数据的传送。HDS1和HDS2信号与HCS一道产生内部选通信号。HINT:HPI中断输出信号,与主机中断输入相连。受HPIC寄存器中的HINT位控制。当TMS320C54x复位时为高电平,EMU1/OFF低电平时为高阻状态。HR/W:读/写信号。8.2主机接口(HPI)应用原理与实例第8章TMS320C54x的外设应用编程第23页/共109页248.2.1主机接口(HPI)应用原理3.标准HPI接口的接口寄存器HPI接口的接口寄存器有三个,分别是控制寄存器HPIC、数据寄存器HPID和地址寄存器HPIA。8.2主机接口(HPI)应用原理与实例第8章TMS320C54x的外设应用编程第24页/共109页258.2.1主机接口(HPI)应用原理

3.标准HPI接口的接口寄存器HPI的控制寄存器HPIC为16位寄存器,用来控制HPI的操作模式。其高8位与低8位完全相同,提供了4个控制位,分别为BOB、SMOD、DSPINT和HINT位。8.2主机接口(HPI)应用原理与实例第8章TMS320C54x的外设应用编程第25页/共109页26第8章TMS320C54x的外设应用编程第26页/共109页278.2.1主机接口(HPI)应用原理3.标准HPI接口的接口寄存器主机和TMS320C54x对HPIC寄存器的寻址读写会有4种结果:(1)主机读HPIC寄存器8.2主机接口(HPI)应用原理与实例第8章TMS320C54x的外设应用编程第27页/共109页288.2.1主机接口(HPI)应用原理

3.标准HPI接口的接口寄存器(2)主机写HPIC寄存器(3)TMS320C54x读HPIC寄存器8.2主机接口(HPI)应用原理与实例第8章TMS320C54x的外设应用编程第28页/共109页298.2.1主机接口(HPI)应用原理

3.标准HPI接口的接口寄存器(4)TMS320C54x写HPIC寄存器8.2主机接口(HPI)应用原理与实例第8章TMS320C54x的外设应用编程第29页/共109页308.2.1主机接口(HPI)应用原理4.标准HPI与增强型EHPI-8接口区别标准HPI与增强型EHPI-8接口非常类似,但在功能上存在三点区别,在实际应用中请读者注意:(1)标准HPI接口中外部主机只能访问固定位置的2K大小的片内RAM,而增强型HPI-8接口可以访问TMS320C54x整个内部RAM。(2)增强8位HPI只有同步模式,而标准8位HPI有异步模式,即外部主处理器可在DSP的时钟CLOCK不工作时访问TMS320C54x内部RAM。(3)在增强型HPI-8中主机和TMS320C54x只能共享访问RAM(SAM访问模式),而标准模式中,可以实现SAM和HOM两种方式的访问。8.2主机接口(HPI)应用原理与实例第8章TMS320C54x的外设应用编程第30页/共109页318.2.2主机接口(HPI)应用实例8.2主机接口(HPI)应用原理与实例第8章TMS320C54x的外设应用编程第31页/共109页328.2.2主机接口(HPI)应用实例这种连接方式实际是把TMS320C54x的HPI映射为主机的存储空间,通过对其操作访问的TMS320C54x的片内数据存储空间。主机及TMS320C54x可各自编程,把TMS320C54x片内RAM作为公共数据交换区,实现相互通信。TMS320C54x可编程读写此块数据;主机也可通过对HPI寄存器操作读写实现读写此块数据。另外TMS320C54x也可以设置HPI控制寄存器HPIC触发对主机的中断申请操作。8.2主机接口(HPI)应用原理与实例第8章TMS320C54x的外设应用编程第32页/共109页338.2.2主机接口(HPI)应用实例DSP初始化HPI接口设置为主机/DSP共用寻址模式(SAM方式),代码如下:volatileunsignedint*p;p=(volatileunsignedint*)0x002c; //configHPIC,SAMmode*p=0x02;DSP在SAM方式下触发主机中断,代码如下:volatileunsignedint*p;p=(volatileunsignedint*)0x002c; *p=0x0A;8.2主机接口(HPI)应用原理与实例第8章TMS320C54x的外设应用编程第33页/共109页348.3串行通信口原理与应用TMS320C54x具有高速、全双工串行口,可以与串行设备(如编解码器和串行A/D转换器)直接通信,也可用于多处理器系统中处理器之间的通信。TMS320C54x系列的串行口有四种类型:标准同步串行口SP、缓冲同步串行口BSP、时分多路串行口TMD、多通道缓冲串行口McBSP。第8章TMS320C54x的外设应用编程第34页/共109页358.3.1标准同步串行口SP1.标准同步串行口SP结构

8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第35页/共109页368.3.1标准同步串行口SP1.标准同步串行口SP结构标准同步串行口由16位数据接收寄存器(DRR)、数据发送寄存器(DXR)、接收移位寄存器(RSR)、发送移位寄存器(XSR)、2个装载控制逻辑电路以及2个位/字控制计数器组成。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第36页/共109页378.3.1标准同步串行口SP1.标准同步串行口SP结构标准同步串行口各部分的功能:数据接收寄存器DRR。它是16位的存储器映射数据接收寄存器,用来保存来自RSR寄存器并将要写到数据总线的输入数据。复位时,DRR被清除。数据发送寄存器DXR。它是16位的存储器映射数据发送寄存器,用来保存来自数据总线并将要加载到XSR的外部串行数据。复位时,DXR被清除。数据接收移位寄存器RSR。它是16位的数据接收移位寄存器,用来保存来自串行数据接收(DR)引脚的输入数据,并控制数据到DRR的传输。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第37页/共109页388.3.1标准同步串行口SP1.标准同步串行口SP结构标准同步串行口各部分的功能:数据发送移位寄存器XSR。它是16位数据发送移位寄存器,用来控制来自DXR的外部数据的传输,并保存将要发送到串行数据发送引脚的数据。串行口控制寄存器SPC。它是16位的存储器映射串行接口控制寄存器,用来保存串行接口的模式控制和状态位。控制电路。它用于控制串行口协调工作,分为:1)装载控制电路:完成接收和发送数据的装载。2)位/字控制计数器:完成位/字传输控制。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第38页/共109页39[例8-4]两个TMS320C54x串行通信的连接

对于左侧TMS320C54x设备,发送过程分为以下几步:(1)发送数据装入DXR。(2)当上一个数据发送完后,DXR的数据会自动装入XSR。(3)在发送帧同步信号FSX和发送时钟CLKX作用下,将XSR的数据通过引脚DX发送输出。对于右侧TMS320C54x设备,接收过程分为以下几步:(1)在接收帧同步信号FSR和接收时钟CLKR作用下,接收数据通过DR引脚移至RSR中。(2)当RSR满时,将数据装入DRR中。(3)接收端检测到数据到达即可进一步处理。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第39页/共109页408.3.1标准同步串行口SP2.串行口控制寄存器SPCTMS320C54x标志同步串行口的操作是由串行口控制寄存器SPC决定的。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第40页/共109页418.3.1标准同步串行口SP2.串行口控制寄存器SPCSPC的各控制位的功能(1)Res(第0位):保留位,用于单TMS320C54x测试串行口代码。在串行接口总读为0。(2)DLB(第1位):数字回送模式位,用于设置串行接口为数据回送模式。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第41页/共109页428.3串行通信口原理与应用第8章TMS320C54x的外设应用编程8.3.1标准同步串行口SP2.串行口控制寄存器SPCSPC的各控制位的功能(2)DLB(第1位):1)当DLB=0时,为禁止数据回送模式。DR、FSR和CLKR信号来自它们各自器件引脚。2)当DLB=1时,为使能数据回送模式。通过图(a)和图(b)所示的多路复用器,将DR和FSR信号分别连接到DX和FSX。另外,如果MCM=1,则输出时钟CLKR由片内时钟CLKX驱动;如果MCM=0,则输出时钟CLKR来自器件的CLKR引脚。该配置允许CLKX和CLKR在外部连接在一起,并且由同一个时钟源提供时钟。图(c)为CLKR的逻辑结构。第42页/共109页43第8章TMS320C54x的外设应用编程8.3.1标准同步串行口SP2.串行口控制寄存器SPCSPC的各控制位的功能(3) FO(第2位):数据格式位,该位用于定义串行口发送/接收数据的字长。(4) FSM(第3位):帧同步模式位,该位规定串行口工作时,在初始帧同步脉冲之后是否还要求FSX和FSR帧同步脉冲。(5) MCM(第4位):时钟模式位,用来设定CLKX的时钟源。(6) TXM(第5位):发送模式位,用于设定帧同步脉冲FSX的来源。(7)XRST(第6位):发送复位位,用来对串行口发送器进行复位。(8)RRST(第7位):接收复位位,用来对串行口接收器进行复位。(9) IN0(第8位):接收时钟状态位,用于显示接收时钟CLKR当前状态。(10)IN1(第9位):发送时钟状态位,用于显示发送时钟CLKX当前状态。(11)RRDY(第10位):接收准备好位,用于检测接收移位寄存器RSR接收数据的状态。(12)XRDY(第11位):发送准备好位,用于检测发送寄存器DXR发送数据的状态。(13)XSREMPTY(第12位):发送移位寄存器空位,用于反映发送移位寄存器的状态。(14)RSRFULL(第13位):接收移位计数器满,用来反映接收移位寄存器的状态,高电平有效。(15)Free(第14位)、Soft(第15位):仿真控制位,用于调试程序遇到断点时决定串行口的时钟状态。8.3串行通信口原理与应用第43页/共109页448.3.1标准同步串行口SP3.标准同步串行口SP的使用操作例:TMS320VC5402用标准同步串口SP实现数据通信,处理时使用中断方式:(1)串口的初始化1)复位,并且把0038h(或0008h)写到SPC,初始化串行接口。2)把00C0h写到IFR,清除任何挂起的串行接口中断。3)把00C0h和IMR求或逻辑运算,使能串行接口中断。4)清除ST1的INTM位,使能全局中断。5)把00F8h(或00C8h)写入SPC,启动串行接口。6)把第一个数据写到DXR。如果这个串行接口与另一个处理器的串行接口连接,而且这个处理器产生一个帧同步信号SFX,则在写这个数据之前必须有握手信号。(2)串口中断服务程序处理1)保存上下文到堆栈中。2)读DRR或写DXR,或者同时进行两种操作。从DRR读出的数据写到存储器中预定单元,写到DXR的数据从存储器的指定单元取出。3)恢复现场。4)用RETE从中断子程序返回,并重新使能中断。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第44页/共109页458.3.2缓冲同步串行口BSP缓冲同步串行口BSP是一种增强型同步串行口,它是在同步串行口的基础上增加了一个自动缓冲单元ABU。ABU是一个附加的逻辑功能,它利用专用总线,控制串行口直接与TMS320C54x的内部存储器进行数据交换,这就使得串口传送的开销最小,且具有更快的数据传输速率。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第45页/共109页468.3.2缓冲同步串行口BSP1.缓冲同步串行口BSP结构缓冲同步串行口共有6个寄存器:数据接收寄存器(BDRR)数据发送寄存器(BDXR)控制寄存器(BSPC)控制扩展寄存器(BSPCE)接收移位寄存器(BRSR)发送移位寄存器(BXSR)8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第46页/共109页478.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第47页/共109页488.3.2缓冲同步串行口BSP2.缓冲同步串行口的控制寄存器BSPCEBSPCE寄存器包含控制位和状态位,用于控制BSP和ABU的增强功能。寄存器的低10位用于增强特性控制,高6位用于ABU控制。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第48页/共109页49BSPCE寄存器各位功能说明如下。(1)ABUC(第15~10位):ABU控制寄存器,用于自动缓冲单元的控制。(2)PCM(第9位):PCM脉冲编码模式位,用于设置串口工作于编码模式。(3)FIG(第8位):帧同步信号忽略,该位仅在连续发送模式下且具有外部帧同步信号,以及连续接收模式下工作。(4)FE(第7位):格式扩展位,用于和SPC中的FO位一起指定字长。(5)CLKP(第6位):时钟极性设置位,用于设定接收和发送时,何时采样数据。(6)FSP(第5位):帧同步极性设置位,用于设定帧同步脉冲触发电平高低。(7)CLKDV(第4~0位):CLKDV内部发送时钟分频因数。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第49页/共109页508.3.2缓冲同步串行口BSP3.ABU自动缓冲单元BSPCE的最高6位组成了ABU的控制寄存器(ABUC),用于自动缓冲单元的控制。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第50页/共109页51(1) HALTR(第15位):自动缓冲接收停止位,用于决定当缓冲区已接收到一半时,自动缓冲是否暂停。(2) RH(第14位):接收缓冲区半满,用来指明接收缓冲区哪一半已经填满。(3) BRE(第13位):自动接收使能控制位,用于控制自动缓冲接收。(4) HALTX(第12位):自动缓冲发送禁止,用于控制自动缓冲发送是否暂停。(5) XH(第11位):发送缓冲区半满。用来表示发送缓冲区哪一半已经发送。 (6)BXE(第10位):自动缓冲发送使能位,用来控制自动缓冲发送。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第51页/共109页528.3.2缓冲同步串行口BSP3.ABU自动缓冲单元自动缓冲过程归纳如下:(1)ABU完成对缓冲存储器的存取。(2)工作过程中地址寄存器自动增加,直到缓冲区的底部(到底部后,地址寄存器内容恢复到缓冲存储区顶部)。(3)如果数据到了缓冲区的一半或底部,就会产生中断,并且刷新XH/XL。(4)如果选择禁止自动缓冲功能,当数据过半或到达缓冲区底部时,ABU自动停止自动缓冲功能。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第52页/共109页538.3.2缓冲同步串行口BSP4.BSP的使用初始化操作(1)BSP发送初始化步骤1)把0008h写到BSPCE寄存器,复位和初始化串口。2)把0020h写到IFR,清除挂起的串口中断。3)把0020h与IMR进行或操作,使能串口中断。4)清除ST1的INTM位,使能全局中断。5)把1400h写到BSPCE寄存器,初始化ABU的发送器。6)把缓冲区开始地址写到AXR。7)把缓冲长度写到BKX。8)把0048h写到BSPCE,开始串口操作。(2)BSP接收初始化步骤1)把0000h写到BSPCE寄存器,复位和初始化串口。2)把0010h写到IFR,清除挂起的串口中断。3)把0010h与IMR进行或操作,使能串口中断。4)清除ST1的INTM位,使能全局中断。5)把2160h写到BSPCE寄存器,初始化ABU的发送器。6)把缓冲开始地址写到ARR。7)把缓冲长度写到BKR。8)把0080h写到BSPCE寄存器,开始串口操作。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第53页/共109页548.3.2缓冲同步串行口BSP5.BSP省电工作模式TMS320C54x提供几种省电工作模式,允许部分或整个器件进入休眠或低功耗状态。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第54页/共109页558.3.2缓冲同步串行口BSP6.SP与BSP的差别

8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第55页/共109页568.3.3时分多路串行口TDM时分多路串行口TDM是一个允许数据时分多路的同步串行接口。

1.TDM的时分复用工作方式8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第56页/共109页578.3.3时分多路串行口TDM2.TDM的寄存器TDM串口操作通过6个存储器映射寄存器和2个其他专用寄存器来实现。TRCV、TDXR、TSPC、TCSR、TRTA、TRAD、TRSR、TXSR。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第57页/共109页58(1)TDM数据接收寄存器TRCV:用来保存接收的串行数据,功能与DRR相同。(2)TDM数据发送寄存器TDXR:用来保存发送的串行数据,功能与DXR相同。(3)TDM串口控制寄存器TSPC:包含TDM的模式控制或状态控制位(4)TDM接收地址寄存器TRAD:存留TDM地址线的各种状态信息。(5)TDM通道选择寄存器TCSR:指定每个通信器件发送操作时间段。(6)TDM发送/接收地址寄存器TRTA:低8位(RA0~RA7)为接收地址,高8位(TA0~TA7)发送地址。(7)TDM数据接收移位寄存器TRSR:控制从输入引脚到TRCV数据的接收保存过程,与RSR功能类似。(8)TDM数据发送移位寄存器TXSR:控制从TDXR来的输出数据的传送,并保存从TDM引脚发送出去的数据,与XSR功能相同。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第58页/共109页598.3.3时分多路串行口TDM3.TDM的应用连接8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第59页/共109页608.3.4多通道缓冲串行口McBSP多通道缓冲串行口McBSP是一个高速、全双工、多通道缓冲串行接口。McBSP的主要特点:串行口的接收、发送时钟既可由外部设备提供,又可由内部时钟提供。帧同步信号和时钟信号的极性可编程。信号的发送和接收既可单独运行,也可结合在一起配合工作。McBSP的串行口可由CPU控制运行,也可以脱离CPU通过直接内存的读取操作来单独运行。具有多通道通信能力,可达128个通道。数据的宽度可在8、12、16、20、24和32位中选择,并可对数据进行A律和μ律压缩和扩展。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第60页/共109页618.3.4多通道缓冲串行口McBSP

1.多通道缓冲串行口McBSP结构8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第61页/共109页628.3.4多通道缓冲串行口McBSP

2.多通道缓冲串行口McBSP的控制寄存器8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第62页/共109页638.3.4多通道缓冲串行口McBSP

2.多通道缓冲串口McBSP的控制寄存器(1)McBSP的控制寄存器SPCR18.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第63页/共109页64(1)McBSP的控制寄存器SPCR1

第8章TMS320C54x的外设应用编程第64页/共109页65(1)McBSP的控制寄存器SPCR1

第8章TMS320C54x的外设应用编程第65页/共109页668.3.4多通道缓冲串行口McBSP

2.多通道缓冲串口McBSP的控制寄存器(2)McBSP的控制寄存器SPCR28.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第66页/共109页67第8章TMS320C54x的外设应用编程(2)McBSP的控制寄存器SPCR2第67页/共109页68第8章TMS320C54x的外设应用编程(2)McBSP的控制寄存器SPCR2第68页/共109页698.3.4多通道缓冲串行口McBSP2.多通道缓冲串口McBSP的控制寄存器(3)McBSP的引脚控制寄存器PCR8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第69页/共109页70第8章TMS320C54x的外设应用编程(3)McBSP的引脚控制寄存器PCR第70页/共109页71第8章TMS320C54x的外设应用编程(3)McBSP的引脚控制寄存器PCR第71页/共109页728.3.4多通道缓冲串行口McBSP2.多通道缓冲串口McBSP的控制寄存器(4)McBSP的接收控制寄存器RCR18.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第72页/共109页73第8章TMS320C54x的外设应用编程(4)McBSP的接收控制寄存器RCR1第73页/共109页748.3.4多通道缓冲串行口McBSP2.多通道缓冲串口McBSP的控制寄存器(5)McBSP的接收控制寄存器RCR28.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第74页/共109页75第8章TMS320C54x的外设应用编程(5)McBSP的接收控制寄存器RCR2第75页/共109页76第8章TMS320C54x的外设应用编程(5)McBSP的接收控制寄存器RCR2第76页/共109页778.3.4多通道缓冲串行口McBSP2.多通道缓冲串口McBSP的控制寄存器(6)McBSP的发送控制寄存器XCR18.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第77页/共109页78第8章TMS320C54x的外设应用编程(6)McBSP的发送控制寄存器XCR1第78页/共109页798.3.4多通道缓冲串行口McBSP2.多通道缓冲串口McBSP的控制寄存器(7)McBSP的发送控制寄存器XCR28.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第79页/共109页80第8章TMS320C54x的外设应用编程(7)McBSP的发送控制寄存器XCR2第80页/共109页81第8章TMS320C54x的外设应用编程(7)McBSP的发送控制寄存器XCR2第81页/共109页828.3.4多通道缓冲串行口McBSP3.McBSP串口的控制操作

(1)McBSP串行口的复位McBSP串行口的复位有两种方式系统复位McBSP复位8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第82页/共109页838.3.4多通道缓冲串行口McBSP3.McBSP串口的控制操作

(2)McBSP串行口的初始化McBSP复位后,可进行初始化,其步骤如下:1)对控制寄存器的复位位(接收/发送复位)置0,即使RRST、XRST和GRST位为零。2)根据串口复位的要求,对McBSP的寄存器进行编程配置。3)等待2个时钟周期,以保证内部时钟同步。4)对DXD写信息,设置数据通道。5)设置XRST和RRST置1,使串口处于使能状态。6)如果需要内部帧同步信号,则设定FRST=1。7)等待2个时钟周期后,接收器和发送器被激活。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第83页/共109页848.3.4多通道缓冲串行口McBSP3.McBSP串口的控制操作

(3)McBSP串口的多通道选择配置使用单相帧同步设置McBSP,可为发送器、接收器选择独立的多通道工作模式。每一帧代表一个时分复用(TDM)数据流。McBSP的多通道选择配置可以通过设定多通道控制寄存器来进行。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第84页/共109页858.3.4多通道缓冲串行口McBSP

3.McBSP串口的控制操作

(3)McBSP串口的多通道选择配置1)多通道控制寄存器MCR18.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第85页/共109页86第8章TMS320C54x的外设应用编程1)多通道控制寄存器MCR1第86页/共109页878.3.4多通道缓冲串行口McBSP3.McBSP串口的控制操作

(3)McBSP串口的多通道选择配置2)多通道控制寄存器MCR28.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第87页/共109页88第8章TMS320C54x的外设应用编程2)多通道控制寄存器MCR2第88页/共109页898.3.4多通道缓冲串行口McBSP

3.McBSP串口的控制操作

(3)McBSP串口的多通道选择配置3)接收通道使能寄存器RCERx

8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程RCERA的位结构定义RCERB的位结构定义第89页/共109页90第8章TMS320C54x的外设应用编程第90页/共109页918.3.4多通道缓冲串行口McBSP

3.McBSP串口的控制操作

(3)McBSP串口的多通道选择配置4)发送通道使能寄存器XCERx

8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第91页/共109页92第8章TMS320C54x的外设应用编程第92页/共109页938.3.4多通道缓冲串行口McBSP4.McBSP的通信应用数据发送过程:1)TMS320C54x通过外设总线,将数据写入数据发送寄存器DXR[1,2]。2)McBSP串口将DXR[1,2]中的发送数据传送到发送移位寄存器XSR[1,2]中。3)通过发送移位寄存器XSR[1,2],将数据经DX引脚移出发送。数据接收过程:1)McBSP串口通过DR引脚,将接收数据移入接收移位数据寄存器RSR[1,2]中。2)将RSR[1,2]中的接收数据拷贝到接收缓冲寄存器RBR[1,2]。3)将RBR[1,2]中的接收数据复制到数据接收寄存器DRR[1,2]。4)TMS320C54x或DMA控制器从DRR[1,2]中读出数据。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第93页/共109页948.3.5McBSP串行口应用实例扩展一个串行A/D转换应用8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第94页/共109页958.3.5McBSP串行口应用实例MS320C54x在驱动MAX1247正常工作之前,必须先初始化McBPS0为SPI工作模式,配置双向读写模式,将控制寄存器FRST和GRST位设置为1,其他位设置为0。8.3串行通信口原理与应用第8章TMS320C54x的外设应用编程第95页/共109页968.4外部I/O扩展原理与应用TMS320C54x除了提供程序存储空间和数据存储空间外,还提供了I/O存储空间,I/O存储空间只存于片外。I/O存储空间访问时序对于等待周期处理更灵活一些,这点略不同于程序存储空间和数据存储空间操作,这使得I/O访问外设更方便些。第8章TMS320C54x的外设应用编程8.4.1I/O空间扩展外设原理1.I/O空间的外扩总线I/O存储空间的外设扩展需要将外设连接到TMS320C54x提供的外围总线上第96页/共109页978.4.1I/O空间扩展外设原理2.I/O空间的读写时序

8.4外部I/O扩展原理与应用第8章TMS320C54x的外设应用编程第97页/共109页988.4.1I/O空间扩展外设原理3.TMS320C54x系统对I/O扩展外设的访问汇编语言中使用PORTR、PORTW命令访问TMS320C54x的I/O存储空间。在C语言中使用ioport关键字访问TMS320C54x的I/O存储空间。8.4外部I/O扩展原理与应用第8章TMS320C54x的外设应用编程第98页/共109页99[例8-5]汇编程序访问IO扩展外设的示例;读取I/O空间05h端口处的数据,存放到数据存储空间60h处PORTR 05,INDAT ;INDAT.equ60h;读取数据存储空间87

温馨提示

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

评论

0/150

提交评论