技术专栏  快速登录 注册
首页 供应信息 求购信息 厂商名录 RoHS器件 价格查询 技术资料 行业资讯 行业标准 交流论坛 会员专区
首页 >  行业资讯 >  技术专栏 > 设计专栏 > 正文
基于CH365的PCI语音数据采集卡的设计

http://www.cecbn.com  2008年05月08日10:01:26 微计算机信息

作者:刘国锦 庄晓琼 时斌 唐浩

 

摘 要:PCI总线已成为当今计算机的主流总线,各种基于PCI总线的系统应运而生。语音数据采集卡就是一种以PCI总线作为接口的系统。文章对PCI总线控制专用芯片CH365的特点、本地硬件定址等功能做了详细的介绍,并简单阐述了将I/O口扩展、地址译码及本地硬件定址集成在CPLD内的实例,以及此系统在通信系统中的应用。

PCI局部总线是微型计算机中处理器/存储器与外围控制部件、扩展卡之间的互连接口。它独立于处理器的独特设计和其在高性能、低成本、开放性等方面的优势,使其得到迅速普及和发展,目前成为PC机事实上的总线标准。CH365是一个连接PCI总线的通用接口芯片,支持I/O端口映射、存储器映射、扩展ROM以及中断。它将32位高速PCI总线转化为简便易用类似于ISA总线的8位主动并口接口,将原先基于ISA总线的板卡升级到PCI总线上。

 

1系统介绍

本系统是一个语音数据采集卡,该系统具有高速的传输速率,可直接由PC机控制整个系统的运作。它采用PCI插卡形式,配备一系列的外围电路协同工作。PCI局部总线通过对外围扩展口的控制,来读写数字交换开关MT8980中的语音存储器,将语音数据读取到PC机的存储器中并进行压缩存储。外围扩展口一般使用82C55,本系统用ALTER公司的MAX7128S型CPLD代替82C55进行扩展,它同时可以用于译码电路和本地硬件定址。

                          图1  语音采集卡结构示意图

 

2.CH365功能介绍

2.1 CH365芯片特点

CH365可设定PCI板卡的设备标识(Vendor ID、Device ID、Class Code等),其非突发存取的实测速度可达每秒7MB,读写脉冲宽度从30nS到240nS可选。CH365支持PC机以单字节、双字节、四字节单位对I/O端口或是存储器进行读写;支持长度达240字节的I/O端口;支持本地硬件定址功能,自由选择I/O地址,在指定地址实现I/O端口;它直接映射支持容量为32KB的存储器SRAM或者扩展ROM,无需外接元器件扩容支持容量为64KB以及128KB的存储器或扩展ROM。相比较于其他的PCI总线控制芯片,CH365的价格适中,可有效的减少设计成本。

2.2空间映射

PC机中包括三种空间:存储器空间、I/O空间、配置空间。存储器空间主要包括内存、显存、扩展ROM、设备缓冲区等,一般用于存放大量数据和进行数据块交换。I/O空间主要包括设备的控制寄存器和状态寄存器,一般用于控制和查询设备的工作状态以及少量数据的交换。配置空间主要用于向系统提供设备自身的基本信息,并接受系统对设备全局状态的控制和查询。

为避免地址冲突,PCI总线要求各个设备所占用的地址能够重定位,重定位是由设备的配置空间的基址寄存器实现的,通常情况下,各个设备的基址寄存器总是被BIOS或操作系统分配为不同的基址,从而将各个设备分别映射到不同的地址范围。在需要时,应用程序也可以自行修改基址寄存器中的基址,从而将设备映射到指定的地址范围。

CH365的I/O空间占用256字节,由于偏移地址F0H~FFH是CH365芯片自身的专用寄存器,所以可以提供240字节给外部设备使用,偏移地址是00H~EFH,实际I/O地址是I/O基址加上偏移地址。

2.3本地硬件定址功

通常情况下,PCI设备的I/O基址是由计算机初始化时自动分配的,一方面保证了一些专用I/O地址不会被随意占用,另一方面保证多个设备的I/O地址不会冲突。CH365提供了一种可由产品制造商选定PCI设备I/O地址的方法,即本地硬件定址,其原理是将PCI设备的部分I/O地址译码,通过外围的二级译码电路实现。CH365将PCI总线I/O操作的地址同步提供给外围电路,当外围电路对地址译码匹配后,向CH365请求本地硬件定址。CH365的数据线D4被下拉,将复用引脚MEM_WR设定为本地硬件定址请求输入信号线IOP_HIT。

                        CH365的具体工作模式设定

数据线

数据线的设定说明 

设定值=0 

设定值=1 

  D0

设定系统复位后A15的默认值

 复位后A15为0

复位后A15为1

  D1

选择PCI厂商和设备标识ID

 由外部提供ID

使用CH365默认的ID

  D3

选择复用引脚59的功能

 INT_REQ

如果D4=0则为EXT_WR

如果D4=1则为SYS_EX

  D4

选择复用引脚63的功能

 IOP_HIT

   MEM_WR

 

3硬件设计方案与实现

硬件电路设计主要包括PCI接口部分、CH365接口控制芯片、由CPLD集成的I/O扩展电路及地址译码和本地硬件定址等外围电路。

