基于ARM嵌入式智能控制器的设计与实现

发布者:真实幻想最新更新时间:2009-05-11 来源: 微计算机信息关键字:智能控制器  S3C44B0X  数据采集 手机看文章 扫描二维码
随时随地手机看文章

0 背景

      利用嵌入式技术,给工业系统安装智能控制器,对其进行在线监控和检测,就能及时发现故障并处理,从而不但保证工业系统始终处于良好的运行状态,同时也减轻值机维护人员的负担。面向工业应用的智能控制系统一般包括如下功能:多路模拟量和开关量的实时采集并显示、通过控制器或上位机进行启停等命令控制、工作状态采集并记录、数据上传、故障记录并报警、历史数据保存、定时开关机等,同时还应具有网络数据传输与控制和软件升级功能。传统的智能控制器一般多采用8位单片机实现,但随着实际功能复杂度的增加,尤其是实现大量数据采集和保存、彩色图形交互和网络通信等,单片机已很难满足实时控制的要求。因此,采用32位ARM处理器来实现的方案是较为理想的选择。

1  智能控制器硬件平台

      根据功能需求,系统主控芯片采用S3C44B0X。该处理器是基于ARM7TDMI内核SOC芯片,片内集成LCD控制器、SDRAM控制器、RTC、UART和ADC等模块,这为硬件系统的设计带来方便同时也提供系统可靠性。除此之外,硬件上还需扩展存储系统、键盘液晶、CPLD芯片、串口通信、网卡通信等模块。存储系统选用较大容量的Nor Flash来存放代码和工作过程中需记录的数据。LCD采用320×240的STN彩色液晶屏幕,模拟量数据采集采用内部ADC和外扩多路选择器,开关量采集与控制采用CPLD芯片来实现I/O口的扩展。系统硬件总体框图如图1所示:

图1 系统硬件框图

2  智能控制器软件总体方案概述

      智能控制器软件部分主要包括启动模块、系统初始化模块实时时钟显示、IIC键盘、串口通信、液晶显示、网络通信、数据采集及控制、数据保存及故障记录和自动升级等模块.软件系统流程图见图2。

3  软件主要设计方法

3.1   IIC键盘和开关量处理

      本系统采用一片CPLD来扩展I/O端口,并利用S3C44B0X处理器的PF1和PF5等IO端口来模拟IIC协议完成数据通信。首先使用vhdl硬件描述语言设计IIC协议的硬件电路,并下载到CPLD芯片中,主要完成对外部端口的输入采集和输出控制以及与主处理器的通信。按照此协议标准,编写数据传输的启动停止、数据接收发送以及确认位接收等子程序。调试时应注意SDA和SCL信号的时序关系。由于此种方式下处理器只能通过查询方式才能判断是否有键按下,因此本设计采用定时器定时几毫秒来读IIC接口片内数据,主程序判断按键标记。此外,系统的32路开关量实时控制也是通过此接口来实现。

3.2  GUI显示

      良好的人机交互设计给系统的操作带来方便。嵌入式系统中的GUI设计应综合考虑代码占用的资源、GUI响应的速度和易于使用三个因素。若移植成熟的GUI源码,占用资源太大,响应速度相对较慢,本设计采用面向对象的设计方法,合理的定义了一些数据结构,使得图形化显示既满足要求,又具有良好的扩展性。

       依据人机界面设计的具体要求,分析显示数据的特点,为方便参数的显示和处理我们定义了一系列的数据结构,从而使得系统的显示和修改异常方便。首先确定系统需要多少个窗口,每个窗口有多少个菜单,画出窗口之间的变迁图,可以知道所有的窗口应当组成一个树形结构。主要的数据结构如图2-5所示。

      软件设计时,首先按照定义的数据结构定义每屏的显示数据和窗口处理函数,当有键按下时,系统依据当前键值、当前窗口号和当前光标确定系统按键后的新窗口号和当前光标,然后根据窗口号和光标从该窗口的数据区中取出将要显示的数据给窗口缓冲区,液晶显示的界面就是从窗口缓冲区中将数据直接取出并显示。

      依据显示窗口中数据处理的行为,可把显示方法分为两种。一种是利用上述的显示方法,具有良好的统一性,另一种的单独处理。因为在显示的各个界面中,有些界面数据处理特别少,有些处理特别多,比如参数修改窗口界面,此时需要把这些窗口独立出来单独处理。当按键调用此窗口时,系统调用此窗口的专用窗口处理函数来处理,直到检测到退出此窗口的消息时,才结束此操作,调用另外模块。在实际工程中,合理利用这两种显示方法对于复杂行为的人机交互的处理带来方便。一般是系统的主要顶级窗口显示使用统一显示,而叶子窗口使用单独处理较好。

