电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 嵌入式系统/ARM技术 > 详细信息
嵌入式系统/ARM技术:基于ARM微控制LPC2138的分布式系统设计
来源:   时间: 2007-6-11 14:12:04    

引言

分布式控制系统(DistributedControl System,DCS)是应用计算机技术对生产过程进行集中监测、管理和分散控制的综合性网络系统。目前,采用微控制器作为分布控制核心,通过RS485网络构建的分布式控制系统在工业、农业、医疗等领域获得了广泛的应用,例如,分布式温室环境信息监测系统,分布式水下电脑灯控制系统等等。

LPC2138是飞利浦公司推出的基于ARM7TDMI-S内核的微控制器,它具有非常丰富的外围模块,强大的处理和控制功能,非常易于构建嵌入式系统。用它构建的分布式控制系统,不仅体积小,性价比高,而且还具有稳定可靠、功能强大、开发周期短等特点。LPC21 38微控制器介绍LPC2138内嵌512KB的高速Flash存储器和32KB的RAM,具有丰富的外设资源:2个32位定时器(带捕获、比较通道);2个10位8路ADC;1个10位DAC;PWM通道;4 7 路GPIO;9个边沿或电平触发的外部中断;具有独立电源和时钟的RTc;多个串行接口(UART、I2C、SPI、SSP)。它内含向量中断控制器,可配置中断优先级和向量地址,片内Boot装载程序可以实现在系统/在应用编程(ISP/IAP),通过片内PLL可实现60MHz的CPU操作频率,具有空闲和掉电2种低功耗模式,并且可通过外部中断唤醒。

控制系统设计

在分布式的控制系统中一般采用通用的单片机作为控制处理的核心,不仅速度慢信息处理能力弱,而且一般需要附加许多外围电路,例如RAM、ROM、ADC、DAC、看门狗等等。采用ARM微控制器LPC2138为核心的分布式控制系统,通过扩展简单的外围电路(显示模块、中断键盘、RS485模块),开发相应的嵌入式程序即可实现功能强大的系统,不仅具有较高的系统集成度和稳定性,而且开发周期比较短。本文所设计系统总体框图如图1所示,包含了OLED显示、中断键盘、RS485接口和EXT_CON接口(用来功能扩展的预留接口)。

显示系统设计

系统显示模块采用OLED显示模块VGSl2864E,它是64×128矩阵式单色图形字符显示模块,由于采用有机发光技术,无需背光源,所以与传统LCD相比在阳光照射下更能呈现清晰的图像和数据。另外它还具有高亮度、高对比度、宽视角、低驱动电压和高发光效率等优越的特性,较宽的温度范围(存储温度:-30℃~80℃,工作温度:-20℃~70℃)也能适应更恶劣的环境。

VGS12864E使用两片列驱动控制器,内嵌64×64显示数据RAM,RAM中每位数据对应屏上一个点的亮、暗,每个半屏都被分成了按行的八页,因为每个字节的数据按低位(LSB)在上,高位(MSB)在下的结构排列,所以在提取字库的时候,需要设置取字模的方式为:纵向取模,字节倒序。它与LPC2138的连接如图2所示。ARM和OLED之间需要加电平转换芯片,本设计采用16位双向电平转换芯片IDT74FCT164245,另外进行电平转换时需要进行方向控制(图2中DIR即为方向控制脚)。

RS485接口电路设计

RS485通信部分采用TI公司的SN65HVD24收发芯片,它具有较高的共模电压范围(一 20~25V),支持最多256个节点,高达16kV的ESD,通信速率在500m时最高达3Mbps。为了防止串行通信时外界干扰引入微控制器,在微控制器和RS485通信芯片间加入了光电隔离电路,电路图见图3。

无极性连接设计

实现无极性连接有利于工程施工,方便系统扩容。如果采用差分曼彻斯特编码的方法虽然可靠性高,但需要增加编解码器,提高了硬件复杂性。本系统采用了异或门和软件编程的方法实现。即在信息输入输出部分增加异或门进行控制,当连接错误的时候控制引脚输出高电平对信息取反,连接正确引脚输出低电平信息不变。通过程序实现系统的自动信息监测和自动控制,由主机发送系统自检信息,包括一个正向数据信息和反向的数据信息,在信息中包含正反信息码,当从机接收到这些信息的时候就可以自动调整自己的控制端进行相应的控制操作。使用这种方式只需增加少许的软硬件开销就实现了无极性的控制。

在应用编程(1AP)实现

许多场合(例如地下灯光控制、土壤检测)在系统布好后就不易进行系统重新配置和程序的更新,所以采用IAP技术不仅使系统的适应能力增强,工作寿命增长而且维护比较方便。

LPC2138的IAP程序位于BootBlock中,占用12KB存储空间,位于地址0x0007D000-0x0007FFFF的Flash中,同时它的最低64字节也出现在从地址0x00000000开始的Flash存储器区域,所以复位后中断向量被激活,跳转到Boot Block装载程序的入口。Boot装载程序控制复位后的初始化操作,并提供实现Flash编程的方法。 IAP程序是Thumb代码,位于地址0x7FFFFFFO(重映射后地址)处。IAP的功能可用下面的C代码来调用。

(1)定义IAP程序的入口地址(由于IAP地址的第0位是1,因此,当程序计数器转移到该地址时会引起Thumb指令集的变化)

#define IAP_LOCATIONOx7FFFFFFl

(2)定义数据结构或指针

