当前位置:首页 > 电源 > 数字电源
[导读]本文基于RS485总线,以ARM微控制器LPC2138为核心构建了一个分布式控制系统,依靠ARM微控制器的强大的控制处理能力和丰富的外设,实现了智能化的控制和更大程度的系统集成

摘   要:本文基于RS485总线,以ARM微控制器LPC2138为核心构建了一个分布式控制系统,依靠ARM微控制器的强大的控制处理能力和丰富的外设,实现了智能化的控制和更大程度的系统集成,文中给出了部分电路图,阐述了系统中引入的无极性连接和IAP(在应用可编程)技术。
关键词:分布式;RS485;ARM;IAP

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

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


                          图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即为方向控制脚)。 


                            图2  OLED显示连接示意图

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

                           图3  RS485通信接口电路图


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

在应用编程(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期

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

今天,小编将在这篇文章中为大家带来大数据的有关报道,通过阅读这篇文章,大家可以对大数据具备清晰的认识,主要内容如下。

关键字: 大数据 分布式 Kafka

北京2022年10月17日 /美通社/ -- 存储设备对于客户的核心价值就是要稳定可靠,无需什么星辰大海也不用玄妙推演,踏实将稳定可靠做到位、保护好客户的数据,即是最大的意义所在。 北有中关村 南有马栏山 这里的马栏...

关键字: AI 云平台 分布式 存储设备

物联网正在扩大规模并加速发展,进而驱动着全新的经济。而Arm生态系统正是这一巨大机遇背后的推动力。

关键字: ARM 物联网

ARM公司是一家知识产权(IP)供应商,它与一般的半导体公司最大的不同就是不制造芯片且不向终端用户出售芯片,而是通过转让设计方案,由合作伙伴生产出各具特色的芯片。

关键字: ARM

大数据将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 大数据 物联网 分布式

2018年10月26日,深圳星河丽思卡尔顿酒店,ARM中国CEO吴雄昂在ARM年度技术论坛上对记者如是说,彼时的吴坚定,温雅,意气风发。时隔两年,ARM中国CEO吴雄昂再次回到媒体视线,这一次,ARM中国与来自投资方和剑...

关键字: ARM 芯片 集成电路

喜欢折腾主机的小伙伴一定都知道X86和ARM架构的区别,前者在PC领域已经统治了几十年;后者则主要应用于移动领域,尤其是近几年,ARM的产品在终端应用特别是手持终端应用飞速发展。

关键字: 国产 ARM 主机

科技公司们认为,收购将使英伟达控制一个重要的供应商,该供应商向苹果、英特尔、三星电子、亚马逊和华为等公司授权基本的芯片技术,同时也向不计其数的中小技术企业提供授权。总部位于英国的ARM公司将芯片设计和相关软件代码授权给所...

关键字: 英伟达 ARM 半导体公司

在去年九月,英伟达宣布以400亿美金收购ARM时,就注定这场收购不会太顺利。因为一旦ARM成功被英伟达收购,这将使ARM改变在全球半导体市场中的中立立场,因为ARM的很多客户,都是英伟达的直接或者间接的对手。除此之外,还...

关键字: 英伟达 ARM 半导体

北京2022年10月11日 /美通社/ -- 在1992年出版的《雪崩》一书中,作者尼尔·史蒂芬森第一次提出Metaverse(元宇宙)这一概念;斗转星移,三十年之后,随着Roblox上市、Facebook...

关键字: 区块链 存储技术 带宽 分布式

数字电源

15504 篇文章

关注

发布文章

编辑精选

技术子站

关闭