基于DSP的数字电话系统设计吴迪067108048南阳理工初稿一.doc

上传人:本田雅阁 文档编号:2470141 上传时间:2019-04-01 格式:DOC 页数:30 大小:1.10MB
返回 下载 相关 举报
基于DSP的数字电话系统设计吴迪067108048南阳理工初稿一.doc_第1页
第1页 / 共30页
基于DSP的数字电话系统设计吴迪067108048南阳理工初稿一.doc_第2页
第2页 / 共30页
基于DSP的数字电话系统设计吴迪067108048南阳理工初稿一.doc_第3页
第3页 / 共30页
基于DSP的数字电话系统设计吴迪067108048南阳理工初稿一.doc_第4页
第4页 / 共30页
基于DSP的数字电话系统设计吴迪067108048南阳理工初稿一.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《基于DSP的数字电话系统设计吴迪067108048南阳理工初稿一.doc》由会员分享,可在线阅读,更多相关《基于DSP的数字电话系统设计吴迪067108048南阳理工初稿一.doc(30页珍藏版)》请在三一文库上搜索。

1、Nanyang Institute of Technology南 阳 理 工 学 院 本科生毕业设计(论文) 学院(系):计算机与信息工程学院专 业: 通信工程 学 生: 吴迪 指导教师: 路新华 完成日期 2012 年 4 月 28 南 阳 理 工 学 院 本 科 毕 业 设 计(论文)基于DSP结构的数字电话系统设计 Designing of Digtal Telephone System Base on DSP 总 计: 毕业设计(论文) 页表 格: 2个插 图: 12幅南 阳 理 工 学 院 本 科 毕 业 设 计(论文)学院(系):计算机与信息工程学院专 业: 通信工程 学 生: 吴

2、迪 指导教师: 路新华 完成日期 2012 年 4 月 南 阳 理 工 学 院 本 科 毕 业 设 计(论文)基于DSP结构的数字电话系统设计 Designing of Digtal Telephone System Base on DSP学 院(系): 计算机与信息工程学院 专 业: 通信工程 学 生 姓 名: 吴迪 学 号: 067108048 指 导 教 师(职称): 路新华(讲师) 评 阅 教 师: 完 成 日 期: 2012年4月 基于DSP的数字电话系统设计通信工程 吴迪【摘 要】在数字通信技术中,通信信息的存储容量和通信质量是两个关键性的问题。传统的模拟电话只能传输语音信号,通话

3、信息存储容量有限,语音通话效果不理想,这就制约了它的发展。各种数字电话终端不断的涌现,给人们的生活带来了极大的方便,特别是数字电话的存储容量大、信号质量好等特点,同模拟电话相比,具有很明显的优势。本文正是针对这一状况,设计开发出基于DSP的数字电话终端系统。通过数字电话终端系统调试与分析表明,所涉及的系统实现了数字电话系统的模拟。信号波形、语音效果和抗干扰性等技术性能指标均达到设计标准要求,系统运行稳定可靠,达到了预期的设计目标。【关键词】数字电话;数字信号处理器(DSP);自动增益控制(AGC);语音编码;闪烁存储器模块 Designing of Digtal Telephone Syste

4、m Base on DSP Communication Engineering Wudi 【Abstract】 In the area of digital communication,the capability of memory and quality of comunication two pivotal matters.The traditional simulated telephony can only transfer voice signal,the capability of imformation is limited and the quality of communi

5、cation is not ideal.All of these restrict its development.Many kinds of digitalTelephony terminal constantly appear,they bring much huge convenience to people.Especially the memony capability of digital telephony is big and the speech quality of digital telephony is good.The digital telephony has ob

6、vious superiority than simulated telephony.This paper designs and empolders a digital telephony termination system based on DSP aiming that status.Through the debug to the sample circuit board,it can be indicates that the symtem realizes the simulation of the technique in digital telephony system,si

7、gnal wavelines.voice quality and anti-jamming,etc are fit for the standard of design.Systen can run stably and reachs the expected design aim.【Key Words】:Digital; Telephony; Digital Signal Processor(DSP); Auto Gain Control(AGC);Speech Coding;Flash Module目 录1. 绪论1.1 选题背景及意义.1.2 使用DSP设计的数字电话系统的优点1.3 数

