基于MCBSP高精度多通道数模转换.docx
- 文档编号:29512916
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:42
- 大小:733.88KB
基于MCBSP高精度多通道数模转换.docx
《基于MCBSP高精度多通道数模转换.docx》由会员分享,可在线阅读,更多相关《基于MCBSP高精度多通道数模转换.docx(42页珍藏版)》请在冰豆网上搜索。
基于MCBSP高精度多通道数模转换
编号
南京航空航天大学
毕业论文
题目
基于MCBSP的多通道高精度D/A转换实现
学生姓名
吴田
学号
050810218
学院
机电学院
专业
机械工程及自动化
班级
0509102
指导教师
薛重德副教授
二〇一三年六月
南京航空航天大学
本科毕业设计(论文)诚信承诺书
本人郑重声明:
所呈交的毕业设计(论文)(题目:
)是本人在导师的指导下独立进行研究所取得的成果。
尽本人所知,除了毕业设计(论文)中特别加以标注引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写的成果作品。
作者签名:
年月日
(学号):
基于McBSP的多通道高精度D/A转换实现
摘要
数字信号处理器(DSP)是针对数字信号处理需要而设计的一种可编程的单片机,有两大特色:
强大数据处理能力和高运行速度。
DSP获得了越来越广泛的应用,学习DSP有重要的现实意义。
本文主要是利用TMS320F2812DSP的McBSP(多通道缓冲串行口)接口设计多通道高精度的D/A转换电路,并编程实现。
F2812是TI公司最新推出的DSP芯片,属于TMS320C2000系列。
F2812核心支持全新CCS环境的C编译器,提供C语言中直接嵌入汇编语言的程开发界面,可在C语言的环境中搭配汇编语言来撰写程序。
利用自主设计的32位TMS320F2812DSP开发板开展工作,F2812DSP本身不带D/A转换器,其中要使用MCBSP实现SPI协议,编写通过McBSP接口对D/A转换器进行操控程序,通过DSP采集信号发送给DAC,启动DAC实现DA转换,所使用的DAC为DAC8568,它有8个DAC通道,从而实现多路D/A同步或异步高精度转换。
关键词:
SPI,MCBSP,DAC8568,多通道,高精度,D/A转换
BasedonMcBSPmulti-channelhigh-precisionD/Aconvertertoachieve
Abstract
Digitalsignalprocessor(DSP)fordigitalsignalprocessingrequiresthedesignofaprogrammablemicrocontroller,therearetwofeatures:
powerfuldataprocessingcapabilityandhighspeed.DSPgainedmoreandmorewidely,learningDSPhasimportantpracticalsignificance.
Inthispaper,theuseofTMS320F2812DSPMcBSP(multichannelbufferedserialport)interfacedesignhigh-precisionmulti-channelD/Aconvertercircuitandprogramming.F2812isTI'slatestDSPchip,belongingTMS320C2000series.F2812coresupportsthenewCCSCcompilerenvironment,providesaClanguageembeddeddirectlyinassemblylanguageinterface,processdevelopment,inanenvironmentwithClanguagetowriteassemblylanguageprogram.Theuseofself-designed32TMS320F2812DSPdevelopmentboardtowork,F2812DSPitself,withoutD/Aconverters,whichuseMCBSPtoimplementtheSPIprotocol,preparedthroughMcBSPinterfaceforD/Aconvertercontrolprocedures,throughtheDSPsignalacquisitionsendtoaDAC,DACstartedtoachieveDAconversion,asusedinDACDAC8568,whichhaseightDACchannels,enablingmulti-channelD/Aconversionprecisionsynchronousorasynchronous.
KeyWords:
SPI;MCBSP;dac;Multi-channel;High-precisionD/Aconverter
目录
摘要i
Abstractii
目录iii
第一章引言-1-
1.1论文研究背景-1-
1.2主要方法及意义-1-
1.3主要工作-1-
第二章TMS320F2812DSP控制板的简单介绍-2-
2.1数字信号处理与DSP器件-2-
2.2TMS320F2812性能概述-3-
第三章MCBSP-5-
3.1McBSP简介-5-
3.2TMS320F281212的MCBSP-5-
3.3用MCBSP实现SPI协议-7-
3.31SPI协议-7-
3.32SPI协议实现方法-7-
3.33MCBSP实现SPI协议-8-
3.34MCBSP作为SPI的相关配置-9-
3.4MCBSP串口寄存器-10-
3.41串口控制寄存器1的详细说明(SPCR1)-10-
3.42串口控制寄存器2的详细说明(SPCR2)-11-
3.5串口的接收控制-12-
3.51接收控制寄存器1(RCR1)说明-12-
3.52接收控制寄存器2(RCR2)说明-12-
3.6串口的发送控制-12-
3.61发送控制寄存器1(XCR1)说明-12-
3.62发送控制寄存器2(XCR2)说明-13-
3.7采样率发生器及采样率发生控制器寄存器-13-
3.71采样率发生器-13-
3.72采样率发生器控制寄存器(SRGR1/2)-14-
第四章DAC8568-15-
4.1dac8568的简单介绍-15-
4.2DAC8568DA转换原理-19-
4.3串行接口-20-
4.4输入移位寄存器-21-
第五章设计及编程-22-
5.1CCS的简单介绍-22-
5.2建立一个完整的CCS工程-23-
5.3接口电路的设计-24-
5.4软件实现-25-
第六章总结和展望-26-
参考文献-27-
致谢-28-
附录-29-
第一章引言
1.1论文研究背景
数字信号处理(DigitalSignalProcessing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着信息技术的飞速发展,DSP技术应运而生并得到迅速的发展。
目前,DSP技术已经在通信、自动控制、航空航天、军事、仪器仪表、家用电器等众多领域里得到越来越广泛的应用。
DSP是指利用计算机、微处理器或专用处理设备,以数字形式对信号进行的采集、变换、滤波、估值、增强、压缩、识别等处理。
DSP是围绕着DSP的理论、实现和应用等几个方面发展过来的。
DSP在理论上的发展推动了DSP应用的发展;反过来,越来越广泛的DSP应用又促进了DSP理论的发展;DSP的实现是理论和应用之间的桥梁。
近年来,数字信号处理器(DSP)的应用越来越广泛,其中TMS320F2812作为目前数字控制领域中性能较高的DSP芯片,被广泛应用于电机控制、工业自动化、家用电器和消费电子等领域。
由于TMS320F2812本身不具有D/A转换模块,因此在很多需要模拟量输出的控制场合受到限制。
所以D/A转换芯片如何与TMS320F2812进行接口,成为数字信号处理系统需要解决的一个重要问题。
1.2主要方法及意义
本课题通过利用自主开发的TMS320F2812DSP控制板上,编写通过McBSP接口控制多通道D/A转换器的DSP程序,可以实现各通道的同步或异步高精度D/A转换。
1.3主要工作
1.学习有关TMS320F2812DSP芯片原理与应用
2.学习D/A转换器原理及McBSP接口原理
3.熟悉CCS集成开发环境和C/C++编程语言
4.在CCS集成开发环境下编写DSP程序及进行调试
第二章TMS320F2812DSP控制板的简单介绍
2.1数字信号处理与DSP器件
信息社会的发展,在很大程度上取决于信息与信号处理技术的先进性。
数字信号处理技术的出现改变了信息与信号处理技术的整个面貌;而数字信号处理器是数字信号处理的核心技术,因此以TI公司为代表的数字信号处理器(DSP)技术得到广泛应用,在工业生产、医疗卫生、航空航天等领域发挥着重要作用。
1982年TI公司成功推出了第一代DSP芯片TMS32010,之后很快又推出了第二代DSP芯片TMS32020,20世纪80年代后期,TI公司推出了第三代DSP芯片TMS32C3x,到90年代,TI公司相继推出了第四代DSP芯片TMS32C4x、第五代DSP芯片TMS32CSx/C54x以及集多个DSP核于一体的高性能DSP芯片TMS32C8x等等,直到最近第六代DSP芯片TMS32C62x/C67x/C64x诞生后,构成了2000、5000、6000系列的庞大DSP家族。
TI公司推出的系列DSP一改传统的冯·诺依曼结构,采用了先进的哈佛总线结构。
哈佛总线的主要特点是将程序和数据存放在不同的存储空间内,每个存储空间都可以独立访问,而且程序总线和数据总线分开,从而使数据的吞吐率提高了一倍。
而冯·诺依曼结构则是将程序、数据和地址存储在同一空间中,统一编码,根据指令计数器提供的地址的不同来区分程序、数据和地址,所以程序和数据的读取不能同时进行,影响了系统的整体工作效率。
作为TI公司首推的TMS320F2812具有很高的性价比,广泛应用于工业控制,特别是应用于处理速度、处理精度方面要求较高的领域,在电子控制领域发挥着重要的作用,推动了电子信息化的进程。
本论文工作采用的是TMS320F2812。
本开发板主要用于电机及工业设备的数字化控制,开发板的控制芯片为TMS320F2812,它是美国TI公司推出的,专为数字电机控制和其它工业控制应用系统而设计的32位定点数字信号处理器,其功能强大的结构设计提供了低成本、低功耗和高性能的处理能力(达到150MIPS)。
它集成了对电机的数字化运动控制非常有用的先进外设,提供真正的单芯片数字信号控制器解决方案。
并且TMS320F2812芯片具有两个事件管理器模块,用于电机的数字化控制应用,该模块包括中间和/或边缘对齐的PWM发生器;具有可编程的死区控制性能,以防止桥式驱动主电路的上下桥臂短路;还可实现16通道高性能12位同步A/D转换功能;它的双事件管理器可以对多个电机的和/或逆变器进行控制。
128位保护密码可很好防止系统固件被盗取。
2.2TMS320F2812性能概述
TMS320F281x系列DSP是基于TMS320C2xx内核的定点数字信号处理器。
与F24x系列数字信号处理器相比,F281x系列数字信号处理器提高了运算的精度(32位)和系统的处理能力(达到150MIPS)。
该系列数字信号处理器还集成了128KB的Flash存储器,4KB的引导ROM,数学运算表以及2KB打的OTPROM,从而大大改善了应用的灵活性。
两个事件管理器模块为电机及功率变换控制器提供了良好的控制功能。
16通道高性能12位ADC单元提供了两个采样保持电路,可以实现双通道信号同步采样。
TMS320F2812功能框图如图2.1所示。
图2.1TMS320F2812功能框图
第三章MCBSP
3.1McBSP简介
McBSP是MultichannelBufferedSerialPort的缩写,即多通道缓冲型串行接口,是一种多功能的同步串行接口,它具有很强的可编程能力,可以配置为多种同步串口标准,直接与各种器件高速接口。
3.2TMS320F281212的MCBSP
TMS320F281212上有一个高速全双工多通道缓冲型同步串口MCBSP其方便的数据流控制可使其与大多数同步串行外围设备接口。
MCBSP外围设备在28X设备与MCBSP兼容的设备之间提供了接口。
MCBSP能够同步地传送和接受8、16、32位串行数据。
除DMA外,与TMS320C54XX/TMS320C55XX数字信号处理器的MCBSP兼容。
主要工作特点:
1.全双工通信模式
2.双倍缓冲的传送和三倍缓冲的接受,并适用于连续的数据流。
3.对于接收和传送采用独立的时钟和帧。
4.128个通道用于传送和接收。
5.用两个16级,32位的FIFO代替DMA(直接存储器存取)。
6.能够与工业标准的解码器模拟接口芯片(AICs)和其他串行A/D和D/A设备直接连接。
7.支持的u-Law率和A-Law率数据压缩扩展。
8.可产生外部时钟信号和帧的同步信号。
9.采样率产生器可对内部采样和帧的同步信号控制进行编程。
10.内部时钟和帧的产生可编程。
11.帧同步脉冲和时钟信号的极性可编程。
12.可选的数据宽度:
8、12、16、20、24或32位。
13.可选择首先发生或接收高8位或低8位
图3.1McBSP的模块框图
引脚说明
DX
发送引脚
DR
接收引脚
CLKX
发送时钟引脚
CLKR
接收时钟引脚
FSX
发送帧同步引脚
FSR
接收帧同步引脚
3.3用MCBSP实现SPI协议
3.31SPI协议
SPI是Motorola公司提出的一种串行总线技术,用于实现同步串行通信。
SPI允许CPU与各种外围接口器件以串行方式进行通信和交换信息,其工作于主从方式,接口由4根信号线组成:
串行数据输入(也称为MISO(主进从出)),串行数据输出(也称为MOSI(主
出从进)),SCK(串行移位时钟),SS(从使能信号)。
在工作时通常有1个主设备和1个或多个从设备,主设备通过提供移位时钟和从使能信号来控制数据流动。
从使能信号是一个可选的控制接口信号,如果没有专门的从使能信号,可以由是否存在有效的移位时钟来决定,此时从设备必须一直保持使能状态,且从设备只能有一个。
3.32SPI协议实现方法
a)利用DSP的SPI功能实现。
目前很多DSP芯
片带有SPI功能,如TI公司的TMS320F2812,SPI支持
一个16级深度的接收和发送FIFO,可以减少CPU开
销,数据长度1~16位可编程,其SPI功能大大增强。
b)利用DSP的SPI兼容接口实现。
例如用McB2
SP可以实现SPI功能,当其工作于时钟停止模式时,
即可兼容SPI。
TI公司的5000系列、6000系列DSP,
本身没有SPI,可利用其McBSP接口实现SPI功能。
c)利用DSP的GPIO口实现。
利用DSP的4根
I/O口线,通过软件模拟出SPI协议的时序,从而实现
SPI功能。
3.33MCBSP实现SPI协议
图3.2主模式
图3.3从模式
TMS320F2812的McBSP用于SPI,其中DSP作为SPI的从设备,主控制器作为SPI的主设备,发送时钟MCLKXA作为SPI协议的SCK使用,发送帧同步MFSXA作为从设备使能信号SS,接收时钟MCLKRA和接收帧同步MFSRA不使用,因为在兼容SPI工作模式时,它们在McBSP内部已分别与MCLKXA和MFSXA直接相连。
特别要指出的是,不管作为SPI的从设备还是主设备,用McBSP实现SPI协议时,都是用MCLKXA、MFSXA、MDXA、MDRA这4个引脚作为SPI的接口使用,MCLKRA和MFSRA不使用,区别在于McBSP作为SPI的从设备,MDXA与SO2MI相连,MDRA与SIMO相连,McBSP作为SPI的主设备,MDXA与SIMO相连,MDRA与SOMI相连。
3.34MCBSP作为SPI的相关配置
TMS320F2812的McBSP工作在时钟停止模式时,兼容SPI协议,因SPI协议有4种工作方式,通过配置CLKSTP位、CLKXP位和CLKRP位可使McBSP与SPI的4种工作方式时序相匹配,相关配置见表1和表2。
表中配置值是把McBSP配置为SPI从设备。
如果要把McBSP配置为SPI主设备,位FSXM、CLKXM值要设为1,以便把FSX引脚和CLKX引脚信号设置为输出,同时位XDATDLY、RDATDLY值要设为01b,以便为FSX信号提供正确的启动时间,其余设置保持不变。
CLKSTP
CLKXP
CLKRP
说明
0X
X
X
时钟停止模式被禁止,时钟用于非SPI模式
10
0
0
SPI模式:
时钟开始于上升沿,无延时
10
1
0
SPI模式:
时钟开始于下降沿,无延时
11
0
1
SPI模式:
时钟开始于上升沿,有延时
11
1
1
SPI模式:
时钟开始于下降沿,有延时
表1时钟停止模式时钟配置
位名称
设值
说明
寄存器
CLKXM
0
设置CLKX管脚信号为输入(SPI从设备)
PCR
SCLKME
0
与CLKSM位一起决定采样发生器的输入时钟源为CPU内部时钟
PCR
CLKSM
1
与SCLKME位一起决定采样率发生器的输入时钟源为CPU内部时钟
SRGR2
CLKGDV
1
设置采样率发生器的分频系统为1
SPGR1
FSXM
0
设置FSX引脚信号为输入(SPI从设备)
PCR
FSXP
1
设置FSX引脚信号为低电平有效
PCR
XDATDLY
00b
对于SPI从设备,必须为0
XCR2
RDATDLY
00b
对于SPI从设备,必须为0
RCR2
XPHASE
0
发送相位配置位,对于SPI模式必须为0
XCR2
RPHASE
0
发送相位配置位,对于SPI模式必须为0
RCR2
XFRLEN1
0
设置发送帧数据字个数,必须设为0,即每帧为一个字
XCR1
RFRLEN1
0
设置发送帧数据字个数,必须设为0,即每帧为一个字
RCR1
XWDLEN1
000-101b
设置发送每个数据字长度,必须与RWDLEN1值相等
XCR1
RWSLEN1
000-101b
设置发送每个数据字长度,必须与XWDLEN1值相等
RCR1
表2MCBSP设置为SPI从设备的相关寄存器配置
3.4MCBSP串口寄存器
3.41串口控制寄存器1的详细说明(SPCR1)
图3.4SCPR1
SPCR1设置McBSP串口的数字环回模式、接收符号扩展和校验模式、ClockStop模式、DX是否允许、A-bis模式、接收中断模式等,并给出接收同步错误、接收移位寄存器(RSR[1,2])空、接收准备好等状态。
此外可以进行接收复位。
3.42串口控制寄存器2的详细说明(SPCR2)
图3.5SPCR2
SPCR2设置McBSP自由运行模式、SOFT模式、发送中断模式,并给出发送同步错误、发送移位寄存器(XSR[1,2])空、发送准备好等状态。
此外可以进行发送复位、采样率发生器复位、帧同步发生电路复位。
3.43引脚控制寄存器的详细说明(PCR)
图3.6PCR
PCR设置McBSP传输帧同步模式、接收帧同步模式、发送时钟模式、接收时钟模式、发送帧同步信号的极性、接收帧同步信号的极性、发送时钟极性、接收时钟极性,并给出CLKS、DX、DR脚的状态。
此外PCR还定义发送和接收部分在复位时相应引脚是否配置为通用I/O。
3.5串口的接收控制
3.51接收控制寄存器1(RCR1)说明
图3.7RCR1
RCR1设置McBSP接收时第一相(FIRSTPHASE)的接收帧长度(从1个字到128个字、接收字长度(8、12、16、20、24、32bits)。
3.52接收控制寄存器2(RCR2)说明
图3.8RCR2
RCR2设置McBSP接收时是否允许第二相(RPHASE=1)。
如果允许,设置McBSP接收时第二相的接收帧长度(从1个字到128个字、接收字长度(8、12、16、20、24、32bits)。
此外,RCR2设置McBSP接收时的接收压缩模式、接收同步帧忽略模式、接收数据延迟。
3.6串口的发送控制
3.61发送控制寄存器1(XCR1)说明
图3.9XCR1
XCR1设置McBSP发送时第一相(FIRSTPHASE)的发送帧长度(从1个字到128个字、发送字长度(8、12、16、20、24、32bits)。
3.62发送控制寄存器2(XCR2)说明
XCR2设置McBSP发送时是否允许第二相(XPHASE=1)。
如果允许,设置McBSP时第二相的发送帧长度(从1个字到128个字、发送字长度(8、12、16、20、24、32bits)。
此外,XCR2设置McBSP发送时的发送压缩模式、发送同步帧忽略模式、发送数据延迟。
图3.10XCR2
3.7采样率发生器及采样率发生控制器寄存器
图3.11采样率发生器电路图
3.71采样率发生器
1、采样率发生器概述
(1)采样率发生器由三级分频电路产生数据移位时钟(CLKG)和帧信号(FSG)。
这两个McBSP内部信号CLKG和FSG被用作收发时钟(CLKR/X)和帧时钟(FSR/X)(如果选择内部采样率发生器)。
(2)采样率发生器的输入时钟可以是CPU始终或外部时钟(CLKS),受(SRGR2)的CLKSM位控制。
(3)采样率发生器的三级分频分别是:
数据位时钟分频(CLKGDV)
帧周期分频(FPER)
帧脉冲宽度分频(FWID)
(4)采样率发生器的工作模式由采样率发生器控制寄存器控制。
3.72采样率发生器控制寄存器(SRGR1/2)
采样率发生器寄存器1(SRGR1)设置帧正脉冲宽度(必须小于WDLEN指出的字的长度)和数据位时钟分频(CLKG与输入CLK频率之比,约定值为1)。
采样率发生器寄存器2(SRGR2)设置采样率发生器时钟同步模式、CLKS的极性、采样率发生器输入时钟选择、帧周期分频。
第四章DAC8568
4.1dac8568的简单介绍
DAC8568是低功耗,电压输出,8通道,16位数字-模拟转换器(DAC)。
它包括一个2.5V,2PPM/°C内部基准电压(默认禁用),给予满量程输出电压范围为2.5V或5V。
内部基准的初始精度为0.004%,在VREFIN/VREFOUT引脚可提供高达20mA。
它是单调的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MCBSP 高精度 通道 数模 转换