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)引导主应用程

具体实现的部分代码如下:

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查