DSPMAX548A与TMS320LF2407的SPI通信系统设计精.docx
- 文档编号:17182926
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:9
- 大小:154.63KB
DSPMAX548A与TMS320LF2407的SPI通信系统设计精.docx
《DSPMAX548A与TMS320LF2407的SPI通信系统设计精.docx》由会员分享,可在线阅读,更多相关《DSPMAX548A与TMS320LF2407的SPI通信系统设计精.docx(9页珍藏版)》请在冰点文库上搜索。
DSPMAX548A与TMS320LF2407的SPI通信系统设计精
湖南科技大学
信息与电气工程学院
《DSP原理及应用》
题目:
MAX548A与TMS320LF2407的SPI通信系统设计
专业:
自动化
班级:
一班
姓名:
学号:
指导教师:
谢道文
2015年5月19日
摘要
TI公司的TMS320LF2407型DSP微控制器内嵌的同步串行口(SPI)支持CPU与其它使用标准格式的同步外设之间的数字通讯,通过MAX548A可以方便地进行DSP之间或与PC机之间的同步通信。
串行外设接口(SPI)是一个高速同步串行输入/输出(I/O)端口,常用于DSP控制器和外部器件或其它控制器间的通讯。
本设计正是通过TMS320LF2407所带有的SPI模块进行DSP的数据传输通信。
此实例电路结构简单易懂,非常适合刚接触DSP的初学者使用,具有很好的参考价值。
本设计还介绍了MAX548A的基本工作原理及其功能,设计了其与TMS320LF2407的同步串行外设接口(SPI的通信方案,给出了系统的硬件接口和软件设计.
关键词:
MAX548A;TMS320LF2407;SPI
目录
第一章MAX548A的介绍4
1.0MAX548A的简介4
1.1MAX548A的特点4
1.2MAX548A的外部特性和内部结构4
1.3 工作原理及操作方式6
第二章MAX548A与TMS320LF2407的SPI接口应用8
2.0SPI接口的主要特点8
2.1 硬件电路8
2.2 软件设计9
第三章结论10
第四章参考资料10
第一章MAX548A的介绍
1.0MAX548A的简介
MAX548A是美信公司生产的高速串行数模转换芯片,其最高转换速度
可达10MHz,可用于需要高速模拟量输出的场合,兼容SPI,QSPI,MI2CROWIRE接口标准,将其与TMS320LF2407所带的串行外设接口(SPI进行连接,利用DSP的高速及可编程特性,实现高速的数模转换,与实现同样功能的并行数模转换相比,可以减少系统的硬件开销,减小系统体积.本文以TMS320LF2407和MAX548A的连接为例,介绍了SPI与D/A芯片的通信设计方法。
1.1MAX548A的特点
MAX548A是8位电压型2路低功耗模数转换芯片,3线输入,兼容SPI,QSPI,MICROWIRE接口标准.它具有如下特点:
(1宽电压范围:
工作电压从+2.5V到+5.5V;
(2低功耗:
每个D/A通道在VDD=+2.5V时典型工作电流为75μA;
(3具有睡眠模式,内部R-2R梯形网络从电源断开,参考输入电流减小到1μA;
(4灵活的工作方式:
允许每个D/A通道单独断开,输入寄存器和DAC寄存器可
以单独更新,也可以同时更新;
(5上电复位,清所有寄存器为零;
(610MHz时钟频率,三线串输入,满足SPI/QSPI,MICROWIRE接口标准;
1.2MAX548A的外部特性和内部结构
图1
外部引脚如图1所示:
其引脚功能见表1:
其内部结构如图2所示:
其内部由输入移位寄存器及控制逻辑、2个DAC输入寄存器、2个DAC寄存器、2个R-2R梯形解码电阻网络组成.输入移位寄存器及控制逻辑的功能是接受串行输入的2进制数,并实现DAC输入寄存器、DAC寄存器数据的加载及更新,可以同时控制2个D/A通道,也可以对每个通道单独进行控制.每个通道的8位数字量经过DAC输入寄存器、DAC寄存器两级缓冲,直接到R-2R梯形解码电阻网络解码输出模拟量,因此MAX548A可工作于双缓冲输入方式,但输出无缓冲,换句话说,数模转换在正常模式下,只要更新DAC寄存器的内容,输出模拟量就会随之改变.在睡眠模式下,内部R-2R梯形网络从电源断开,因此此时模拟量无法输出,但这并不影响对DAC输入寄存器、DAC寄存器的操作。
1.3 工作原理及操作方式
对DAC输入寄存器、DAC寄存器的控制,包括如对A、B通道的寻址(即
确定相应操作通道的相应寄存器、相应寄存器值的更新、工作于正常模式或是睡眠模式等,是通过输入移位寄存器的内容来完成的,它是16位的二进制数,包含8位控制位,8位数据位,其格式及各位的功能如表2所示:
图3是MAX548的工作时序图:
在CS为低时,输入移位寄存器在串行时钟SCLK的上升沿接受从DIN输入的串行数据.其中UB1首先移入,D0最后移入.传输的数据可以是16位的字,也可以是2个字节(之间有停顿,当16位数据输入移位寄存器后,CS的上升沿对DAC编程,可同时或单独的加载输入寄存器而不更新DAC寄存器,这样可以允许每个DAC寄存器用不同的数值同时更新,LDAC独立于CS,可用于不同时更新DAC寄存器的值的情况,当C1=1,可设置1个或2个DAC寄存器在LDAC的下降沿或是CS上升沿更新。
根据不同控制位的取值不同,可以分别形成不同的指令,表3列出了部分指令,其他指令可依控制位的不同类推。
第二章MAX548A与TMS320LF2407的SPI接口应用
2.0SPI接口的主要特点
TMS320LF2407是DSP控制器24X系列产品之一,它具有处理速度快,外设集成度高等优点,为多种用途的产品提供了经济的可编程方案,其同步串行外设接口主要特点有:
(14个输入输出口,即SPISIMO,SPISOMI,SPISTE,SPICLK;
(2主动和从动2种工作方式;
(3125种可编程的波特率;
(4发送和接收可同时操作;
(5发送和接收可采用中断或查询方式来完成;
(61~16个数据位.
与接收和发送有关的主要寄存器包括串行外设接口配置控制寄存器(SPICCR、串行外设接口操作控制寄存器(SPICTL、串行外设接口状态寄存器(SPISTS、串行外设接口波特率寄存器(SPISTS、串行外设接口串行接收缓冲寄存器(SPIRXBUF、串行外设接口串行发送缓冲寄存器(SPITXBUF、串行外设接口串行数据寄存器(SP2IDAT.发送和接收数据时的操作方式和过程与这些寄存器有关。
2.1 硬件电路
利用TMS320LF2407的SPI接口与MAX548A构成DAC电路如图4所示.图中SPI工作在主动工作方式.MAX548A的DIN接到SPI的SPISIMO,由于DIN在SCLK的上升沿接收数据,因此程序中必须通过设定SPICCR,使SPI在上升沿输出数据;MAX548A的SCLK接到SPI的SPICLK,SPICLK的频率可通过软件编程得到,由于SCLK的最高频率可达10MHz,这里利用设定SPIBRR来设定SPICLK频率为10MHz;MAX548A的CS接到SPI的SPISTE,通过主动工作方式下,启动数据输出使之输出为低,完成对MAX548A的片选.因此,该DAC电路基本工作过程为:
在主动工作方式下,启动数据传输时,SPISTE(CS变低,16位数据以SPICLK(SCLK频率输入MAX548A的输入移位寄存器,当16位数据传输完成后,一次数据传输结束,SPISTE(CS变高,在SPISTE(CS的上升沿,执行MAX548A的指令,完成对MAX548A内部寄存器的操作及控制,如此循环,完成全部数字量的转换.由于MAX548有上电复位清零功能,因此常规的DAC电路的初始化(送模拟量0清所有寄存器这里并不需要。
2.2 软件设计
假设系统初始化时已设定系统时钟频率为40MHz,而SPICLK频率为10MHz,因此,这里取SPIBRR=0;另外,在初始化时,需通过设定MCRB,设定通用引脚为SPI功能引脚;通过SPICCR设定数据传输时刻和数据长度,等.下面是通过MAX548A的A口输出正弦波形的程序,包含对SPI各个控制寄存器的配置及正弦波的产生程序:
#include“register.h”#include“math.h”#include“stdio.h”intvout;
//*********************系统初始化子程序********************
intinitial(
{
asm(“setcINTM”;//屏蔽中断 WSGR=0X00;//禁止所有的等待状态
asm(“CLRCSXM”;
asm(“CLRCOVM”;
asm(“CLRCCNF”;//B0被配置为数据空间
3SCSR1=0X00FE;
3WDCR=0X0E8;//不使用看门狗
}
//**************SPI模块初始化及波形产生********************
main
{
intAinitial(;
MCRB=0X003C;//设置通用引脚为SPI功能的引脚
SPICCR&=0X000F;//16位数据长度,上升沿发送数据
SPICTL=0X0006;//使能主动模式,允许发送SPIBRR=0X0000;
SPICCR|=0X0080;//使SPI退出复位状态
SPITXBUF=0X0B80;
while((SPISTS&0X40==0X00
A=SPITXBUF;
}
voidSPIADCSIN(
{
unsignedintV0=0X0B80;unsignedintTEMP
inti;next:
i=0;
while(i<=360
{
∥******************角度最大为360°************************
vout=V0+1283sin(3.141593i/180;∥计算每10°的正弦值
SPITXBUF=vout
SPITXBUF=0X0B80;
while((SPISTS&0X40==0X00
TEMP=SPITXBUF;
i=i+2;∥角度+2
}
gotonext;∥重复输出正弦波
}
第三章结论
本文利用双通道8位串行D/A芯片MAX548A,设计其与TMS320LF2407的SPI接口电路,结构简单,编程方便,节省电路板空间,并能节约成本,具有较高的实用价值。
第四章参考资料
[1] TexasInstrumentsCorporation.TMS320C20XUser’sG,1999.
[2] 刘和平.TMS320LF240XDSPC语言开发应用[M].北京:
北京航空航天大学出版
社,2003.
[3] MaximInc.Dual,Serial,Voltage-OutputDACsinaμMAXPackage.www.maxim-
ic.com.cn,1999
[4]云南大学学报(自然科学版,2005,27(5A:
278~282CN53-1045/N
ISSN0258-7971JournalofYunnanUniversity
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSPMAX548A TMS320LF2407 SPI 通信 系统 设计