TMS320C5402的MCBSP作业方法
MCBSP是TMS320C5402的多通道缓冲串口(MCBSP0和MCBSP1)。MCBSP的外部经过6个管脚与其他串行器材相连,在内部与DSP的内核衔接。串行数 据收发管脚与内部各个串口寄存器相连。
依据MCBSP的功用和结构,能够将其作业方法归纳为:SPI作业方法和多通道缓冲作业方法。
本文首要介绍SPI操作方法。MCBSP的外部管脚为:串行数据接纳管脚DR、接纳时钟管脚CLKR、接纳帧同步信号管脚FSR、发送时钟管脚CLKX、串行数据发送管脚DX、发送帧同步信号管脚FSX。在时钟和帧同步信号操控下,接纳和发送经过DR和DX引脚与外部器材直接通讯。在T MS320C5402内部CPU对MCBSP的操作,利用了数个16位操控寄存器,经过2个中止和4个事情信号操控模块触发,对片内外设总线进行存取操控。在进行数据接纳时,数据抵达接纳管脚DR后,在接纳时钟CLKR的上升沿(或下降沿)处被逐位顺次移入RSR中,当收满一个字后,RSR被拷贝到缓冲寄存器RBR,接着再拷贝到数据接纳寄存器DRR,此时CPU能够经过外设总线从DRR中读取收到的数据。发送数据时,CPU将数据写入数据发送寄存器DXR,接着拷贝到发送移位寄存器XSR,在发送帧同步信号FSX后,CLKX的上升沿(或下降沿)到来时,XSR的内容被逐位顺次移到发送管脚DX上。
2 MAX147的首要特色
A/D芯片MAX147是一种具有8路通道,12位精度的串行数据转化器。能够作业于SPI和QSPI方法。输入电压规模:0~2.5V(或-1.25V~+1.25V)。采样频率可达133kHz。MAX147的管脚界说见图1。CH0~CH7为8路模仿采样输入;COM为模仿信号的参阅地,VREF为2.5V外部基准电压输入;AGND为模仿地,DGND为数字地;DOUT为串行数据输出,DIN为串行数据输入;SSTRB为串行信号输出,MAX147每次输出12位转化成果时,都会在最高位输出之前发生一个时钟周期的正脉冲;CS为低电平有用的片选管脚;SCLK为串行时钟输入,最高频率为2MHz;SHDN为Shutdown形式挑选,该脚悬空可使MAX147作业在外部比较形式;REFADJ为ReferenceBuffer Amplifier输入,该脚接高电平能够使MX147作业在外部比较形式;VDD为作业电压。
3 TMS320C5402 DSP与MAX147的接口电路
如图1所示,MAX147的8路采样通道作为模仿信号输入,与前端传感器相连。MAX147需求外部的2.5V基准电压,用LM385-2.5供给。MAX147的第9脚(COM)是模仿信号的参阅地,直接关系到A/D转化的精度与准确度,必定要与模仿地杰出衔接。MAX147的数字部分与TMS320C5402DSP的多通道缓冲串口MCBSP相衔接,见图2。在与MAX147接口时,DSP作为SPI主设备,向作为从设备的MAX147供给串行时钟、指令和片选信号。因而,衔接时能够直接相连,并且能够作业于内部转化时钟。FSX作为低有用的片选信号输出到MAX147的CS端(低有用);CLKX输出的时钟信号是串行数据的基准时钟,并且还决议了A/D转化速率。DX为SPI通讯中的主出从入;DR为SPI通讯中的主入从出。DSP串口作业在CLOCK STOP形式(兼容SPI协议)下,CLKX脚和CLKR脚现已在内部相连。
4 程序设计
对DSP的串口编程时,首先要复位MCBSP串口,其次是装备一些16位寄存器,设置操控和收发寄存器中各位的值。装备好寄存器,对串口的操作实际上就变成了对寄存器DRR和DXR的操作,发送数据便是对DXR进行写操作,接纳数据便是对DRR进行读操作。MCBSP支撑包含8、12、16和32位字长格局的数据收发。编程复位和装备寄存器的程序如下:
MAX147每次从DIN接纳一组8位的操控字,发动一次转化,DOUT上输出一组12位的A/D转化数值。一般操控字为1XXX1111,其间包含挑选输入通道、采样极性和转化时钟方法(内部时钟和外部时钟)、功耗形式等设置信息。在最终一位操控字输出结束后的第一个时钟下降沿,触发一次A/D转化。在A/D转化数据的最高位移出之前,SSTRB发生一个高电平脉冲,能够作为DSP串口的帧同步信号。如果在A/D转化器闲暇时呈现第一个高电平或在第5位A/D转化数值后呈现的第一个高电平,MAX147都判别为开始位。图3所示为16时钟周期转化时序。
一组16个时钟的数据包对应一组12位的A/D转化数据,DSP读入的16位数中最高1位和最低3位是无效位。当一组数据包传送结束后,至少有2个SCLK周期的闲暇,这是由SPI方法的特色所决议的,所以,在SPI形式下,最快的采样周期并不是16个SCLK周期,而是18个SLCK周期。MCBSP在时钟的下降沿发送数据,上升沿承受数据。以下是向DXR传送一次操控字,将接纳寄存器DRR中的数据存入缓冲区的中止服务子程序。
;tint中止服务程序
-tint:SSBX INTM;/屏蔽一切中止
STM #COMMAND,DXR11;/向DXR11传送操控字
LDM DRR1l,A;/DRR11为Mcbsp1的数据接纳寄存器
STL A,-3,*AR1+%;/数据存入缓冲区,循环寻址
REte
.end
本体系已成功地应用到温度、振荡加速度信号检测体系中。