首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
DSP技术
» 基于CPLD与DSP组成的声卡接口技术
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于CPLD与DSP组成的声卡接口技术
发短消息
加为好友
苹果也疯狂
当前离线
UID
852722
帖子
10369
精华
0
积分
5185
阅读权限
90
在线时间
277 小时
注册时间
2011-8-30
最后登录
2016-7-18
论坛元老
UID
852722
1
#
打印
字体大小:
t
T
苹果也疯狂
发表于 2015-8-30 20:08
|
只看该作者
基于CPLD与DSP组成的声卡接口技术
可靠性
,
在线
,
技术
,
接口
,
成本
1 引言
使用复杂可编程逻辑器件(CPLD)可提高系统集成度、降低噪声、增强系统可靠性并降低成本,同时它不仅具有电擦除特性,而且出现了边缘扫描及在线编程等高级特性,因而可用于状态机、同步、译码、解码、计数、总线接口等很多方面,在信号处理领域的应用也非常活跃。MAX7000系列是ALTERA公司采用先进的0.8μm CMOS EEPROM技术制造的高性能、高密度的CPLD[1]。MAX7000的结构可完全模仿TFL,并可将SSI,MSI,LSI和传统PLD的逻辑函数高密度地集成。EPM7128S是MAX7000系列的高密度器件,它有128个逻辑宏单元和最大100个输入,具有在系统编程(ISP)特性,非常适合输入、输出端要求较多的逻辑复杂的控制密集型系统。将EPM7128S用到DSP与ISA总线声卡的接口电路中,不仅使整个系统体积显著减小,且硬件故障率明显降低,调试工作也变得很容易。DSP与ISA总线声卡的接口原理声卡的工作原理 图1示出了声卡的基本工作原理:主机通过总线将数字化的声音信号以PCM方式送到数模转换器(D/A),将数字信号变成模拟的音频信号;同时又可以通过模数转换器(A/D)将传声器或CD的输入信号转换成数字信号,送到计算机进行各种处理。实际具体声卡的硬件结构请参阅有关资料和手册。
2.2 WSS兼容声卡和ISA总线硬件接口
WSS是Microsoft公司为统一声卡的标准、提供方便的应用而提出的Windows环境下多媒体扩展定义的音频子系统标准,它包括硬件平台和软件接口。该类声卡的硬件结构主要包括声音处理芯片/组、功率放大器、总线连接端口、输入输出端口、MIDI及游戏杆接口、CD音频连接器等m。根据实际需要,只需了解声卡与ISA总线的接口信号及时序要求。要实现DSP对声卡的直接操作,DSP系统必须提供上述ISA总线信号。
DSP一般可提供数据信号线、地址信号线、IO读写信号线和READY信号线,同时还有多个中断输入引脚,但并不直接具备DMA功能引脚,这给DSP与声卡之间的接口带来了不便,这也正是笔者所要解决的问题。
2.3 TMS320C2XX使用HOLD操作的DMA
TMS320C2XX[~实现DMA功能的关键是,该类芯片提供了两个信号引脚:HOLD/INTl和HOLDA,这两个信号控制的HOLD操作过程为:
(1)HOLD,外部设备可以把该引脚驱动到低电平从而请求对外部总线的控制。如果HOLD/INTl中断线被允许,那么这将触发中断。
(2)HOLDA,在响应HOLD中断时,软件逻辑可以使处理器发出HOLDA应答信号,表示它将放弃对其外部总线的控制。根据百Z圃5五,外部地址信号(A15~A0)、数据信号(D15~D0)以及存储器控制信号(P5,DS,BR,STRB,R/W,RD,WE)被置为高阻状态。
从(1)、(2)可以看出C2XX的HOLD操作允许对外部程序、数据以及I/O空间进行直接存储器访问,但该功能是在INTl中断程序中实现的,因而中断线INTl对下降沿和上升沿两者都应敏感。当C2XX检测到下降沿时,它完成正在执行的当前指令,然后迫使程序控制转到中断服务子程序,此子程序执行IDLE(空闲)指令。根据IDLE,HOLDA变为有效而外部总线被置为高阻状态。只有在检测到HOLD/INTl引脚上的上升沿之后,CPU才退出IDLE状态,HOLDA变为无效,并使外部总线返回到正常状态。
从以上分析可以看出C2XX的DMA操作与PC机中的DMA操作的区别。在PC机中,CPU收到DMA请求信号后,迫使CPU在现行的总线周期结束后,使其地址、数据和部分控制引脚处于三态,从而让出总线的控制权,并给出一个DMA响应信号;在DMA操作完成后,DMA请求信号无效以后,CPU再恢复对系统总线的控制。而在C2XX中,DMA申请信号将引起C2XX中断,在中断程序中发出软件指令使C2XX各信号引脚处于三态,同时也给出了一个DMA响应信号;在DMA操作完成后,C2XX检测到DMA请求信号无效以后,虽然总线返回到正常状态,C2XX仍处在中断程序中。从以上分析可知,尽管中断需要保护断点和现场,使得C2XX的DMA的处理速度与PC机相比要低得多,但毕竟C2XX也实现了DMA操作,从而可借助DMA控制器8237实现对声卡的DMA操作访问。
2.4 DSP与声卡的接口电路
整个系统结构框图如图2所示。从图中可以看出,CPLD主要完成数据总线驱动、地址总线驱动、地址锁存器、译码和时钟分频等功能,其中译码电路是整个电路的核心。数据总线驱动电路和地址总线驱动将DSP的内部数据与地址总线与外围电路的数据和地址总线相互隔离;地址锁存器生成8237在DMA服务周期通过数据线DB0~D7输出的高8位地址A8~A15。时钟分频电路为外电路提供需要的各种频率的同步时钟。-译码电路为各单元电路以及外围电路提供读写信号、锁存信号、片选信号和使能信号。
图2中1为DSP内部系统总线,2为外部数据总线,3为DSP内部地址总线,4为外部地址总线,5为数据总线收发电路使能信号,6为地址总线驱动电路使能信号,7为DSP输出控制总线,8为CPLD译码后输人DSP的信号线,9为DSP同步外围电路的时钟,10为DMA输人时钟,11为RAM,8237和声卡的读写信号,12为锁存信号,13为RAM的片选信号。
3 EPM7128S内部译码电路的逻辑实现
图3给出了EPM7128S内部译码电路主要的输入和输出信号以及它们的逻辑关系。其中DSP的地址选通信号和读写信号经译码分别得到IO读写信号和存储器读写信号;8237的DMA申请信号HRQ经反相后送到DSP的HOLD引脚以触发DSP中断,DSP在中断程序里发IDLE指令,HOLDA引脚变为低电子,响应DMA申请;同时数据总线和地址总线驱动电路的使能信号关闭,数据总线和地址总线为高阻态,从而8237可以接管总线,进行DMA操作。声卡的中断信号为高电子,须反相后再接DSP的中断引脚。
4系统工作原理及时序
系统工作的时序如图4所示。现结合图2、图3和图4将系统工作原理及操作顺序说明如下:
(1)声卡向8237发出DMA请求信号DREQ;
(2)8237通过CPLD向DSP发出HRQ信号;
(3)DSP的HOLD引脚检测到下降沿后,进入INTl中断,保护完断点和现场后,发IDLE指令,DSP的HOLDA引脚电平变低,u向应外部DMA请求;
(4)8237接管总线后,先向声卡DMA请求的响应信号DACK,表示允许声卡进行DMA传送,然后按事先设置的初始地址和需传送的字节数,依次发送地址和读写命令,使得在RAM和声卡之间直接交换数据,直至全部数据交换完毕;
(5)DMA传送结束后,自动撤消向CPU的总线请求信号HRQ,此时DSP检测到丽iS引脚的上升沿,DSP返回到IDLE指令的下一条指令,DSP获得总线的控制权,继续在INTl中执行程序。
从上面DSP系统的工作原理可以看出,由于DMA是在中断程序中完成的,故DSP的DMA执行频率受限于DSP每秒可执行的中断次数。
5 结束语
笔者曾用分立元件设计的DSP与声卡的接口电路中,用了2片74LS245,3片74LS244,1片74LS74,1片74LS573和3片GAL20V8,器件多,PCB布局、布线繁杂。尽管用的是表贴器件,但仍占相当大PCB面积,由引脚松动、虚焊等原因引发的故障率较高。采用CPLD器件后,接口电路全部集成在一片中,系统的可靠性、灵活性大大提高。复杂可编程逻辑器件因其使用方便、具有很高的性价比,必将拥有广阔的应用前景。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议