我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1538|回复: 1

基于CPLD的DSP与声卡的接口技术 - 通信/网络 - 电子工程师俱

[复制链接]

该用户从未签到

1万

主题

1292

回帖

2万

积分

管理员

积分
29577

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-3-30 09:25:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
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器件后,接口电路全部集成在一片中,系统的可靠性、灵活性大大提高。复杂可编程逻辑器件因其使用方便、具有很高的性价比,必将拥有广阔的应用前景。
回复

使用道具 举报

该用户从未签到

10

主题

324

回帖

256

积分

二级逆天

绝不是终点!继续奋斗

积分
256

终身成就奖社区居民

QQ
发表于 2014-8-5 16:05:47 | 显示全部楼层
学无止境!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

公告:服务器刚移机,
大家请不要下载东西。
会下载失败


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表