基于ARM微控制器LPC2138的分布式系统设计

发布者:JoyousJourney最新更新时间:2011-07-11 关键字:ARM微控制器  LPC2138  分布式系统设计 手机看文章 扫描二维码
随时随地手机看文章

  引言

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

  LPC2138是飞利浦公司推出的基于ARM7TDMI-S 内核的微控制器,它具有非常丰富的外围模块,强大的处理和控制功能,非常易于构建嵌入式系统。用它构建的分布式控制系统,不仅体积小,性价比高,而且还具有稳定可靠、功能强大、开发周期短等特点。

基于ARM微控制器LPC2138的分布式系统设计

  图1 系统总体设计框图

  LPC2138微控制器介绍

  LPC2138内嵌512KB的高速Flash存储器和32KB的RAM,具有丰富的外设资源:2个32位定时器(带捕获、比较通道);2个10位8路ADC;1个10位DAC;PWM 通道;47路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显示模块VGS12864E,它是64×128矩阵式单色图形字符显示模块,由于采用有机发光技术,无需背光源,所以与传统LCD相比在阳光照射下更能呈现清晰的图像和数据。另外它还具有高亮度、高对比度、宽视角、低驱动电压和高发光效率等优越的特性,较宽的温度范围(存储温度:-30℃~80℃,工作温度: -20℃~70℃)也能适应更恶劣的环境。

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

基于ARM微控制器LPC2138的分布式系统设计

  图2 OLED显示连接示意图

  RS485接口电路设计

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

基于ARM微控制器LPC2138的分布式系统设计

  图3 RS485通信接口电路图[page]

  无极性连接设计

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

  在应用编程(IAP)实现

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

  LPC2138的IAP程序位于Boot Block中,占用12KB存储空间,位于地址0x0007D000~ 0x0007FFFF的Flash中,同时它的最低64字节也出现在从地址0x00000000开始的Flash存储器区域,所以复位后中断向量被激活,跳转到Boot Block装载程序的入口。Boot装载程序控制复位后的初始化操作,并提供实现Flash编程的方法。

  IAP程序是Thumb代码,位于地址0x7FFFFFF0(重映射后地址)处。IAP的功能可用下面的C代码来调用。

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

  #define IAP_LOCATION 0x7FFFFFF1

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

  unsigned long command[5];

  unsigned long result[2];

  (3)定义函数类型指针

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

  IAP iap_entry;

  (4)设置函数指针

  iap_entry = (IAP) IAP_LOCATION;

  (5)调用IAP

  iap_entry (command,result);

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

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

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

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

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

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

  结语

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

  参考文献

  1.Philips Semiconductor . LPC2131/2132/2138 User Manual. 2004/11/22

  2.周立功, 张华 等. 深入浅出ARM7——LPC213x/214x(上册)[M]. 北京:北京航空航天大学出版社, 2005年6月第一版

  3.赵会宾, 田庆春. 利用LPC2214的IAP功能实现程序远程更新[J]. 无线电工程, 2006年第36卷第7期

  4.吴强, 周小芳. RS-485网络通信的无极性接线设计[J]. 电子工程师, 2005年12月第31卷第12期

  5.王永清, 左敬志, 朱保昱. 基于MSP430F123的分布式水下电脑灯控制系统[J]. 现代电子技术, 2005年第5期总第196期

 

 

关键字:ARM微控制器  LPC2138  分布式系统设计 引用地址:基于ARM微控制器LPC2138的分布式系统设计

上一篇:基于ARM处理器的CAN-Ethernet通信模块实现
下一篇:基于ARM处理器LPC2142的高速数据采集卡设计

推荐阅读最新更新时间:2024-03-16 12:38