3.3    数据采集及控

      模拟量数据采集主要含有采集算法和数据处理两部分。为了确保采集的正确性,本文采用中位值平均滤波方法。采集的数据多达32路,而且被系统频繁执行,因此好的设计结构至关重要。在综合权衡多路开关切换时间、启动转换切换时间和数据转换时间后,采用一路采集多次方法。采集模块在启动当前路模数转换的同时,对前一路的采集进行滤波处理并保存显示,这样节约了采集模块所用的时间。

3.4   网络通信模块

      网络通信主要完成网卡芯片的初始化、数据的收发以及网络协议栈的移植。本系统网卡芯片RTL8019AS内含16KRAM,用作发送和接收缓冲区。当有数据过来,通过本地DMA将数据从网线拷贝到网卡接收缓冲区,当缓冲区满时,再通过远程DMA将数据拷贝到内存供处理器处理。

       网卡芯片的驱动程序主要通过对网卡芯片内部一系列寄存器的配置来实现网卡的复位、物理地址配置、读写缓冲区指针的配置和数据收发配置等。编写程序过程中应熟悉网卡芯片前32个地址空间的所完成的功能和操作方法,从而使网卡能正常工作。当完成了驱动程序后,就需要移植TCP/IP协议栈。在熟悉ARP、IP、ICMP、TCP、UDP、TELNET等协议以及各种公开源码的协议栈的基础上,本文选用代码小、效率高的uIP协议栈。在调试的过程中,依据网络原理的分层结构以及网络数据传输的打包和解包过程,一层一层的调试,并用VC编写一些网络截包程序和收发程序来联合调试,确保数据在传输过程中收发正常并按正确的方式流动。此外,调试过程应注意数据宽度以及边界对齐问题,否则数据将不能正确收发。

4 小结

      本智能控制器的设计不仅完成了基本的人机界面和输入输出操作,而且具有良好的通信、数据查询、自动升级、自动开关机、数据自动记录、故障自动记录到片内FLASH以及故障数据向上位机传输等功能。经过反复测试与实验,各项性能均满足要求。

关键字:智能控制器  S3C44B0X  数据采集 引用地址:基于ARM嵌入式智能控制器的设计与实现

上一篇:恩智浦交付基于CortexTM-M3的微控制器
下一篇:英特尔32内核芯片将于明年上半年推出

推荐阅读最新更新时间:2024-05-02 20:48

