(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)等时钟信号。

本文相关DataSheet:
(6)(PCM-SWITCH)
这是逻辑中的核心部分,其框图如图5所示。

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