unsigned long command[5];

unsigned long result[2];

(3)定义函数类型指针

Typedef void(*IAP)(unsignedint[],unsigned int[]);

IAP iap_entry;

(4)设置函数指针

iaP_entrY = (I A P)lAP_LOCATl0N;

(5)调用IAP

iap_entry(command,result);

程序开发采用ARM公司的集成开发工具ADS1.2,把终端程序分为主程序和更新程序两部分:

主程序用来实现终端的功能,是需要进行更新的部分,更新程序仅负责主程序的更新。编译链接时主程序占据0~14扇区,更新程序占据22~26扇区,15~21扇区用来存储待更新主程序。更新程序用到的数据定义到片内R A M中0x40007800~0x40007FFF区域。另外为了实现主程序和更新程序的精确定位,设置ARMLinker中Linktype用Scattered方式,它能根据格式文件中指定的地址映射生成ELF格式的映像文件。

更新过程可大体分为程序更新准备和程序更新两个阶段:

准备阶段分三步完成,首先主站通过RS485总线将编译过的新终端主程序(不包含更新模块)分成小的数据单元下传给终端,终端将收到的经校验正确的数据存储到片内F1ash存储器中,然后主站查询终端代码的接收情况,并对传输错误的部分重新下传进行更正,最后主站发送启动更新指令,终端检验程序数据正确性并置上更新标志,停止刷新看门狗,从而使终端复位。

程序更新分两步完成,首先终端重启时检测到更新标志有效即可调用更新程序进行程序更新,程序更新完成后再次使终端自复位,即可运行更新后的程序代码,完成程序更新全过程。

另外,由于IAP服务代码是Thumb指令,用c程序直接调用时须在设置编译参数ATPCS时选中Arm/ThumbInte2rworking项。由于执行IAP命令使用片内RAM顶端的32个字节空间,因此用户程序不应该使用该空间。调用IAP功能前,要关闭PLL、MAM(存储器加速模块)部件及所有中断以及正确设置系统时钟。

结语

基于ARM微处理器的分布式控制系统不仅提高了系统集成度,增强了系统功能和系统稳定性,而且通过其强大的处理能力和IAP技术也使得系统智能化程度提高,符合分布式控制系统的发展方向。

相关信息
发表评论
打印本页 关闭本页
基于GSM和LPC2138的基站监控模块的设计
    基站动力及环境集中监控系统针对基站电源设备、空调设备和基站的环境参量等对象,利用软件技术和相应的检测设备、控制设备等实现对监控对象的数据的采集、传输、处理等过程的管理,将移动通信维护管理部门关心的问题综合在一起进行处理,解决了基站设备维护中的一些实际问题,降低了基站系统的运行成本,提高了移动通信系统运行的可靠性及服务质量。而现行系统是将监控对象的数据发送...
>>详细内容
三菱FX系列PLC与三菱变频器通讯应用实例(RS485)
    ① 三菱PLC:FX2N + FX2N-485-BD   ② 三菱变频器:A500系列、E500系列、F500系列、F700系列、S500系列   两者之间通过网线连接(网线的RJ45插头和变频器的PU插座接),使用两对导线连接,即将变频器的SDA与PLC通讯板(FX2N-485-BD)的RDA接,变频器的SDB与PLC通讯板(FX2N-485-BD)的RDB接,变频器的RDA与PLC通讯板(FX2N-485-BD)的SDA接,变频器的RDB与PLC通讯板(FX2N-485-...
>>详细内容
什么是RS485接口
  典型的串行通讯标准是RS232和RS485,它们定义了电压,阻抗等,但不对软件协议给予定义,区别于RS232, RS485的特性包括:    1. RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片, 且该电平与TTL电平兼容,可方便与TTL 电路连接。   2. RS-485的数据最高传输速...
>>详细内容
RS422/RS485网络的无极性接线设计
  摘 要: 给出一种RS422/485网络中,模块可以接收任意极性直流供电和总线信号的设计方法。该方法允许将2根信号线或直流电源线在传输途中任意极性续接,容忍了布线施工中的反接差错,使工程施工大为方便 关键词: RS422 RS485 无极性 分续线盒 整流电桥 差分曼彻斯特 1 问题提出 现在的很多测控系统是使用RS422或RS485总线互连的。RS422/485总线信号是由4(2)根有极性的差...
>>详细内容
基于RS485总线的面粉厂集散控制系统
  基于RS485总线的面粉厂集散控制系统 郭芳瑞 (西安建筑科技大学 陕西西安 710055) 1 面粉厂的基本情况 1.1 生产工艺 面粉厂的加工工艺较简单,简单地说就是加入麦子磨成粉。然而作为一条自动生产线从加入麦子磨成粉再装成袋,也不是一件容易的事。首先麦子经过管道处理后定量的由漏斗称向磨机加入麦子,磨机加工出面粉,通过不同位置的管道分离出3种...
>>详细内容
微功耗RS485中继器的研制
  引言:   在通信距离为几十米到上千米时,RS485收发器被广泛使用。RS485收发器采用平衡发送和差分接收,因此具有抑制共模干扰的能力,加上接收器具有高的灵敏度,能检测低达200mV的电压,故传输信号能在千米以外得到恢复。   使用RS485总线,一对双绞线就能实现多站联网,构成分布式系统。它的设备简单、价格低廉、能进行长距离通信,故在工程项目中得到了广泛应用。但是如果工程...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com