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

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

3天内不再提示

基于S3C2410处理器实现铁路线路质量远程实时监测系统的设计

电子设计 来源:网络整理 作者:佚名 2019-11-04 07:53 次阅读

1、引 言

随着列车全面提速以及铁路部门客货运输量不断增大,铁路线路负荷不断加重,铁路安全问题日益突出。目前铁道检测部门主要采用铁轨检查车检测铁轨质量,但是由于铁轨检查车价格昂贵,各机务段配备的数量有限,不能满足铁路检测部门对铁轨质量数据连续检测和积累的要求。因此铁道检测部门迫切需要一种可靠性高,实时性强的小型智能系统作为铁轨检查车的补充。针对这种情况,本文设计了一种新型铁路线路质量远程实时监测系统。本系统综合利用移动通信嵌入式系统设计等技术,实现了铁轨数据的实时采集、分析、传输,以及自动评估和报警。

ARM技术是嵌入式系统方面的主流技术。目前市场上ARM芯片速度可达几百兆,以此为主控芯片可在硬件上实现高速、高精度且具有一定处理能力的数据采集处理通信系统。本系统采用的Samsung公司的S3C2410处理器,结合Windows CE操作系统来实现其功能。S3C2410处理器是一款低价、低功耗、高性能的16/32位系统微处理器,在嵌入式应用领域有着良好的表现。S3C2410具有丰富的接口资源,能够满足本系统的设计需求。Windows CE操作系统是专门为掌上型电脑设计的电脑环境,它将便携式技术和现有的Windows技术相结合,并提供了丰富的驱动资源。本系统在设计中采用了CMDA模块和USB接口。原始数据可通过USB接口取出,进一步进行事后处理。本系统通过CDMA模块连接无线网络,将处理完毕的数据实时地送到客户端,以实现特定信息查询和告警功能。

2、系统工作原理

系统分为ARM处理器模块、协处理器FPGA模块、A/D模块、传感器模块和外部通信模块5部分,基本结构如图1所示。ARM处理器和现场可编程门阵列(FPGA)共同组成监控系统的核心处理单元。传感器模块采集的模拟信号经A/D模块量化后,存入FPGA生成的FIFO中;ARM处理器通过FPGA产生的中断信号来读取FIFO中的数据;数据处理完毕后ARM处理器通过FGPA控制CDMA模块建立TCP/IP连接,连接一旦建立则通过无线网络将数据传回客户端。

基于S3C2410处理器实现铁路线路质量远程实时监测系统的设计

2.1 协处理器FPGA模块

本系统的协处理器采用Xilinx公司的FPGA,型号为SPARTANIIE XC2S100E。该芯片共有2700个逻辑单元,10万个逻辑门,片内块RAM为40 KB。协处理器内部结构见图2。其具体实现以下功能:

A/D模块读/写时序控制;

生成3个FIFO,其主要功能是存储经A/D编码的数据;

提供ARM处理器控制信号。

FPGA芯片分4部分来实现上述功能:

(1) 内部控制信号产生器

FPGA对50 MHz时钟分频产生A/D芯片采样时钟Sampleclk和ARM处理器外部时钟Sysclk;Sysclk经锁相环电路(PLL)后产生ARM处理器工作所需的时钟信号。

(2) ARM控制器

提供ARM处理器正常工作所必须的各种控制信号;实现ARM处理器地址总线、数据总线和外部中断信号接入。

(3) A/D控制器

控制A/D模块的数据转换。产生A/D转换起始信号(/HOLD),检测数据转换完成信号(/EOC),产生FIFO写入信号,实现数据转换通道选择。

(4) FIFO存储器

生成3个16位、数据深度为511的FIFO,完成A/D转换数据的存储。

2.2 ARM处理器模块

ARM处理器模块由FLASH、SDRAM和S3C2410共同构建。本系统选配用Samsung公司的K9F1208U0A构建8位FLASH存储器系统。K9F1208U0A单片容量为64 MB;选用两片单片容量为32 MB,数据宽度为16位的HY57V561620CT,并联构建32位SDRAM存储器系统,共64 MB的SDRAM空间可以满足嵌入式操作系统和各种复杂算法的运行要求。ARM处理器对各模块的控制则是通过底层驱动控制协处理器FPGA产生各种控制信号来实现。

