微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于ARM与μClinux系统的RTU设计

基于ARM与μClinux系统的RTU设计

时间:10-06 来源:互联网 点击:

0x3600000。
  

图3给出了SJA1000与RTU母板总线的连接关系。SJA1000总线兼容TTL电平,数据总线和中断信号线有驱动能力,可以直接与母板总线接口。由图3可见,从RTU母板总线上扩展测控电路简单方便。
  

基于母板总线的其它模块扩展方法类似。

2 RTU软件设计
  

μClinux从linux操作系统改进而来,适合运行在S3C4510B这种无内存管理单元MMU的处理器中。基于工控机-linux的RTU程序,可以很方便地移植到ARM-μClinux设计的RTU中。
  

RTU程序的开发,包括应用程序开发和驱动程序开发两部分,全部采用C语言编写。

2.1 RTU应用程序调试
  

使用JTAG仿真器工具和相应工具软件,将μClinux操作系统烧写到主板模块的Flash中。μClinux在主板模块上运行后,可以使用μClinux提供的工具软件在Flash上更新自身及应用程序。
  

连接PC机的串口与主板模块的串口0。用Windows超级终端,与主板模块建立交互关系。将主板模块与PC机接入同一个局域网,配置合适的IP地址。
  

使用文件传输服务工具FTP或TFTP,将PC机编译的μClinux应用程序下载到主板模块/ramdisk目录中,改为可执行属性后执行。应用程序中加入printf()函数,输出执行过程中的调试信息。

2.2 JFFS2文件系统应用
  

JFFS2(The Journalling Flash File System, version 2)是一种为嵌入式系统Flash存储文件而设计的文件系统。μClinux编译选项,加入JFFS2文件系统。将2MB的Flash分成mtd0和mtd1两个区,各为1MB。mtd0是从0地址开始的存储空间,用于存储μClinux操作系统镜像文件。mtd1用于存储应用程序。μClinux的/dev目录中,有字符型设备文件mtd0、mtd1和对应的块设备文件mtdblock0、mtdblock1。
  

有了JFFS2文件系统支持,使用文件拷贝操作方法,即可将RTU的操作系统和应用程序在Flash上更新。RTU的开发和现场调试,可以脱离JTAG仿真器工具,给RTU开发和维护提供了方便。

2.3 更新μClinux的步骤
  

(1)用FTP传输操作系统文件IMAGE.ROM到/ramdisk/目录;(2)擦除mtd0分区:eraseall /dev/mtd0;(3)将IMAGE.ROM写入mtd0:cp/ramdisk/IMAGE.ROM/dev/mtd0。
  

当提示操作完成后,复位主板模块即运行新的操作系统。由于μClinux操作系统在SDRAM中运行,更新操作系统过程中不能停电。

2.4 应用程序在Flash上的更新与执行
  

(1)安装mtd1分区:mount-t-jffs2 /dev/mtdblock1/mnt。此操作将mtd1分区按块设备方式安装在μClinux的/mnt目录中。在/mnt目录中添加的文件,存储在Flash中,不会因掉电而丢失。(2)将应用程序myapp下载到/ramdisk目录,然后cp /ramdisk/myapp /mnt。即完成了应用程序在Flash上的更新。(3)修改文件属性:chmod 755 /mnt/myapp。(4)执行文件:./mnt/myapp。
  

μClinux启动后,读取并执行/proc/rc文件中的命令。要使myapp应用程序自动执行,在rc文件中,加入
  mount -t jffs2 /dev/mtdblock1 /mnt
  ./mnt/myapp
  系统启动后,自动安装mtd1分区,执行应用程序myapp。
  

基于本文设计的RTU,连接到一个电网数据采集与监控系统,经试运行,性能稳定可靠。证明文中设计的RTU的原理是正确的。

参考文献
1 严亚勤,吴文传,张伯明. 基于嵌入式Linux的网络RTU[J]. 电力自动化设备,2004;24(9):27~29
2 μm_s3c4510b_rev1.pdf. www.samsung.com.
3 皱思秩.嵌入式Linux设计与应用[M].北京:清华大学出版社,2002.第1版

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top