0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于STLC1502处理器实现IP电话呼叫的应用设计

牵手一起梦 来源:电子技术 作者:徐华根,贺科峰 2021-06-14 14:19 次阅读

STLC1502是基于ST公司的专用于开发VoIP相关产品处理器,是集成了ARM7和D950的双核芯片。普通双音频电话机可通过以STLC1502为核心的VoIP小型用户网关接入Internet,实现IP电话呼叫。

概述

随着2000年互联网泡沫的破灭,IT近几年徘徊在低谷,复苏艰难。然而VoIP(voice over internet protocol)技术带来的冲击波却在不断增强。VoIP又叫IP电话,泛指在以IP为网络层协议的计算机网络中进行话音通信的系统,即在IP网上传送话音。传统的电话网以电路交换方式传输语音,所要求的传输带宽为64kbit/s,且通话时独占电路,通信费用昂贵。VoIP以IP分组交换网络为传输平台,对模拟语音信号进行压缩,打包等一系列的特殊处理,使之可以采用费用低廉的IP数据网进行传输。对端从IP网上接收数据后,再把它还原成话音,实现通话。随着计算机网络的发展和日益普及,VoIP无论是研究和应用都日益趋热,VoIP市场前景广阔。特别是随着最近宽带接入的兴起,网上多媒体应用越来越多,基于IP网络提供包括语音,数据与视频等在内的综合多媒体通信服务,将成为VoIP领域的下一关键性应用。因此,各VoIP的厂家推出了很多相关产品。除了各大VoIP厂家的电信级IP电话产品外,其中最常见的产品还有小型用户网关和IP电话终端。

本文采用STMicroelectronics(意法)公司专门用于用户级VoIP产品开发设计而推出的STLC1502双核处理器芯片,配合添加相关外围芯片后,设计了一种VoIP小型用户网关产品。普通电话机通过该网关接入Internet,可实现IP电话呼叫。

STLC1502处理器

STLC1502是ST公司专用于快速设计开发IP电话和模拟网关设备的高性能VoIP处理器,具有非常丰富的便于开发小型用户网关设备的接口。该处理器是双核芯片,内部集成了低功耗D950DSP和ARM7/TDMI 微处理器,以及两个10/100M以太网媒体接入控制接口(MII:media independenti nterface),还包含了方便测试和调试的JTAG接口(ARM和DSP各一个)。下面将分别介绍ARM7微处理器和D950DSP的部分。

ARM微控制器部分

基于ARM7TDMI处理器核,并具备丰富外围接口的多总线微处理器系统,主要完成整个系统的控制功能和与外围设备的通信,具有以下特性。

(1)60MHz频率。

(2)系统总线基于高级微控制器总线结构(AMBA),包括两条独立的总线:连接高性能系统模块的高性能总线(AHB)和连接低功率外围设备的高级外设总线(APB)。

(3)高速32位数据总线,连接外部存储器。外部程序存储器和外部数据存储器共享数据总线,方便系统存储器的扩展。

(4)16K×32bit内部ROM,可存储系统启动代码。

(5)两个MII接口,与以太网收发器相连,可构成两个RJ45以太网口。

(6)具有内部控制硬件负责管理两以太网端口数据帧的交换和网络数据流的收发处理。

(7)SPI(serial peripheral interface)串行外围接口,可以控制所连接的语音编码器CODEC。与它相兼容的语音编码器有STW5093、

STLC5046、 STLC5048等。这是标准的SPI端口,所以除了可连接CODEC,还可以是其他外设。

(8)IIC端口。连接存储有启动程序和配置数据的串行EEPROM。在IP电话设备中,可连接LCD。

(9)GPIO(通用IO)单元作为可选功能,可作为6×6键盘矩阵的接口。

(10)UART端口,可连接主机终端。启动时,代码可通过UART下载

(11)主处理器接口(HPI),可直连一个外部控制处理器。接口直接和MotorolaMPC850外部总线兼容。

DSP部分

STLC1502内部集成有基于D950核的DSP处理器,可专用于音视频多媒体数据的处理,它的特点如下,

(1)运行频率100MHz,120MIPS。

(2)哈佛结构,独立的指令总线和数据总线,分别访问程序存储器和数据存储器。

(3)内含48k×16程序ROM,存储基本系统管理代码和标准语音编解码代码+16K×16程序RAM;48K×16数据RAM。

