收藏 分享(赏)

基于ARM7的轨道检测仪嵌入式系统设计.doc

上传人:dreamzhangning 文档编号:2285005 上传时间:2018-09-09 格式:DOC 页数:5 大小:194.50KB
下载 相关 举报
基于ARM7的轨道检测仪嵌入式系统设计.doc_第1页
第1页 / 共5页
基于ARM7的轨道检测仪嵌入式系统设计.doc_第2页
第2页 / 共5页
基于ARM7的轨道检测仪嵌入式系统设计.doc_第3页
第3页 / 共5页
基于ARM7的轨道检测仪嵌入式系统设计.doc_第4页
第4页 / 共5页
基于ARM7的轨道检测仪嵌入式系统设计.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、基于 ARM7 的轨道检测仪嵌入式系统设计2009-12-28 17:01:00 周祺睿 杨斌 供稿摘 要:描述了一种以轨道检测仪的为应用目标的 ARM7 嵌入式系统的设计过程。以 ARM7TDMI 核的嵌入式处理器 S3C44B0 为中心,采用了 CH375、MAX197 等高性能外围电路构建了系统的硬件平台,运用 ARM 特有的中断处理机制实现了数据采集、数据处理和人机互交对软件的实时性要求,该设计已成功的用于轨道检测仪样机。关键词:ARM7;S3C44B0;快速中断; 轨道检测仪1 引言对铁路轨道进行静态几何参数的检测是铁路部门的一项常规工作,使用便携式轨道检测仪能大幅降低检测人员的工作

2、量。这种智能测量技术不仅可以提高测量的精度和可信度,还能提供现场的和后续的轨道数据分析,极大的提高了轨道检测工作的质量和效率。便携式轨道测试仪对嵌入式计算机系统的功能和性能提出了许多新的需求:高实时性、高运算性能、高集成度、低功耗、低成本。传统单片机系统虽然能完成一般的控制任务,但其运算能力太低,不足以满足现场数据处理的要求,由基于SoC 思想设计的 ARM 系列微处理器构成的嵌入式系统便能良好的满足上述要求。 ARM 核以高性能低功耗著称,再配以 IC 制造厂商提供的大量片上外设,使得 ARM 系列处理器拥有非常优良的嵌入式应用性能。本设计中采用了三星公司制造的 ARM7TDMI 核处理器

3、S3C44B0 完成控制和运算工作,12 位高性能 AD 转换器 MAX197 完成传感器信号的转换,USB 主控制器 CH375 完成数据到 U盘的转存,系统也包含了液晶屏、键盘、微型打印机等其他必要的外设。2 系统设计要求2.1 测量原理轨道检测仪的测量原理如图 1 所示,传感器由一个装有滚轮的机械支架固定,操作人员在轨道上推行该检测仪。位移传感器测量轨道 AB 之间的间距 d,倾角传感器测量轨道平面与水平面的倾角 ,光电编码器被连接到一个滚轮上用于记录当前的里程 L。轨道检测仪可以设置采样间隔,范围 0.5m-1m。当里程达到采样间隔时,将当前里程 L、轨距 d、超高 h 和三角坑 t

4、作为一条记录保存起来。机械支架在推行过程中会产生频率较轨道倾角变化频率高很多的振动,因此需要对倾角信号进行滤波处理才能减小测量误差。图 1 轨道测量原理图 Fig. 1 Principle of track measure2.2 性能需求轨道检测仪的工作流程如下:使用 AD 转换器以 33Hz 的采样频率对位移和倾角传感器的信号进行采样,然后对前 80 个倾角采样值进行一次滤波运算,当里程每增加 5cm 时,将当前的轨距和超高保存至队列,当里程达到采样间隔时,则根据队列里的数据算出三角坑,然后与轨距和超高作为最终数据一并保存起来。因此系统需要一个定时器,并且能在 30ms 内完成一次滤波运算。