8、字电话技术的研究现状及发展趋势.2. 设计综述.3. 硬件模块13.1 系统硬件设计13.2 系统硬件结构34. 软件模块44.1 系统软件结构44.2 系统软件设计54.3 信号处理算法65.中断在TMS320C54x系列DSP中的应用65.1 C54x中的中断机制65.2扩展地址模式下的中断控制85.3 DSP/BIOS下中断的管理116. 程序设计12致谢15参考文献161绪论1.1 选题背景及意义1选题背景数字电话是最为常用的语音系统之一,数字电话不仅能够传输语音信号,还可以传输数字信号,而且可以对语音信号进行处理,使得语音传输效果更加清晰,适合各种噪声恶劣的环境以及有着特殊要求的场合

9、。例如,数字电话可以应用于强噪声的工业现场、保密安全电话等。基于DSP的数字电话系统,就是在DSP周围配置音频A/D和D/A以及电话侧信号处理芯片,实现对语音信号的采集和输出、调制和解调、处理和存储等功能。电话语音信号的处理包括回音相消、自动增益调整(AGC)、自动功率调整(APC)、数字滤波、回音抵消等多种功能。电话是当今通信领域中不可或缺的通信手段,自从最开始贝尔发明的1:1方式电话机,新素材的开发,交换技术的发达,传呼方式的变化和因特网电话的发展,电话技术经历了多种技术上的更新换代,电话已经成为了现社会的生活必需品,现今市面上的大多数电话机仍为模拟的传统电话机和无绳电话机,这种类型的电话

10、机成本低廉,但语音效果不理想,留言系统的存储空间也有限,保密性也不好。电话技术的核心-语音技术同时也发生着巨大的变化,现有的大部分具有留言功能的电话机都采用磁带录音的方法,虽然录音时间长,但不便于查找和保存。数字电话系统可以克服磁带录音所存在的缺点,可以快速查找,对录音信息进行编辑整理也非常方便,更为方便的是对数字录音的信息可以转存在计算机硬盘或光盘上以便长期保存。所以数字电话由此而发展起来,技术变化很快,但数字录音需要较大的存储空间,要实现较长时间的录音需要的存储空间将更大。正因为如此,现在市场上推出的具有数字留言功能的电话机的录音时间一般都较短。要实现较长时间数字录音的方法有两种:一是扩大

11、存储空间,但无限的扩大存储空间势必增加系统成本:二是采用语音压缩的方法,即首先将输入的语音进行压缩。将第二种技术引入到实际应用比较实际,所以,先进的当务之急是找出一个能很好的将语音进行压缩的技术方案。而此时,DSP技术的日益发展,DSP的应用已经深入到诸如图像处理、通信、语音识别、消费类电子、高速控制和仪器仪表等各个方面,是电子工业领域增长最迅速的领域之一,为这种问题提供了一个很好的解决方案。围绕着DSP技术进入电话领域这一实际情况,很多技术方案也开始实施起来,本文所介绍的基于DSP的数字电话终端系统设计也正是在这一个技术背景下提出来的,利用先进的DSP技术来实现电话通信,以此来得到高质量的语

12、音效果及多方面的数字功能。2.选题意义数字电话系统实现后,配置音频A/D转换和D/A转换以及电话线侧信号处理芯片,能实现对语音信号的采集和输出、调制和解调、处理和存储功能。由于系统具有数字化、小型化和价格低的特点,不仅能实现传统模拟电话全部的功能,而且可以应用于各种保密场合、强噪声现场通信以及各种数据业务。数字电话系统的应用非常广泛,如电力、铁路、石油、企业等行业的指挥调度部门,机场、港口、公安、安全、军事等要害部门的录音和监听,金融行业授权指令的实时录音,无线寻呼台、电信局、服务行业的服务、售票窗口、应急电话受理的录音和监听的数字电话终端系统设计与开发并且还应用在各种客户服务中心、投诉中心等

