应用于嵌入式PLC的LPC2294智能处理器设计方案

发布时间:2015-01-30 阅读量:1408 来源: 我爱方案网 作者:

【导读】 四十多年来,PLC已成为实现工业控制的中坚力量。它的功能不断完善,应用领域不断扩大,对于工业控制技术的进步与社会发展所发挥的作用无可估量。

“好消息!2015年新年来临之际,我爱方案网准备了ST开发板、庆科WIFI模块开发套件以及智能硬件研发必备的精密样片,只需填写个人信息与开发计划即有机会获得。更多详情>>>>”
PLC以它的高可靠性和易操作性,主导了工控行业数十年。PLC虽然有着它固有的优势,但面对客户需求的不断变化,PLC要想生存,就必须突破传统模式,积极求新求变以适应新的市场发展。而具有低成本优势的嵌入式PLC,正好能够满足这一需求。所谓嵌入式PLC是指采用SoC嵌入式片上系统芯片和嵌入式实时操作系统实现PLC功能,并能用IEC61131-3的标准编程语言编程的PLC.随着高性能的ARM嵌入式微处理器的发展,笔者设计了新一代微型嵌入式PLC.本文介绍了嵌入式PLC的体系结构,包含其硬件设计和软件设计方案。

1嵌入式PLC的硬件结构设计

1.1微控制器芯片的选取


CPU是PLC的核心,它能够识别用户按照特定的格式输入的各种指令,并按照指令的规定,根据当前的现场I/O信号的状态,发出相应的控制指令,完成预定的控制任务。本设计选用的是Philips公司生产的LPC2294微控制器。LPC2294是一款基于32位ARM7TDMI-S,并支持实时仿真和跟踪的CPU芯片,它带有256kB嵌入的高速Flash存储器,16kB片内SRAM.LPC2294采用144脚封装、具有极低的功耗以及多达112个通用I/O口,9个边沿或电平触发的外部中断引脚,最大为60MHz的工作晶振,多个32位定时器,PWM单元,实时时钟和看门狗,转换时间低至2.44μs的8通道10位ADC、4路高级CAN接口,另外具有2路UART(16C550),高速I2C(400kbit/s)及2路SPI总线。LPC2294丰富的硬件资源和完善的功能使这款微控制器特别适用于汽车、工业控制应用以及医疗系统和容错维护总线等场合。

1.2硬件系统的整体结构


本系统以ARM芯片LPC2294为CPU,设计为14路PNP型输入、10路继电器输出的基本模式。硬件总体结构包括:

电源及复位模块、ARM微控制器、Flash存储器扩展模块、开关量输入输出模块、模拟量输入输出模块、RS485接口及CAN接口通信模块等。系统的结构如图1所示。
应用于嵌入式PLC的LPC2294智能处理器设计方案

1.2.1开关量输入输出接口电路


图2所示为一路开关量输入图。此部分电路前端为R、C组成的一阶滤波电路,防止外部干扰信号进入系统中。输入端外接的输入控制开关信号(直流24V)通过输入点10.0经限流电阻输入到光电耦合器(PC816)的输入端,M为输入点10.0~10.7的公共输入端。因P0.23口被设置为输入模式且口线内部无上拉电阻,所以需要外接上拉电阻,防止口线悬空。当10.0输入端为24V时,光电耦合器中的光敏二极管导通,光敏晶体管输出端被拉为低电平,指示该路输入状态的LED被点亮,P0.23被置为低电平。当CPU访问该路信号时,将该输入点对应的输入过程映像寄存器的值置为1.10.0输入端为0V时,P0.23为高电平,当CPU访问该路信号时,则将该输入点对应的输入过程映像寄存器的值置为0.其余各个输入点所对应的电路及工作原理均相同。

应用于嵌入式PLC的LPC2294智能处理器设计方案

图3所示为继电器输出模块图,图中并联在继电器线圈两端的二极管这里起续流作用。该模块的工作原理如下:当内部输出过程映像寄存器为1时,LPC2294端口P1.16输出0,光敏晶体管导通,继电器线圈得电,输出点接通;反之当内部输出过程映像寄存器为0时,端口P1.16输出1,继电器线圈失电,输出点断开。
应用于嵌入式PLC的LPC2294智能处理器设计方案
 

需要注意的是,当LPC2294的GPIO口初上电时,其输出端口(如本图中的P1.16)的电压不稳定,这样易导致外部继电器误动作而引起外部设备工作不稳定。为此,我们设计了图4电路用来提高继电器输出的稳定性。

应用于嵌入式PLC的LPC2294智能处理器设计方案