基于S3C2410处理器实现铁路线路质量远程实时监测系统的设计

2.3 A/D模块

A/D转换芯片采用TI公司的ADS8364芯片,它具有以下性能:

6个独立数据输出通道;

模拟信号差分输入;

6个独立的16位ADC

采样频率最高为250 MHz;

采样精度到最后两位,且抗噪性能好。

通过FPGA内产生的采样时钟信号控制A/D模块的采样频率。FPGA输出宽度为一个时钟周期的低电平脉冲到/HOLD_X引脚,A/D转换开始,经16.5个时钟周期后A/D转换完成。A/D模块根据FPGA内产生的读信号和通道选择信号选择相应的FIFO存储数据。

2.4 传感器模块

传感器模块可以根据所须采集的数据来选择。本系统主要运用于火车机车车体震动测量,所以采用3个使用ADXL105高精度单轴加速度传感器芯片制作的加速度测量模块。测量模块分别安置于车体底部的垂直方向和水平方向,用于测量车体在X、Y、Z方向上的加速度。测量数据以差分信号的形式输入到精密放大器中,经比较放大后直接送到A/D模块中。

2.5 外部通信模块

外部通信模块由两部分组成: 485通信模块和CDMA模块。

485通信接口采用的是MAXIM公司的MAX1490芯片。这是一款完全隔离的485数据接口芯片,单工工作方式,传输波特率最大可达2.5 Mbps。其输出引脚直接与ARM处理器的串口2(UART2)相连;ARM处理器通过串口2读取时间和坐标等相关数据的广播信息。ARM处理器串口0(UART0)与AnyData DTGS800 CDMA模块相连;监测数据经预处理后通过CDMA模块发送到地面服务器。

3、软件设计

软件设计主要使用Embedded Visual C++语言和VHDL语言。VHDL语言用于编写FPGA程序;ARM处理器的调试则使用C语言

系统开始工作后ARM处理器和FPGA协处理器中的FIFO开始初始化。经A/D转换后的数据存入3个数据输出通道对应的FIFO中。FIFO中的数据容量达到一定限度即产生中断,ARM处理器中的主程序产生中断等待线程;一旦中断产生则进入中断服务程序,读取数据。数据经检测程序进行预处理后通过CDMA模块发送出去。图3为系统工作流程图。

基于S3C2410处理器实现铁路线路质量远程实时监测系统的设计

3.1 系统的同步处理

因为A/D模块与FPGA协处理器上电即开始工作而ARM处理器完成系统加载,端口初始化大概需要10 s左右的时间。在这个过程中FIFO中存储的数据已经被写满。如果ARM处理器在程序加载完成后直接使用这部分数据则会产生检测结果与广播信息不匹配的问题。为防止系统因各模块工作时序混乱而出现的数据检测错误的情况。在ARM完成Windows CE系统加载并进入检测主程序后产生一个清零信号用于清除3个FIFO中的数据。实现系统的同步工作。

3.2 中断的产生及处理

在本系统中如果对A/D转换数据采用实时读取的方式,则必然导致ARM处理器工作效率较低,所以在电路设计时采用了中断方式。A/D模块输出数据以循环方式分别写入3个FIFO中。一旦FIFO中可使用数据容量减小到一定限度则产生中断,ARM处理器进入中断服务程序并读取FIFO中的数据。

3.3 列车广播信息读取

火车机车广播信息通过监控设备不断地发送广播信息。信息传输以标准的RS485传输协议进行,通信波特率为9600 bps,采用10位异步通信方式:1位起始位+8位数据位+1位停止位。每组数据包由17字节数据组成,包括月日时分秒、时速、公里标、交路号和车次。数据格式为:起始位+数据位+停止位+BCC校验。其中:起始位为1字节,固定为0x02;数据位为14字节;停止位为1字节,固定为0x03;BBC校验为1字节,是前面15字节的“异或”校验。

