基于CPLD的DSP与声卡的接口技术
发布时间:2008/6/3 0:00:00 访问次数:486
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操作访问[4]。
2.4 dsp与声卡的接口电路
整个系统结构框图如图2所示。从图中可以看出,cpld主要完成数据总线驱动、地址总线驱动、地址锁存器、译码和时钟分频等功能,其中译码电路是整个电路的核心。数据总线驱动电路和地址总线驱动将dsp的内部数据与地址总线与外围电路的数据和地址总线相互隔离;地址锁存器生成8237在dma服务周期通过数据线db0~d7输出的高8位地址a8~a15。时钟分频电路为外电路提供需要的各种频率的同步时钟。-译码电路为各单元电路以及外围电路提供读写信号、锁存信号、片选信号和使能信号。
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操作访问[4]。
2.4 dsp与声卡的接口电路
整个系统结构框图如图2所示。从图中可以看出,cpld主要完成数据总线驱动、地址总线驱动、地址锁存器、译码和时钟分频等功能,其中译码电路是整个电路的核心。数据总线驱动电路和地址总线驱动将dsp的内部数据与地址总线与外围电路的数据和地址总线相互隔离;地址锁存器生成8237在dma服务周期通过数据线db0~d7输出的高8位地址a8~a15。时钟分频电路为外电路提供需要的各种频率的同步时钟。-译码电路为各单元电路以及外围电路提供读写信号、锁存信号、片选信号和使能信号。
热门点击
推荐技术资料
| |