一种新型嵌入式轮参测量仪的解决方案

时间:2023-06-21

    火车行驶中的操作稳定性与行驶安全性,轮胎的异常磨损以及燃油消耗的增加等均与火车车轮定位参数有关。火车车轮定位参数是一组车轮静态安装的几何角度与尺寸数值,主要包括车轮主销后倾角、主销内倾角、车轮外倾角和车轮前束角。目前,国内外使用的车轮定位仪主要采用接触式的定位方式,由于其测量原理的局限性,其检测操作过程十分复杂,无法实现快速检测,使之难以在火车制造厂和火车检测线中广泛使用。针对这些不足,本文提出并设计了一种以ARM芯片LPC2214为的新型测量仪。

    1 总体设计

    1.1 性能要求

本设计的任务是设计一款手持式的火车车轮参数测量仪,用来检测车轮的磨损程度,确定车轮的工作状况,保证车辆的正常和安全运行。设计的基本原理是使用激光传感器测量车轮相应的参数,将其传给测量仪,实现数据的处理、存储和显示等。根据设计要求,需要测量的车型包括货车、客车和动车3种,车轮型号有20种,并有以下具体的要求:

(1)在存储和显示测量数据时提供时间、地点编号、测量员编号等相关信息;

(2)测量范围10 mm~100 mm,0.01 mm,并存储一定数量的测量数据;

(3)良好的人机交互界面;

(4)体积小,重量轻,低功耗。

    1.2 电路总体设计

根据性能指标,本设计采用NXP公司的ARM芯片LPC2214作为处理器件,外围器件包括实时时钟PCF8563、FLASH存储器SST25VF016B、RS232/485串口驱动芯片和电源芯片,以及液晶屏和小键盘等。


LPC2214是一款性能优异的微处理器,其基于一种支持实时仿真和跟踪的32 bit ARM7TDMI-STM CPU,带有256 KB片内FLASH存储器、2个UART串口、SPI接口、外部存储器接口等,具有高达60 MHz的操作频率,完全满足设计需要[1,4].

本系统有5个外部传感器,其中3个位移传感器、2个激光传感器,具体参数的获取由这5个传感器实现。在数据测量中,根据车型不同,可以简要归结为如下测量方式:(1)动车型的测量,获取连在RS485线的3个位移传感器值和激光传感器4和激光传感器5值;(2)普通客车和货车的测量,先获取连在RS485线的3个位移传感器值和激光传感器4值,再用继电器闭合电磁线圈,延时2 s,读取激光传感器4值。

    2 各部分软硬件设计

    2.1 实时时钟设计

实时时钟的缩写是RTC(Real_Time Clock)。 RTC 是集成电路,通常称为时钟芯片。RTC通常为8PIN,有SOP8、MSOP8、TSSOP8等多种封装。其中有6个I/O口的功能是一样的,分为:晶体接口2PIN、MCU接口2PIN、主电源1PIN、地1PIN.这样就剩下2个I/O的功能定义被区分开了。所以会有许多的RTC型号。例如 荷电科技的H1208、H8563、H1302、H1307、H1381等等。大家看到后会发现许多RTC在I/O口的定位上有明显的区别,所以PCB设计时需要多注意


由于在保存测量数据时,需要同时保存测量时的时间,这样便于日后检查统计,而LPC2214内部自带的实时时钟是掉电易失的,故在设计中采用实时时钟芯片PCF8563设计了外部时钟电路。PCF8563是低功耗的CMOS 实时时钟/日历芯片,具有16个8 bit寄存器,采用I2C接口,通过SDA和SCL 2条线与LPC2214相连,使用非常简便。在其电源端接了一个1 F的电容(也可改用纽扣电池),在测量仪断电时为PCF8563提供电压,从而实现实时计时功能。

另外,其第10~12个寄存器(09H~0BH)为分钟、小时和日报警寄存器,此处不用报警功能,而将其改为存储测量次数,节省了外部存储空间,也保证了数据的安全性。需要存储的测量次数为16 bit,考虑到3个报警寄存器并非所有位数都是有效的,实际分配为09H取8 bit,0AH和0BH取后4 bit,这样正好16 bit,满足测量数据的存储范围。

   2.2 外部存储器设计

本测量仪是一种手持式设备,对体积要求比较严格。为减小电路板面积和简化布线,外部存储器采用只有8个管脚的小封装SST25VF016B.SST25VF016B是一款16 Mbit(000000H~1FFFFFH,2 MB)SPI接口串行FLASH,其采用的CMOS SuperFlash工艺保证更低的功耗,并具有4 KB、32 KB、64 KB以及Chip-Erase等4种灵活的擦除方式。


SST25VF016B的操作包括擦除和读写等,由于对速度的要求不严格,所以在设计中采用GPIO口模拟SPI接口。发送和接收数据的2个子程序如下:

/*******************************************

* 名称:Send_Byte()

* 功能:模拟SPI向SST25发送数据,在SCK的

*         上升沿发送1 bit的数据,共发送8个

*******************************************/

void Send_Byte(uint8 byte_OUT)

{

uint8 i;

for(i=0;i<8;i++)

{

IO0CLR=SCK;                    //SCK=0

if((byte_OUT & 0x80)==0x80)        //输出1

{

IO0SET=SI;                    //SI=1;

}

else

{

IO0CLR=SI;                    //SI=0

}

byte_OUT=(byte_OUT《1);        //输出0

IO0SET=SCK;                    //SCK=1

}

}

/*******************************************

* 名称:Get_Byte()

* 功能:模拟SPI接收数据,在SCK的下降沿接收

*         1 bit的数据,共接收8个

*******************************************/

uint8  Get_Byte(void)

{

uint8 i;

uint16 byte_IN=0;

for(i=0;i<8;i++)

{

IO0CLR=SCK;                    //SCK=0

if((IO0PIN》5)&0x01)            //判断是否输入1

{

byte_IN++;

}

IO0SET=SCK;                    //SCK=1

byte_IN=(byte_IN《1);

}

byte_IN=(byte_IN》1);

return(byte_IN);

}

在对外部FLASH存储空间的分配中,前80 KB用来存储20组设定的参数,用轮型编号进行索引,每组占4 KB;剩下的空间用来存储测量数据,每组测量数据分配40 B,用存储在实时时钟报警寄存器内的测量次数进行索引,理论可存储50 380组,可满足长时间使用的需要。另外,在设置和测量的数据中,有一部分参数是小数,可将其转化为整数后存储,读取时再转化为小数即可。


    2.3 液晶屏驱动设计

液晶显示器件的基本结构是由两片玻璃基板制成的薄形盒。这种结构利于用作显示窗口,而且它可以在有限的面积上容纳量的显示内容,显示内容的利用率。此外,这种结构不仅可以作得很小,如照相机上所用的显示窗,而且作的很大,如大屏幕液晶电视及大型液晶广告牌。

液晶屏型号为P160128,由于其没有自带的汉字库,故根据需要显示的汉字通过相关的软件来完成制作汉字库[3].设计成的字库和ASCII字符约有8 KB,存储在LPC2214的内部FLASH中。此液晶屏为160×128点阵,而每个汉字占用点阵为16×16,故此屏可以显示8行汉字,每行10个,因此对于某些需要显示较多参数的地方,可以考虑分多屏显示。

    2.4 键盘扫描程序设计

根据应用需要,设计中采用4×5矩阵键盘,共计20个按键。键盘扫描程序是整个软件的程序,通过使用者对键盘的操作调用相应的子程序,完成相应的设置和控制.

    3 软硬件调试

本设计中需要显示设置、测量、查询3个界面,根据屏幕的大小,设置和查询分为2屏显示,测量界面为1屏显示。

系统开机时默认进入设置界面,设置界面1和界面2可以通过"→""←"进行切换,其中实时时钟的设定就是在设置界面2进行的。在设置界面可以对20种轮型进行参数的设置和查看,每组轮型参数的有效长度为40 B,实际分配4 KB,这样做的原因,就是在对某种轮型参数进行修改时,需要先对修改区域进行擦除,可通过调用擦除4 KB子程序Block_Erase4k()来实现,而不会影响到其他组。

测量界面负责显示经处理后的数据信息。在测量前半部分可以设定6个相关的参数。当检测到"确认"键按下时,系统自动调用子函数save_test_para()来保存测量数据和实时的日期时间,同时测量次数自动加1,为存储下一组测量数据做好准备。

当需要对之前测量的数据进行查询时,可以切换到"查询"界面。"查询"界面默认显示为刚刚保存的一组测量数据,此时可以通过"↓""↑"2个按键对序号进行增减,也可以通过数字键输入要查询的测量序号,然后按"确认"键,通过执行子函数Display_querry()调出测量数据。相对于"测量"界面,"查询"界面需要额外显示测量日期和时间,受屏幕限制,同样将其分为2屏,可以通过"→""←"2个按键进行切换。

本文以ARM芯片LPC2214为,设计了一款手持式测量仪,具有较高的测量和非常优越的实用价值。在设计中结合实际要求和器件性能,灵活设计了相应的硬件电路和软件程序,达到了实用目的。作为一款新型的轮参测量仪,本系统的意义在于采用合理的器件,以相对很低的成本达到了较高的,既可用于测量在线运行列车车轮的磨损,还可以在生产线上对轮型尺寸进行分选,同时,可借鉴该系统的设计思想用于其他对体积、功耗、成本等要求较高的场合。

此外,在开发过程中,考虑到用户的要求,可采用更别标准的器件,以适应各种不同的环境。同时,本系统的操作和显示方式简洁,方便用户使用,可广泛应用于各种相关的场合。

上一篇:基于集成芯片的节能灯解决方案
下一篇:浅谈无线传感器网络的开发方案

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料