当前位置:首页 > EDA > 电子设计自动化
[导读]摘 要:本文提出了一种基于FPGA的数字交换机的实现方案。方案中利用FPGA对PCM信号进行处理,在FPGA内实现了话路交换、控制接口、时钟信号与信号音产生等主要功能,大大简化了硬件电路,并且较之传统方案具有明显优越

摘 要:本文提出了一种基于FPGA的数字交换机的实现方案。方案中利用FPGA对PCM信号进行处理,在FPGA内实现了话路交换、控制接口、时钟信号与信号音产生等主要功能,大大简化了硬件电路,并且较之传统方案具有明显优越的可扩展性。
关键词:数字交换系统;现场可编程门阵列;设计

专用交换机过于强大专业的功能,以及昂贵的价格,并非小型建网的理想选择;同时,传统的PBX的模拟交换方式存在着失真大、欠灵活以及随规模增大而复杂度剧增的不足。本文提出的方案,有别于常用PBX的模拟交换,是一种适用于一定规模局域网的数字交换机。FPGA的使用在保证了性能提高的同时,在复杂度和扩展性方面也有了明显的改进。

一 、系统结构
本系统实现了带有16路内线电话、同时具备4路外线接口的数字交换机,系统结构如图1。


(1)用户接口及PCM编码部分
用户接口电路选用IDT公司的821611芯片,该芯片与编码芯片IDT821034配合良好。用户线各对应一片821611,四路用户接入一片 821034(可调增益的四路PCM编码芯片),最终4片821034的PCM信号(16路)一起挂接在PCM总线上,送入FPGA。要注意的是, 821034采用的类似SPI (Serial Peripheral Interface)的串行控制接口,使我们能采用带SPI的单片机(例如,Analog公司的Aduc812),很方便地实现对多片IDT821034 的控制。

(2)外线接口
外线接口一部分负责外线的铃流检测和变压器(仅通过语音)接入。铃流检测采用了SGS公司的 LS1240。每当铃流进入,向FPGA送出高电平,从而测知外线的呼入。另一部分为与内线中的SLIC和CODEC类似的语音编****部分,负责将交换后的数字信号转为语音送到外线(或者将外线语音及DTMF编码后送入FPGA)。

(3) DTMF接收及提示语音产生
系统中,20路电话(含4路外线)复用4路DTMF收号芯片进行收号。FPGA将待收号话路的PCM信号送到当前空闲的收号模块。DTMF的接收由 MT8870完成, FPGA与MT8870之间,有一片MT8965(单通道语音编****芯片),将FPGA送出数字信号转为模拟信号由MT8870读取。而交换过程的提示语音则选用ISD4004(语音录放芯片,SPI控制),将其语音输出接在MT8965的语音输入端,再以PCM的编码形式送入FPGA。每路DTMF 接收和语音送出均为固定时隙,交换控制在FPGA中完成。

(4) FPGA
FPGA作为核心部分,负责数字交换、信号音产生及控制、收号控制、提示音控制、外线接口控制、时钟产生等功能。为了与外围器件配合,选用兼容5V接口的FPGA(如Altera的ACEX 1K)。详细说明在后面给出。

(5)MCU
MCU(这里选用Analog公司的Aduc812,具有包括SPI在内的的灵活的用户接口)负责整个系统运行过程的调度及流程控制。软件设计的一些细节也将在后面进行说明。


二、PGA逻辑设计
系统内的PCM信号(用户语音、外线语音、提示语音3种语音的PCM编码信号)需要处理和交换;电话所需的信号音(拨号、提示、忙等)需要产生;MCU虽然负责整个系统的配置控制,但它与器件之间还需要控制逻辑;同时,系统还需要特定的时钟和定时信号。上述的这些功能,都由FPGA来完成。图3是FPGA的顶层硬件框图。


MCU对各功能块的相关操作均通过以总线读写寄存器的方式进行。
(1)总线控制(BUS-TRAN)
本功能块将MCU的总线(高8位地址线和低8位数据地址复用线)转换为分开的地址与数据总线(以BUS表示)。
(2) SPI片选生成(SPI-/CS)


图4中除/SS之外的信号均由MCU产生,只有/SS信号需要FPGA提供。通过对功能块内寄存器的写操作,生成外围器件的SPI-/SS信号。

(3) DTMF收号(DTMF-REC)
FPGA 与8870有DATA0-DATA3(数据)、StD(状态线)、TOE(片选有效)等6线相连,FPGA在MCU控制下查询StD状态,有正脉冲时,通过TOE使8870输出有效,再由DATA0-DATA3读取收号结果。同时, 还要产生MT8965的控制线( CA,/F1i, CSTI)以配合收号和送提示音过程。

(4)外线检测(EXTERNAL-DET)
这里只需要对外线接口送来的状态线进行查询(读寄存器方式),以测知是否有外线呼入。

(5)时钟产生(TIMING-GEN)
将系统时钟分频,得到PCM-FS、 PCM-Clock 、MCLK(For 821034)、OSC(For 8870)、C2i(For 8965)等时钟信号。

(6)数字交换(PCM-SWITCH)
这是逻辑设计中的核心部分,其框图如图5所示。



图5中INNER指内线用户,EXTERNAL指外线用户,DTMF指收号模块,AUDIO指提示语音模块。同时,RAM-D用来存放PCM数据,RAM-ADD用来存放控制RAM-D读出的地址。

各路PCM信号在用来标识时隙的SLOT-CLOCK上升沿顺序写入对应的RAM-D内,RAM的大小均为32×2 byte(可容两帧),确保送上一帧数据时,不影响当前帧写入。RAM-ADD为32 byte的RAM,存放着对应通路的交换信息,例如,RAM-ADD(IN-IN)中的0地址处存放的是内线交换时希望0时隙内线用户收到的时隙的标号,这些信息由MCU总线写入。同时,在SLOT-CLOCK上升沿,FPGA将RAM-ADD顺序读出的输出作为地址来读取RAM-D,从而实现了交换功能。基于这样的原理,系统实现了内线、外线、DTMF收号、提示语音这几块之间的灵活交换(DTMF和提示语音为单向信号,实际在同一PCM总线上)。

(7) 信号音产生(SIGNAL-GEN)
信号音频率均为450 Hz,仅以通断时间来区分。我们在FPGA中建立了一张450 Hz、8k采样的正弦表(PCM编码后),工作时循环读出并进行并串转换。利用定时器和三态门对其进行处理,从而形成了通断时间不同的各种信号音。将各种信号音通过三态门挂接在用户的PCM总线上,需要时只要打开对应的三态门,就可以将正确的信号音送到当前的时隙上。

三、工作流程及软件设计
FPGA为MCU提供了与其他器件间的接口,使其能够以简短的指令实现原本复杂的底层操作。限于篇幅,这里只作简要的介绍。

1. 内线通话
内线摘机:如果该用户主叫,向该时隙送拨号音(到拨号为止),同时将主叫话路送到当前有闲的DTMF模块(如果没有,送忙音)的时隙上,收号完成再从 DTMF时隙拿掉(或超时拆线),根据收号结果,看被叫用户状态,忙则将忙音送主叫时隙,否则向主叫时隙送回铃音,同时令被叫振铃;如果该用户被叫,则切掉该用户振铃,同时取消主叫时隙的回铃音,将这两个时隙的话路交换,建立连接。

内线挂机:如果通话在连接状态,则取消通话连接,送对端时隙忙音;如果无通话连接,则取消对方振铃(如果存在的话),并拿掉本时隙上的所有信号。

2. 外线通话
外线呼入:当测知有外线呼入时,如果没有空闲收号模块,则等待直到出现空闲为止;否则,将呼入外线的编码信号送至DTMF模块的时隙,同时将提示拨分机号的提示语音编码信号送至呼入外线的时隙,等待拨号完成(或超时拆线)。后面的过程与内线通话类似,唯一不同的是向外线送忙音只需拿掉送至呼入外线时隙的所有信号即可,而送给外线的回铃音是由提示语音来替代的。