软件实现:接收广播信息程序的实现主要是利用了Windows的消息机制。首先初始化S3C2410芯片的UART2口,包括设置波特率为9600 bps,配置端口,并将端口与事件绑定。然后启动线程不断侦听端口。如果有数据输入则会产生读取事件,此时线程读取一个字节的数据,并由串口将数据发送至主线程。最后,主线程通过相应函数接收数据,数据接收完毕则对数据进行长度检测和异或校验。如果检验通过则将数据转存入二级缓存(一级缓存继续存放数据),并通知上级模块读出数据;然后清空二级缓存,等待下次数据进入。广播信息读取程序界面见图4。

3.4 加速度数据获取

数据采集是通过应用程序与驱动程序的交互来完成的。实现交互的方式有很多,例如可以利用callback函数(回调函数)或将函数应用程序中的数据处理函数指针传给驱动,以及使用SETEVENT等来实现。考虑到软件的升级,本系统采用的是SETEVENT方法。Windows CE系统与PC上的系统存在很大差异。一旦系统的某些模块有所改动,必须重新编译Windows CE系统和烧写FLASH,工作量较大。使用SETEVENT的方法可在不改动驱动的情况下对应用程序进行调试,从而避免了反复烧写FLASH。

软件设计思路:数据采集软件启动后必须对FIFO中数据进行复位。因为从Windows CE系统启动到数据采集软件开始工作需要15 s,但 A/D模块及FIFO模块在系统上电后即开始工作,因此如果使用这部分数据就会造成数据与列车广播信息的不匹配。驱动程序在响应中断后通过SETEVENT机制通知应用程序,此时数据读取控制权就完全交给了顶层用户。用户可以根据自己的需要来控制数据的读取及处理。数据采集程序界面见图5。

4 结束语

本文所研制的系统综合利用了移动通信和嵌入式系统设计等技术,与传统检测设备相比,大大提高了线路监测的实时性及系统性。同时,该系统注重监测数据处理和检测方法的研究,并在实际系统中加以应用。

本系统在设计时充分考虑了电路的灵活性和通用性,可根据不同的功能要求编写相应的VHDL语言程序。系统所使用的Windows CE操作系统可以任意裁剪,这对于功能的转换很有帮助。本系统已研制完毕,现处于现场实验阶段。

基于S3C2410处理器实现铁路线路质量远程实时监测系统的设计

基于S3C2410处理器实现铁路线路质量远程实时监测系统的设计


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

    关注

    2551

    文章

    51090

    浏览量

    753485
  • 处理器
    +关注

    关注

    68

    文章

    19282

    浏览量

    229793
  • FPGA
    +关注

    关注

    1629

    文章

    21736

    浏览量

    603261
