基于ARM9的无线电台网络控制系统的设计与研究

时间:2009-03-18 16:45:18 来源:电子测量技术 作者:何君 徐益平 陈雪丽 慈文彦

1、引言

在如今的信息时代,由于人们对系统性能和成本控制要求的不断提高,嵌入式系统凭其优良的性价比和独特的便利性得到了越来越多的人们的青睐。无线电台已经由 传统的模拟式向数字化演进,由孤立系统向网络互联迈进。网络技术的快速发展极大地推动了嵌入式系统的发展。

随着无线电台技术的飞速发展,越来越多的行业开始使用无线电台,因为用无线电台方式实现数据采集、监视与控制,相对于架设专用的电缆或光缆,具有造价低 廉、运行可靠、维护方便等优点[1]。无线电台的使用从最早的按键电码、电报发展到模拟电台加无线MODEM、数字电台和DSP及软件无线电。数据传输速 率从低速走到高速,传输的信号从简单代码发展到遥控遥测数据、数字化语音、动态图像等。无线电台因其高稳定性和高可靠性适用于各类无线数据采集与监视控制 系统,尤其是应用在输油供气管网监测、城市防空报警控制、铁路信号监控、电力负荷监控[2]、城市路灯监控、铁路供水集中控制、GPS定位系统、地震测 报、污水处理、环境监测等工业自动化系统。

2、系统概述

本文把嵌入式技术与无线电台通信技术相结合,研究出一种新型的嵌入式网络控制器。控制器内的电路板是以arm9嵌入式微处理器为核心,对外提供多个接口, 包括3个串口,小型的系统总线接口,以及非常丰富的常用嵌入式系统接口,如SPI x 1、I2C x 1、I2S x 1、AD x 2、PWM x 1 、USB Host、 USB Slave接口等,有了这些接口,我们可以根据需求拓展嵌入式网络控制器的功能。在本系统中我们主要使用3个串口及以太网口。

该无线电台网络控制器设计的主要原理是:电台接收对讲机发出的语音信号并通过音频电缆输出到网络控制器终端。控制器内的语音编解码芯片负责把模拟的语音信 号转换成数字信号,控制器内的软件负责压缩音频数据,压缩后的语音数据包通过互联网发送到服务器,服务器软件根据一定的规则转发数据包到其它网络控制器终 端。收到语音压缩码流的控制器负责解码、D/A转换,通过音频电缆把语音信号输入到电台,最后无线电台通过内部的发射模块将语音信号发送到对讲机。这个过 程实现了语音数据跨互联网传输,用户通过PC或其他网络设备将控制指令发送到控制器终端。终端内的软件负责解释指令并且通过串口将指令传送给电台。电台再 下达指令给各个被控制的设备,从而实现了对电台及相关设备的远程控制。

3、硬件设计

在分析了无线电台网络控制器工作原理的基础上,我们对系统的子模块和任务进行了整体设计。整个系统可以分成两个相对独立的部分来完成:无线电台网络控制器 终端和服务器软件。控制器1将编码后的g72x码流发送到服务器,服务器根据路由表信息,将数据转发到控制器2、控制器3、控制器4…控制器n,控制器与 服务器之间采用TCP或UDP协议。无线电台网络控制器结构示意图如图1所示。

硬件设计除了核心板的选型外,主要是外部电路的设计。我们选择了性价比比较好的SBC-2410核心板。外围电路的设计主要包括音频信号采集模块、网络数 据收发模块、串口控制电路等[3],其中音频信号采集电路我们选的是uda1341语音编解码芯片,网络控制器芯片我们采用的是cs8900芯片。

3.1 嵌入式核心板简介

SBC-2410具有高性能、低功耗、接口丰富和体积小等优良特性,并且已经应用在多个设计中,基于可重用的思想,整个平台承载ARM最精简系统,把有用 的信号线通过两排插针引出去。无线电台网络控制器终端的具体应用按照实际的需求进行设计,通过两排插座与核心板相连[4]。

图1 无线电台网络控制器结构图

3.2 语音芯片接口电路

由于S3C2410内置的IIS总线接口能够和其他厂商提供的多媒体编解码芯片配合使用,所以无线电台网络控制器终端内部语音模块的设计是基于 IIS(Integrate Interface of Sound)接口的。提供IIS接口能够读取IIS总线上面的数据,同时也为FIFO(First Input First Output)数据提供DMA(Direct Memory Access)的传输模式,这样能够同时传送和接收数据。IIS接口有3种工作方式,分别是正常传输模式、DMA模式和传输/接受模式,在本文的设计中, 我们选择了传输/接受模式,在这种模式下,IIS总线可以同时接收和发送音频数据。

3.3 网络芯片接口电路

S3C2410内嵌一个以太网控制器,可以在半双工或全双工模式下提供10M/100Mbps的以太网接入,支持媒体独立接口MII(Media Independent Interface) 和带缓冲DMA接口。由于S3C2410内部并未提供物理层接口,所以我们需要外接一块物理层芯片以提供以太网的接入通道。而常用的单口 10M/100Mbps高速以太网接口器件均提供MII接口和传统的网络接口,所以可以方便地与ARM连接。

在无线电台网络控制器终端,我们采用cs8900作为以太网物理层接口。它的基本工作原理如下:在收到主机发来的数据报后,侦听网络线路是否忙。如果线路 忙,它就等到线路空闲为止,否则,立即发送该数据帧。在发送过程中,首先添加以太网帧头,然后生成CRC校验码,最后将此数据帧发送到以太网上。在接受过 程中,它将从以太网收到的数据经过解码、去帧头和地址检验等步骤,然后保存在片内。在通过CRC校验后,它会根据初始化配置情况,通知cs8900收到了 数据帧,最后,用某种传输模式传到ARM的存储区中[5]。

cs8900有三种工作模式:I/O模式、存储器模式和直接存储器存储模式,系统默认为I/O模式,可通过程序使其工作于其它模式。cs8900的各个工作模式各有优缺点,在本系统的设计中,我们采用的是它的I/O模式。
网卡芯片不能单独工作,还必须有一个网络变压器在RJ-45接口和网络芯片中间进行电平交换。另外网卡芯片有两个LED指示是用于指示接收和发送状态的,如果网络连接正常并且正常收发数据报时,LED会闪烁。

4、软件设计

在本系统的软件设计中,主要包括无线电台网络控制器终端应用程序设计及服务器软件设计[6]。

4.1 无线电台网络控制器终端应用程序设计

无线电台网络控制器终端应用软件整体结构图如图2所示。应用软件结构图显示了系统程序设计主要由四个模块组成,分别是语音及串口数据处理模块、工作参数设 置及读取模块、出厂值还原模块、服务器中转及管理模块。其中前三个模块运行于嵌入式开发板,最后一个模块运行于windows 平台。四个模块中,语音及串口数据处理模块是功能相对复杂的模块,划分为两个相对独立的模块:语音数据处理模块和串口数据处理模块,其中语音数据处理模块 又由3个子模块构成,分别是读键值、读网络命令和语音数据流处理。工作参数的设置主要是对写配置文件和读配置文件的设置。

4.2 服务器软件设计

服务器监控及控制模块的程序设计中,我们主要使用两个定时器。定时器1每隔2秒产生一个超时事件,服务器每隔2秒向集群发送一次查询数据包,控制器收到查询数据包后,会产生一个应答包,这个应答包中的信息反映了控制器当前的状态。

5、系统运行截面图

系统的调试过程中,我们用了2个无线电台及服务器进行测试。服务器运行界面截图如图3所示。我们设置2个无线电台网络控制器终端的IP地址分别是 192.168.0.8和192.168.0.18。按下对讲机的PPT按键时,指示灯由绿灯变成蓝灯,表明服务器进入转发状态。如果想隔离某个控制器, 不让其接受或转发信号,则在远程控制的框中,输入对应的IP地址,然后选择关闭,则可以对其进行隔离,

图4 远程串口成功控制kiss modem软件截图

与其相对应的指示灯呈红色。若想关闭或打开所有的控制器,则按远程控制框中相应的按钮即可实现。

kiss modem软件是摩托罗拉电台的专用管理软件,该软件通过串口与电台通信,通过读取电台的数据就可以知道电台当前的工作状态然后通过窗口显示相关信息。我 们通过远程串口对电台下达指令,kiss modem会对指令做出响应,如图4所示。当我们把对讲机的信道切换按钮拨到1时,对讲机发出一个信号给电台,电台通过串口把信号传输给控制器,kiss modem软件把数据通过网络转发出去,另一个控制器经过网口转串口的数据传输,从而电台ID会显示1001,以此类推,目前最多可以设置14个电台6 结束语。
实践证明,本文所设计的电台网络控制器已经实现了基本的功能,调试结果证明硬件设计方案完全满足产品的功能需求,软件设计采用功能优异的嵌入式Linux操作系统方便了今后软件的升级。整个系统造价低廉、运行可靠、易于施工和维护,在远程数据监控系统中有较大的推广价值。