这是一个由NE555定时器组成的单稳态电路,其中VCC5.0D端接图3中光电耦合器的集电极。其工作原理为:系统上电初始,2、6管脚电平不能突变,保持为低电平。分析NE555的内部电路可知,此时输出端3管脚输出高电平,电路开始对R、C电路进行充电,随着时间的推移,管脚2、6的电平不断升高,当升至23VCC时,输出端3管脚将翻转至低电平,使三极管导通,VCC5.0D输出5V.这样,系统上电后经过一段时间,I/O口的电平稳定下来之后,光电耦合器才得电开始工作。暂稳态的持续时间tW取决于外接电阻R和电容C的大小。tW等于电容电压在充电过程中从0上升到23VCC所需要的时间,即

应用于嵌入式PLC的LPC2294智能处理器设计方案

1.2.2模拟量输入电路设计


先通过电阻R66,将现场传感器输出的电流信号转换为0~5V电压信号进行采集。考虑到抗干扰及对微处理器电路的保护,在转换电路的输出端加了线性光耦HCNR201.硬件电路如图5所示。

应用于嵌入式PLC的LPC2294智能处理器设计方案

1.2.3串行通讯接口电路设计


为了能与其它工业控制产品兼容,我们设计时采用了RS-485接口标准。为了将TTL电平转换成RS485电平,选用了SP485E收发器。SP485E芯片的数据传输速率可高达10Mbps,其最大的特点是在为发送器输出和接收器输入管脚提供了ESD保护电路。接口电路如图6所示。

应用于嵌入式PLC的LPC2294智能处理器设计方案

 

2嵌入式PLC的软件系统设计


嵌入式PLC的软件分为运行系统软件和开发系统软件两部分。运行系统负责对整个系统的管理和对用户程序的编译执行,并保存所有的数据,完成与外界通讯。开发系统面对用户,完成对PLC程序的编辑和转换。

2.1PLC运行系统软件


该系统负责为应用程序分配内存,把该应用程序加载到分配好的内存里,然后开始执行该程序的指令。如果该程序要求位于底层的操作系统提供服务,该运行系统还必须负责处理有关的服务请求。该运行系统是基于嵌入式操作系统μC/OS-II来开发的,选用嵌入式操作系统提高了软件系统的抗干扰性,系统的可靠性及应用软件的开发效率,缩短了开发周期。μC/OS-II的移植的主要工作是修改与ARM处理器相关部分的代码,它们集中在3个文件中。

①OS_CPU.H文件该文件包含了用#define定义的与处理器相关的常量、宏和类型定义。文件中这些数据类型的定义如下:

typedefunsignedcharBOOLEAN;

typedefunsignedcharINT8U;

typedefsignedcharINT8S;

typedefunsignedshortINT16U;

typedefsignedshortINT16S;

typedefunsignedintINT32U;

typedefsignedintINT32S;

typedeffloatFP32;

typedefdoubleFP64;

typedefunsignedintOS_STK;

与ARM7体系结构相关的一些定义如下:

#defineOS_CRITICAL_METHOD2

__swi(0×00)voidOS_TASK_SW(void);

__swi(0×01)void_OSStartHighRdy(void);

__swi(0×02)voidOS_ENTER_CRITICAL(void);

__swi(0×03)voidOS_EXIT_CRITICAL(void);_

_swi(0×40)void*GetOSFunctionAddr(intIndex);

__swi(0×41)void*GetUsrFunctionAddr(intIndex);

__swi(0×42)voidOSISRBegin(void);

__swi(0×43)intOSISRNeedSwap(void);

__swi(0×80)voidChangeToSYSMode(void);

__swi(0×81)voidChangeToUSRMode(void);

__swi(0×82)voidTaskIsARM(INT8Uprio);

__swi(0×83)voidTaskIsTHUMB(INT8Uprio);

/*上述函数需在移植文件OS_CPU.H中将其声明。

*/#defineOS_STK_GROWTH1

此代码段中的OS_ENTER_CRITICAL()函数和OS_EXIT_CRITICAL()函数实现打开和关闭处理器的功能。

②OS_CPU_C.C文件该文件中的任务栈结构初始化函数OSTaskStkInit(),必须根据移植时统一定义的任务堆栈结构进行初始化。另外还有9个系统规定的钩子函数必须声明,但可以不包含任何代码,这些钩子函数在本移植中全为空函数。

③OS_CPU_A.S文件的移植共包括4个函数:多任务启动函数中调用的OSStartHighRdy()、任务切换函数OSCtxSw()、中断任务切换函数OSIntCtxSw()、时钟节拍服务函数OSTickISR()。

至此整个μC/OS-II内核移植完成。以后的用户程序都是在这个基础上进行的扩充。

2.2PLC开发系统软件


该系统的主要任务是让用户编写PLC程序,所以还需要设计与该系统相对应的编程平台。编程平台的设计主要包括编程界面的设计、编辑器的设计、转换模块的设计、编译器的设计和通信模块的设计等。软件系统结构图如图7所示。

应用于嵌入式PLC的LPC2294智能处理器设计方案

用户在编程平台里编写PLC程序。这里借用FX系列PLC的编程软件SWOPC-FXGP/WIN-C作为编程平台,编程语言可以使用梯形图和指令表。然后通过转换程序把编译后的目标文件转化成C语言。转换程序其实就是一个解释系统,通过逐条翻译编程软件的指令表,生成和处理器指令系统无关的用户指令。使用这样的方式作为上位机编程平台,节省了工作量。

3系统测试


将所设计的PLC软件系统植入基于LPC2294的嵌入式开发平台,与PLC输入输出硬件接口板连接,构成14输入10输出的PLC系统。在上层开发系统中编写相应的PLC梯形图,编译后加载到嵌入式PLC的运行系统中。梯形图如图8所示。
应用于嵌入式PLC的LPC2294智能处理器设计方案

按下开关0,相应的LED0被点亮,延时4秒后LED1被点亮。按下开关1,相应的LED2被点亮,同时LED0被熄灭。

由以上的测试效果可以看出原型机的测试结果与理论分析结果相同,所设计的PLC控制系统硬件、软件及μCOS-II操作系统的移植达到了期望的控制效果,达到了设计要求。

本文针对目前普通PLC存在的一些不足,提出了一种基于LPC2294的嵌入式PLC设计方案。该嵌入式PLC的硬件、软件、通信等各方面的功能设计灵活,易于剪裁,更贴近各种档次的机电设备的要求。该PLC完全基于嵌入式系统的技术基础,拿来就可以用,且SOC芯片、嵌入式操作系统、符合IEC61131-3编程语言标准编程环境等在市场上很容易找到,因此该嵌入式PLC在我国市场的使用和推广前景十分可观。

相关文章

基于智能处理器OMAP5910的低压保护测控装置设计方案

应用于家用远程医疗监护智能终端的ARM9处理器设计方案

应用于DBDM智能手机处理器的通信优化方案
相关资讯
威世科技推出CHA0402高频薄膜电阻:突破50GHz性能极限的汽车级解决方案

在5G通信、毫米波雷达及太空技术迅猛发展的背景下,高频电子元件的性能成为系统设计的关键瓶颈。威世科技(Vishay)近日宣布扩充其通过AEC-Q200认证的CHA薄膜电阻系列,新增0402封装尺寸产品(CHA0402),将高频工作范围扩展至50GHz,为汽车电子、航天通信及医疗设备提供突破性的高性能解决方案。

iPhone 17系列前瞻:屏幕尺寸战略调整与关键升级解析

据多方供应链消息及知名行业分析师(如DSCC分析师Ross Young、爆料人“数码闲聊站”)最新披露,苹果计划对2025年发布的iPhone 17系列产品线进行显著调整,其中屏幕尺寸策略的改变将成为基础款机型的核心亮点,并预示着苹果对产品定位的重新思考。

国产高精度闭环磁通门芯片问世,重构新能源电流检测方案

在光伏逆变器高频开关、充电桩大功率动态响应及工业电机驱动的严苛场景中,电流测量的精度与可靠性直接关乎系统能效与安全。伴随新能源与智能制造产业升级,传统霍尔或开环传感器在温漂抑制、抗干扰能力及动态响应上的瓶颈日益凸显,亟需更高性能的集成化解决方案。纳芯微电子最新推出的NSDRV401闭环磁通门信号调节芯片,正是瞄准这一技术高地而生。

第四代Tandem OLED技术突破!LG显示双路布局高端显示器市场

LG Display于6月27日宣布正式启动27英寸OLED显示器面板的全面量产计划,标志着高端显示器市场迎来重大技术革新。该面板基于革命性的第四代Primary RGB Tandem OLED技术,通过红、绿、蓝三原色四层独立堆叠结构,实现1500尼特峰值亮度与280Hz刷新率的卓越性能组合。

美光推出2600 NVMe SSD:QLC存储性能的革命性突破

2025年7月,美光科技(纳斯达克:MU)正式发布专为OEM设计的2600 NVMe SSD。作为高性价比客户端存储解决方案,该产品首次搭载第九代QLC NAND闪存芯片(G9 QLC),结合独家自适应写入技术(Adaptive Write Technology™),在保持QLC成本优势的同时,实现了PCIe 4.0协议下的突破性性能。测试数据显示,其顺序写入速度较同类QLC/TLC产品提升63%,随机写入性能提升49%,为商用及消费级PC用户提供全新体验。