5、位移传感器量程为 5cm,转换关系为 1V/1cm,倾角传感器量程为10 ,转换关系为 1V/1,轨距、超高和三角坑的显示分辨率要求达到 0.1mm。因此 AD 转换器需要拥有 12 位的精度。此外还需要实现 U盘存储、现场打印、时钟、液晶显示、键盘输入等功能。3 硬件设计3.1 硬件整体设计ARM7 系列的处理器的型号较多,设计使用了较为常见的三星公司生产的 S3C44B0,它包含了一个运算能力强大的 ARM7TDMI 核和大量实用的外设1。根据应用的实际需要,为 S3C44B0 配置了 1M16Bit 的 Nor Flash SST39VF1601 和 4Banks1M16Bit 的 SD

6、RAM HY57V641620。MAX197 是一款单电源,多通道,多量程的 1/2LSB 精度 12 位的 AD 转换器,采样速率可达 100ksps,完全满足 33Hz 的采样速率的要求。它虽为单 5V 供电,但具有10 V、5 V、10 V 和5 V 四个量程,同时集成了时钟发生器和基准电路,数据接口也可与通用控制器直接连接。MAX197以简洁的电路提供了相当高的性能,是嵌入式应用的理想选择2。CH375 是一个 USB 总线的通用接口芯片,支持主从两种方式,主机方式支持常用的 USB 全速设备。它内置了处理 Mass-Storage 海量存储设备的专用通讯协议的固件,外部控制器可以直接

7、以扇区为基本单位读写常用的 USB 存储设备3,提供了一个实用的嵌入式设备的 U 盘存储方案。图 2 硬件结构框图 Fig. 2 Picture of hardware structure系统的框图如图 2 所示。其中 S3C44B0 的 IO 引脚由 3.3V 的 LVCMOS 驱动,最高输入电压为 4.6V1,因此总线在挂接 MAX197 和液晶屏等 5V 逻辑电平的外设时应该加上总线收发器以做隔离,此外部分用于输入 GPIO 引脚也需要加上缓冲器。3.2 高效率电源管理电源管理是电池供的电便携式设备的关键部分,使用低功耗器件和提高电源管理效率是延长系统连续工作时间的两个重要手段。设计中根

8、据用电器的特征和成本上的考虑做出如图 3 所示的供电方案。图 3 系统电源方案 Fig. 3 Scheme of power supplyDC-DC 电源的效率虽高,但纹波系数较大,不适合模拟电路的供电;线性稳压器虽然稳压效果好,但是效率低,且只能降压。AD 转换器工作电流很小且对电源稳定性要求高,故直接使用线性稳压器给其供电,而数字部分都采用 DC-DC 电源,对于处理器所需的多电压,也采用线性稳压器,由此带来的功率损耗还可接受。传感器所需的正负电压需要通过 DC-DC 的升压和反转才能得到,为了消除其纹波的影响同时使用了线性稳压器。对于功率较大的液晶屏背光和打印机则使用单独的 DC-DC,

9、并由处理器控制。同时 DC-DC 对负载大幅度波动的适应不是很好,打印机的机头产生的功耗是间歇性的,瞬时功率很高,因此 DC-DC 需要有足够的功率裕度。此电源方案在实践中取得了良好的效果,系统在关闭背光和打印机的情况下,12V 蓄电池的输出电流小于 120mA。4 软件设计4.1 实时数据采集由于数据采集对实时性的要求很高,所以软件的设计没有采用操作系统,而是由多个中断服务程序和主程序组成。设计一共用到 4 个外部中断和 3 个内部中断,分别来自光电编码器正反向转动、MAX197、CH375、RTC 和两个定时器。其中比较重要的两个中断分别来自光电编码器和产生采样频率的定时器,前者的特点是频

10、率较高,可达 1KHz,且不能丢失,后者的特点是中断服务程序的运行时间长,需要完成滤波运算,因此要求中断是可嵌套的。ARM 处理器在硬件上不直接支持中断服务程序的嵌套运行4 ,虽然可以通过软件的方式实现,但会增加额外的运行开销。巧妙的利用 ARM 的特有的中断机制就可以解决上述问题,ARM 提供 FIQ 和 IRQ 两类中断,FIQ 中断到来时处理器将运行状态转到 FIQ 模式下,该模式下拥有专用的寄存器以减少压栈带来的时间的损耗,IRQ 类似,但专用寄存器没有 FIQ 多。因此,当处理器在 IRQ 模式下运行中断服务程序时,是可以立即响应 FIQ中断的。将光电编码器产生的中断作为 FIQ 类

