电子工程系毕业论文范文.docx
- 文档编号:5032777
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:18
- 大小:184.16KB
电子工程系毕业论文范文.docx
《电子工程系毕业论文范文.docx》由会员分享,可在线阅读,更多相关《电子工程系毕业论文范文.docx(18页珍藏版)》请在冰豆网上搜索。
电子工程系毕业论文范文
九江职业技术学院电子工程系
毕业论文
基模拟信号的数字传输系统
---基于DSP对模拟信号的数字化处理
Analogsignalofthedigitaltransmissionsystem
张成波
专业名称:
应用电子技术
班级名称:
电子0603
指导老师、职称:
李伟民、副教授
论文答辩日期:
2009-5-12
答辩委员会主任:
评阅人:
2009年5月120
九江职业技术学院
毕业设计任务书
电子工程系应用电子技术专业
设计题目模拟信号的数字传输系统
-—基于DSP对模拟信号的数字化处理
学生姓名张成波
班级
起止日期2009/05/10—2009/5/16
指导教师李伟民
发任务书日期2008年12月25S
1.毕业设计的原始数据:
McBSP的C语言指令代码编程
实现&返魁就血
2.毕业设计(论文)的内容和要求(包括技术要求、图表要求以及工作要求等):
基于DSP实现对模拟信号的数字化处理的方法。
首先利用DSP芯片实现了模
WMMMMMMMMWABMWWMMMMMMWWWMMMMMMflMM«■■■
拟信号的数字化,然后通过DSP芯片的多路缓冲串口将数字信号的快速读取,接
WMMMMWMM«■■■MMMWMMMMMMMHBMBMMMMWWMMMM*■*W
着把转换后的数字信号利用DMA方式传送至DSP芯片进行处理,最后经过数字信
MMMHBWWMMMMMMMMMMMMMMWWWWMMWWW•"•"•WMMWMMWMMWWWMMMM
号的模拟化MW_,一更漑了一越删值号直速克数的处理£3.毕业设计应完成的技术文件:
ADC软件接口实现源的程序
PAc_^lin实血陌源H左
4.主要参考文献
[1]王喜斌,常叔英,12位串行A/D转换器MAX1274原理与应用,廊坊:
华北蘇应噩述,一沁
⑵刘楚£視亀盘土TMS320VC5402McBSP匝口j勺DMA方式数娠传输的实?
一匡沙:
…価麺静菽脯诚和2001
]3力垂垂贵笠血?
工1?
主U匹卫凶2&应真瓦用亠丟发強皿―叔也-冠宝昼壬冠我去学应2000
[41-M兵签—莉皿西P血PMAJ®数捱传驹-铤阴匚兵工且型化出>tt2_2Q04_
本文提出了一种新的基于DSP实现对模拟信号的数字化处理的方法。
首先利用A/D芯片MAX1247实现了模拟信号的数字化,然后通过DSP芯片TMS320C5402的多路缓冲吊口(McBSP)将数字信号的快速读取,接着把转换后的数字信号利用DMA方式传送至TMS320C5402芯片进行处理,最后经过数字信号的模拟化输出,实现了对模拟信号高速、有效的处理。
关键词:
TMS320C5402;多路缓冲吊口;直接存储器访问;模数转换;数模转换。
Analogsignalofthedigitaltransmissionsystem
ThispaperpresentsanewDSP-basedrealizationofthenumberofanalogsignalprocessingmethods・Firstofall,theuseofA/DchiptoachievetheMAX1247digitalanalogsignal,andthenthroughtheDSPchipTMS320C5402multi-channelbufferedserialport(McBSP)ofthefastdigitalsignalwillberead,andthenconvertedtodigitalsignaltransmissionusingDMAtoTMS320C5402processingchips,digitalsignalaftertheendoftheanalogoutputofanalogsignalstoachievehigh-speed,effectivetreatment・
Keywords:
TMS320C5402;multi-channelbufferedserialport;directmemoryaccess;analog-digitalconversion;digital-to-analogconversion・
引言
模拟信号在现实环境中大量存在,比如工业生产中的反映温度的信号、图像信号、雷达信号等。
对模拟信号直接处理并进行反馈不容易实现,而且实时性、准确性也得不到保证。
DSP(数字信号处理器)具有强大的数字信号处理能力,能够进行实时的信号处理,因此,在许多应用系统中,为了利用DSP芯片的数字信号处理能力,先将模拟信号进行数字化(A/D转换),再把转换后的数字信号送入DSP芯片进行快速处理,最后经过数字信号的模拟化(D/A转换)输出。
这样就实现了对模拟信号的高速处理。
数字信号处理的任务在很大程度上是由DSP芯片,即数字信号处理器来完成的oTMS320C5402是TI公司C54系列定点DSP芯片中的产品,具有很多新功能。
C5402内部采用了多总线改进的哈佛结构,数据总线和程序总线相互独立,使数据的呑吐率提高了一倍;C5402提供了两个高速、全双工、多路缓冲串口(McBSP),每个串口可以支持128通道,从而使的C5402计算和处理速度很高,系统单指令周期可以达到lOnso此外,C5402的多路缓冲串口还可以结合直接存储器访问(DMA)方式进行数据传输。
在一般的程序控制传送方式(查询方式和中断方式)下,数据的传输要经过CPU的中转。
在DMA方式下,系统在内部存储器中开辟了输入输出缓冲区,数据的传输在后台实现,不需要CPU干预,使CPU专门用于数字信号处理。
这些结构及其特性都大大提高了C5402的处理速度和运算能力。
因此,本系统釆用TMS320C5402芯片作为核心器件对数字信号进行处理。
1系统整机设计设计思路
本系统所实现的功能分为三大部分:
模拟信号的数字化(A/D转换)、数字信号送入DSP芯片处理、数字信号还原为模拟信号(D/A转换)。
系统框图如图1所示。
用到的器件有A/D转换芯片MAX1247>DSP芯片TMS320C5402和D/A芯片MAX530。
系统设计的关键问题是TMS320C5402与A/D芯片MAX1247、D/A芯片MAX530的接口设讣,其中包括硕件电路的连接和软件的编程。
硬件的连接设计要考虑到以哪种接口方式进行连接以及相应引脚的连接、主次设备的设定以及工作方式的选择等;而软件的设汁则要考虑到芯片的控制寄存器的配置、控制字的选择等。
2TMS320C5402芯片特点及典型应用
2.1TMS320C5402芯片其主要特点如下
(1)先进的改造型哈佛结构,操作速率可达100MIPS:
(2)先进的多总线结构,3条16位数据存储器总线和1条程序存储器总线;
(3)40位算术逻辑单元(ALU),包括1个40位桶形移位器和2个40位累加器;
(4)1个17X17乘法器和1个40位专用加法器,允许16位带(或不带)符号的乘法;
(5)8个辅助寄存器及1个软件栈,允许使用业界最先进的定点DSPC语言编译器;
(6)数据/程序寻址空间lMX6bit,内置4KX16bitROM和16KX16bitRAM。
(7)内置可编程等待状态发生器、锁相环时钟产生器、2个多通道缓冲串行口、1
个8位并行与外部处理器通信的HPI口、2个16位定时器以及6通道控制器。
(8)低功耗,工作电源有3V和1.8V(内核使用)。
T、——郴哼*
CLKCR/X)
2.2典型应用
C5402在该系统中的应用:
对输入的TS流进行分析;对6路码流进行均匀交织和PSI信息的重置;主卡与子卡之间通过C5402HPI接口进行通信;利用C5402串口与计算机RS232串口相连。
(1)输入的TS流分析
DSP从FIFO中读取TS流到内部RAM中去,如图3所示,根据13位的PID号0x000找到PAT表,在PAT表中获得PMT的ID号和NIT的ID号;根据PMT.PID获得视频、音频、PCR的PID号以及其它私有信息的PID号;根据PCR_PID和pcr.flag,找到PCR包;根据公式计算出码率:
其中i'、i
八(/-Ox27MHzrate(z)=&
PCR(—PCR(r)
‘‘为相邻2个PCR包,求得多个码率,然后求算术平均,获得平
均码率。
利用FIFO进行数据传输,速率在10〜23MB/S之间。
由于DSP处理能力为100MIPS,子卡中DSP传输数据量是大为2MB/s,约耦时0.1-0.2s,这样处理时间足够(0.8〜0.9s)。
子卡输入FIFO釆用8KB大小,在其半满时,DSP等待时间最大为(188/10000)X6=0.1128ms,期间FIFO的填充量为0.1128X1二0.112KB,远不能输入码流将子卡的输入FIFO填充满而导致溢出。
(2)码流交织和PSI信息配置
为了将6块子卡输入的TS流复合成1路TS流,主卡DSP的功能就是将6路TS流均匀交织。
主卡数据通过HPI送到主卡的DSP内部RAM中,再写到外部FIFO中。
由于各种码流的PID叫可能相同,需要对各路TS流的ID号进行重新设置。
主卡根据预先设置的所有PID生成新的PSI表,并按照一定时间间隔发送到外部
的FIFO中去。
主卡的CPU以100MHz运行,输出FIFO的大小为8KB,以固定5MHz的码率发送,子卡填写的数据不会导致主卡上溢。
当主卡的输出FIFO没有达半满时,填充空包,使FIFO不会下溢。
在子卡中根据分析得到的PSI信息,可以提取1路或者多路的节LI流,并将PID号改为事先规定的,通过HPI通信接口传送到主卡。
⑶HPI接口
HPI(HostPortInterface)接口可以方便地实现主卡与子卡之间的通信,而不需要额外的器件。
C5402的HPI操作是8位的。
当C5402运行在100MHz主频时,通信速度可达到25MB/s。
HPI接口具有3个16bit寄存器:
HPIA(地址寄存器)、HPID(数据寄存器)、HPIC(控制寄存器)。
子卡流程:
TS流进入FIFO缓存,由DSP进行PSI信息的提取和码率的计算;将有关信息送入合成处理卡进行分析、综合;根据需要从输入的流中提取1路视频、1路音频和PCR包,并将它们的PID改为事先规定的。
子卡的功能相当于一个简易的码流分析仪,而且可以提供1路单独的TS流。
子卡原理如图:
图3子卡原理图
主卡与子卡的DSP芯片之间的连接如图4所示:
图3主卡与子卡的DSP芯片接口
HDO〜HD7是8位数据线,直接接到主设备的数据线上;HCS为选通信号;HDS1〜HDS2为数据锁存信号,在主设备的存取周期控制数据的传输,一般连到设备的数据选通;HR/W是读写信号;HCNTLO/HCNL1用于主设备选择存取HPI的哪一个寄存器和对寄存器的存取类型,连至主设备的地址线。
由于HPI寄存器是16位的,而HPI与主设备仅以8位数据线相连,因而用HBIL决定当前存取的是1个字的第1个字节还是第2个字节,连到主设备地址线。
对HPI操作首先将控制字写入HPIC,然后将要存取的地址写入HPIA,最后丰取HPID,就可从HPI存储块或将数据写入HPI存储块。
此外,还可选择HPIA自动增加方式,将初始地址写入HPIA,可不再操作HPIA,每存取1次数据,地址都会自动加1,因而加快了存取速度。
C5402的HPI主机接口是由一个8位数据总线和用于设置和控制接口的控制信号组成。
山于C5402的控制功能不是非常强大,往往需另加一片单片机或CPLD对系统的逻辑进行实时控制,此时C5402作为从机。
HPI很容易与各种主机相连,需要很少、甚至不需要外加逻辑。
HPI口的数据传输山两部分组成:
内部传输和外部传输。
内部传送在HPI口寄存器和片内RAM之间进行,外部传送在主机和HPI口寄存器之间进行。
主机访问HPI时,首先初始化HPIC寄存器,然后初始化HPIA寄存器,再从HPID寄存器中读出或写入数据。
一般在C5402的初始化程序中对HPIC进行初始化后就无需再对HPIC进行操作了,其余工作山主机完成。
主机可通过HPIC的DSPINT来中断C5402,而C5402通过HPIC的HINT位发送中断请求到主机°C5402的主机接口工作在HPI模式时HPIENA必须置高,HPIENA为低则HPI口作为一般I/O口用。
C5402与AT89C51的硬件连线如图1
AT89C51C5402
P1.7
►
RS
Dpi(Ci
一
P仁A
►
JlWW・■
HCWTTn
HPIENA
PI.5
►
KCWTT.1
P1.4
►
HBIL
/HAS
P1.3
►
/HDS2
/HDS1
PI.2
►
/HCS
P1.1
►
HR/W
T7JT1
4
HINT
INT2
图4AT89C51与C5402的HPI接口
(4)主卡DSP与计算机接口
为了实现系统自检、码率以及节tl信息提取、输出,我们通过DSP的串口与计算机的串口进行通信。
如图5所示,釆用的是异步通信方式。
图5异步审口
其中75C189和75C188为电平转换芯片,C5402有2个McBSP(多通道缓冲串行口)。
McBSP提供了全双工的通信制以及双缓存的发送寄存器和三级存的接收寄存器,允许连续的数据流传输,数据长度可以为8、12、16、20、24、32;同时还提供了A-律和U-律压扩,多达128个通道的发送和接收。
数据经McBSP与外设的通信通过DR和DX引脚相连。
控制信号则由CLKX、CLKR、FSX、FSR四条引脚来实现。
(5)DSP程序BOOTLOADER的实现
BOOTLOADER是为了在上电时,将用户代码从外部加载到内部的存储器以加快运行速度。
我们使用C5402外部8位并行I/O口实现BOOTLOADER程序。
C5402读I/O口Oxffff,这里面存放着外部存储器的首地址(数据区)。
若在这个首地址内读到了关键字08AA,就进行8位加载;若是10AA则表示16位加载。
硬件系统就是加了1片3.3V的Flash,程序用编程器烧入Flasho
加载引导(BOOTLOAD)方式
在上电复位后,DSP只有处于微计算机状态即MP/MC为零时才能进入加载引导过程。
TI公司已在DSP芯片内部ROM的OFSOOH-OFCOOh中固化了一段加载引导程序(BOOTLOADER),其作用是先根据相关控制信号的不同状态来确定采用何种加载引导方式,然后将代码从外部加载到程序区,最后再将程序入口地址赋给程序指针。
在这段程序的开始,还应对CPU状态寄存器进行初始化设置,包括屏蔽中断(INTM=1)、内部DARAM映射到程序/数据区(OVLY=1)、程序/数据区读写加7个等待周期等设置。
为了满足不同系统的需求,TMS320C54X有多种加载引导方式。
各种加载引导的功能如下:
主机接口引导
主机接口(HPI)是TI公司DSP的特色之一,即DSP作为协处理器将片内DRAH共享以便让其它智能器件(比如单片机或另外的DSP)作为主机访问,从而提供一种方便快捷的通讯联系方式。
在主机接口引导方式下,首先将代码通过主机接口下载到DSP片内存储器中,然后,DSP再从数据区007FH提供的地址开始执行程序。
8位/16位并行引导
并行引导就是以并行方式从外部读取引导表数据,同时根据该表的内容加载代码并执行。
并行引导表中通常包括要下载的代码段、各代码段的目的地址、下载完成后程序执行的起始地址以及其它一些设置信息。
8位/16位标准串行引导
串行引导就是通过DSP的多通道缓冲串口(McBSP)在标准模式下从外部读取引导表数据同时根据该表的内容加载代码然后执行。
其中McBSPO支持16位,McBSP1支持8位。
8位审行EEPROM引导
该模式通过DSP的McBSP1在时钟停止模式(SPI)下从串行EEPROM中读取引导表数据,同时根据该表的内容下载代码然后执行。
8位/16位10引导
在10引导模式下,加载引导程序首先通过外部标志(XF)和通用输出来(BI0)实现并行的异步握手协议,然后再从10端口OOOOh读取引导表数据,同时根据该表的内容下载代码并执行。
加载引导程序(BOOTLOADER)允许多代码段加载,且该加载不占用连续地址空间。
另外,在并口和10加载引导方式下,加载引导程序(BOOTLOADER)还会根据引导表的设置对DSP的SWWSR、BSCR寄存器进行设定。
3MAX1247结合多路缓冲串口实现ADC
3.1多路缓冲串口(McBSP)简介
TMS320C54X系列数字信号处理器提供多种高速的、双向的多路缓冲串口。
在一个系统里,它可以直接与其他的TMS320C54X系列器件、编解码器、或者其它串口器件通信。
TMS320C54X系列芯片中,5402有两个多路缓冲串口。
TMS320C2x、C20x>C5x以及C54系列器件的多路缓冲吊口都是基于标准吊口界面的,具有以下特点:
(1)全双工同步或异步通信功能;
(2)双倍的缓冲发送和三倍的接收缓冲数据寄存器,可以保持一个持续的数据流;
(3)独立的发送和接收帧时钟信号;
(4)可以直接与具有工业标准的编解码器、模拟接口芯片以及其他的串行模/数、数/模器件进行连接;
(5)外部输入移位时钟或内部可程控的移位时钟两种时钟控制方式;
(6)发送和接收的通道数最多可以到达128路;
(7)可以选择很宽范甩的数据大小,包括8、12、16、20、24、32位字长;
3.2McBSP与MAX1247的硬件接口设计
与并行接口相比,吊行接口最大的优点是减少了DSP引脚的数降低了接口设计的复杂性。
串行接口提供全双工同步操作,输入输出数据以位为单位的串行方式进行处理。
口前,有许多种不同的串行协议,典型的有串行外围设备接口SPIoSPI协议采用主从设置,相互连接的设备中一个作为主设备,其他的设备作为从设备。
由于MAX1247具有SPI串行接口,满足SPI协议,因此可以与TMS320C5402的McBSP进行直接连接,而不用附加的逻辑电路,且工作于内部转换时钟方式。
此时,DSP作为主设备向MAX1247提供串行时钟、命令和片选信号。
硬件连接如图6所示:
McBSP
MAX1247
REFADJ
DR
4
□OUT
Vrei(+2.5V)
CLKX
►
SCLK
DX
►
DIN
SHDN
FSR
►
CS
图6A/D芯片与DSP芯片硬件接口设计
3.3ADC的软件接口实现
软件接口主要是通过对TMS320C5402的McBSP控制寄存器的配置,来实现以McBSP为主设备的SPI接口模式,完成McBSP与MAX1247串行通信。
3.4TMS320C5402的软件编程要点
(1)c语言与汇编混合编程
在运算能力不是十分紧张的情况下,用C语言开发DSP程序不仅使DSP开发的速度大大加快,而且开发出来的DSP程序的可读性和可移植性大大加强,程序修改也极为方便。
釆用C编译器的优化功能可以增加C代码的效率。
一般情况下,采用C语言和汇编混合编程方法有3种:
①独立编写C程序和汇编程序;②直接在C语言程序的相应位置嵌入汇编语句;③对C程序进行编译生成相应汇编程序,然后对汇编程序进行手工优化和修改。
可以从C程序中访问汇编程序的变量和常量,也可以在汇编程序中访问C程序变量。
(2)预防流水线冲突
流水线操作是DSP实现高速度、高效率的关键技术之一。
在TMS320C54X中釆用了深度与6级的流水线操作,因此流水线冲突不可避免的。
一般惜况下,当发生流水线冲突时,山DSP自动插入延迟解剖冲突问题,但有时需要程序员通过调整程序语句的次序或在程序中插入一定量的NOP来解决。
若对编程的代码和时间的效率影响较大,编译器发现不了这些问题。
如果C5402系统的源程序是用C语言编写的,经过编译后生成的代码是没有流水线冲突问题的;如果是汇编语言程序,凡是CALI;操作,或者是先在初始化期间就对MMR进行设置也不会产生流水线冲突。
然而在某些MMR写操作中,如对MMR、STO、STI、PMST等硬件资源进行连续操作时,有可能造成流水线冲突。
解决流水线冲突很简单,只需加上儿个指令或NOP空操作指令便可以。
例如:
STLMA,BRC
NOP
RPTBLOOP
语句
LOOP
(3)存储空间要正确分配
C5402总共有192K字大小存储空间,64K字的程序区、64K字的数据区和64K字的I/O区。
当寄存器PMST的OVLY二0时,片内RAM在数据区内可访问,在程序区不可访问;当OVLY二1时,片内RAM映射到程序区和数据区,但数据页(地址从0H〜7FH)不映射到程序空间。
我们在程序编程中选用后种模式。
程序和数据同一块片内RAM,在编写CMD文件时程序和数据区间不能发生重叠。
(4)指令的使用
1TMS320C54X的汇编有算术指令和程序指令,2种指令可以互换。
当外部端口操作时使用端口指令PORTW和PORTRo
2利用DADST和DSADT指令,可以同时在1个累加器中进行2次运算。
3利用DADD和DSUB可实现32的加减法。
4利用CMPS、SACCD、SRCCD、STRCD四个条件存储指令,以减少条件判断指令的开销;利用MAX、MIN、FIRS、LMS可以减少运算所需的指令周期;利用C54的并行指令可以省去多次数据存储,提高编程的效率。
5充分利用*(IK)寻址(在数据区内指明所要访问的地址),可以减少辅助寄存器的使用。
(5)少用函数和子程序调用
虽然结构化程序给软件和调试带来方便,但一个函数和子程序的调用和返回都将使C5402产生1次流水线刷新,增加了指令周期,因而在存储空间足够时,应多使用宏结构;但在编程时乂必须考虑程序的大小,所以在对设备处理速度影响不大的情况下,也可以使用函数和子程序。
(6)关于中断服务程序的编写
中断有软中断和硬中断。
在编写中断服务程序时,最重要的是将中断向量表放置正确。
首先在PMST寄存中设置IPTR,然后把INT放到规定的位置,将中断模式INTM二0;将中断使能寄存器的对应位置1。
首先进行的是McBSP的初始化。
整个初始化过程包括三部分:
接收部分初始化、发送部分初始化和采样速率发生器初始化。
在完成McBSP的初始化后,就可以开始实现A/D转换。
3.5程序编写
;McBSP0的使能
STMSPCR20,SPSAO
STM#0040H,SPSDO;启动釆样速率发生器,GRST二1
RPT#2
NOP;等待两个时钟周期;
STMSPCR20,SPSAO
STM#0041
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 工程系 毕业论文 范文