13、,为了解及时查询和发现事故原因以及提供准确可靠地原始录音记录,发挥了巨大作用。所有这些都能带来巨大的经济效益。1.2使用DSP设计数字电话系统的优点 使用DSP芯片为核心构造数字留言电话。使用通用DSP设计系统与传统的专用语音芯片进行设计相比较,具有如下优点:首先,使用DSP芯片构建硬件平台,可通过升级语言编码软件的方法实现数字留言电话的升级,对系统的快速更新发展有利。而如果使用专用语音编码芯片构造系统,则系统更新必须对硬件更新进行研究开发。如果可以在不改变硬件平台基础上升级系统,对用户的吸引力大。其次,使用DSP芯片,可以实现多功能的单片集成,并且系统硬件组成较紧凑。如果使用语音编码芯片,还

14、必须按加入单片机等控制芯片,如果要进一步实现加密等其他功能,必须使用相应的硬件。第三,无论使用DSP芯片或语言编辑芯片,系统的成本瓶颈在大容量FlashMemory。如果使用近期国际上开发的高级语言编码芯片(其编码音质等指标较好),其价格将较高,从而使得系统的性能价格比大打折扣。数字电话机发展趋势 数字式录音电话机将取代模拟电话机。前者没有磁带录音机常见的机械故障,却有方便的遥控、留言、转发、监听、液晶显示等实用功能;未来数字电话机发展趋势:(1) 数字电话机将成为市场竞争的焦点。数字电话将向多频道方向发展(2) 显示主叫号码、姓名、区号的电话机将开始投放市场。它能使被叫用户时识别的数字电话终

15、端系统设计与开发对方,决定是否通话;(3) 微电脑自动传呼电话机将问世。具有录音电话功能的微电脑自动呼叫功能;(4) 全数字集成电话机普及。它适用于单位内部使用,在传送话音的同时还可传递数据信息,也可接入国际信息网络;(5) 可显示电话机进入办公室。它是一种集声音、通信、传真、书写及电子信箱为一体的新一代电话机。1.3数字电话技术的研究现状及发展趋势1. 数字电话技术的研究现状主叫用户号码显示电话机技术日趋成熟。主叫用户显示(CID)是指交换机传送主叫用户信息,在被叫终端设备上显示和存储的一种新功能。显示内容除包括主叫电话号码外,还可以包括呼叫日期、时间和主叫姓名等相关资料。通信行业标准电话主

16、叫信息CID传送及显示功能技术要求和测试方法已经颁布。标准中规定交换机采用移频键控(FSK)方式向被叫春松主叫识别信息。主叫识别信息可以在被叫用户挂机状态和通话状态两种情况下向被叫用户传送,满足前者的称为CIDI类机,满足两者的称为CIDII类机。显示内容也可以按显示号码、时间、日期和主叫姓名等其他信息分别达标。目前国内的交换机有的采用双音多频(DTMF)方式向被叫用户传递主叫识别信息,由于在标准中未作规定,已经根据相应的国际标准制定了对应的DTMF制式的检验规程,可以满足具有CID功能电话机检验工作的需要。现在国内许多厂家都开发了具有CID功能的电话机,有的厂家还开发了两种制式兼容(DTFM

17、F和FSK兼容且自动识别)的电话机以满足国内市场的需求,还有的厂家开发了一些具有CID功能的电话机附加装置,配合目前广泛使用的普通电话机一起使用来显示主叫识别信息。该项业务目前已在北美地区、日本和欧洲一些国家投入商用,市场潜力很大。目前我国窄带ISDN试验网中主叫号码传送功能已有规定,而对现有的PSTN网中开通CID业务的政策正在制定中,但在几个大城市已开始试用。 现在的抗噪声技术电话机也在逐渐成熟。第一代抗噪声电话机是利用骨导原理研制生产的。它利用压电效应,讲话时把压电式送话器紧贴在脸的下部,讲话时脸部的震动通过压电效应转换为电信号,电信号通过通话电路放大后传到对方。这种抗噪声电话机对降低通

18、话噪声有一定的效果,但不理想。 第二代抗噪声电话机是利用电平衡、声抵消的原理研制的。这种抗噪声技术将电信号处理和声学原理结合起来,根据低频噪声在一定的空间范围内可以近似看作是点声源噪声的特点,对环境噪声和话音信号采用两个拾音器获取,对这两路信号经过放大(调平衡)、相移(对环境噪声信号相移180度)、线性叠加后输入到通话电路。第二代抗噪声电话机也存在一定的局限性,首先它是把环境噪声近似的看作是点声源噪声,这对于低频噪声(波长较大)的近似是有一定的准确性,但对于高频噪声却不准确,环境噪声频带较宽,既有低频成份也有高频成分,根据惠更斯原理,同一波阵面上既有波谷又有波峰,特别是对于高频噪声更是如此。因

19、此,第二代抗噪声电话技术对于环境噪声频率在400Hz以上的频率的环境噪声降低幅度不太理想。其次是振铃升级不高。一般要求在高噪声环境下的电话铃声级比环境噪声高15db左右比较理想,过高又会产生新的噪声,过低会影响电话接听,而且振铃音应该与环境噪声有所区别。 第三代抗噪声电话机是利用数字信号处理技术研制的一种新型数字式抗噪声电话。这种抗噪声电话机在软机上采用自适应FIR数字滤波技术,硬件方面有数字信号处理器支持,这种数字式抗噪声电话机在环境噪声为70db时话音的信噪比仅为15db左右。2. 数字电话机发展趋势数字式录音电话机将取代模拟电话机。前者没有磁带录音机常见的机械故障,却有方便的遥控、留言、

20、转发、监听、液晶显示等实用功能;未来数字电话机发展趋势:(1) 数字式录音电话机将成为市场竞争的焦点。数字电话将向多频道方向发展(2) 显示主叫号码、姓名、区号的电话机将开始投放市场。它能使被叫用户时识别对方,决定是否通话;(3) 微电脑自动传呼机将问世。它新增了具有录音电话功能的微电脑自动呼叫功能;(4) 全数字集成电话机可普及。它适用于单位内部使用,在传送话音的同时还可传递数据信息,也可接入国际信息网络。(5) 可显示电话机进入办公室。它是一种集声音、通信、传真、书写及电子信箱为一体的新一代电话机。它最大的优点是能够在通话的同时清楚地显示通话双方在显示屏上书写的文字和图像,可大大提高工作效

21、率。2设计综述数字电话系统的实现需要解决以下问题:(1)实现语音信号和DSP所需要的数字信号之间的模数和数模转换,也就是电话信号的数字化。选择语音信号采集芯片实现语音信号和DSP所需要的数字信号之间的模数和数模转换,这里采用AD50芯片。(2)DSP对数字信号进行算法处理,主要算法包括去噪、回音相消、数字加密、语音压缩、语音识别合成等。DSP可以将各种语音信号处理算法嵌入到程序中,这里重点介绍数字电话的系统实现,不再详细介绍数字信号的处理算法。(3)DSP的数字信号与电话线的模拟信号的调制和解调,以实现有限的电话线宽带传输高速的数据。电话线的带宽固定为56Kbps,而8kHz采样的16位数据信

22、号速度为128Kbps。信号的调制解调算法,这里选择C54xx系列的C54cst型号的DSP,其片内集成有硬件调制解调算法,可以直接对电话线和DSP之间的信号进行采集和处理。(4)实现电话的各种功能,包括来电检测和显示、摘机、挂机、自动应答等。3硬件模块3.1系统硬件设计 系统的硬件设计是整个系统能够正常进行的基础,正确的硬件设计能为阮籍挑食提供硬件平台,没有硬件平台支撑,软件调试就无从谈起,因此来说,硬件设计是要在软件设计之前必须完成工作。本项目的硬件平台主体是语音采集和DSP系统板,然后是系统板与通用PC机的借口(这里是通过串口进行通信的),最后是外围电路,如键盘和液晶显示电路,语音信号放

23、大电路等。3.2数字电话系统的硬件结构 整个系统由DSP、ST3016、音频AD/DA、液晶、键盘以及Flash组成,硬件结构如图所示。图中,DSP是核心控制单元。音频AD用于采集话筒的模拟语音信号,转变成数字语音信号;音频DA将数字语音信号转换成模拟语音信号,输出到耳机或者音箱。音频AD和DA的前端与后端都有放大和滤波电路。一般情况下,音频AD和DA集成到一个芯片上。本系统中使用了TI公司的TLV320AIC10.硬件结构如图SI3016用于收发电话线上的信号,键盘用于拨号和控制,液晶显示来电号码、拨出电话号码以及时间等信息,Flash保存DSP所欲要的程序,供HPI口。该接口可与计算机连接