11、型,其他中断作为 IRQ 类型就可以使每个中断得到及时的响应5。S3C44B0 的中断控制器是可以将某个中断设定为 FIQ 或 IRQ 类型送至 ARM 核的。ARM 核只有 FIQ 和 IRQ 这两个中断信号线,因此处理器需要中断控制器的协作才能确定某个中断来自哪个中断源,S3C44B0 提供了两种解决方式:VECTORED INTERRUPT MODE 和 NON-VECTORED INTERRUPT MODE。VECTORED INTERRUPT MODE 可以像 CISC 处理器那样不同的中断执行不同的中断处理程序,其实现原理是当中断到来时由硬件逻辑根据具体中断源产生一个与之相应的跳转

12、指令放到总线上,ARM 核取得该条指令后便立即跳转到相应的处理程序1。这样可以提高中断响应速度和简化程序设计,但是这种模式只支持 IRQ 类型的中断;NON-VECTORED INTERRUPT MODE 则像其他 ARM 处理器一样,由中断服务程序去访问中断控制器的 I_ISPR 寄存器来确定中断源。设计中将光电编码器的中断类型设为 FIQ 类型,并使用 NON-VECTORED 方式,其他中断设为IRQ 类型,使用 VECTORED 方式。中断向量表由两部分组成,前部分为 ARM 核的异常跳转指令,后部分供 S3C44B0 的 VECTORED 中断方式使用。中断服务程序可由汇编或者 C

13、语言编写,对于 FIQ 和 IRQ 类型的 C 语言函数需要加上 _irq 宏,编译器才能生成正确的返回指令。4.2 软件的整体设计由于没有操作系统,启动代码和应用程序是融为一体的,启动代码由汇编语言编写,除前面的中断向量表以外,还负责硬件初始化,将自己从 ROM 拷贝到 SDRAM,初始化各个模式下的堆栈等,完成了上述工作之后程序才能跳入由 C 语言编写的函数之中去。数据采集之外的工作对实时性要求很低,除了键盘扫描和 RTC 使用低优先级的中断之外,其他部分都包含在主程序循环里。特别需要注意的是,由于中断向量表存放在 Flash 中,在向 Flash 写数据的时候必须关闭所有中断,所以需要保

14、存的数据应先放到 SDRAM 中去,待一次测量完成之后再写至 Flash。USB 控制器 CH375 的制造商提供了 U 盘读写的库文件,只需要外部定义读写 CH375 硬件的函数和将中断服务程序配置到相应的中断,就可以实现对 U 盘 FAT 文件系统的操作。4.3 编译与调试设计采用的软件开发环境是 ARM 公司的 ADS1.2,编译 C 语言程序时可能会产生用于 Semihost 通信的代码,其中包含软中断 SWI 指令,但设计中并未包含 SWI 异常处理的程序,编译器也没有相应的编译选项去掉 Semihost 功能,一旦遇到 SWI 指令便会进入软中断异常。因此可以反汇编机器码,找到对应

15、的函数将其重定义即可。5 结束语嵌入式系统的特点就在于其应用的针对性很强,设计充分的利用了 ARM7 处理器的性能和资源,根据特定应用目标构建整个软硬件平台,实现了高性能、低功耗的目标。该系统已成功的用于轨道检测仪样机,对其他基于 ARM 处理器的嵌入式系统的开发设计具有很好的参考意义。本文作者创新点:传统的测试仪器多以单片机为核心,但是单片机速度较慢,资源较少,在许多应用环境中必须对其进行扩展,因此不利于降低系统功耗和提高集成度。将 ARM7 处理器应用到轨道检测仪的设计是新的信息处理技术与传统应用的一次创新结合,ARM7 嵌入式平台在提升系统性能和集成度的同时也改变了以往的系统设计方法,尤其是 ARM 处理器特有的中断机制可以使实时数据的采集和处理实现起来更加方便和可靠。此外,高效率的供电系统也是本文的亮点。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报