基于嵌入式linux的风力发电监控系统开发平台的构建

上传人:jiups****uk12 文档编号:40022486 上传时间:2018-05-22 格式:DOC 页数:10 大小:339.55KB
返回 下载 相关 举报
基于嵌入式linux的风力发电监控系统开发平台的构建_第1页
第1页 / 共10页
基于嵌入式linux的风力发电监控系统开发平台的构建_第2页
第2页 / 共10页
基于嵌入式linux的风力发电监控系统开发平台的构建_第3页
第3页 / 共10页
基于嵌入式linux的风力发电监控系统开发平台的构建_第4页
第4页 / 共10页
基于嵌入式linux的风力发电监控系统开发平台的构建_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《基于嵌入式linux的风力发电监控系统开发平台的构建》由会员分享,可在线阅读,更多相关《基于嵌入式linux的风力发电监控系统开发平台的构建(10页珍藏版)》请在金锄头文库上搜索。

1、基于嵌入式风力发电机组控制器研究与开发基于嵌入式风力发电机组控制器研究与开发文丽,文丽, ()()0 引 言为了适 应 不同的应用场合,同时考虑到计算机系统的灵活性、可伸缩性以及可裁剪性,一种以应用为中心、以计算机技术为基础、软硬件可裁剪的嵌入式操作系统随之诞生。这种嵌入式系统能适用于对功能、可靠性、成本、体积、功耗要求严格的应用系统。而在众多嵌入式操作系统中,Linux 以其体积小、可裁减、运行速度快、网络性能优良、源码公开等优点而被广泛采用。特别是 2.6 内核版本的 Linux 更是在实时性能方面有了很大的提高,因此在工业控制场合得到了越来越多的重视和应用。本文正是在这一背景下,为基于

2、S3C2410 的嵌入式平台(扩充了多种外围设备,包括:LCD、AD、网络芯片等等)构建出一个基于 Linux2.6.16 内核的嵌入式系统开发平台,以满足风力发电监控系统开发的需求。1 系统构架本系统的硬件平台是以 32 位高性能嵌入式处理器 S3C2410A 作为系统的 CPU,其工作频率最高为203 MHz,具有强大的处理能力。另外,还扩展有多种外围设备,如:分辨率为 640480 的 26 万色 TFT液晶显示屏、串口、USB 口、网口、64MB Flash、64MB SDRAM 等等。可以充分满足风力发电监控系统开发的需求。本硬件平台的软件构架主要分为以下几个部分:BSP 层、操作系

3、统层以及应用层,图 1 所示是其软件构架图。本系统的硬件平台是由嵌入式微处理器及其外围设备所构成的。硬件抽象层(BSP)是存储在硬件平台 ROM 或 Flash 上的负责与硬件底层交流的硬件驱动程序,主要负责对系统进行初始化,并将收集的硬件信息传递到接下来运行的操作系统内核中去。操作系统内核通过 BSP 来管理系统硬件资源,并为上层软件提供进程调度、内存管理、文件系统、设备驱动等服务。应用层主要负责与用户进行交流。在完成系统的构架设计以后,就可以针对硬件平台进行具体的构建了,其工作主要包括以下几个部分:BootLoader 移植、内核移植以及文件系统的建立等,其中内核移植包括网络设备、LCD

4、和 USB 等驱动的移植。文中针对本系统的设计给出了相关程序的移植。2 BootLoader 移植BootLoader (引导加载程序)是系统加电后运行的第一段代码。这段小程序用于初始化硬件设备和建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。目前,较流行的 BootLoader 主要有 U-boot 和 Vivi 等。本设计主要是以 S3C2410 为控制器的硬件平台,因此可以选用带有网络功能的 Vivi 作为系统的 BootLoader。作为引导程序的 Vivi 一般分为 stage1和 stage2 两大部分。stage1 主要

5、是根据 CPU 的体系结构进行设备初始化等工作,通常都用短小精悍的汇编语言来实现,而 stage2 则通常用 C 语言来实现,这样可以实现更加复杂的功能,且代码会具有更好的可读性和可移植性。为了使 Vivi 更适合本系统的硬件平台,设计时需要对其进行部分修改。(1)修改编译器首先要把 Vivi 中 Makefile 的有关编译的选项指向安装好的 3.4.1 版本的交叉编译工具链,将编译所需的 Linux 文件夹“UNUX-INCLUDE-DIR=”指向交叉编译器所在的文件夹“LINUX-INCLUDE-DIR=usrlocalarm3.4.1include”,并将“CROSS-COMPILE=

6、”项修改为“CROSS-COMPILE=usrlocalarm3.4.1binarm-linux-”。(2)修改启动参数接着根据硬件平台的实际情况要修改 Vivi 中 Flash 分块情况。本系统将 Flash 划分成四个部分:第一部分用来存放系统的 Vivi:第二部分用来存放 Vivi 以及 Linux 操作系统的启动参数;第三部分用来存放嵌入式 Linux 操作系统;最后一部分用来存放文件系统。具体的地址及块大小分配如表 1 所列。修改完以上两项就可以对 Vivi 进行编译了,之后通过 JTAG 将生成的二进制代码烧写到 Flash 的第一部分,即完成了 Vivi 的移植。3 内核移植内核

7、移植和 BootLoader 移植一样要根据设计的硬件平台来进行。根据本嵌入式系统硬件平台的设计,需修改内核 Makefile 文件、设置 Flash 分区、配置与编译内核等,并完成网络设备、LCD 以及 USB 等驱动的移植,下面简单介绍一下针对本硬件平台的相关移植工作。(1)内核编译与移植在交叉编译内核之前,要先对编译选项进行配置。执行“make menuconfig”指令,进人 Syetem Type选项,选择对 S3C2410 系统板的支持,然后配置 File System 和 Block device,接下来使用“make dep”指令设置依赖关系,之后便可以使用“make zIma

8、ge”指令进行编译。编译内核交叉编译时间相对较长。最终会生成一个文件 zImage,这就是编译成功后的 ARM Linux 内核文件。将编译好的内核镜像文件写入到Flash 中,即完成了内核的移植。(2)网络设备移植系统中采用 CS8900A 作为网络芯片,最高支持 10 Mbs 的传输率,它使用 S3C2410 的 nGCS3 作为片选线,IRQ_EINT9 作为外部中断信号线。其驱动移植方法如下:1)在 linuxdrivernetarm 目录下加入芯片的驱动程序文件 cs8900h 和 cs8900c:2)在 SMDk2410_init 函数中完成相应寄存器设置;在 cs8900_pro

9、be()函数中对 S3C2410 的网络控制寄存器进行设置:加入_raw_writel(0x221ldll0,S3C2410_BWSCON);和_raw_writel(0x1f7c,S3C2410_BANKCON3);两个语句;3)将网卡的物理地址(0x19000000)映射到 vSMDK2410_ETH_IO 所指向的虚拟地址上去,即在archarmmach-s3c2410mach-smdk2410c 文件中的 smdk2410_iodesc 结构数组中添加如下内容:vSMDK2410_ETH_IO,0x19000000,SZ_1M,MTl_DEVICE;4)配置网络设备驱动的 Makefi

10、le、Kconfig 文件,并对头文件做部分修改。(3) LCD 移植在 2.6.16 内核中已经包含了 S3C2410 的 LCD 驱动程序,因此,移植的主要工作是要根据驱动程序及 LCD 屏的实际情况进行初始化。S3C2410 自带 5 个 LCD 控制器,每个控制器有不同的功能,必需对每个控制器的参数进行相应的设置才能顺利地启动 LCD,这些参数包括:液晶屏类型(TFT 屏或 CSTN 屏)、颜色位数、垂直度、水平度、控制信号线的极性以及液晶屏的分辨率等等。本系统采用的是 SHARP 8.0 英寸的 TFT 液晶屏。参考该液晶屏手册,根据实际情况设置各个寄存器的参数如表 2 所列。设置好

11、液晶屏的参数后,再在平台初始化函数 smdk2410_devices_initdata 中启动液晶屏。最后,修改 driversvideo 目录下的 Kconfig 和 driversvideo 目录下的 Makefile 文件。4 文件系统建立每种操作系统都有适合自己的文件系统,如:Windows 一般采用 FAT32 或 NTFS 文件系统格式,Linux 采用 EXT2 或 EXT3 文件系统格式,而嵌入式 Linux 操作系统是建立在一种称为 YAFFS2(YAFF 文件系统的改进版)的针对嵌入式 Linux 的文件系统之上。因此可根据本系统的硬件平台设计及所采用的Linux 内核。构