(4)内含4k×16大小的DPRAM(双端口RAM),分别和ARM处理器和DSP相连,作为ARM7和D950之间的通信信箱,控制信息和语音分组经

DPRAM交换,还可经DPRAM,DSP从ARM侧下载任选的语音编解码算法

(5)PCM总线接口,用于与语音编码器CODEC相连。

(6)JTAG和仿真端口,用于系统软硬件测试。

小型VoIP用户网关的设计

下面给出基于此芯片的小型VoIP用户网关设计方案。

VoIP小型用户网关

随着VoIP应用的日益广泛,宽带接入的兴起,IP电话从主干长途网向本地市话网延伸,利用已有的数据IP网,在数据网的网络接口接上网关,普通电话与网关连接,即可通过该网关实现IP电话通信,节省电话费用支出,而且网关配置、组网、使用灵活方便。小型用户网关产品有很大的市场需求,其一端上联到IP网的以太网口,一般有一个到两个网络RJ45接口+一端接模拟电话或PBX(用户电话交换机),可以有2~4个模拟电话接口。或者网关内含本地交换功能,直接实现网内部电话的交换。

用户网关在VoIP网络应用的网络结构示意图如图1所示。

图1 网络结构示意图

各个VoIP网关可经IP网实现彼此的呼叫,从而接通电话。图中的电信级VoIP网关是IP网和传统PSTN电话网的互连设备,常由电信运营商来维护和管理。

网关硬件系统

以STLC1502作为主处理器,外围配置语音编码器CODEC芯片、电话机用户环路接口(SLIC)芯片、以太网收发器芯片等即可构成VoIP网关硬件系统。