24、,可收发计算机的数据文件,将系统的功能进一步扩展,可轻易地实现各种数据业务。客户端处理芯片 系统的客户端处理采用TMS320C54CST和SI3016芯片实现。TMS320C54CST是美国TI公司最近推出的一款客户端数字信号处理芯片,完全兼容IT公司的C54系列DSP。C54CST内部具有DSP芯片通用的缓冲串口、HPI接口、定时器等片内外设,还具有和客户端相关的直接访问设备(DAA)单元。DAA实际上是一个电话终端数据收发模块。该模块提供一个可编程的接口电路,该接口电路可以直接与全球的电话线连接。DAA的内部结构所示。数字电话系统的硬件以TMS320C54cst和SI3016为主实现。TM

25、S320C54cst是美国TI公司推出的一款客户端(电话端)数字信号处理DSP芯片,该芯片完全兼容TI公司的C54xx系列的DSP。C54cst内部具有DSP芯片通用的缓冲串口、HPI接口、定时器等片内外设,还具有和客户端相关的直接访问设备DAA单元。DAA实际上是一个电话终端数据收发模块,该模块提供一个可编程的接口电路,该接口电路可以直接和全球的电话线连接。DAA的内部结构如图所示。 DAA内部结构DAA由两部分组成:一是DSP片内设备,另一个是与其匹配的片外设备。DAA的片内设备是集成在DSP内部的SI3021模块。该模块和Silicon公司的SI3021芯片的功能完全相同。DSP同SI3

26、021模块之间通过缓冲串口2进行通信;DSP提供时钟信号到SI3021模块。为了与电话时钟兼容,该时钟信号只能是58.9824MHz或者117.9648 MHz。SI3021模块对此时钟进行分频,得到串口通信的位同步时钟和帧同步时钟,再将这些时钟信号返回到DSP。DSP为被动接收方。用户惟一可以直接控制SI3021模块的是DAA的复位信号。该信号可以随时复位SI3021模块,如图2-1中的DAARESET。DAARESET不是一个实际的引脚,而是DSP内部寄存器中的一位,只能通过软件来复位SI3021模块。DAA的片外设备选择Silicon公司的SI3016芯片。SI3016和DSP之间只有一

27、根信号线通过匹配阻容连接。SI3016的内部寄存器全部直接映射到DSP内部。通过对DSP内部寄存器的读写控制,DAA片内设备SI3021自动将这些寄存器的值写入SI3016或者从SI3016中读出。SI3016和电话线侧的连接如图所示。 SI3016与电话线的连接图中,右下方的RING和TIP是两根电话线,通过4个二极管组成的无级性电压变换,最后通过三极管连接到SI3016的DC1引脚,提供电源到SI3016。但待机时,为了降低整机的功耗,三极管处于截止状态,SI3016通过CIB引脚从DSP,取电,摘机时,DSP控制寄存器将SI3016的QB引脚置高,打开三极管,此时SI3016将从两根电话

28、线上取电。这是因为,待机时需要的电压只要1V左右就可以了,而摘机后的电压需要6V左右。SI3016的RNG1和RNG2引脚用于检测振铃信号,RX和Tx引脚用于数据的收发,IGND引脚是一个虚拟的“地”,和真实的“地”使用150pF的电容隔开。3.3系统硬件结构整个系统由DSP、SI3016、音频ADDA、液晶、键盘以及Flash组成,硬件结构如图2-3所示。图中,DSP是核心控制单元;音频AD用于采集话筒的模拟语音信号,转变成数字语音信号;音频DA将数字语音信号转换成模拟语音信号,输出到耳机或者音箱。音频AD和DA的前端与后端都有放大和滤波电路。一般情况下,音频AD和DA集成到一个芯片上。本系

29、统中使用了TI公司的TLV320AIC10。 系统硬件结构SI3016用于收发电话线上的信号;键盘用于拨号和控制;液晶显示来电号码、拨出电话号码以及时间等信息;Flash保存DSP所需要的程序,供DSP上电调用;JTAG是DSP的仿真接口。DSP还提供HPI口。该接口可与计算机连接;可收发计算机的数据文件;将系统的功能进一步扩展,可轻易地实现各种数据业务。4软件模块4.1系统软件结构系统的软件结构如图3-1所示。软件结构中的初始化模块包括系统的初始化、键盘监控的初始化、液晶显示的初始化、通信模块的初始化。在初始化过程中,设置键盘扫描时间、采样频率、显示状态等。监控模块随时判断各种中断是否到达。

30、其中包括摘机中断、挂机中断、振铃中断、键盘中断、液晶显示定时中断等。监控模块程序完成查询以上工作并调用各个相应的处理子程序。其中我主要做的是中断服务模块和键盘监控模块,在第4章中会详细介绍。系统软件结构4.2系统软件设计系统的程序流程如图所示。在整个程序中,挂机中断具有最高优先权,只要发生挂机中断,程序都将返回到监控状态。尤其是在通话过程中,随时监测挂机中断和对方状态,一旦自身挂机或者对方挂机,将马上中止通信过程。系统上电后,总是检测有无中断产生。中断包括摘机中断、振铃中断、键盘中断和显示定时中断。中断产生,系统将进入相应的中断处理程序。 程序流程图4.3 信号处理算法信号处理算法主要包括回音

31、相消、自动增益控制、数字滤波等。(1)回音相消回音相消处理过程如图3-3所示。回音主要是通过对不同端的信号采集,得到远端回音信号,作为回音的参考信号;而带有回音的混合信号和参考信号进行自适应减法运算,从而将回音从混合信号中去除。图中虚线框内为回音处理算法。 回音相消处理(2)自动增益控制语音在采集和传输过程中,由于语音源的差异、信道的衰减以及噪声的干扰,使得信号的幅度相差较大,从而需要自动增益控制。模拟信号中一般很难实现自动增益,而数字电话通过对数字信号幅度的估计,调整信号增益参数,均可以保证在任何情况输出最大幅度,达到最佳的语音质量。(3)数字滤波输入和输出的模拟信号都经过一个具有线性相位的

32、FIR带通滤波器。根据语音信号的特点,滤波器的通带在300Hz3kHz,阻带衰减为-60dB。根据实际情况,滤波器的各种参数可以通过软件调整。信号中的直流分量也可以通过预估均值去除,从而进一步提高语音质量。5中断在TMS320C54x系列DSP中的应用5.1 C54x中的中断机制中断信号实质上是由硬件或者是软件驱动的信号,它能使DSP暂停正在执行的程序并进入中断服务程序(ISR)。在最典型的DSP系统中,如果A/D转换器需要送数据到DSP中,或者D/A转换器需要从DSP中取走数据,都是通过硬件中断向DSP发出请求的。 C54x系列DSP支持软件中断和硬件中断。软件中断是由指令(INTR、TRA

33、P、RESET)触发的,硬件中断是由外围器件触发的。硬件中断实际上又分为两类:一类是由DSP的片外外设(如A/D转换器)触发的,另外一类是由DSP的片内外设(如定时器中断)触发的。硬件中断又有优先级的区分,这是为了处理同一时刻有多个硬件中断源触发中断的情况。硬件中断的种类和优先级请参看具体使用的芯片资料。 如果按照可屏 蔽情况分类,中断又可分为可屏蔽中断(C54x至多支持16个)和不可屏蔽中断。可屏蔽中断受ST1寄存器中的INTM位和IMR寄存器中相应位的影响。当INTM=0时,IMR中某位为1,则开放相应的中断。其实,在C54x中硬件中断并不一定要由外围器件触发,它同样可以由指令INTR、T

34、RAP触发,并且不受INTM的限制。有一点需要引起注意的是:指令RESET复位和硬件RS复位对IPTR和外围电路初始化是不相同的。硬件复位时IPTR总是被置为0x1FF,软件复位时则不会修改当前IPTR的值。C54x的中断处理过程分为三个阶段: 中断请求。可以用硬件器件或者软件指令请求中断。如果请求的中断是可屏蔽中断,则IFR寄存器中相应的位被置为1,而不管中断是否会被响应。 中断响应。对于软件中断和不可屏蔽中断,CPU是立即响应的。对于可屏蔽中断,要满足下列条件才能响应: 优先级最高(同时出现多个中断时) 、INTM位为0 、IMR中相应位为1。CPU在取到软件向量的第一个字后会产生IACK