基于ARM9的无线电台网络控制系统的设计与研究相关推荐

  1. arm linux嵌入式网络控制系统,基于ARMLinux的嵌入式网络控制系统的研究与设计

    摘要: 随着计算机技术.控制技术和网络技术的蓬勃发展,嵌入式系统与网络控制系统的应用越来越广阔.当前控制系统正经历一场前所未有的变革,远程监控和智能控制成为控制系统发展的重要方向.通过嵌入式网络控制系 ...

  2. 基于单片机的智能教室控制系统的设计

     word完整版可点击如下下载>>>>>>>> 基于单片机的智能教室控制系统的设计_c++课程设计题目汇总-硬件开发文档类资源-CSDN下载内容包括详细 ...

  3. android 智能家居 pdf,基于Android的智能家居控制系统的设计探究.pdf

    设计与研发 2015.10 基于Android的智能家居控制系统的设计研究 马洪轩 (中南大学,湖南长沙,410012) 摘要:随着科学技术的发展,各种电器和家具控制的智能化是目前市场流行起来.人们生 ...

  4. matlab rltool,基于Matlab工具箱Rltool的控制系统校正设计

    山西电子技术2018 年第 4 期 软件技术 收稿日期:2018 -04 -10 作者简介: 乔永凤( 1975-) ,女,山西左云人,讲师,硕士研究生,主要研究方向: 语音信号处理,自动控制原理及其 ...

  5. 基于TCP协议的网络摄像头的设计与实现

    一.摘要 基于TCP协议的网络摄像头的设计大部分和博文"基于UDP协议的网络摄像头的设计与实现"相同,本篇博文采用的TCP协议栈为NicheStack协议栈(同理,可使用LWIP协 ...

  6. java智能家居_基于JAVA的智能家居控制系统的设计(毕业设计).doc

    基于JAVA的智能家居控制系统的设计(毕业设计) 基于JAVA的智能家居系统的设计--信息控制子系统 PAGE 4 目 录 TOC \o "1-3" \h \z \u HYPERL ...

  7. 基于微信的智能家居控制系统的设计与实现

    基于微信的智能家居控制系统的设计与实现 目 录 1 绪论 6 1.1 课题研究的背景 6 1.2 智能家居系统的研究现状和发展前景 6 1.3 课题研究的意义 7 1.4 设计的研究内容 8 2 相关 ...

  8. 基于matlab的磁悬浮控制系统,基于MatLab的磁悬浮球控制系统的设计

    基于MatLab的磁悬浮球控制系统的设计 对磁悬浮球系统的构成.控制器的设计.软硬件的实现进行了介绍.采用M (本文共4页) 阅读全文>> 磁悬浮技术是集电磁学.电子技术.控制工程.信号处 ...

  9. 【毕设狗】【单片机毕业设计】基于单片机的超市收银机控制系统的设计

    软件安装: Keil:点击下载 Proteus:点击下载 AD:点击下载 Visio:点击下载 设计简介: 本设计是基于单片机的超市收银机控制系统的设计,主要实现以下功能: 实现扫码枪扫码录入功能 实 ...

  10. 基于java智能家居,基于JAVA的智能家居控制系统的设计(信息控制端的设计)-论文二稿...

    基于JAVA的智能家居控制系统的设计(信息控制端的设计)-论文二稿 PINGDINGSHAN UNIVERSITY毕业论文 (设计 )题 目:基于 JAVA 的智能家居控制系 统的设计(信息控制端的设 ...

最新文章

  1. IntelliJ IDEA 18 周岁,吐血推进珍藏已久的必装插件
  2. 架构漫谈(二):认识概念是理解架构的基础
  3. 「会会」产品体验报告
  4. Android开发中常见的设计模式
  5. 新天龙八部服务器维护了吗,《新天龙八部》3月11日全服更新维护公告
  6. React中jsx的规则
  7. WordPress的RSS订阅优化
  8. 网络数据库的复制和同步(转摘)
  9. robolectric android studio,Android Studio + Robolectric + AndroidAnnotations 根本框架
  10. VCSA 6.X(VMware vCenter Server Appliance)空间不足问题处理
  11. CUDA安装失败,及解决方案
  12. 【Python】SyntaxError: Non-ASCII character '\xe8' in file
  13. hud android,Android 加载等待控件 ZFProgressHUD
  14. 程序员考证书,有用吗?
  15. LM4990音频功放芯片
  16. Nuvoton_N76E003使用教程
  17. Tableau实战 Tableau官网各版块访问情况(三)页面停留访问人数交叉分析
  18. 【计算机视觉】opencv靶标相机姿态解算1之基本概念(空间旋转、旋转轴)
  19. 大鱼吃小鱼c语言编程,scratch大鱼吃小鱼设计思路
  20. 群晖服务器显示灯,【群晖 DS119j 单盘位NAS 网络存储服务器使用总结】功能|配置|机身|指示灯_摘要频道_什么值得买...

热门文章

  1. 渝粤题库 陕西师范大学 《中国古代文学(四)》作业
  2. PMP项目管理-项目时间管理(2)
  3. 高翔视觉slam十四讲习题(1)
  4. 团队管理:需求之殇——两个凡是
  5. 利用Oh-My-Zsh打造你的超级终端
  6. Android产品研发(十一)--应用内跳转Scheme协议
  7. 消除六边形html5,六边形消除
  8. 世硕电子厂的故事!!测!
  9. python提升算法3_XGBOOST_docs_Scikit-LearnAPI_XGBClassifier_train参数01
  10. 异常:org.hibernate.cache.NoCachingEnabledException: Second-level cache is not enabled for usage [hiber