呼叫外线:在内线摘机后的收号过程中,当用户拨号第一位为某特定数字(例如“0”),认为是呼叫外线,将该话路由收号时隙拿掉,并寻找一路空闲外线(若无则送忙音),将话路时隙与外线时隙进行交换,建立通话,后续过程与内线通话相似,但仅需处理内线端即可。

需要注意的是, 821034的串行控制接口与标准的SPI略有不同,在/SS有效前需要1个SCLK,拉高后需要2个SCLK,所以编程中在写SPI的前后,各进行了一次伪写(即在未拉低/SS的情况下,写SPI)操作,以确保操作的正确。

四、结语
系统中,除语音至PCM编码段外,其余话路部分实现了完全数字化,可以显著提高内线通话质量(特别是内部网具一定规模的情况下)。同时,将原本IC实现的功能集成在单一的FPGA中实现,减小了系统复杂度,降低了成本,增加了系统的稳定性,并且这使系统的升级相较于传统的PBX变得更为方便灵活,用户可以根据要求在不改动硬件的情况下以编程方式实现较自由的功能扩展。特别地,随着规模的增大,本方案的上述优势会愈发明显。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

最近为什么越来越多的研究开始利用FPGA作为CNN加速器?FPGA与CNN的相遇究竟能带来什么神奇效果呢?原来,FPGA拥有大量的可编程逻辑资源,相对于GPU,它的可重构性以及高功耗能效比的优点,是GPU无法比拟的;同时...

关键字: FPGA 可编程逻辑资源 GPU

FPGA的应用领域包罗万象,我们今天来看看在音乐科技领域及医疗照护的智能巧思。

关键字: FPGA 科技领域 智能

据全球最大石油生产商沙特阿美(Saudi Aramco)称,全球石油市场依然紧张。对于一个仍然严重依赖化石燃料的世界来说,这不是一个好兆头。沙特阿美CEO Amin Nasser表示,如今闲置产能非常低。如果亚洲重新开放...

关键字: NAS RAM SE CE

强大的产品可降低信号噪音并提高分辨率与动态

关键字: Spectrum仪器 数字化仪 FPGA

最近某项目采用以太网通信,实践起来有些奇怪,好像设计成只能应答某类计算机的ICMP(ping)命令, 某类计算机指的是Windows特定系统,其他系统发送ping都不能正确识别。

关键字: 嵌入式Linux FPGA 协议

近两年,国外厂商的FPGA芯片价格飙升,由于价格,货期,出口管制等多方面因素的影响,很多公司都在寻找FPGA国产化替代方案。我工作中正在使用的几款芯片也面临停产的风险,用一片少一片,了解到国产FPGA发展的也不错,完全自...

关键字: FPGA 芯片 EDA

本篇是FPGA之旅设计的第十二例,在前面的例程中,完成了DS18B20温度传感器数据的采集,并且将采集到的数据显示在数码管上。由于本例将对温湿度传感器DHT11进行采集,而且两者的数据采集过程类似,所以可以参考一下前面的...

关键字: FPGA DS18B20温度传感器

这是FPGA之旅设计的第十三例啦,本例是一个综合性的例程,基于OLED屏幕显示,和DHT11温湿度采集,将DHT11采集到的温湿度显示到OLED屏幕上。

关键字: FPGA OLED屏幕

第八例啦,本例将介绍如何通过FPGA采集DS18B20传感器的温度值。

关键字: FPGA DS18B20传感器

这是FPGA之旅设计的第九例啦!!!本例将介绍如何使用FPGA驱动OLED屏幕,并在接下来的几例中,配合其它模块,进行一些有趣的综合实验。由于使用的OLED屏是IIC接口的,对IIC接口不是很清楚的,可以参考第五例的设计...

关键字: FPGA OLED屏幕

电子设计自动化

21191 篇文章

关注

发布文章

编辑精选

技术子站

关闭