35、信号,对可屏蔽中断而言,IACK会清除IFR中相应位。中断处理。保护特定的寄存器,执行中断服务程序,完成后恢复寄存器。保护寄存器的原则是执行中断服务程序后能正确返回并恢复原来运行程序的环境。 DSP中提供的中断是以中断向量表(VECT)的形式出现的(见表)。中断向量表的长度为128个字节,每个中断分配为4个字节,一共有32个中断,具体的中断要看相应的芯片。C54x中断向量表的地址是由PMST寄存器中的IPTR构成高9位地址形成的,所以向量表的地址必须是128的倍数。硬件复位时,IPTR总是默认置为0x1FF,所以中断向量表地址为0xFF80。每个中断向量的地址按如下构成方法形成:PC=(IPT

36、R)7+(Vectorn)2 (Vectorn为中断向量号,在031之间),中断向量号左移两位是因为每个中断向量占用4个字节的缘故。中断向量表总是以汇编的形式出现的。 扩展地址模式下的中断实现5.2扩展地址模式下的中断控制早期的DSP共有192K的空间(程序、数据和I/O空间各为64K),随着DSP处理能力越来越强,192K的空间已经不能满足需要。后来的C54x均提供了扩展地址模式,使程序空间扩展到8M。扩展模式下的中断控制有自己特殊的地方,有必要进行说明。 扩展模式下程序空间的寻址是通过寄存器PC和XPC一同进行的。PC构成低16位地址位,XPC构成高7位地址位。所以保存和恢复XPC是用户必

37、须注意的。如果用户使用的是Far Call指令,则XPC会自动保存和恢复。但在进行中断处理的时候,只有16位的PC寄存器能够自动得到保存(这是由于考虑了非扩展模式下中断的效率问题),所以XPC必须由用户自己来保存,否则在中断返回的时候往往会跳到不同的页面(由返回前后XPC值的不同引起)造成不可预测的后果。程序如表4-1所示。 由于必须在长跳转之前保存XPC的值,没法使用延迟指令(如FBD),所以中断时延会增加两个周期。 再来考虑另外一种情况:设程序运行在XPC=2的页面上,如果这个时候有中断发生并得到了CPU的响应,DSP会加载PC:PC=(IPTR)7+(Vectorn)2,XPC的值不发生

38、变化,于是中断向量的地址为:0x20000+0xPC。这就明显地说明:中断向量表必须和应用程序在同一64K的程序空间页面内。如果应用程序不是只分布在一个程序空间页面内,那应该如何处理呢?可分三种类型共四种技巧来应对这样的情况:1、描述的是OVLY为任意的情况;2、描述的是OVLY=1的情况;3、描述的是OVLY=0的情况。 1、有的应用中,一些程序一旦运行是不允许中断的。把不允许中断的程序部分放到扩展空间内,而把中断向量表和ISR以及允许中断的程序部分都放在XPC=0的页面。当调用扩展空间的程序时关闭中断使能,而当扩展空间程序返回到XPC=0的页面时再开中断。这样做的好处是不用关注XPC的值对

39、中断向量寻址的影响。中断的时候也不需要保存XPC的值。调用过程如图所示,Y表示需要关注XPC的值,N表示不需要关注XPC的值,数字表示调用顺序。 ISR和VECT在XPC=0时的调用2、DSP中影响存储器映射的因素有三个:OVLY、DROM和MP/MC。OVLY是Overlay的简写。当OVLY=1时,数据空间里的一部分RAM变为重叠区域(Overlay Memory)。这部分重叠区域同时映射在每一页程序空间的上部。具体示例如图所示(MP/MC=0,C5416)。 重叠区域的空间分布可见OVLY=1的时候,数据空间的DARAM03被映射到程序空间的每一页上。基于这样的特点,可以把中断向量表定位

40、到数据空间的重叠区域DARAM03中,置OVLY为1。当有中断发生时,不管程序运行于DSP的哪个程序页面空间,只用PC寻址都能够正确地取到中断向量表,而不会受XPC的影响。中断程序ISR可以放到任何一个程序页面中,但这时跳转到ISR的指令只能用长跳转指令(FB等),跳转之前注意将XPC压入堆栈,程序同表。示意图如图所示。 VECT位于重叠区域时的中断使用如果片内RAM比较大,分给数据空间的RAM也比较多(如C5416有64K的RAM可以作为数据空间),数据空间可能会有余量。这时可以把中断向量表和ISR都全部放进数据空间的Overlay Memory区域,并把OVLY置1。这样不仅在任何程序页面

41、空间都能够正确地取到中断向量表,同时用短跳转指令(BD等)就可以实现跳转到ISR,不再需要对XPC进行保存和还原。程序请参看表4-2。 VECT和ISR均位于重叠区域时的中断实现3、在扩展模式下,虽然程序空间扩为8M,但如果OVLY=1,则程序空间中存在大量的重叠区域,如C5416在OVLY=1的情况下真正可用的程序空间最大为4.03M。有的场合需要的程序空间大于4.03M,就必须使用OVLY=0的情况。这个时候程序空间不存在重叠区域,但可以模拟出来。方法是:把中断向量表拷贝到会发生中断的每一页程序空间,如图4-4所示。这样,中断的时候就能正确找到中断向量表而实现中断跳转。 比较上面的四种方法

42、,方法2更为适应普遍的情况。它不限制ISR的地址范围,而中断向量表只占0x80的空间,把它放到数据空间的重叠区域是很容易做到的。笔者正在做的项目正是采用了这种方法。 VECT复制的方法5.3 DSP/BIOS下中断的管理DSP/BIOS是TI近来推出的准实时操作系统,它同样支持扩展地址模式,只是需要将Global Settings中的函数调用模式设置为Far就可以了。需要强调的是:BIOS只支持OVLY=1的扩展模式,而不支持OVLY=0的扩展模式。扩展模式下在BIOS Code中会多出一个段“.bios:.norptb”,这个段会被自动放入Overlay Memory之中。BIOS管理的线程

43、有四种类型:HWI、SWI、TSK以及IDL。上面所提到的所有中断属于优先级最高的HWI线程。每个中断向量都是以HWI模块的Object形式存在,可以用BIOS下的Configuration Tool来配置每个中断向量所触发的函数。在Configuration Tool中,会发现System的MEM模块下有一个名为VECT的Object,它实质上是用来给中断向量表分配存储空间的,用户可以自己配置中断向量表的地址(必须是128的倍数)。地址的分配方法可以参考上面提到的几种应对技巧。下面就BIOS下的中断做出几点说明: (1)在Object的属性框中填写中断函数名时,如果中断函数是由C语言编写的,

44、则需要在函数名前加下划线(C语言和汇编语言相互调用的需要)。汇编语言则不需要。 (2)在编写中断函数的时候不能再用关键字interrupt来说明中断函数,因为BIOS已经自动包括了这个功能。如果再用interrupt,则会造成致命后果。 (3)如果中断函数是用汇编语言编写的,中断函数应夹在BIOS的API HWI_enter和HWI_exit之间。这样,在中断处理的时候会正确保存和恢复一些需要使用的寄存器,并妥善处理线程间的关系以及中断函数中对BIOS API的调用;如果中断函数是用C语言编写的,则必须使用HWI Dispatcher属性,作用和前面是一样的。(4)在BIOS中的SWI(软件中

45、断)模块下,用户可以自己添加软件中断对象。但是必须从概念上分清楚,这里添加的软件中断和在前面提到的软件中断(即由INTR、TRAP、RESET触发的中断)是完全不同的概念。这里的软件中断并不属于中断向量表里的中断向量(显然中断的个数也不会存在限制),并且它可以带两个参数(前面的中断函数是不能带参数的)。所以从几个方面看这里的软件中断函数更象是通常意义上的一般函数。 6 程序设计 由于我做的是中断服务模块和键盘监控模块,这里主要介绍相关的程序。假设实验板上有四个按键,当有键按下时,会触发DSP的INT1中断,在INT1的中断服务程序中读入键码,判断哪一个键被按下,然后执行相应的操作。各键对应的二进制和十六进制键码分别为:按键1: 0001B 1H按键2: 0010B 2H按键3: 0100B 4H按键4: 1000B 8H*keyboardTest.asm*测试按键的功能,响应按键中断,读取键值,*并对不同键按键次数计数*

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1