采用ARM单片机的CPLD/FPGA高速数据处理系统
1 引 言 传统的数据采集系统一般采用单片机,系统大多通过PCI总线完成数据的传输。其缺点是数学运算能力差;受限于计算机插槽数量和中断资源;不便于连接与安装;易受机箱内电磁环境的影响。这些问题遏制了基于PCI总线的数据采集系统的进一步开发和应用。因此,需要一种更为简便通用的方式完成采集系统和计算机数据的交互。 数据采集系统性能的好坏,主要取决于它的精度和速度。在保证精度的条件下应尽可能地提高采样速度,以满足实时采集、实时处理和实时控制的要求。实践表明,采用ARM 32位嵌入式微处理器作为控制器,用USB(通用串行总线)和上位机连接构成的数据采集系统能大大提高系统数据处理的能力,降低对PC机和接口速度的依赖。 2 系统硬件设
[单片机]
采用<font color='red'>ARM</font>和<font color='red'>单片机</font>的CPLD/FPGA高速数据处理系统
新唐ARM Cortex- M0/M4 MCU新品发表会
台湾新竹-11/05/2013-新唐科技自2010年成功推出以ARM® Cortex™-M0 为内核的32位微控制器 - NuMicro™ 家族后,持续在高性价比微控制器解决方案上开发新产品,迄今已发表多款市场耳熟能详的NUC100、M051、Mini51、Nano100 超低功耗等系列。今年新唐将再度发表多款性能增强之新系列产品:高性能多管脚M058S系列、带内嵌2.0 B标准双CAN (Controller Area Network) 控制器局域网络总线与多组UART串口之NUC230/240系列、最佳成本优势低管脚Mini51F系列与带LCD之超低功耗Nano112系列。且将正式发表基于ARM® Cortex™-M4 内核 3
[单片机]
μC/OS-Ⅱ在ARM系列单片机S3C44B0x上的移植
引 言 目前,嵌入式系统在工业控制、家用电器、移动通信、PDA等各种领域得到了越来越广泛的应用。由于用户对嵌入式产品的性能要求越来越高,程序设计也变得越来越复杂,这就需要一个通用的嵌入式实时操作系统来对其进行管理和控制。对移植了操作系统的嵌入式系统进行设计和开发,可以大大减小程序员的负担,对于不同的应用可以按照相同的步骤来完成系统的设计。 μC/OS-Ⅱ是一种简单高效、源代码公开的嵌入式实时操作系统,具有良好的可扩展性和可移植性,被广泛的应用到各种嵌人式处理器上。μCOS-Ⅱ操作系统拥有可固化,可裁剪,可剥夺性的实时内核,可同时管理64个系统任务。利用移植μCOS-Ⅱ操作系统的嵌入式微处理器来设计和开发产品,对于提高产品的
[单片机]
μC/OS-Ⅱ在<font color='red'>ARM</font>系列<font color='red'>单片机</font>S3C44B0x上的移植
基于LPC2138芯片和LP02138 SOC实现智能数字量采集板的设计
本文设计的开关量信号采集模板是一款嵌入式SCADA系统的一种插件,称为智能数字量采集板(IntelligentBinary Input Board,简称B板)。该装置主要用于电力系统等工业过程控制领域的实时数据采集与控制。 在绝大多数工业测控系统中都不可避免地会涉及开关量采集的问题,开关量信号采样的准确可靠性对于整个测控系统能否正常稳定地工作,起着重要的作用。从以往的工作经验来看,开关量信号采集的关键问题就是去抖动,避免错误的开关量变位信号困扰系统的使用者。所谓开关量信号抖动就是由于开关量信号的采样通道受到干扰后装置采集到了错误的开关状态并上报给主站系统,产生许多莫须有的告警信息,让系统的使用者难以辨别事件的真伪,影响系统的实
[单片机]
基于<font color='red'>LPC2138</font>芯片和LP02138 SOC实现智能数字量采集板的设计
ARM-CortexM0/M0+单片机的指针变量替换方法
引言 CortexM0/M0+是RISC类型的低端ARM内核,其指令集与高端ARM兼容,在性能、功耗和价格方面远优于传统的以8051、68S08/12等为代表的8/16位CISC(复杂指令流)CPU。目前,各半导体厂商纷纷以之替代原有的8/16位MCU内核,32位ARM MCU全面替代8/16位MCU已是大势所趋。 CortexM0+将CortexM0的3级流水线简化为2级,并进一步降低功耗、提高性能,这些优点使得CortexM0+成为目前8/16位处理器较好的替代者。不过 替代8/16位MCU的低端ARM往往内存资源非常有限,目前典型的CortexM0/M0+ MCU往往仅有2 KB、4 KB或8 KB,最多16 KB片
[单片机]
<font color='red'>ARM</font>-CortexM0/M0+<font color='red'>单片机</font>的指针变量替换方法
东芝推出TXZ+TM族高级系列基于Arm® Cortex®-M4的新款M4G组MCU
东芝推出TXZ+TM族高级系列中用于高速数据处理基于Arm® Cortex®-M4的新款M4G组微控制器 中国上海,2021年9月8日——东芝电子元件及存储装置株式会社(“东芝”)今日宣布,已开始量产M4G组中用于高速数据处理的20种新器件。M4G组是TXZ+TM族高级系列的新成员,采用40nm工艺制造。这些产品采用带FPU的Arm Cortex-M4内核,运行频率高达200MHz,内部集成2MB代码闪存和32KB数据闪存,具有10万次的写入周期耐久性,此外还提供了丰富的接口和通信选项。因此,M4G组器件非常适用于办公设备、楼宇和工厂自动化应用。 M4G组中的微控制器配置增强型的通信功能,除UART、FUART、TS
[单片机]
东芝推出TXZ+TM族高级系列基于<font color='red'>Arm</font>® Cortex®-M4的新款M4G组<font color='red'>MCU</font>
NXP宣布推出基于ARM968核的微控制器系列
恩智浦半导体(NXP Semiconductors,由飞利浦创建的独立半导体公司),近日推出了全新的LPC292x系列微控制器。在工业网络、报警系统和电机控制应用方面,125MHz的LPC292x系列是目前市场上最快的ARM968微控制器。在已有的LPC291x系列基础上,恩智浦现提供LPC292x微控制器系列的7个新产品,为市场上这个ARM微控制器的最大系列增添新成员。   在给客户们提供无以伦比的操作速度之余,LPC292x系列也包括几个以前在ARM968 MCU中未有过的特性,例如USB Host/On-The-Go/Device、16KB EEPROM、5V ADC、带RS485和LIN支持的UART、正交编码器接口和电
[单片机]
用梯度均值法提高LPC2138的A/D分辨率
在数据采集系统中,模/数转换器是其中至关重要的环节。模/数转换器的精度以及系统的成本直接影响到系统的实用性,因此,如何提高模/数转换器的精度和降低系统的成本,是衡量系统是否具有实际应用价值的标准。   现在很多微控制器内部集成了A/D芯片,但常常达不到应用的要求,于是不得不浪费内部的A/D资源,花费资金去外扩一枚精度更高的A/D芯片。本设计实现了一种提高了已有的ADC分辨率的方法,适用于已有ADC分辨率达不到要求和精度要求不是特别严格的情况。    1 梯度均值A/D方案   定义1 设x为实数, 表示不大于x的最大整数,则称f(x)= 为x的取整函数。   定义2 设x为实数, x 表示对小数部分四舍五入的取整运算,
[测试测量]
用梯度均值法提高<font color='red'>LPC2138</font>的A/D分辨率
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved