基于FPGA的数字交换系统的设计与实现

技术分类: 可编程器件  | 2007-07-26
来源:电讯技术 肖亮

  (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变得更为方便灵活,用户可以根据要求在不改动硬件的情况下以编程方式实现较自由的功能扩展。特别地,随着规模的增大,本方案的上述优势会愈发明显。

       参考文献

     [1]叶敏.程控数字交换与交换网[M].第二版.北京:北京邮电大学出版社,2003.

     [2]Application Note(AN-408)[Z].IDT,2003.

     [3]ACEX 1K Programmable Logic Device Family[Z].Altera,2001.

     [4]Aduc812 Handbook[Z].Analog Devices,2003.

1】【2
加载中

对文章的评论

剩余字数:  

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销