首页 > 范文大全 > 正文

基于ARM平台信令分析仪的研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于ARM平台信令分析仪的研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘 要】arm构架嵌入式产品的在信令分析仪中的一种典型应用。通过搭建ARM平台来实现采集机与服务器之间的数据交换,主要解决TD-SCDMA通信网络中数据采集、分析、传输的平台问题。

【关键词】ARM;数据采集;信令分析;3G通信

0.引言

ARM(Advanced RISC Machines)具有高性能,低功耗的特点,广泛应用于无线设备、消费类电子、工业控制、仪器仪表等领域。本文通过将ARM技术与通信领域的信令分析仪结合,设计了一种能替代传统X86构架的高性能、低功耗、低成本的信令分析仪。

1.信令分析仪功能简介

通信信令分析仪(Signaling Analyser)是一种用于对通信信号采集、分析、故障检测、指标监控等功能的仪器。它广泛应用于2G/3G移动通信领域,能对通信信号智能拆包、解码、分析。对通信信道检测、改善误码率、掉话率、提升容量提供实际的数据依据。下图(图1)是采用ARM的信令分析仪整体框图:

图 1

ARM信令分析仪连接了原始数据和服务器,利用ARM处理器高速处理能力和对多任务的良好支持能够协调数据的接收、处理、发送任务。此种体系结构采用ARM替代传统上位机中介平台,能使数据采集和传输过程一体化,便于控制采集过程和维护采集数据。

2.ARM平台软件设计

采用的平台是SUMSUNG生产的ARM9-2440核心板。ARM体系结构对于LINUX系统支持良好,有开源的bootloader程序,能方便移植LINUX内核、制作文件系统,形成完整的嵌入式LINUX系统。具体的步骤如下:

选用u-boot作为LINUX系统的引导程序,bootloader主要作用是初始化硬件设备,设置数据堆栈段,为操作系统程序提供软硬件环境。

第二步裁剪LINUX系统并编译,可以根据需要保留和添加相应功能模块,注意配置内核时要保留网络和USB驱动接口。

最后yaffs2作为文件系统。应用程序采用QT界面开发平台。主要模块如下图(图2):

图2

用户操作层负责ARM界面的人机交互,发送业务分析层的控制命令对底层操作。数据处理层负责收集采集到的数据并选择性存储有效数据。底层的采集任务交由采集卡执行,使用中断方式发送数据。

3.接口驱动程序设计流程

3.1网卡驱动程序设计

在ARM板上提供网络接口与上位主机的数据通信,应用TCP协议来实现数据的收发,需要在LINUX内核中添加网络模块,并编写相应的驱动程序。根据网卡型号选择注册函数格式如下:platform_driver_register(&devname_driver);修改内核中相对应的结构体:

Static struct platform_driver devname_driver = {

.driver = {

.name = “devname”

.owner = THIS_MODULE,

},

.probe = devname_probe,

.probe = devname_drv_remove,

.probe = devname_suspend,

.probe = devname_resume,

}

3.2 USB驱动程序设计

USB外部接口设备主要用于ARM与数据采集卡的连接。由于LINUX-2.6.32.10内核本身支持USB MassStorage设备,并支持自动挂载。因此在裁剪内核时需要配置内核支持USB驱动,如:scsi disk support设备和USB mass storage support设备驱动必须选择,而scsi medie changer support则根据需要自行选择。然后在驱动程序中加入USB配置代码:

int usb_hcd_s3c2440_probe();

writel(readl(s3c2440_MISCCR), s3c2440_MISCCR);

s3c2440_usb_set_power(dev.platform_data, 1, 1);

以上驱动程序需要在PC机上搭建交叉编译环境,编译为适合ARM体系架构运行的bin文件。最后需在Makefile中修改交叉编译工具为arm-linux-gcc,make生成内核镜像文件。

4.数据传输与分析

数据传输接口作为ARM关键数据传输通道,需要采用有较大传输速率和通用处理接口的网卡芯片,配合ARM核心芯片实现远程数据传输。通信方式与LINUX网络通信原理基本相同,采用C/S架构连接系统的各个部分。下图(图3)是数据传输基本流程示意图:

图3

传输过程中应该确定以下几点:ARM板网卡访问基址为0x20000000(BANK4的基址),此为物理地址。使用CMD引脚来区分网卡数据信号和地址信号,CMD为低电平时发出地址信号,再将CMD置高电平读写数据。

读写接口采用ior/iow访问。定义如下:static unsigned char ior(board_info_t*db, int reg);

static void iow(board_info_t *db, int reg, int value);

两个函数的reg为对相应的寄存器地址写入值,使能IO端口。value为要写入的数据,readdb为读出数据的IO起始地址。

5.结语

实现此应用模型关键在于LINUX平台的搭建和ARM接口驱动程序的编写调试,对于不同的采集数据仍然需要在应用程序中提供支持。以上是我对信令分析仪运行于ARM平台的一点研究,希望对于信令分析仪的多平台实现有一点启发和借鉴作用。

【参考文献】

[1]杜春雷.ARM体系结构与编程.清华大学出版社,2008.

[2]韦东山.嵌入式Linux应用开发完全手册,2008.

[3]刘宝玲,付长东,张轶凡.3G移动通信系统概述.北京:人民邮电出版社,2008.