收藏 人收藏

    评论

    相关推荐

    基于S3C2410处理器实现便携式无线心电监护系统的设计

    主要介绍一种基于S3C2410平台的三导联远程心电监护系统。该系统能够不受时间、空间的限制对心脏病患者进行实时监护,从而方便患者与医护人员随
    的头像 发表于 04-20 09:53 3502次阅读
    基于<b class='flag-5'>S3C2410</b><b class='flag-5'>处理器</b><b class='flag-5'>实现</b>便携式无线心电监护<b class='flag-5'>系统</b>的设计

    S3C2410处理器与Nand flash 的问题

    一个64M Nand flash存储S3C2410处理器的Nand flash相应接口连接,请问这个64M存储空间是否属于8个bank中的一个bank?因为有些书上说bank 0到bank 7
    发表于 11-20 21:41

    S3C2410处理器

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

    基于ARM S3C2410处理器的PDA人机接口电路设计

    结束语   本文结合实际消费电子PDA的研究与开发要求,参照目前国内外PDA的各种功能和结合实际需要,选用三星公司的S3C2410处理器,结合PDA通用功能的需要,并考虑硬件扩展的方便性,设计了PDA
    发表于 06-19 05:00

    Linux实时操作系统s3c2410的移植

             本文描述了linux实时操作系统移植到arm处理器的方法和嵌入式linux实时操作
    发表于 09-11 08:27 34次下载

    S3C2410处理器 Bootloader(Vivi)源代码

    S3C2410处理器 Bootloader(Vivi)源代码分析 这边的2410开发板提供的光盘上已附交叉编译工具:arm-linux-gcc-2.95.3(源码为cross-2.
    发表于 02-09 15:39 22次下载

    基于S3C2410的RTC模块应用设计

    基于S3C2410的RTC模块应用设计 摘 要:本文简要介绍了S3C2410嵌入式微处理器,分析了RTC(Real-time clock)硬件构架及其工作
    发表于 04-08 23:13 1607次阅读
    基于<b class='flag-5'>S3C2410</b>的RTC模块应用设计

    Windows CE.NET在S3C2410处理器上的移植

      本文分析了嵌入式操作系统Windows CE。NET的特点,并利用工具Platform Builder 4。2完成了其在以ARM920T为核心的S3C2410处理器上的定制。   1 Windows CE
    发表于 08-27 14:41 624次阅读
    Windows CE.NET在<b class='flag-5'>S3C2410</b><b class='flag-5'>处理器</b>上的移植

    S3C2410处理器特性

    S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用0.18um制造工艺的32位微控制
    发表于 10-10 11:52 5612次阅读

    基于S3C2410的土壤墒情监测系统设计[图]

    摘要: 设计了以ARM处理器为核心的土壤墒情采集监测系统,采用AQUA-TEL-TDR土壤水分传感对土壤含水量进行采集,选取S3C2410
    发表于 01-20 01:30 694次阅读

    基于S3C2410处理器和IEEE802.11b实现无线温度变送器的设计

    S3C2410处理器功能十分强大,资源丰富。它内部集成了ARM公司的32位微处理器ARM920T,主频最高可达203 MHz,具有独立的16 KB指令Cache和16 KB数据Cache,还有LCD
    的头像 发表于 11-04 07:47 2449次阅读
    基于<b class='flag-5'>S3C2410</b><b class='flag-5'>处理器</b>和IEEE802.11b<b class='flag-5'>实现</b>无线温度变送器的设计

    基于S3C2410处理器对Windows CE 5.0操作系统实现BSP移植

    ,是一种硬实时嵌入式操作系统,它可以在多种处理器架构(如x86、MIPS、ARM和 SH4)上运行,Windows CE支持ARM体系结构,这是基于S3C2410
    发表于 03-06 10:10 1053次阅读
    基于<b class='flag-5'>S3C2410</b><b class='flag-5'>处理器</b>对Windows CE 5.0操作<b class='flag-5'>系统</b><b class='flag-5'>实现</b>BSP移植

    基于Linux操作系统S3C2410处理器实现GPS实时导航系统的设计

    这里提出一种实用的设计方案,通过对系统的各方面配置,实现GPS实时导航功能。系统主控器件采用韩国Samsung公司生产的ARM核32位RISC微处理
    发表于 03-09 10:47 1082次阅读
    基于Linux操作<b class='flag-5'>系统</b>和<b class='flag-5'>S3C2410</b>微<b class='flag-5'>处理器</b><b class='flag-5'>实现</b>GPS<b class='flag-5'>实时</b>导航<b class='flag-5'>系统</b>的设计

    基于在S3C2410处理器平台上实现Windows CE.NET的应用设计

    本文分析了嵌入式操作系统Windows CE.NET的特点,并利用工具Platform Builder 4。2完成了其在以ARM920T为核心的S3C2410处理器上的定制。
    的头像 发表于 09-24 10:03 2563次阅读
    基于在<b class='flag-5'>S3C2410</b><b class='flag-5'>处理器</b>平台上<b class='flag-5'>实现</b>Windows CE.NET的应用设计

    基于S3C2410处理器实现USB网卡无线网络功能的实现

    目前,嵌入式技术已广泛应用于工业控制、消费类电子产品、通信系统等各类市场产品。并且随着互联网的日益发达,具有无线接入功能的嵌入式系统更加具有发展前景。本文将介绍支持IEEE 802.11g协议的54M USB无线网卡在嵌入式系统
    的头像 发表于 05-05 17:04 2020次阅读
    基于<b class='flag-5'>S3C2410</b><b class='flag-5'>处理器</b><b class='flag-5'>实现</b>USB网卡无线网络功能的<b class='flag-5'>实现</b>