12、建出 YAfTS2 文件系统,步骤如下:(1)在内核中建立 YAFFS2 目录 fsyaffs2,并把下载的 YAFFS2 代码(可以从网上下载开源的YAFFS2 的源码)复制到该目录下面;(2)修改 Kconfig 和 Makefile,使其可以配置 YAFFS2;(3)在 YAFFS2 目录中生成 Makefile 和 Kconfig 文件;(4)根据表 1 在内核中修改 NAND 分区;(5)配置内核时,应选中 MTD 支持和 YAFFS2 支持;(6)编译内核并将其下载到开发板的 Flash 中;(7)制作根文件系统下载到 Flash 的指定地址(地址如表 1 所示)。至此,就搭建好了

13、风力发电监控系统开发所需要的软硬件平台。图 2 所示是基于搭建好的平台并使用QtEmbeded 开发的风力发电监控系统的截图。5 结束语本文根据一个特定的目标平台,介绍了如何构建基于 Linux 2.6.16 的嵌入式开发平台,介绍了移植的主要技术和整个流程,并在 QtEmbedd 下开发了风力发电监控软件。掌握这些移植和开发技术,对于开发嵌入式 Linux 应用系统十分重要,同时对于开发其它类型的嵌入式系统也具有一定的参考意义。什么是软什么是软 PLC 和硬和硬 PLC作者:Free 文章来源:Free 点击数: 530 更新时间:2011-3-31 PLC 的实现分为硬 PLC 和软 PL

14、C。 所谓硬 PLC 从严格意义上来说是由硬件或者一块专用的 ASIC 芯片来实现 PLC 指令的执行而软 PLC 是用一些通用的 CPU 或者 MCU 来实现 PLC 指令的解释或者编译持行。 软件 PLC(SoftPLC,也称为软逻辑 SoftLogic)是一种基于基于 PC 机开发结构的控制系统,它具有硬 PLC 在功能、可靠性、速度、故障查找等方面的特点,利用软件技术可以将标准的工业 PC 转换成全功能的 PLC 过程控制器。软件 PLC 综合了计算机和 PLC 的开关量控制、模拟量控制、数学运算、数值处理、网络通信、PID 调节等功能,通过一个多任务控制内核,提供强大的指令集、快速而

15、准确的扫描周期、可靠的操作和可连接各种 I/O 系统的及网络的开放式结构。所以,软件 PLC 提供了与硬 PLC 同样的功能,同时又提供了 PC 环境的各种优点。使用软件 PLC 代替硬件 PLC 有如下的优势:用户可以自由选择 PLC 硬件用户可以获得 PC 领域 技术/价格优势,而不受某个硬 PLC 制造商本身专利技术的限制用户可以少花钱但又很方便地与强有力的 PC 网络相连用户可以用他熟悉的编程语言编制程序对超过几百点 I/O 的 PLC 系统来说,用户可以节省投资费用软件 PLC 技术的形成背景20 世纪 90 年代后期,人们逐渐认识到,传统 PLC(本文简称硬 PLC)自身存在着这样

16、那样的缺点:难以构建开放的硬件体系结构;工作人员必须经过 较长时间的专业培训才能掌握某一种产品的编程方法;传统 PLC 的生产被几家厂商所垄断,造成 PLC 的性价比增长很缓慢。这些问题都成了制约传统 PLC 发展 的因素。近年来,随着计算机技术的迅猛发展以及 PLC 方面国际标准的制定,一项打破传统 PLC 局限性的新兴技术发展起来了,这就是软 PLC 技术。其特征 是:在保留 PLC 功能的前提下,采用面向现场总线网络的体系结构,采用放的通信接口,如以太网、高速串口等;采用各种相关的国际工业标准和一系列的事实上 的标准;全部用软件来实现传统 PLC 的功能。系统结构和应用特点(一)系统结构软 PLC 基于 PC 机,建立在一定操作系统平台之上,通过软件方法实现传统 PLC 的计算、控制、存储以及编程等功能,通过 IO 模块以及现场总线等物理 设备完成现场数据的采集以及信号的输出。根据传统 PLC 的组成结构,软 PLC 系统由开发系统和运行系统两部分组成。也可分为编辑环境和

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号