2.3 语音监听模块部分的设计
语音监听部分采用时隙交换电路和语音检测模块组成,语音检测模块采用ZARLINK的3.3V多功能CODEC MT91L60[4]。这款芯片能实现声音信号的A/D、D/A转换,并为标准的电话机手柄等接收发送装置提供模拟接口。当E1接口电路与2M实际线路连通后,2M 链路上的话音时隙要通过时隙交换电路与MT91L60电路相连,构成了话音时隙收发的通道。在这个过程中要初始化时隙交换电路,将2M链路上的需要监测的话音时隙交换至MT91L60。打开MT91L60接收通路至电话机手柄输出,设置ITU-T A-law话音编码方式,设置接收增益+6dB,设置非消侧音非环回模式等。这些设置是通过设置MT91L60内部寄存器完成的,完成这一系列设置后,语音测试就可以开始了,语音可以通过电话机手柄听到,其他测试内容可以从MT91L60内部寄存器读到结果。
3系统软件设计
软件部分主要由启动代码的设计和应用程序的设计,基于ARM是复杂的片上系统(SOC),这种复杂系统里的多数硬件模块都是可配置的,需要由软件来设置其需要的工作状态。因此在用户的应用程序启动之前,需要有专门的一段启动代码来完成对系统的初始化。由于这类代码直接面对处理器内核和硬件控制器进行编程,一般都是用汇编语言写的。启动代码就是完成各种初始化工作,并引导进入C程序。
3.1 bootloader设计
启动代码[5]的主要实现功能包括以下部分:
(1)设置程序入口指针;
(2)设置中断向量表;
(3)初始化存储器系统;
(4)初始化CPU各种模式的堆栈和寄存器;
(5)初始化目标系统中要使用的各种片内外设;
(6)初始化用户程序执行环境;
(7)引导主应用程
具体实现的部分代码如下: