基于TMS320C54DSP的数字电话系统设计Word文件下载.docx
《基于TMS320C54DSP的数字电话系统设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于TMS320C54DSP的数字电话系统设计Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
总结12
参考文献13
1数字电话系统总体设计概要
通过需求分析,我们知道这为一个电话客户端以下几个部分是不可缺少:
听筒、话筒、键盘、显示器以及与电话线的连接电路。
由此我们可知数字电话系统应该至少包含以下几个模块,示意图如图1-1
图1-1数字电话系统模块示意图
在通过对模块的分析后,在对硬件进行考察可以得到下面的硬件示意图,如图1-2
图1-2数字电话系统硬件组成原理示意图
数字电话系统这为一个实时要求较高的系统对其工作过程要有一个比较合理的安排,经过分析可知通过较多的中断来控制程序的运行是一个比较好的方法,如图1-3是程序流程。
图1-3数字电话系统程序流程
2任务描述
数字电话系统的一个重要组成部分,语言信号采集!
我通过AD芯片进行语音信号的采集,这里我采用TLV1571。
TLV1571是一个8位的AD转换芯片,通过它我就可以把麦克风的模拟信号转换成语音信号送人DSP芯片。
我要建立一个独立的可采集语音信号的DSP系统。
这里包括DSP的最小系统和语音采集电路。
3硬件电路设计
3.1TMS320C54x系列DSP简介
TI公司在原来已被人们熟知的TMS320C1X、TMS320C25、TMS320C3X/4X、TMS320C5X、TMS320C8X的基础上发展了三种新的DSP系列,它们是:
TMS320C2000、TMS320C5000、TMS320C6000系列,成为当前和未来相当长时期内TIDSP的主流产品,前面提到的那些老型号产品均将被这三种新系列产品替代。
C54x包的总线结构括8条16比特宽度的总线,其中:
一条程序总线(PB),三条数据总线(CB、DB、EB),四条地址总线(PABCABDABEAB)。
图3-1TMS320C54x芯片引脚
C54X的CPU结构包括:
a)l40比特的ALU,其输入来自16比特立即数、16比特来自数据存储器的数据、暂时存储器、T中的16比特数、数据存储器中两个16比特字、数据存储器中32比特字、累加器中40比特字。
b)l2个40比特的累加器,分为三个部分,保护位(39-32比特)、高位字(31-16比特)、低位字(15-0比特)。
c)l桶型移位器,可产生0到31比特的左移或0到16比特的右移。
d)l7x17比特的乘法器
e)l40比特的加法器
f)l比较选择和存储单元CSSU
g)l数据地址产生器DAGEN
h)l程序地址产生器PAGEN
C54x的外设包括
a)l通用I/O引脚,XF和BIO
b)l定时器
c)lPLL时钟产生器
d)lHPI口8比特或16比特
e)l同步串口
f)l带缓存串口BSP
g)l多路带缓存串口McBSP
h)l时分复用串口TDM
i)l可编程等待状态产生器
j)l可编程bankswitching模块
k)l外部总线接口
l)lIEEE1149.1标准JTAG口
依赖其并行的工艺特性和片上RAM双向访问的性能,在一个机器周期内,C54x可以执行4条行并行存储器操作:
取指令,两操作数读,一操作数写。
使用片内存储器有三个优点:
高速执行(不需要等待),低开销,低功耗。
C54x程序存储区有片内ROM、DARAM、SARAM,这些区域可以通过软件配置到程序空间。
当地址落在这些区域内,自动对这些区域进行访问,当地址落在这些区域以外,自动产生对外部存储器的访问。
片内ROM(4K16K24K28K或48K字)可能包括的内容有:
a)l引导程序,可以从串口、外部存储器、I/O口或HPI口引导
a)l256字的率扩展表
b)l256字的A率扩展表
c)l256字的正弦表
d)l中断矢量
3.2TLV1571AD芯片简介
TLV1571的内部结构如图3-2所示。
TLV1571的时钟源有内部时钟源和外部时钟两种方式。
TLV1571的时钟信号可以由CLK从外部引入,也可以由TLV1571的内部时钟源产生。
和一般AD转换不同,TLV1571外部时钟必须经过TLV1571内部MUX时钟电路来提供给哥哥通道。
由于TLV1571内部本身也带有时钟,因此TLV1571TLV1571对各种时钟信号都兼容,这些时钟包括正弦波或者方波、TTL电平或者COMS电平。
图3-2TLV1571内部原理图
外部模拟信号从TLV1571的AIN引脚输入,信号到达TLV1571的中心单元(10bit触发式AD),将模拟信号转换为数字信号,同时TLV1571内部的输入寄存器和逻辑控制单元控制信号转换的方式,数字信号经过逻辑校验单元到达三态数据输出寄存器输出。
此外,TLV1571提供外部数据输出中断信号INT引脚,该引脚连接到DSP的中断信号,DSP收到中断信号就可以读取数据总线,获得采样信号。
TLV1571的引脚分布如图3-3所示。
其中CS是片选信号,用于选通芯片;
RD是读信号,即DSP每读取一个数据通过该引脚通知TLV1571,TLV1571从而开始下一次采样;
WR是写信号,对TLV1571初始化寄存器,通过该引脚通知TLV1571,TLV1571从而将总线的数据写入到其内部寄存器;
REFP是高电平参考电压,一般直接接到VCC;
REFM是低电平参考电压,一般接到地即可。
图3-3TLV1571引脚分布图
TLV1571的控制寄存器用于配置采样控制。
TLV1571有两个控制寄存器CR0和CR1,它们都必须由用户配置。
通过配置控制寄存器,TLV1571可以选择不同的工作方式。
数据总线的D9和D8引脚,也就是A1和A0引脚,用于区分当前配置哪一个寄存器,00表示配置CR0寄存器,01表示配置CR1寄存器,10和11无效;
数据总线其余的8bit用于配置控制寄存器。
TLV1571收到写信号脉冲信号后,就会将数据总线的值写入相应的控制寄存器。
TLV1571内置有10MHz的振荡器,通过设置CR1寄存器的D6位,可使内部振荡器的速度提高1倍。
如果D6=0,内部振荡器的速度不变;
如果D6=1,内部振荡器的速度提高到20MHz。
通过设置CR1寄存器的D3位,可以设置TLV1571数字信号输出格式。
如果D3=0,输出数据格式是直接二进制格式;
如果D3=1,输出数据格式是二进制的补码格式。
TLV1571的启动方式由CR0寄存器的D7位决定,表3-1给出了TLV1571转换启动方式的说明。
表3-1TLV1571转换启动方式
方式
启动方式
说明
单通道输入
CR0.D3=0
CR1.D7=0
硬件启动
CR0.D7=0
1.CSTART下降沿启动采样
2.CSTART上升沿启动转换
3.INT方式,每次转换后产生一个INT脉冲
4.EOC方式,转换开始时EOC将电平由高变至低电平转换结束时返回高电平
软件启动
CR0.D7=1
1.最初由WR的上升沿启动采样。
在RD的上升沿发生采样
2.采样开始后的6个时钟开始装换,INT方式,每次装换后产生一个INT脉冲
3.EOC方式是转换开始时EOC由高电平变至低电平,转换结束后返回高电平
对于TLV1571,通道输入设置CR0.D3=0,CR1.D7=0;
采用软件启动设置CR0.D7=1;
采用内部时钟源方式设置CR0.D5=0;
时钟为20MHz设置CR1.D6=1;
采用二进制输出方式设置CR1.D3=0。
最终控制寄存器的设置为CR0=0080H,CR1=0140H,将这两个数据写到控制寄存器,TLV1571将按照以上设置开始工作。
TLV1571提供3种自测试方式,并通过写CR1寄存器的D1和D0位来控制这3种测试方式。
这些方式可用于不必提供外部信号就可检查TLV1571本身工作是否正常。
具体方法如表3-2所示。
表3-2TLV1571测试方式控制
CR1(D1、D0)
自测试电压
数字输出
D1=0;
D0=0
正常工作方式
N/A
D0=1
将VREFM作为基准电压加到AD
000h
D1=1;
将(VREFP-VREFM)/2作为基准电压加到AD
200h
将VIN=VREFP作为基准电压加到AD
3FFh
TLV1571与DSP的连接如图3-4,
图3-4DSP与TLV1571连接图
3.3复位电路
在上电或复位过程中,控制CPU的复位状态:
这段时间内让CPU保持复位状态,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。
复位电路如图3-2所示:
TMS320C54x与其他微处理器一样,在启动时都需要复位。
使CPU及系统各部件处于确定的初始状态,并从初始状态开始工作。
TMS320C54x的复位信号是从RST引脚输入到芯片内的施密特触发器中的。
当系统处于正常的工作状态时,且振荡器稳定后,如RST引脚上有一个高电平并维持2个机器周期(24个振荡周期),则CPU就可以响应并将系统复位。
因外部的复位信号与内部时钟异步的,所以在每个机器周期的S5P2都对RST引脚上的状态采样。
当在RST端采样到“1”信号且该信号维持19个振荡周期以后,将ALE和PSEN接成高电平,使器件复位,在RST端电压变低后,经1个~2个机器周期后退出。
PSEN引脚拉成低电平,则会引起芯片进入不定状态。
图4-4复位电路
3.4时钟电路
振荡器的等效电路如图2-6所示。
在图中给出了外接元件,即外接晶体及电容C2,C3,并组成并联谐振电路在电路中,对电容C2和C3的值要求不是很严格,如使用高质的晶振,则不管频率为多少,C2,C3通常都选择30pF。
有时,在某些应用场合为了降低成本,晶体振荡器用陶瓷振荡器代替,则电容C2,C3的值取47pf。
我选用内部振荡电路,电容C2,C3的值取30pf。
图4-5晶振电路
4软件设计
4.1软件编制过程
一旦完成了正确的硬件连接,接下来就可以进行软件编程调试了。
要完成的工作包括:
a)DSP初始化:
重新映射中断向量表,中断初始化设置初始值
b)TLV1571初始化,通过端口操作给TLV1571的控制寄存器写值
c)中断服务程序编写
4.2系统程序
初始TLV1571的代码
portr01h,*ar2;
读其他端口,使A/D转换器的CS为高
nop
portw*ar1+,02h;
填A/D转换器的寄存器CR1
rpt#8
portw*ar1,02h;
rpt#10
中断服务程序的代码
jump:
sub#1h,a;
计数
rsbxxf;
发出读信号,A/D收到后开始写一次采样
rpt#5
nop;
等待几个周期,便于示波器查看波形
portr00h,*ar5
;
读A/D转换数据,写在ARM的out_dtat数据段
ssbxxf;
使读信号无效
portw*ar5+,03h;
从D/A输出
rete;
中断返回
连接文件
-mad.map
-oad.out
-ereset
-stack40
MEMORY
{
PAGE0:
VEC:
origin=0x1c00,length=0x0080
PROG:
origin=0x1d00,length=0x1000
PAGE1:
STACKS:
origin=0x0200,length=0x0300
}
SECTIONS
vectors:
{}>
VECPAGE0
prog:
PROGPAGE0
stack_section:
STACKSPAGE1
总结
本学期我们开设了《DSP原理及应用》,这门学科我觉得很难,但却十分重要,而且都是理论方面的指示,所以必须学好它。
正所谓“纸上谈兵终觉浅,觉知此事要躬行。
”学习任何知识,仅从理论上去求知,而不去实践、探索是不够的,所以课程设计是身份必要的。
在这次课程设计过程中,我也遇到了很多问题。
对TLV1571的通信系统的设计以前就没有接触过,对TLV1571芯片也不了解。
后来在网上找到了他们的资料,才有了一些了解,发现他们是很实用的,真是受益匪浅啊。
时至今日,报告基本完成。
从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个写作过程难以用语言来表达。
遇到困难,我会觉得无从下手,不知从何写起;
当困难解决了,我会觉得豁然开朗,思路打开了;
当论文基本成形的时候,我感觉到了从没有过的成就感。
总之,在这次课程设计中我学到了很多,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。
这些让我一生受用。
参考文献
指导教师评语
学号
1071306121
姓名
王翔
班级
计算机1073
选题
名称
基于TMS320C54xDSP的数字电话系统
序号
评价内容
权重(%)
得分
1
考勤记录、学习态度、工作作风与表现。
5
2
自学情况:
上网检索机时数、文献阅读情况(笔记)。
10
3
论文选题是否先进,是否具有前沿性或前瞻性。
4
成果验收:
是否完成设计任务;
能否运行、可操作性如何等。
20
报告的格式规范程度、是否图文并茂、语言规范及流畅程度;
主题是否鲜明、重心是否突出、论述是否充分、结论是否正确;
是否提出了自己的独到见解。
30
6
文献引用是否合理、充分、真实。
7
答辩情况:
自我陈述、回答问题的正确性、用语准确性、逻辑思维、是否具有独到见解等。
25
合计
指导教师(签章):
年月日