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

发布者:Huanle666最新更新时间:2012-11-01 来源: 21ic 关键字:ARM  LPC2138  分布式系统 手机看文章 扫描二维码
随时随地手机看文章

引言

分布式控制系统(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。[page]

无极性连接设计

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

在应用编程(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技术也使得系统智能化程度提高,符合分布式控制系统的发展方向。

参考文献:

[1]. RS485 datasheet http://www.dzsc.com/datasheet/RS485_585289.html.
[2]. LPC2138 datasheet http://www.dzsc.com/datasheet/LPC2138_454528.html.
[3]. ARM7TDMI-S datasheet http://www.dzsc.com/datasheet/ARM7TDMI-

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

上一篇:一个典型的嵌入式系统设计和实现
下一篇:嵌入式Nucleus PLUS在S3C2410A上移植的实现

推荐阅读最新更新时间:2024-03-16 13:11

基于ARM7内核LPC2119芯片实现双向变换器的设计
在这些应用当中,很多时候都要求开关电源不仅能够控制能量的双向流动,还要能够实现低压、大电流的输出。在开关频率不太高的情况下,随着输出电压的降低、输出电流的增加,整流损耗就成了影响开关电源效率的主要冈素。因此,为了提高开关电源的效率,就必须设法降低整流损耗。而在本文中采用的同步整流技术就是一种降低整流损耗的有效手段。 在以往的电源设计当中,模拟控制技术因其动态响应快、无量化误差、价格低廉等优点而被广泛应崩;而数字控制技术则由于其成本和技术等方面的因素而较少得到应用。近年来,随着半导体技术的不断发展,数字微控制器的成本显著降低,性能不断提高,这就使得高频开关电源的全数字化成为可能。由于数字控制具有能够简化系统硬件没计、减少分立元件
[单片机]
基于<font color='red'>ARM</font>7内核LPC2119芯片实现双向变换器的设计
arm移植ssh,实现远程root登录和sftp登录
主机:ubuntu16.04 64bit 目标板:mini2440 交叉编译工具:4.4.3 1. 下载需要的源码: mkdir -p ~/arm/fs ;mkdir -p ~/arm/source 下载zlib-1.2.3: wget -c http://www.zlib.net/fossils/zlib-1.2.3.tar.gz 下载openssl-0.9.8d: wget -c http://www.openssl.org/source/openssl-0.9.8d.tar.gz 下载openssh-4.6.tar.gz 上面三个源码打包下载链接:https://download.csdn.net/down
[单片机]
<font color='red'>arm</font>移植ssh,实现远程root登录和sftp登录
传拟收购Arm
知情人士称,除了全球最大的芯片代工制造商台积电,以及全球最大的电子代工厂商富士康,软银还接触了苹果公司、高通和NV等。 富士康 (2317)公布7月营收4,033.26亿元,重回4千亿元水准,月增11.87%,年增1.34%,创历年同期新高,亦为今(2020)年以来新高,显示营运已逐步摆脱新冠肺炎疫情冲击;累计今年前7月合并营收为2兆4,614.43亿元,年减5.9%,降幅逐渐缩小。 富士康董事长刘扬伟曾表示,第三季初步看来比预期好。而鸿海将于下周三(12日)召开法说会,届时可望进一步释出对下半年产业看法及营运展望。业界则预估,第三季为传统旺季,随着苹果等客户将陆续发布新机,富士康营运可望一路升温至年底。 富士康指出,就7月四大类
[机器人]
ARM发布45纳米SOI测试结果最高节能40%
  ARM公司近日在于加州福斯特市举行的IEEE SOI大会上发布了一款绝缘硅(silicon-on-insulator,SOI)45纳米测试芯片的测试结果。结果表明,相较于采用传统的体效应工艺(bulk process)进行芯片制造,该测试芯片显示出最高可达40%的功耗节省的可能性。这一测试芯片是基于ARM1176™ 处理器,能够在SOI和体效应微处理器实施之间进行直接的比较。此次发布的结果证实了在为高性能消费设备和移动应用设计低功耗处理器时,SOI是一项取代传统体效应工艺的可行技术。    ARM®和Soitec联合制造了这款测试芯片,在采用了一个著名的、行业标准的内核的实际芯片实施中显示出功耗节省的可能性。其目的是对用
[半导体设计/制造]
ARM与PCL6045B的嵌入式运动控制器的设计
运动控制器从结构上分3类: 1.基于计算机标准总线的运动控制器(DSP或微机芯片做CPU 在DOS或WINDOWS平台下自行开发)​ 2.Soft​型开放式运动控制器(软件全部装在计算机中,硬件部分仅是计算机与伺服驱动和外部I/O之间的标准化通用接口) 3.​嵌入式结构的运动控制器(计算机嵌入到运动控制器中,实质上是基于计算机总线结构的运动控制器的一种变化) ​每个轴提供正负方向限位、减速、原点4路机械输入信号 运动控制器设计方案比较 1.基于8/16位微处理器的运动个控制器(具有一定的灵活性和适应性,处理速度有限、处理能力有限)​ 2.基于PLC的运动控制器(体积小、可靠性高、周期短、抗干扰强。不能高频工作,且不能实现
[单片机]
读<font color='red'>ARM</font>与PCL6045B的嵌入式运动控制器的设计
9年非ARM核之路,爱普特微电子推64位双核通用MCU产品
12月17日,在首届滴水湖中国RISC-V产业论坛上,深圳市爱普特微电子有限公司(APTCHIP)董事兼副总经理袁永生介绍了该公司基于RISC-V的64位双核通用MCU产品“APT32F706”。 袁永生指出,APTCHIP从成立至今就专注在全国产道路,研发团队来自全球头部公司的完整团队,产品研发经验覆盖手机APP、汽车电子、通用MCU。公司用了5年时间打造了齐全的、经过批量验证的、全系列IP库。基于自身IP库,公司不断研发全自主产权的系列纯国产MCU。 截止到目前,APTCHIP的RISC-V内核MCU目前在中国市场出货量已经超1亿颗。袁永生表示,RISC-V用10年时间走过了传统架构30年的技术里程,给下游发展也来带来了巨
[手机便携]
9年非<font color='red'>ARM</font>核之路,爱普特微电子推64位双核通用MCU产品
基于ARM9和GSM/GPRS的无线可移动红外监测报警系统
传统的图像监测系统往往布线复杂,通过远距离有线传输而费用高昂,并且灵活机动性小,由于GPRS(通用分组无线业务)通信技术在中低速率无线数据传输方面的突出优势,基于GPRS网络的图像监测系统打破了电缆和光纤传输的限制,在图像监控系统市场中占有很大优势。但是使用GPRS网络进行实时监控的网路费用较大,而在某些场合,比如运送重要物品的货车、无人值守的贵重设备等并不需要实时监控,仅当有入侵障碍物时才需要采集和传输现场图像并发送报警信号,以达到监测和防盗的目的。 针对这个问题,本文设计了一种基于ARM9和GSM/GPRS网络的无线可移动红外监测报警系统,使用红外监测模块对被监测点进行监测,当探测到入侵障碍物时调用图像采集设备对现场状
[单片机]
基于<font color='red'>ARM</font>9和GSM/GPRS的无线可移动红外监测报警<font color='red'>系统</font>
一种基于ARM和PoE的嵌入式系统的网络广播设计方案
1 系统结构 系统由音频放大器LM48510、音频处理器、以太网供电和以太网数据通信等组成。从前端到后端依次经过音频放大器LM48510→ARM926EJS→PoE/Network等几个处理过程,实现以太网供电的网络广播。系统的硬件结构如图1所示。 图1 系统硬件结构 2 系统的硬件设计 2.1 ARM926EJS相关设计 ARM926EJS处理器是通用微处理器ARM9家族的一员,属于5TEJ版ARM架构。针对的是多任务应用,全存储器管理、高性能、小核心尺寸和低功耗都是其重要的特点。ARM926EJS处理器支持32位ARM 16位Thumb指令集,使得用户能在高性能和高代码密度上取得平衡。应用ARM92
[单片机]
一种基于<font color='red'>ARM</font>和PoE的嵌入式<font color='red'>系统</font>的网络广播设计方案
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

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

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