《基于ARM7的轨道检测仪嵌入式系统设计.docx》由会员分享,可在线阅读,更多相关《基于ARM7的轨道检测仪嵌入式系统设计.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于ARM7的轨道检测仪嵌入式系统设计yangliu导语:本文描绘了一种以轨道检测仪的为应用目的的ARM7嵌入式系统的设计经过摘要:描绘了一种以轨道检测仪的为应用目的的ARM7嵌入式系统的设计经过。以ARM7TDMI核的嵌入式处理器S3C44B0为中心,采用了CH375、MAX197等高性能外围电路构建了系统的硬件平台,运用ARM特有的中断处理机制实现了数据收集、数据处理和人机互交对软件的实时性要求,该设计已成功的用于轨道检测仪样机。关键词:ARM7;S3C44B0;快速中断;轨道检测仪1引言对铁路轨道进展静态几何参数的检测是铁路部门的一项常规工作,使用便携式轨道检测仪能大幅降低检测人员的工作
2、量。这种智能测量技术不仅可以进步测量的精度和可信度,还能提供现场的和后续的轨道数据分析,极大的进步了轨道检测工作的质量和效率。便携式轨道测试仪对嵌入式计算机系统的功能和性能提出了许多新的需求:高实时性、高运算性能、高集成度、低功耗、低本钱。传统单片机系统固然能完成一般的控制任务,但其运算才能太低,缺乏以知足现场数据处理的要求,由基于SoC思想设计的ARM系列微处理器构成的嵌入式系统便能良好的知足上述要求。ARM核以高性能低功耗著称,再配以IC制造厂商提供的大量片上外设,使得ARM系列处理器拥有非常优良的嵌入式应用性能。本设计中采用了三星公司制造的ARM7TDMI核处理器S3C44B0完成控制和
3、运算工作,12位高性能AD转换器MAX197完成传感器信号的转换,USB主控制器CH375完成数据到U盘的转存,系统也包含了液晶屏、键盘、微型打印机等其他必要的外设。2系统设计要求2.1测量原理轨道检测仪的测量原理如图1所示,传感器由一个装有滚轮的机械支架固定,操作人员在轨道上推行该检测仪。位移传感器测量轨道AB之间的间距d,倾角传感器测量轨道平面与程度面的倾角,光电编码器被连接到一个滚轮上用于记录当前的里程L。轨道检测仪可以设置采样间隔,范围0.5m-1m。当里程到达采样间隔时,将当前里程L、轨距d、超高h和三角坑t作为一条记录保存起来。机械支架在推行经过中会产生频率较轨道倾角变化频率高很多
4、的振动,因此需要对倾角信号进展滤波处理才能减小测量误差。图1轨道测量原理图Fig.1Principleoftrackmeasure2.2性能需求轨道检测仪的工作流程如下:使用AD转换器以33Hz的采样频率对位移和倾角传感器的信号进展采样,然后对前80个倾角采样值进展一次滤波运算,当里程每增加5cm时,将当前的轨距和超高保存至队列,当里程到达采样间隔时,那么根据队列里的数据算出三角坑,然后与轨距和超高作为最终数据一并保存起来。因此系统需要一个定时器,并且能在30ms内完成一次滤波运算。位移传感器量程为5cm,转换关系为1V/1cm,倾角传感器量程为10ordm;,转换关系为1V/1ordm;,轨
5、距、超高和三角坑的显示分辨率要求到达0.1mm。因此AD转换器需要拥有12位的精度。此外还需要实现U盘存储、现场打印、时钟、液晶显示、键盘输入等功能。3硬件设计3.1硬件整体设计ARM7系列的处理器的型号较多,设计使用了较为常见的三星公司消费的S3C44B0,它包含了一个运算才能强大的ARM7TDMI核和大量实用的外设1。根据应用的实际需要,为S3C44B0配置了1M16Bit的NorFlashSST39VF1601和4Banks1M16Bit的SDRAMHY57V641620。MAX197是一款单电源,多通道,多量程的1/2LSB精度12位的AD转换器,采样速率可达100ksps,完全知足3
6、3Hz的采样速率的要求。它虽为单5V供电,但具有10V、5V、10V和5V四个量程,同时集成了时钟发生器和基准电路,数据接口可以与通用控制器直接连接。MAX197以简洁的电路提供了相当高的性能,是嵌入式应用的理想选择2。CH375是一个USB总线的通用接口芯片,支持主从两种方式,主机方式支持常用的USB全速设备。它内置了处理Mass-Storage海量存储设备的专用通讯协议的固件,外部控制器可以直接以扇区为根本单位读写常用的USB存储设备3,提供了一个实用的嵌入式设备的U盘存储方案。图2硬件构造框图Fig.2Pictureofhardwarestructure系统的框图如图2所示。其中S3C4
7、4B0的IO引脚由3.3V的LVCMOS驱动,最高输入电压为4.6V1,因此总线在挂接MAX197和液晶屏等5V逻辑电平的外设时应该加上总线收发器以做隔离,此外局部用于输入GPIO引脚也需要加上缓冲器。3.2高效率电源管理电源管理是电池供的电便携式设备的关键局部,使用低功耗器件和进步电源管理效率是延长系统连续工作时间的两个重要手段。设计中根据用电器的特征和本钱上的考虑做出如图3所示的供电方案。图3系统电源方案Fig.3SchemeofpowersupplyDC-DC电源的效率虽高,但纹波系数较大,不合适模拟电路的供电;线性稳压器固然稳压效果好,但是效率低,且只能降压。AD转换器工作电流很小且对
8、电源稳定性要求高,故直接使用线性稳压器给其供电,而数字局部都采用DC-DC电源,对于处理器所需的多电压,也采用线性稳压器,由此带来的功率损耗还可承受。传感器所需的正负电压需要通过DC-DC的升压和反转才能得到,为了消除其纹波的影响同时使用了线性稳压器。对于功率较大的液晶屏背光和打印机那么使用单独的DC-DC,并由处理器控制。同时DC-DC对负载大幅度波动的适应不是很好,打印机的机头产生的功耗是间歇性的,瞬时功率很高,因此DC-DC需要有足够的功率裕度。此电源方案在理论中获得了良好的效果,系统在关闭背光和打印机的情况下,12V蓄电池的输出电流小于120mA。4软件设计4.1实时数据收集由于数据收
9、集对实时性的要求很高,所以软件的设计没有采用操作系统,而是由多个中断效劳程序和主程序组成。设计一共用到4个外部中断和3个内部中断,分别来自光电编码器正反向转动、MAX197、CH375、RTC和两个定时器。其中比拟重要的两个中断分别来自光电编码器和产生采样频率的定时器,前者的特点是频率较高,可达1KHz,且不能丧失,后者的特点是中断效劳程序的运行时间长,需要完成滤波运算,因此要求中断是可嵌套的。ARM处理器在硬件上不直接支持中断效劳程序的嵌套运行4,固然可以通过软件的方式实现,但会增加额外的运行开销。巧妙的利用ARM的特有的中断机制就可以解决上述问题,ARM提供FIQ和IRQ两类中断,FIQ中
10、断到来时处理器将运行状态转到FIQ形式下,该形式下拥有专用的存放器以减少压栈带来的时间的损耗,IRQ类似,但专用存放器没有FIQ多。因此,当处理器在IRQ形式下运行中断效劳程序时,是可以立即响应FIQ中断的。将光电编码器产生的中断作为FIQ类型,其他中断作为IRQ类型就可以使每个中断得到及时的响应5。S3C44B0的中断控制器是可以将某个中断设定为FIQ或者IRQ类型送至ARM核的。ARM核只有FIQ和IRQ这两个中断信号线,因此处理器需要中断控制器的协作才能确定某个中断来自哪个中断源,S3C44B0提供了两种解决方式:VECTOREDINTERRUPTMODE和NON-VECTOREDINT
11、ERRUPTMODE。VECTOREDINTERRUPTMODE可以像CISC处理器那样不同的中断执行不同的中断处理程序,其实现原理是当中断到来时由硬件逻辑根据详细中断源产生一个与之相应的跳转指令放到总线上,ARM核获得该条指令后便立即跳转到相应的处理程序1。这样可以进步中断响应速度和简化程序设计,但是这种形式只支持IRQ类型的中断;NON-VECTOREDINTERRUPTMODE那么像其他ARM处理器一样,由中断效劳程序去访问中断控制器的I_ISPR存放器来确定中断源。设计中将光电编码器的中断类型设为FIQ类型,并使用NON-VECTORED方式,其他中断设为IRQ类型,使用VECTORE
12、D方式。中断向量表由两局部组成,前局部为ARM核的异常跳转指令,后局部供S3C44B0的VECTORED中断方式使用。中断效劳程序可由汇编或C语言编写,对于FIQ和IRQ类型的C语言函数需要加上_irq宏,编译器才能生成正确的返回指令。4.2软件的整体设计由于没有操作系统,启动代码和应用程序是融为一体的,启动代码由汇编语言编写,除前面的中断向量表以外,还负责硬件初始化,将自己从ROM拷贝到SDRAM,初始化各个形式下的堆栈等,完成了上述工作之后程序才能跳入由C语言编写的函数之中去。数据收集之外的工作对实时性要求很低,除了键盘扫描和RTC使用低优先级的中断之外,其他局部都包含在主程序循环里。十分
13、需要注意的是,由于中断向量表存放在Flash中,在向Flash写数据的时候必须关闭所有中断,所以需要保存的数据应先放到SDRAM中去,待一次测量完成之后再写至Flash。USB控制器CH375的制造商提供了U盘读写的库文件,只需要外部定义读写CH375硬件的函数和将中断效劳程序配置到相应的中断,就可以实现对U盘FAT文件系统的操作。4.3编译与调试设计采用的软件开发环境是ARM公司的ADS1.2,编译C语言程序时可能会产生用于Semihost通信的代码,其中包含软中断SWI指令,但设计中并未包含SWI异常处理的程序,编译器也没有相应的编译选项去掉Semihost功能,一旦遇到SWI指令便会进入
14、软中断异常。因此可以反汇编机器码,找到对应的函数将其重定义即可。5完毕语嵌入式系统的特点就在于其应用的针对性很强,设计充分的利用了ARM7处理器的性能和资源,根据特定应用目的构建整个软硬件平台,实现了高性能、低功耗的目的。该系统已成功的用于轨道检测仪样机,对其他基于ARM处理器的嵌入式系统的开发设计具有很好的参考意义。本文作者创新点:传统的测试仪器多以单片机为核心,但是单片机速度较慢,资源较少,在许多应用环境中必须对其进展扩展,因此不利于降低系统功耗和进步集成度。将ARM7处理器应用到轨道检测仪的设计是新的信息处理技术与传统应用的一次创新结合,ARM7嵌入式平台在提升系统性能和集成度的同时也改变了以往的系统设计方法,尤其是ARM处理器特有的中断机制可以使实时数据的收集和处理实现起来更加方便和可靠。此外,高效率的供电系统也是本文的亮点。参考文献1S3C44B0XDatasheetZ.Samsung.Co.Ltd.,2003.2张俊涛,王长安.12bA/D转换器MAX197及其应用J.当代电子技术,2004,19.3李新龙,翟宏范,狄国伟,王鑫.USB芯片CH375在电能测量仪系统中的应用J.微计算机信息,2006,26.4杜春雷.ARM体系构造与编程M.北京:清华大学出版社,2003.5季振华.基于ARM7TDMI内核的S3C44B0异常处理分析J.微计算机信息,2006,05.0