3.1外围电路设计

CH365可以直接连接大多数常用的I/O端口扩展电路,一般使用82C55作为扩展芯片。本系统用ALTER公司的MAX7128S型CPLD代替82C55,将82C55的所有输入输出端口和各控制口逐一映射到CPLD的各I/O口,通过对CPLD编程就可实现82C55扩展口的功能。CPLD内除了集成82C55外,还可实现各种地址译码电路及本地硬件定址电路,这样就可大大的节省板子的面积,节约成本。CH365通过CPLD读写8980内部的语音存储器。它的PA口连接8980的数据总线,PB口中的PB0~PB5连接8980的地址总线,其余端口控制8980的控制信号R/W及CS等。CH365控制CPLD的PA口和PB口先写8980的控制寄存器,选择其中语音存储器及要被输出的数据流的位置,再通过控制PA口写地址总线A4~A1的值来选择与通道0-31相应的存储器。

3.2地址译码及本地硬件定址

译码及本地硬件定址电路都是通过对CPLD编程实现的,片内使用74138和74139产生I/O扩展芯片的片选信号和本地8位总线地址。对CH365的A9~A2译码产生片选信号CS_8255,将其接至扩展芯片的片选端,当地址范围在0200H~0203H时,扩展芯片处于工作状态,可实现I/O操作。使用地址A9~A0的译码信号及IOP_RD读信号实现数据的读控制信号。

                地址译码电路

CH365内部已经限定本地硬件定址的地址范围是03FFH~0000H,对应于ISA板卡的范围。当PC机进行操作时,CH365的A9~A0总是同步输出操作地址,外围的二级译码电路只要对地址A9~A0进行匹配比较。CH365要求外围二级译码延时不超过20nS。本系统采用CPLD实现本地硬件定址信号输出,对CH365提供的A9-A4译码,产生8个长度为16字节的I/O地址区域,将Y0接至IOP_HIT端,即选择200H~20FH为I/O操作的地址范围。

                本地硬件定址电路

 

4. I/O端口读写子程序编写

本例中,I/O端口读写是整个软件编程设计中的核心,因此,这里简单介绍I/O端口读写子程序。在前面的地址译码中已确定本系统I/O操作地址范围在200H到20FH,而对于扩展口实际用到的地址只是00H到03H,扩展口芯片可将8位数据线扩展为3个8位的数据端口。部分程序如下:

UCHAR   mByte;  // 数据单元,用于保存从 I/O 端口中读出或准备写入的数据

mPCH365_IO_REG   mIOBase = NULL;// I/O 端口基址,设定为 0 则 DLL 会自动加上基址

CH365mGetIoBaseAddr(0,&mIOBase);//获取I/O端口基址www.51kaifa.com

CH365WriteIoByte(0, & mIOBase -> mCh365IoPort[0x03], 0x80 );// 10000000B

// 上述操作设置8255的控制字,PA 、PB、PC 输出

CH365mWriteIoByte(0,&mIOBase->mCh365IoPort[0x02],0x00);//PC口控制8980的                片选

CH365WriteIoByte( & mIOBase -> mCh365IoPort[0x00], 0x08);

// 上述操作从8255的PA输出数据08H

CH365WriteIoByte( & mIOBase -> mCh365IoPort[0x01], 0x00 );

// 上述操作向8255的PB输出数据 00H

CH365mWriteIoByte(0,&mIOBase->mCh365IoPort[0x01],0x40);

CH365WriteIoByte( 0,&mIOBase->mCh365IoPort[0x03],0x90 );//10010000B

CH365mWriteIOByte(0,&mIOBase->mCh365IoPort[0x01],0xe0);//开始读数据

 

5.结束语

本系统采用南京沁恒公司的PCI接口控制芯片CH365完成语音数据采集卡的设计。CH365以其强大的功能和简单的用户接口,为PCI总线接口的开发提供了一种简洁快速的方法。设计者只需设计出本地接口的外围电路,就可直接挂接到PCI总线上。

本文作者创新点:将地址译码、本地硬件定址和I/O扩展等逻辑性外围电路全部集成于一个CPLD芯片内,通过对其进行编程完成各部分功能,可方便的修改内部程序实现不同的要求,同时节约了设计成本。使用PCI总线方式采集语音数据,可实现速度快,实时性强的特点,在通信系统语音数据采集方面提出一种新的接口方式,今后通信系统中的语音信号的采集和处理将有更大的发展。

 

参 考 文 献

[1] 李贵山,陈金鹏.PCI局部总线及其应用[M].西安:西安电子科技大学出版社,2003

[2] CH365中文手册.南京沁恒电子有限公司www.51kaifa.com

[3] 郑学坚.微型计算机原理及应用[M].北京:清华大学出版社,1987

[4] 韩雪峰,黄焱,杨涛. 基于PCI总线的高速数据采集接口的设计与实现[J]. 微计算机信息,2005,8-1


 

京ICP证07004726号      本站网络实名:中国电子元器件商务网
Copyright ©2006-2008 CECBN Corporation, All Rights Reserved 中国电子元器件商务网版权所有
服务热线:[广州]020-87237207/87236321  Email:admin@cecbn.com