&nbs p; 系统主要包括主处理器模块、语音编解码器CODEC模块、用户线接口电路SLIC模块、以太网接口模块(外扩存储器模块,RS232串口,用于和主机相连,主机通过串口可配置系统,系统硬件框图如图2所示,该用户网关具有以下的功能。

(1)对外提供4个RJ11普通电话机接口和2个RJ45以太网接口,

(2)普通话机通过该网关直接连入IP网。实现IP电话通信,

(3)在IP网上的话音终端也可直接拨打网关侧的4个普通话机,

主处理器模块

集成了ARM7和D950的双核STLC1502处理器。ARM7控制整个系统的运行。以及和IP网的连接。D950处理语音数据,编码PCM的语音数据,而后交给ARM7,经以太网接口传送出去;反之,ARM7从IP网接收到编码的语音数据包后,把它交给D950,解码为PCM语音数据流,,经 CODEC和SLIC电路后还原成模拟话音送到普通电话机。

语音编解码器CODEC

采用ST公司的STLC5046芯片,STLC5046是单芯片可编程4通道CODEC。连接4块SLIC电路。可完成四路用户电话信号的PCM编解码。 通过对它内部41个工作寄存器的配置。可设置不同的工作参数。如TX/RX增益、编码率(A/η)、时隙分配、独立开闭各话路的电源。参数设置有两种方式:通过芯片控制引脚的静态设置和经由主处理器MCU配置。本方案采用主处理器STLC1502通过SPI接口来设置CODEC的工作参数。

用户线接口电路SLIC

采用STLC30R80。是单芯片SLIC电路。具有B(馈电:直流-48V)+O(过压保护)、R(振铃控制)、S(用户线回路状态监视)、H(2/4 线交换的混合电路)、T(测试电路)功能,集成了铃流信号和标准DC电源供给。SLIC电路是网关设备与电话终端的接口电路,本方案设有四块SLIC芯片、四个RJ45接口。四块STLC30R80SLIC芯片和一块STLC4056CODEC芯片相连接。

以太网接口模块

主处理器芯片STLC1502有两个MII总线接口,分别连接以太网收发器芯片STE100,再通过连接变压器后,形成两个RJ45以太网插口。

片外扩展存储器

片外扩展两块8M字节的HY57V6532200BSDRAM动态存储器,4MB的静态Flash存储器,与IIC接口相连的256kbitEEPROM。

以上各部分模块都在一块电路板上实现,主要芯片都选择了ST公司的芯片,使得系统具有高稳定性,兼容性好。这样,通过简单的无缝连接就完成了VoIP网关硬件系统。

软件部分

软件部分分为操作系统支持、网络接口、VoIP信令协议、语音编解码处理和用户应用配置五大模块,以美国Windriver公司的VxWorks为操作系统。VxWorks是实时操作系统。实现高效的任务调度管理,BSP(板级支持包)作为硬件和软件的接口。在系统工作之前初始化硬件,VxWorks还包含了TCP/IP协议栈。在其上可方便地实现网络应用程序。本方案以H.323作为VoIP协议,实现呼叫的建立和控制。DSP的语音编解码算法是软件的核心,关系到通话语音质量的好坏。语音编码符合G.711、G.723.1标准,软件部分各模块层次结构如图3所示。

应用开发注意事项

系统时钟

系统基准时钟可由固定的外部25MHz晶振/振荡器提供,内部PLL(锁相环)提供产生独立的100MHzD950和60MHzARM7时钟,这样就简化了外部时钟电路的设计。

图2 小型VoIP网关硬件框图

图3 软件部件各模块层次结构图

存储器配置ARM存储器

内部ROM。存储系统启动代码bootloader,启动代码轮询串行外设(IICEEPROM)UART串口。和HPI,从外部下载应用程序到系统。下载后,系统控制权交给该外部程序。可扩展四种类型的外部存储器,Flash、SRAM、DRAM(SDRAM或EDO)和串行EEPROM。其中 Flash、SRAM和DRAM共享32bit数据总线和32bit地址总线,串行EEPROM可通过IIC总线连接。我们扩展了16M的SDRAM、 4M的Flash和256k的EEPROM、SDRAM和flash和系统数据、地址总线相连,EEPROM连接到IIC。

系统也可从Flash或串行EEPROM启动,这由处理器BOOT_SEL引脚选择。有以下几种存储器配置方式:

(1)Flash,SDRAM,包含BOOTP和TFTP的启动码存放在Flash.应用程序或者也存放在Flash,或者可通过以太网或UART下载到SDRAM。

(2)EEPROM,SDRAM,内部ROM启动内部ROM启动代码启动后,载入存放在EEPROM的BOOTP和TFTP代码。应用程序经以太网或UART串口下载到SDRAM。

(3)Flash,SDRAM,EEPROM,就如方案1,但是更灵活。EEPROM可用于存储网络参数(MAC地址。和其他特定的板级参数数据,所以 Flash不需要再分成永久存储区和可升级存储区。通过保存在EEPROM的写flash程序,也可把经以太网络口下载的代码写到flash,便于用户更新定制应用程序。

(4)SDRAM,从内部ROM启动。应用程序经HPI接口从主机下载。经由不同的片选,选择不同的外部存储设备。32bit的数据总线可选择以 16bit或8bit位宽访问外部存储单元。例如,Flash可选择为16bit访问,DRAM可选择32bit访问。三个片选供选择三个静态存储器(每个4MB),四个片选选择动态存储器(每个8Mbyte)。

DPRAM

在ARM的APB(advanced peripheral bus)总线和DSP数据总线之间接有2k×16的双端口RAM(DPRAM),能被ARM7和D950访问,作为ARM7和D950之间相互通信的邮箱,交换数据或控制信息。在ARM7侧,DPRAM地址映射起始为0x0C180000。而在D950侧,DPRAM起始地址为0x8000。

DSP存储器

DSP内有三条存储器总线,I+X和Y。I是指令存储器总线,X和Y是数据存储器总线。存有DSP系统代码和编解码算法代码的程序ROM和程序RAM接在I总线,数据RAM接在X或Y总线上。

ARM和DSP之间数据交换

2k×16的双端口RAM共16个邮箱,被分成两组,每组8个邮箱。前8个邮箱用于ARM7传送信息给D950,剩下的8个邮箱用于D950传信息给 ARM7。每组中的8个邮箱,4个用于传送控制信息,4个用于数据信息。本文基于STLC1502处理器的VoIP网关支持四路双向语音通道,因此每路单向话路配置1个控制邮箱和1个数据邮箱。

本文设计了一款基于ST公司的专用于VoIP相关产品开发的STLC1502处理器的小型VoIP用户网关。把该网关连接到以太网上,普通双音频电话和该网关连接,与处于同一局域网上的基于PC的H.323VoIP软件电话通话,实验结果良好。在此网关方案的基础上,稍作修改,如在STLC1502的通用 I/O口上添加接键盘,在IIC总线上再接一LCD液晶显示屏,CODEC换作具有话筒和话筒接口的STW5093芯片,即 可实现VoIP可视电话硬件系统。软件添加视频编解码程序后,可实现VoIP可视电话。由此可以看出,基于STLC1502,可快速简便地开发出VoIP相关用户产品。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18261

    浏览量

    222085
  • 芯片
    +关注

    关注

    446

    文章

    47769

    浏览量

    409066
  • 接口
    +关注

    关注

    33

    文章

    7635

    浏览量

    148452
收藏 人收藏

    评论

    相关推荐

    Cortex-A9处理器的精妙应用

    `Cortex-A9处理器属于ARM公司的Cortex系列,是ARM公司既ARM11后推出的最新系列,在Cortex三大系列A、R、M中属于A系列,“A”系列面向尖端的基于虚拟内存的操作系统和用户
    发表于 11-03 17:02

    S3C2410处理器

    S3C2410处理器通过GPD端口连接LED1-4四个灯,试着画出其电路连接图,并变成实现其逐一点亮功能。
    发表于 11-23 21:50

    如何基于OMAPL138处理器实现蓝牙+WiFi功能

    我们目前使用的是OMAPL138处理器,然后在处理器上运行嵌入式Linux系统;在这个平台基础上,我们希望使用蓝牙+WiFi功能。 1、请问我们可以使用什么模块进行操作? 2、考虑过WL1831mod模块,但是这个模块好像只支持AM335X系列,不支持OMAPL138
    发表于 06-21 03:55

    Core8051处理器有什么特点?

    爱特公司 (Actel Corporation) 宣布扩展 Core8051处理器以支持其高可靠性Axcelerator® 及低功耗 IGLOO® 系列FPGA,继续为嵌入产品设计人员提供高性能
    发表于 09-24 07:45

    32位处理器的开发与8位处理器的开发有哪些明显的不同?

    32位处理器的开发与8位处理器的开发有哪些明显的不同?开发一个32位的嵌入式系统需要哪些工具和环境呢?32位嵌入式系统的开发过程中存在哪些技术难点?有什么方法去应对呢?
    发表于 04-19 08:11

    Cortex-M3处理器是什么

    STM32单片机STM32的核心Cortex-M3处理器是一个标准化的微控制结构,希望思考一下,何为标准化?简言之,Cortex-M3处理器拥有32位CPU,并行总线结构,嵌套中断向量
    发表于 07-16 06:33

    Cortex™-M3处理器

    2.1STM32F103xx增强型LQFP48引脚分布2.2 STM32F103xx概述2.2.1ARM®的Cortex™-M3核心并内嵌闪存和SRAMARM的Cortex™-M3处理器是最新一代
    发表于 08-11 07:03

    RK3188处理器特征是什么?

    RK3188处理器特征是什么?
    发表于 10-26 07:38

    MSM8940处理器有哪些特点

    MSM8940处理器是什么?MSM8940处理器有哪些特点?
    发表于 11-09 07:09

    STM32处理器的启动方式是什么?

    STM32处理器的启动方式是什么?
    发表于 11-29 07:48

    双内核Cortex-A9处理器设计实现

    类别:嵌入式系统处理器知识产权许可商ARMHoldingsplc已经成功开发出双内核Cortex-A9处理器设计(被称为Osprey)的两个实现。Cortex-A9处理器能与其他Cor
    发表于 12-13 06:03

    RK3399处理器与AR9201处理器有哪些不同之处呢

    RK3399处理器与AR9201处理器有哪些不同之处呢?hi3559A处理器与RV1126处理器有哪些不同之处呢?
    发表于 02-21 07:29

    请问RISC处理器和ARM7处理器的区别在哪

    请问RISC处理器和ARM7处理器的区别在哪?求大神解答
    发表于 06-30 17:51

    Sitara AM62处理器的资料分享

    和预测性维护),有助于赋予HMI全新的意义,而不是仅限于实现人机交互的界面。AM62处理器能够以低功耗实现边缘器件的分析功能(挂起状态功耗低至7mW且无需特殊考虑散热设计),支持工程师灵活地在尺寸受限
    发表于 11-03 06:11

    Arm Cortex-R82处理器技术参考手册

    ®-R82处理器的专用调试组件。 DebugBlock被实例化为单独的顶级单元,以允许您在始终在线的POWER域中实现调试组件。 尽管DebugBlock作为一个单独的单元进行了实例化,但它仍然是Cortex®-R82处理器的一
    发表于 08-17 08:02