新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于TrueFFS的鐵路牽引自動化系統應用

        基于TrueFFS的鐵路牽引自動化系統應用

        作者: 時間:2013-10-21 來源:網絡 收藏
        引 言

        在嵌入式產品中,一般使用Flash作為應用程序代碼及各種數據和參數的存儲介質。尤其是NOR Flash具有操作接口簡單、傳輸效率高、芯片內執行(eXecute In Place,XIP)的特點,在電力、鐵路等工業控制領域得到了廣泛應用。

        為了便于用戶的使用,VxWorks操作系統提供了基于Flash的文件系統,即與DosFS文件系統基本兼容,通過VxWorks提供的操作接口以文件的方式實現對Flash的操作。而對于用戶來說,如何在自己的硬件系統上根據Flash的具體型號和使用要求實現系統,并在此基礎上完成應用程序代碼的靈活啟動、更新,同時兼顧仿真調試的需求,則非常重要。

        1 系統基本功能

        本系統應用于中,實現在電氣化鐵路供電系統中對相關電力設備的保護、測量和控制功能。系統基本功能框圖如圖1所示。核心CPU選用Freescale公司的ColdFire系列32位微控制器MCF5234。該處理器內部集成了UART、SPI、I2C、ETPU、CAN、以太網等豐富的功能模塊,系統主頻可達150 MHz,主要用于工業控制、智能家電等方面(尤其是電力自動化控制領域)。系統通過2路以太網接口實現與當地或遠方設備的通信,維護串口用來實現對本設備的維護,采用2片16位接口的NOR Flash實現應用程序和有關參數及數據的存儲。系統提供模擬量輸入、數字量輸入、數字量輸出等接口。有關的模擬量及開關量狀態信息經過對應接口采集到系統內部,經過保護算法軟件的處理后,再通過數字量輸出接口完成對有關設備的控制操作。
        基于TrueFFS的鐵路牽引自動化系統應用
        在傳統嵌入式系統中,編譯好的運行態應用程序一般通過硬件調試工具(如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層代碼的編寫。
        基于TrueFFS的鐵路牽引自動化系統應用

        2.2 MTD層代碼實現

        由于本系統中選用的2片Flash為Spansion公司的S29AL032D,因此需要編寫對應的驅動代碼。對于MTD層,一般向上提供MTD識別、Flash連續扇區擦除、Flash連續數據寫等主要接口函數,可以不提供單獨的鏡像函數,系統會使用內部缺省的鏡像函數。需要在2片Flash上實現TrueFFS,即每片Flash相當于一個分區,這一點在編寫驅動程序時需要重點考慮。在MTD層驅動程序中,Flash的單個字節(或字)寫入接口函數為重點,不同Flash類型以及不同的端口寬度都會導致該函數的實現不同。其寫操作流程如圖3所示。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东乡族自治县| 台南县| 昭平县| 千阳县| 余姚市| 郁南县| 嘉鱼县| 分宜县| 怀安县| 兴业县| 漳平市| 万全县| 郓城县| 鄂托克前旗| 乌兰浩特市| 泾源县| 柘荣县| 水城县| 辽宁省| 南雄市| 乌拉特后旗| 锦州市| 滨州市| 台中县| 壶关县| 衡南县| 会泽县| 乌恰县| 磐石市| 新民市| 庐江县| 岳西县| 舞阳县| 金乡县| 常德市| 海阳市| 南昌县| 岫岩| 日土县| 漯河市| 娱乐|