LCD人机交互的数据采集系统
本文以MSC1210作为测量、信号处理以及通讯的核心,设计了高精度温度采集系统模块。该系统测量通道易于扩充,测量精度高,可以快速地进行高精度数据测量。   系统总体方案设计   本系统的硬件部分主要由前端数据采集、处理电路和后端数据处理、LCD电路组成。两部分通过RS-232串行接口进行通信。系统的总体方案构图如图1所示。      图1 系统总体结构   数据采集部分的软硬件设计   硬件电路设计   数据采集部分的核心器件选用了MSC1210Y5。这主要是因为该微处理器具有24位的 ADC,其有效精度高于22位。其内部包含完整的前向通道(包括输入缓存器、模拟开关电路、可编程增益放大器和ADC以及数字滤波部分)
[模拟电子]
LCD人机交互的<font color='red'>数据采集</font>系统
以C8051F340单片机为核心的数据采集系统设计
1引言 电子设备运行状态的稳定性直接影响到现代企业的生产, 设备发生故障后高昂的维修费以及设备停机后给企业生产带来的损失, 使得各个企业纷纷采取措施, 降低设备的故障率。通过数据采集系统准确的获取设备运行特征数据, 并对数据进行分析,判断设备的运行状态是否良好, 达到提前预防故障出现、减少停机检修的目的。实际应用中对数据采集系统的可靠性, 准确性和便携性要求很高。目前常用的数据传输网络(如RS232 /RS485, CAN 等)已经不能满足大量采集数据和高速实时数据传输的要求。而USB传输具有高速可靠传输的优势, 具有成本低、可靠性高、维护方便等优点。本文以带有片上USB 和高速AD转换器的C8051F340为核心控制器件, 利用
[单片机]
以C8051F340单片机为核心的<font color='red'>数据采集</font>系统设计
基于MSp430的微功耗数据采集系统的开发应用
0 引言 以电池作为电源的水下数据采集系统,若要长时间工作必然要为其配备大量的电池作为电源,如果能降低系统的功耗,那么将减少电池的数量,不仅能降低系统的成本而且能大大缩小系统的体积和重量,也更有利于水下数据采集系统的布放。本文介绍了一种基于微功耗单片机MSP430F1611和CF卡的水下微功耗数据采集系统的设计与实现,总功率仅150mW。相比传统的以DSP为处理器、IDE硬盘为存储介质的数据采集系统,功耗大大降低。 1 系统总体构成 本系统是应用在矢量水听器噪声测量试验中,要求实时采集并存储矢量水听器4通道信号,每通道采样率为10kHz,在水下不间断工作7小时。 鉴于本系统采样率不高,7个小时总的数据量不超过2个G,所以没
[单片机]
基于MSp430的微功耗<font color='red'>数据采集</font>系统的开发应用
adc0832与at89s52接口电路及真空度数据采集
真空系统在电力、石油化工、医疗制药、塑料、环保、医疗器械等行业都得到了广泛地应用,随着真空应用领域的不断扩展和深入,对真空技术指标要求亦越来越高,例如,在金刚石镀膜装置中,由于沉积金刚石膜的时间长达几十个小时,真空室真空度的稳定性对成膜质量的好坏有很大的影响,所以保持真空度的稳定将成为一个关键性的技术问题;离心式水泵在抽真空引水过程及水泵抽水过程中,离心式水泵入口的真空度已成为离心式水泵起/停、故障诊断的重要依据。只有将压力传感器获取的模拟信号进行有效的A/D转换成数字量后,才能输入单片机中进行处理,以及与PC通信及后续的波形显示和分析。笔者提出了ADC0832与压力传感器(PTB710)相结合,并利用单片机AT89S52的程序控
[单片机]
adc0832与at89s52接口电路及真空度<font color='red'>数据采集</font>
单片机多路数据采集汇编源程序
单片机多路数据采集汇编源程序在下面 源程序: 单路采集程序: MOV DPTR,#0F8FFH MOV R0,#00H ;将存储器的首地址存在R0,R1两个寄存器中 MOV R1,#00H MOV R2,#200D ;设置循环 MOV R3,#4 MOV R4,#8D MAIN: CLR P1.1 ;选中ADC0809 PUSH DPL ;DPTR入栈 PUSH DPH MOVX @DPTR,A ;启动AD转换 ACALL DELAY ;延时5ms 保证采集数据频率为200HZ MOVX A,@DPTR ;读数据 SETB P1.1 ;选中存储器 MOV DPL,R0 ;将存
[单片机]
ZigBee模块的运动数据采集与传输设计
ADI公司的ADIS16355提供完全的三轴惯性检测(角度运动与线性运动)。内核采用iMEMS传感器技术,内置嵌入式处理器用于传感器校准与调谐;采用SPI接口,方便连接与编程;具有±10 g测试范围,环境温度在-40~+85℃;具有可编程的功率控制能力和可编程的滤波器设计;超小型模块尺寸,应用非常广泛。利用ARM7微处理器LPC2148对其进行数据的采集并存储在SD卡中,以便后续数据传输。该套系统应用非常广,可以作为医疗方面病人康复的数据采集分析系统,也可以作为运动器材的数据采集分析控制系统。 1 系统整体设计 1.1 系统架构 整个数据采集传输系统结构如图1所示。利用LPC2148对ADIS16355进行控制并负责
[单片机]
CPLD在多路高速同步数据采集系统中的应用
摘要:采用VHDL语言设计,用CPLD控制模/数转换电路,完成多路模拟输入的高速同步数/模转,具有容错和自检能力。CPLD与处理之间采用并行接口,具有很好的移植性、可靠性。 关键词:VHDL CPLD 高速同步数/模转换 容错和自检 并行接口 移植性 引言 CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)是在传统的PAL、GAL基础上发展而来的,具有多种工作方式和高集成、高速、高可靠性等明显的特点,在超高速领域和实时测控方面有非常广泛的应用。与FPGA相比,CPLD比较适合计算机总线控制、地址译码、复杂状态机、定时/计数器、存储控制器等I/O密集型应用,且无须外部配置ROM、时延可预
[半导体设计/制造]
基于EWS的EPA蓝牙数据采集系统设计
引 言   EPA(Ethernet for Plant Automation)基于以太网(IEEE802.3)、无线局域网(IEEE802.11)和蓝牙(IEEE802.15)等信息网络COTS(Commercial-Off-The-Shelf)通信技术以及TCP(UDP)/IP协议,是一种适用于工业自动化控制系统装置与仪器仪表间,以及工业自动化仪器仪表间数据通信的工业控制网络技术。   蓝牙技术是一种线缆替代短距离无线通信技术,工业现场某些工业设备需要安装在恶劣的工业环境中,采用蓝牙技术可以避免工业现场布线遇到的问题。嵌入式Web服务器的出现满足了工业控制网络低成本远程控制的需要。本文将两者结合起来设计和开发了满足EPA工业控
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved