棉胎厂家
免费服务热线

Free service

hotline

010-00000000
棉胎厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

基于TrueFFS的铁路牵引自动化系统应用

发布时间:2020-07-21 18:23:09 阅读: 来源:棉胎厂家

引 言在嵌入式产品中,一般使用Flash作为应用程序代码及各种数据和参数的存储介质。尤其是NOR Flash具有操作接口简单、传输效率高、芯片内执行(eXecute In Place,XIP)的特点,在电力、铁路等工业控制领域得到了广泛应用。为了便于用户的使用,VxWorks操作系统提供了基于Flash的文件系统,即TrueFFS。TrueFFS与DosFS文件系统基本兼容,通过VxWorks提供的操作接口以文件的方式实现对Flash的操作。而对于用户来说,如何在自己的硬件系统上根据Flash的具体型号和使用要求实现TrueFFS系统,并在此基础上完成应用程序代码的灵活启动、更新,同时兼顾仿真调试的需求,则非常重要。 1 系统基本功能本系统应用于铁路牵引自动化系统中,实现在电气化铁路供电系统中对相关电力设备的保护、测量和控制功能。系统基本功能框图如图1所示。核心CPU选用Freescale公司的ColdFire系列32位微控制器MCF5234。该处理器内部集成了UART、SPI、I2C、ETPU、CAN、以太网等丰富的功能模块,系统主频可达150 MHz,主要用于工业控制、智能家电等方面(尤其是电力自动化控制领域)。系统通过2路以太网接口实现与当地或远方设备的通信,维护串口用来实现对本设备的维护,采用2片16位接口的NOR Flash实现应用程序和有关参数及数据的存储。系统提供模拟量输入、数字量输入、数字量输出等接口。有关的模拟量及开关量状态信息经过对应接口采集到系统内部,经过保护算法软件的处理后,再通过数字量输出接口完成对有关设备的控制操作。在传统嵌入式系统中,编译好的运行态应用程序一般通过硬件调试工具(如BDM调试器)直接固化到程序Flash的指定位置,装置上电或复位后,CPU直接跳转到Flash的起始位置,从Flash中取指并开始执行。但是在VxWorks中,采用该方式不方便软件的仿真调试,需要重新固化bootrom才行。另外,由于系统要求保存较多的参数和数据,需要在2片Flash中都实现TrueFFS系统;并且为了满足动态更新程序的要求,还需要实现FTP的功能。因此,需要实现如下功能:在2片Flash上实现True-FFS;在bootrom和应用VxWorks程序上实现TrueFFS和FTP的加载;对bootrom进行改造,以实现应用VxWorks程序和调试VxWorks程序分别通过TrueFFS和TFTP的方式启动。2 TrueFFS的实现及加载2.1 TrueFFS的层次结构如图2所示,VxWorks中TrueFFS的层次结构包括内核层、翻译层、socket层、MTD层。由于VxWorks对TrueFFS进行了优秀的层次划分和封装,用户一般不需要对上述基本层次代码进行修改。MTD层实现了对常用几种类型Flash的读、写、擦除等基本控制。如果用户选用了支持的类型,则基本不需要编写代码;而如果用户选用了特殊类型的Flash,则可以参考用例代码完成对应MTD层代码的编写。2.2 MTD层代码实现由于本系统中选用的2片Flash为Spansion公司的S29AL032D,因此需要编写对应的驱动代码。对于MTD层,一般向上提供MTD识别、Flash连续扇区擦除、Flash连续数据写等主要接口函数,可以不提供单独的镜像函数,系统会使用内部缺省的镜像函数。需要在2片Flash上实现TrueFFS,即每片Flash相当于一个分区,这一点在编写驱动程序时需要重点考虑。在MTD层驱动程序中,Flash的单个字节(或字)写入接口函数为重点,不同Flash类型以及不同的端口宽度都会导致该函数的实现不同。其写操作流程如图3所示。

碧莲盛官网

碧莲盛 北京

武汉碧莲盛地址