声效芯片CS4235在DSP的嵌入式系统中的应用

发布者:岭南布衣最新更新时间:2012-07-14 来源: 单片机与嵌入式系统应用 关键字:CS4235  DSP  DMA  PnP 手机看文章 扫描二维码
随时随地手机看文章

引 言

  声卡技术是多媒体计算机技术的关键技术之一,它的出现使得计算机更富表达力。目前,由于采用的录放音芯片结构简单、采样率过低而使得嵌入式系统中的音质效果比较差,远远满足不了人们对高档生活、学习用嵌入式系统的要求。如果能将声卡技术应用到嵌入式系统中,由于声卡的强大功能,必将使整个系统的声音质量上升一个新的台阶。通过分析,WSS(Windows Sound System)兼容声卡和PC机ISA总线的接口原理,我们将其中的声效芯片CS4235应用到基于DSP的嵌入式系统中。不用现成的声卡而利用其上的声效芯片是因为这样做设计起来更灵活方便,可根据系统需要增删相应的功能;不用MCS51系列而采用DSP,是因为对声卡操作需要太多的系统资源,MCS51并不具备此能力,否则硬件接口电路将相当复杂。

1 CS4235原理与结构

1.1 声卡工作原理

  图1示出了声卡的基本工作原理:主机通过总线将数字化的声音信号以PCM的方式送到数模转换器(D/A),将数字信号变成模拟的音频信号;同时又可以通过模数转换器(A/D)将麦克风或CD的输入信号转换成数字信号,送到计算机进行各种处理。

    1.2 CS4235功能结构

  WSS是Microsoft公司为统一声卡的标准,最终为应用提供方便而提出的Windows 环境下多媒体扩展定义的一个音频子系统标准,包括硬件平台和软件接口[1]。CS4235就是一种适应于WSS并且提供了ISA总线接口的声卡核心芯片,除了声音的采集和播放外,其它控制全部依赖于主机;它占用较多的主机时间,但成本比较低。CS4235的功能框图如图2所示。从图2中可以看出,CS4235是一个完整的音频子系统集成电路,提供了16位立体声ADC及DAC、片内可重构数字滤波器、可编程增益值及衰减值的模拟和数字混合器、可选串行接口、具有同时录音和播放能力的全双工通道。CS4235的文档说明见参考文献[2]。

  限于篇幅,这里不介绍CS4235的模拟硬件部分,而主要研究CS4235与DSP的数字硬件接口问题。由于TMS320F206(简称F206)是一种低价格、高性能的16位定点运算数字信号处理器(DSP),性价比极高,目前已成为高档单片机的理想替代品,在通信、语音处理、军事、仪器仪表、图像处理等领域得到了广泛的应用[3],因而系统中选用F206作为DSP。CS4235提供的8位并行接口与ISA总线兼容,是否也与DSP的外部扩展总线兼容呢?表1中列出了CS4235和ISA总线接口的信号引脚及简单描述,相应地也列出了F206的对应引脚。从表1可以看出,要实现DSP对CS4235的直接操作,DSP系统必须提供上述ISA总线信号。DSP芯片一般可提供数据信号线、地址信号线、I/O读写信号线和READY信号线,同时还拥有多个中断输入引脚;但并不直接具备DMA功能引脚,这给DSP与CS4235之间的接口带来了不便,也正是本文所要解决的主要问题。

表1 CS4235和ISA总线接口的信号引脚

信号引脚 简单描述 DSP(F206)对应引脚
SD<7:0> 双向系统数据总线 D<7:0>
SA<11:0> 系统地址总线 A<11:0>
IOR I/O读命令 由IS和RD译码得到IQW=IS+WR
IOW I/O写命令
AEN 地址使能信号 READY
IOCHRDY I/O通道准备好 INT2(实际应用中,只需选择1根中断线与DSP相连)
IRQ 中断申请信号:IRQA=IRQ5,IRQB=IRQ7 IRQC=IRQ9,IRQC=IRQ11,IRQD=IRQ11
IRQE=IRQ12,IRQF=IRQ15,IRQG=IRQ10
DRQ DMA申请信号:DRQA=DRQ0
DRQB=DRQ1 DRQC=DRQ3
DACK DMA应答信号:DACKA=DACK0 DACK1=DAC中,DACKC=DACK3 RS
RESET 声卡复位信号  

2 DSP与CS4235的硬件接口

2.1 F206使用HOLD操作的直接存储器访问

  F206实现DMA功能的关键是该类芯片提供了2个信号引脚:HOLD/INT1和,这2个信号控制的HOLD操作过程如下。[page]

① 。外部设备可以把该引脚驱动到低电平从而请求对外部总线的控制。如果HOLD/INT1中断线被允许,那么这将触发中断。

② ,在响应中断时,软件逻辑可以使处理器发出应答信号,表示它将放弃对其外部总线的控制。根据,外部地址信号(A15~A0)、数据信号(D15~D0)以及存储器控制信号()被置为高阻状态。

  从①、②可以看出,F206的HOLD操作允许对外部程序、数据以及I/O空间进行直接存储器访问,但该功能是在INT1中断程序中实现的,因而中断线INT1对下降沿和上升沿二者都应敏感。当F206检测到下降沿时,它完成正在执行的当前指令,然后迫使程序控制转到中断服务子程序,此子程序执行IDLE(空闲)指令。根据IDLE,变为有效而外部总线被置为高阻状态。只有在检测到HOLD/INT1引脚上的上升沿之后,CPU才退出IDLE状态,变为无效,并使外部总线返回到正常状态。

  从以上分析可以看出,F206的DMA操作与PC机中的DMA操作的区别。在PC机中,CPU收到DMA请求信号后,迫使CPU在现行的总线周期结束后,使其地址、数据和部分控制引脚处于三态,从而让出总线的控制权,并给出1个DMA响应信号;在DMA操作完成且DMA请求信号无效以后,CPU再恢复对系统总线的控制。而在C2XX中,DMA申请信号将引起F206中断,在中断程序中发出软件指令使F206各信号引脚处于三态,同时也给出1个DMA响应信号;在DMA操作完成后,但F206检测到DMA请求信号无效以后,虽然总线返回到正常状态,但但F206仍处在中断程序中。从以上分析可知,尽管中断需要保护断点和现场,使得F206的DMA的处理速度与PC机相比要低的多,毕竟F206也实现了DMA操作,从而可借助DMA控制器8237实现对声卡的DMA操作访问。

2.2 DSP与DMA控制器8237的接口电路

  8237是一个高性能的可编程DMA控制器芯片,可以方便地与CPU相连,实现外部设备与存储器之间的直接数据交换。其内部结构和引脚信号可参阅文献[4]。该控制器通过编程可提供多种类型的控制特性,以优化系统性能,增大数据吞吐量,最高数据传输速率可达1.6 MB/s。图3给出了F206与8237接口的主电路,其中8237送给DSP的要求控制总线的DMA请求信号HRQ,经GAL16V8译码后送到DSP的HOLD/INT1引脚;同样,DSP的DMA应答信号也经GAL16V8译码送回8237的HLDA引脚。地址锁存器74LS573的作用是锁存8237在DMA服务周期通过数据线D0~7输出的高8位地址A8~15。由于DSP不直接提供、、和信号,故这些信号只能由GAL16V8译码得到。

  图3所示电路提供了4个通道的外设请求DMA服务信号,并且8237直接拥有AEN引脚,满足了表1中的所有要求,从而就能正确实现DSP与声卡的接口。实际工作中,我们根据声卡在PC机中的使用情况设置8237的DREQ1和DACK1为声卡的播放通道,8237的DREQ3和DACK3为声卡的采集通道,声卡的中断申请信号IRQ7经GAL16V8反向后与DSP的引脚连接。

2.3 系统工作原理及时序

  图3所示DSP系统对声卡的DMA操作过程可用图4来描述,工作时序如图5所示。现结合图4、图5将系统工作原理及操作顺序说明如下:

① CS4235向DMA控制器8237发出DMA请求信号DREQ;

② 8237向DSP发出总线请求信号HRQ;

③ DSP的引脚检测到下跳沿后,进入INT1中断,保护完断点和现场后,发IDLE指令,DSP的引脚电平变低,响应外部DMA请求;

④ 8237接管总线后,先向CS4235发DMA请求的响应信号DACK,表示允许CS4235进行DMA传送,然后按事先设置的初始地址和需传送的字节数,依次发送地址和读写命令,使得在RAM CS4235之间直接交换数据,直至全部数据交换完毕;[page]

⑤DMA传送结束后,自动撤消向CPU的总线请求信号HRQ,此时DSP检测到引脚的上升沿,DSP返回到IDLE指令的下一条指令,DSP获得总线的控制权,继续在INT1中执行程序。

3 DSP与CS4235的软件接口

  CS4235的ISA总线接口是即插即用(PnP)的,必须通过编程激活声卡后,才能直接存取声卡寄存器,对声卡进行配置,以完成不同的工作。实际上,针对非PnP的老ISA卡设计的ISA插槽同样适用于PnP卡,仅需在软件上做出相应的改动而已。DSP对PnP卡的识别过程与微机对PnP卡的识别过程是一模一样的,图6给出了DSP对PnP卡的识别程序流程。从上述的PnP卡的识别与配置过程可见,如果是在PC机环境中,那么这一过程可自动完成;而在用户所设计的系统中,这一过程就显得有些烦琐,且意义不是很大。能不能避开PnP协议直接对每块PnP卡进行编程,就像对老的ISA卡那样操作呢?实际上,大多数芯片确实提供了这种简洁、快速的方法,统称为"某某公司关键字"接口方法。本文以CS4235为例介绍这种接口技术。下面所给出的5个步骤完成后,该声卡就和老的ISA声卡操作过程一样了。唯一不足的是,如果系统中使用了2块该类型的声卡,则该方法失效。

① DSP送32字节"Crystal Key"到地址端口279H,该PnP卡马上进入配置状态。这32字节数据为:

96,35,9A,CD,E6,F3,79,BC,5E,AF,57,2B,15,8A,C5,E2;

F1,F8,7C,3E,9F,4F,27,13,09,84,42,A1,D0,68,34,1A。

② DSP送句柄号到279H。

③ DSP直接配置每个逻辑器件的配置寄存器,设置I/O端口基址、中断号和DMA通道选择。

④ DSP送79H到279H激活CS4235。

⑤ DSP禁止该PnP卡参与将来的PnP循环。

  上述配置完成后,CS4235自动退出配置状态,进入正常工作,从而就可以根据具体的功能要求对CS4235的寄存器直接进行编程了。

结束语

  在全数字化语言学习系统中,我们采用了声效芯片CS4235来代替以前所用的语音录放芯片MSM6588。尽管硬件电路设计和软件操作复杂了许多,但语言学习系统的重要指标,如通频带、信噪比和失真度都达到了多媒体计算机的音质标准。实践表明,微机中的许多关键技术和优秀的设计思想都可以移植到嵌入式系统中去,使嵌入式系统更加丰富多彩。

关键字:CS4235  DSP  DMA  PnP 引用地址:声效芯片CS4235在DSP的嵌入式系统中的应用

上一篇:增强并口EPP与DSP接口的设计
下一篇:提高单片机抗干扰:如何让你的设计少走弯路

推荐阅读最新更新时间:2024-03-16 13:03

深圳四部门:重点突破 CPU、GPU、DSP、FPGA 等高端通用芯片设计
今(6)日,深圳市发改委、深圳市科技创新委员会、深圳市工信局、深圳市国资委发布《深圳市培育发展半导体与集成电路产业集群行动计划(2022-2025 年)》(以下简称《计划》)。 《计划》提出,到2025年,产业营收突破2500亿元,形成3家以上营收超过100亿元和一批营收超过10亿元的设计企业,引进和培育3家营收超20亿元的制造企业,集成电路产业能级明显提升,产业结构更加合理。 《计划》指出,要建成较大规模生产线,设备、材料、先进封测等上下游环节配套完善,形成从衬底、外延到芯片制造到器件应用完整的宽禁带半导体产业链条。到2025年,产业链国产化水平进一步提升,本地产业链配套和协作能力显著增强。 在高端芯片突破方面,《计划》强调
[手机便携]
基于DSP和LBT的遥感图像数据压缩系统设计
  数据压缩系统是卫星数传分系统的前端模块,接收并压缩星载CCD相机的图像数据。压缩后的码流通过固存设备传输给卫星发射机进行发射,进入数传信道。某卫星星载多个线阵CCD相机,相机时钟频率为50MHz,帧周期为0.77ms,每帧数据为4 096字节,总码速率为725Mbps。要求以1:1、4:1和8:1三种压缩模式压缩相机的图像数据,输出速率在8:1模式下小于100Mbps,在4:1模式下小于200Mbps。并且,机械特性、热特性、电特性等符合接口数据单要求。   自2000年以来,笔者在国外著名学者Malvr提出的双正交重叠变换 ( LBT )的基础上系统地研究了整数(重叠+DCT)的块变换算法以及低复杂度的存储编码算法,使其图
[嵌入式]
基于<font color='red'>DSP</font>和LBT的遥感图像数据压缩系统设计
散列DMA设计的高速串口驱动技术
  1  概  述   由于串口在电报通信、工控和数据采集等领域有着广泛的应用,绝大多数嵌入式处理器都内置了通用异步收发器(UART)。UART数据传输主要通过中断或DMA的方式实现。   中断方式是在接收到数据或需要发送数据时产生中断,在中断服务程序中读写UART的缓冲区(FIFO)实现数据传输。由于串口通信速率一般比较低(典型值不超过115 200 bps),大多数嵌入式系统都采用中断方式来传输串口数据。然而,中断服务程序需要占用CPU的时间,而串口速度的提升也必将导致CPU更频繁地响应UART中断,这势必会造成嵌入式系统的性能下降。   DMA数据传输无需CPU的参与,是一种更加高效的数据传输方式。现有的DMA数
[嵌入式]
STM32 之 ADC_DMA
这里仅仅是一个测量趋势,并不是很精确的测量。 再次重申STM32的ADC不同的通道对应着不同的管脚,本代码中PA1对应着通道1。 包含文件: 由于百度字数限制这里只贴出关键代码: (1)Main C语言: Codee#14684 /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 实验平台 : ST 官方三合一套件 + 硬件 : STM32F103C8T6 + 开发平台 : IAR For ARM 5.40 + 仿真器 : J-Link + 日期 : 2010-10-28 + 频率 :
[单片机]
STM32 之 ADC_<font color='red'>DMA</font>
DSP与PC机的PCI总线高速数据传输
  TMS320C6713是TI公司在TMS320C6711的基础上推出的C6000系列新一代浮点DSP芯片,它是目前为止C6000系列DSP芯片中性能最高的一种.TMS320C6713可在255MHz的时钟频率下实现1800MIPS/1350MFLOPS的定点和浮点运算,因而可极大地满足通信、雷达、数字电视等高科技领域对信号处理实时性的要求.同时其主机口(HPI)可灵活地和PCI总线控制器相连接.而PC机则可通过PCI总线控制器直接访问TMS320C6713的存储空间和外围设备,从而实现PC机与TMS320C6713之间的高速数据传输.   在TMS320C6713 DSP与PC机实现高速数据传输的方案中,可选用PLX公司的P
[嵌入式]
STM32:DMA实例之串口(USART)通信
硬件平台:stm32f10xZET6 开发环境:keil MDK uVision v4.10 开发语言:C、ST_lib_3.5固件库 /* 代码演示 main.c */ #include stm32f10x.h #include bsp_usart1.h #include bsp_led.h extern uint8_t SendBuff ; static void Delay(__IO u32 nCount); /** * @brief 主函数 */ int main(void) { /* USART1 config 115200 8-N-1 */ USART1_Config(); USART1_
[单片机]
中颖单片机双核(DSP和MCU)SH99F100基于工业控制中的应用
双核(DSP和MCU)-工业控制中的应用 SH99F100是一款双核(DSP和MCU)芯片,适用于工业控制场合,如电机调速、变频电源等。MCU可以用来处理开关量、输入输出以及通讯,而DSP只需专注于控制算法的运算。 DSP的架构由三个并行的计算单元(ALU,MAC,SHIFTER)、两个独立的地址发生器(DAG)和一个强大的程序序列发生器(PSQ)组成。计算单元提供了所有处理器能够提供的计算功能,包括单周期乘/累加,位操作,移位操作等。双数据地址发生器使得处理器能够在一个周期内从两个数据存储区(Data Memory和Program Memory)同时取出两个数据。程序序列发生器实现了所有指令的单周期操作,快速的中断响应以及嵌套的
[单片机]
利用FPGA的DSP功能提高图像处理的实例分析
intevac是商用和军用市场光学产品的前沿开发商。本文介绍该公司nightvista嵌入式电子系统的开发,该产品是高性能超低亮度紧凑型摄像机。该摄像机最初采用了流行的数字信号处理器、几个assp和外部存储器件。系统对性能的需求越来越高,工程师团队决定试验一种替代方案——在可编程逻辑中实现可配置软核处理器。这一决定带来了以下好处: 达到了目标所要求的性能 在单个fpga中集成了分立的元件和数字信号处理(dsp)功能 功耗降低了近80% 将五块元件板缩减到一块,显著降低了成本 缩短了开发时间 图1 intevac nightvista摄像机中cyclone系列fpga功能框图   dsp基于处理器的实现方法   n
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved