当前位置:首页 >> 信息与通信 >>

基于Linux和s3C2440的GPC控制器设计


基于 Linux 和 s3C2440 的 GPC 控制器 设计
近年来,基于 Internet 的网络化控制系统已成为国内外测控领域研究的热点,在石油勘探开发、钢铁化 工等领域有着广阔的应用前景。而控制器的设计和研发是整个网络控制系统的关键和核心。在一些地域高 度分散以及环境恶劣的控制现场,使用嵌入式系统作为控制器节点,可更有利于多点分布式综合布控及并 行处理,实现更好

的测控效果。然而由于网络传输本身的特点,网络时延会不可避免地影响网络控制系统 的控制性能和稳定性,因此本文提出基于 S3C2440A 及嵌入式 Linux 的 GPC(Generalized PredictiveControl) 控制器的设计方案,具有一定的通用性。 1 控制器硬件平台设计 控制器节点是嵌入式网络化测控系统的中心。在测控系统中,主控制器承担着控制算法的实现和数据 采集两大任务,这要求控制器节点的硬件平台有更强的计算能力,以及更好的网络性能。本文中控制器的 硬件平台采用三星公司的 S3C2440,外围设备主要有 RAM、Flash 等。控制器的硬件平台结构如图 1 所示。

(1)S3C2440 处理器简介 本系统采用三星公司的 16/32 位 RISC 微处理器 S3C2440AL 作为控制器核心。S3C2440AL 的一大特 点是其核心处理器(CPU)采用 16/32 位 ARM920T 的 RISC 微处理器。ARM920T 实现了 MMU、AMBA B US 和 Har-vard 高速缓冲体系结构。系统资源和外围接口丰富,包括电源管理器、外部存储器控制器、4 通 道 DMA、3 通道 UART、8 路 10 位 ADC 和 GPIO 等。 (2)外围电路简介 控制器外围电路主要由存储器电路模块、通信模块以及 JTAG 调试电路等构成。其中存储器电路模块 采用 2 片 HY57V561620FTP 芯片作为外扩 SDRAM;采用 1 片 SST39VF1601(2 MB)芯片作为 NOR Flash, 用于存放 bootloader 程序; 采用 1 片 K9F1208 芯片(64 MB)作为 NAND Flash, 用于存放操作系统以及文件 系统。在通信模块中采用 DM9000 网卡芯片和网络变压器 HR911103A,以实现以太网接口的设计;同时设 计了 USBhost 接口电路,为下一步实现 WLAN 通信提供接口。A/D 和 D/A 接口电路实现数据的采集和 控制信号的发出。

2 控制器软件平台设计 2.1 软件平台整体结构 控制器节点软件体系结构如图 2 所示。其中最底层为设备驱动程序层,主要进行处理器初始化和驱动 各外设电路模块;第 2 层为嵌入式 Linux 操作系统,主要管理系统的软硬件资源、上层应用,以及操作底 层驱动接口;第 3 层为 Web 服务器,以实现控制器的:Browser/Server 访问控制;第 4 层为应用程序,主 要包括实时数据库、GPC 控制算法和时钟同步应用程序。

2.2 bootloader 的配置和编译 首先在宿主机的 Linux 下建立 arm-linux-gcc-2.95.3 交叉编译环境,将 vivi.tgz 解压缩到 Linux 的相 应目录下,进入 vivi 目录,执行 make menuconfig 命令进入 vivi 配置界面,对 vivi 的参数进行配置。完成 配置之后,进行编译,此时已经在当前目录下生成了 vivi。可使用 H-JTAG 将 vivi 烧写到 NAND Flash 运 行。 2.3 Linux 的移植 (1)编译 Linux 内核 首先在宿主机的 Linux 下建立 arm-linux-gcc-3.4.1 交叉编译环境,然后将 Liunx-2.6.13.tgz 解压 缩到 Linux 的某一目录下,执行 make menuconfig 命令进入内核配置界面,定制 Linux 内核,包括配置 CP U 选项、网卡声卡驱动、串口、对 yaffs 文件系统的支持等选项。完成定制之后,保存设置退出。然后对内 核进行编译,即可生成内核映像文件 zImage。 (2)制作 yaffs 文件系统 制作 yaffs 文件系统映像需要使用 mkyaffsimage 工具程序。首先将其解压缩到/usr/sbin 目录下,然 后将文件系统解压缩到 Linux 某一目录下,此时用户可以将自己编写的应用程序或其他文件添加到文件系 统中。添加完毕后使用 mkyaffsimage 命令即可得到 root.img 镜像文件。最后可使用 H-JTAG 将生成的映 像文件烧写到 NAND Flash 运行。

2.4 Boa 服务器的移植和构建 在网络化测控系统中,每个测控节点都需要使用 Web 浏览器进行监控和数据交互。Web 服务器作为一 个数据载体,可以将本地的信息和数据通过网络传递给远端发出请求的客户,这对远程网络化监控的实现 有重要意义。因此 Web Server 的移植成为一项必不可少的工作。Boa 的优点在于其源代码开放、性能好和 可靠性高。本文中 Web Server 的构建也是基于 Boa 展开的。 首先在官方网站上下载 Boa 的源码 boa-0.94.13.tar.gz,解压缩到 Linxu 宿主机的某一目录下,然 后进入 src 目录,执行./congfig 命令,生成 Makefile.in 文件。由于生成的 Makefile 文件是针对 X86 平 台的,为了生成能够在 ARM 上运行的 Boa,需要修改 Makefile 文件。找到 CC=gcc,CPP=gcc-E 这两行, 并修改为 CC=arm-linux-gcc,CPP=arm-linux-gcc-E;然后使用 make 命令进行编译,编译成功后会在 src 目 录下生成 1 个可运行在 ARM 平台下的 Boa 可执行文件,然后将编译好的 Boa 程序放入,/sbin 目录下。 在目标板上运行 Boa 之前,还需要对 boa.conf 文件进行配置。boa.conf 文件主要包含的 boa 基本参 数:Port,boa 服务器监听的端口;User,连接到服务器的客户端的身份;DocumentRoot,HTML 文件的根 目录。用户可以根据自己的需要进行设置,设置完毕后进入 sbin 目录,直接运行 Boa 就可以直接启动 We b 服务器。 3 GPC 算法的设计与实现 广义预测控制算法是 Clarke 等人于 1987 年提出的。该算法在保留了 DMC、MAC 等算法中多步预测 优化策略的基础上,同时借鉴了最小方差自校正控制中的模型预测、最小方差控制、在线辨识的思想。因 此对模型精度要求低,对变时滞的对象具有较强的鲁棒性,近年来得到了广泛的应用和重视。本文采用 G PC 算法解决时延问题。 3.1 GPC 算法 在 GPC 中,采用最小方差控制中使用的受控自回归积分滑动平均模型(CARIMA)来描述被控对像,即

式中 z-1 是后移算子,表示后退 1 个采样周期的相应量;A(z-1),B(z-1),C(z-1)为后移算子 z-1 的多项 式。y(k)为系统输出,u(k)为控制输出。ξ(t)是均值为 0、方差为 0 的白噪声序列,表示一类随机噪声的影响。 △为差分算子,且△=1-z-1。一般,令 C(z-1)=1。为了便于研究,在不影响系统算法研究的前提下,令系统 为 SISO 系统。GPC 算法的目标函数中引入了控制增量加权参数,以增强系统的鲁棒性。其目标函数为

其中,E 为数学期望;ω(k 十 i)为输人参考轨迹,N1、N2 分别为优化时域的初始值和终值,NU 为控 制时域,λ(j)为大于零的控制增量加权系数。广义预测控制算法问题最终归结为:通过递推求解 Diophanfin e 方程,求出最优控制增量△U,使目标函数达到最小值。 3.2 MatIab 仿真及生成目标代码 RTW 是 Matlab 提供的代码自动生成工具,可使 Simulink 模型自动生成面向不同目标的代码。目前通 过 Matlab/RTW 可生成在 PC、ARM 等设备上运行的代码,以及在 Windows、Linux 等系统上运行的可执 行文件。利用 RTW 自动生成代码,可使工程师专注于系统设计和实现,减轻编程工作量,加快产品研发 的速度。GPC 算法的仿真和调试是在 Matlab7.0 环境下,利用 MPC 工具箱,编制了相应程序而实现。由 于 Matlab 中,m 语言无法直接移植到嵌入式控制器中,因此先要用 simulink 构建系统模型,然后再用 Rea l-Time Workshop 自动生成面向 ARM 平台的 C 代码。 利用 RTW 自动生成代码的实验步骤如下: ①用 Matlab 的 m 语言编写 GPC 算法程序,仿真通过后,封装成 Simulink 仿真框图,并建立 GPC 控 制系统模型 Model.mdl。 ②在 Simulink 窗口中,选择 Simulink|Configuration Parameters 选项,对 solvet option、Data Import/E xport 等进行设置。 ③选中 Generate code only 复选框,单击 build,代码自动生成。 ④整合底层驱动函数、用户定义的函数以及自动生成的 GPC 程序,编译生成目标文件。 从图 3 可以看出,在伴有随机扰动的二价系统中,基于 GPC 算法的控制器的超调量和调节时间都比较 小,且上升时间快,表现出良好的动态性能和鲁棒性。这和 GPC 算法多步预测、滚动优化的特点是分不开 的。

结 语 本文成功构建了网络化控制器节点的软硬件平台,并通过 Matlab/RTW 半实物仿真的方法,实现了 G PC 算法的快速移植,对网络延迟进行了补偿。该测控平台应用范围相当广泛,适用于基于 Ethernet 的嵌入 式 Web 控制器,满足远程实时控制需求,具有一定的应用前景。


相关文章:
基于S3C2440的项目实训
4.2.2 项目的硬件设计 1、S3C2440 控制器 S3C2440 是三星公司推出的采用 RISC...对嵌入式 LINUX 的各种操作和应用的有所掌握以及小组的成员团结合作,共 同讨论...
s3c2440基于linux的button和led字符设备驱动包含测试程序
s3c2440基于linux的button和led字符设备驱动包含测试程序_IT/计算机_专业资料。字符...内核下编写字符设备驱动程序,同时控制两个字符设备 button 和 led, 通过按键来点...
基于S3C2440的智能家居监控系统设计
本课题以 Web 技术为核心, 在基于 S3C2440 微处理器和嵌入式 Linux 操作系统...本设计包括: 系统硬件的设计与调试和控制软件的编写与调试。 硬件部分: 智能...
LINUX下基于MCP2515的CAN总线驱动程序设计
以 samsung 公司的 s3c2440 处理器与 can 总线控制器 mcp2515 作为开发实例, 简单介绍了嵌入式 linux 操作系统下的基于 mcp2515 的 can 总线驱动程序的设计方法...
基于S3C2440的QT移植与编程实现_毕业设计论文
基于S3C2440的QT移植编程实现_毕业设计论文_工学_...如国防、 工业控制、通信、办公自动化和消费电子领域...本课题研究了基于 Linux 的典型嵌入式图形界面支持...
基于S3C2440的QT移植与编程实现
基于嵌入 式 Linux 操作系统和 S3C2440 硬件平台,完成 Qt 开发环境搭建和 Qt ...不要求其功能的 设计及实现过于复杂,这样一方面利于控制系统成本,同时也利于实现...
基于嵌入式Linux的温度采集系统的设计与实现
基于嵌入式Linux的温度采集系统的设计与实现_计算机软件及应用_IT/计算机_专业...GPC0CON : 用于控制 GPIO 引脚输入还是输出 GPC0CON[32] LED1 ->GPC0CON[...
linux大作业1组-_图文
Linux 应用程序开发 题专 班组组 目: 基于 UP-...控制的 LED,和 1 个可 直接产生外部硬件中断的...LED 分别使用 S3C2410/S3C2440 的 GPC5,GPC6 , ...
基于S3C2440设备驱动及其界面设计
基于S3C2440设备驱动及其界面设计_信息通信_工程科技_专业资料。基于S3C2440设备...目前, MiniGUI 可 以在 X Window 和 Linux 控制台上运行。 通过这个课程实践...
嵌入式Linux系统设计报告
嵌入式Linux系统设计报告_信息通信_工程科技_专业...本实验的目标平台是 S3C2440A, 该处理器基于 ARM9...一些周围器 件,如中断控制器、定时器、总线控制器...
更多相关标签: