0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于LPC2131 ARM单片机16路开关量输入信号采集系统的设计

电子设计 来源:电子产品世界 作者:李亘军;徐丽杰; 2020-06-24 07:58 次阅读

在大型工业控制系统中,各级设备的启动、停止,都对整个系统的运行状况有着一定的影响,对这些装置开关量信号的采集、动作时序的记录也显得尤为重要。所以,有必要设计一种开关量信号采集卡,来对这些信号进行采集,以对设备运行状态、生产事故的检测和分析、查询提供依据。

本文介绍的16通道开关信号采集卡采用飞利浦LPC2131 ARM单片机为核心,以0.5ms的采样周期,可对16路开关量输入信号进行采集,对开关量的跳变波形及发生时间进行实时测量,并将数据上传至上位机历史数据库,其分辨率为1ms。同时,可通过与上位机软件的配合对历史数据进行全方位查询,以分析系统运行情况。

测量卡件留有UART通讯接口,与控制器联网,将采集的数据输送到控制器处理后,再发送到工作站显示状态,并同时记录事件发生的时间和状态,将记录的数据存入工作站历史数据库。

信号采集卡

采集卡在卡件主面板上以16通道LED灯指示通道信号状态,同时在通道与通道之间,通道与底板之间实现隔离,并实现了与现场的电磁屏蔽。以保证测量到的信号不受干扰。采集卡模块规格如表1所示。

同时,采集卡通过UART通讯接口,通讯物理层使用CAN的总线驱动芯片TJA1040,与控制器联网,将所采集的数据发送到控制器中。

采集卡硬件设计

16通道开关量信号采集卡硬件电路由信号采集电路、单片机系统、通讯接口电路、外接引脚、人机接口五部分组成,其硬件电路结构示意图如图1所示。

基于LPC2131 ARM单片机16路开关量输入信号采集系统的设计

图1 开关量测量卡件硬件结构图

开关量信号采集电路

开关量信号采集电路是实现将现场的各路开关量信号采集送入处理芯片内,实际设计中采用飞利浦LPC2131 ARM单片机。

信号采集电路的测量原理为:现场16路开关量信号接入卡件测量端子,由于考虑到现场信号的波动和干扰,为了保证系统稳定、可靠地运行,防止各类现场及电源干扰对系统的影响,通道中采用了光电耦合器,将卡件内部与现场输入信号进行隔离,从而实现信号的准确测量。实际设计中,采用了PS2701光电耦合器,卡件测量通路的结构框图如图2所示。

图2 开关量信号采集电路

后来,由于考虑到信号反转的简易性,将光电耦合器改为PS2705,实现了信号反转亦可的功能,所以实际测量电路进一步简化为图3。

图3 简化开关量信号采集电路

经过光电耦合器隔离转化后的信号,通过双向总线驱动器与处理芯片的数据总线相连接,将数据送入处理芯片LPC2131中进行处理。 单片机系统

处理芯片选用飞利浦LPC2131,它是基于一个支持实时仿真嵌入式跟踪的32位ARM7TDMI-STM CPU微控制器,并带有32kB的嵌入的高速Flash存储器。128 位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。同时,LPC2131对代码规模有严格控制,可使用16 位Thumb模式将代码规模降低超过30%,而性能的损失却很小。LPC2131的较小的封装和极低的功耗使其可理想地用于小型系统中,如访问控制和POS 机。宽范围的串行通信接口和片内8kB 的SRAM 使LPC2131非常适用于通信网关、协议转换器、软modem、声音辨别和低端成像,为它们提供巨大的缓冲区空间和强大的处理功能。多个32 位定时器、1个或2个10位8路ADC、10 位DAC、PWM 通道和47个GPIO以及多达9个边沿或电平触发的外部中断使其特别适用于工业控制系统

单片机系统以LPC2131为核心,片内自带8K闪速存储器,因而无需扩展外部ROM;要实现对开关量有关历史数据的追忆,有关信息必须易存储且不容易丢失,在系统失电后可以有效的保存数据。其测量的数据信息包括开关量发生的年、月、日、时、分、秒、毫秒以及当时各路通道的开关量状态。

图4单片机系统电路框图

同时,由于在系统运行中各种干扰等因素的影响,往往会引起程序运行出现死循环后跑飞现象,系统中还采用了简单的硬件WATCHDOG电路。

通讯接口电路

为了使测量卡件能够有效的将采集到的数据发送给控制器,卡件设计了UART电路。通过串口,卡件可根据上位机的操作命令,完成有关的数据传送、参数调整和时钟校对等任务。

卡件采用TJA1090通讯芯片,它是专为串行通讯模式设计的,输出端还接有稳压管保护电路,接口电路如图5所示。

图5 通讯接口电路

卡件模块规格及其外接电路引脚

卡件通过专用引脚与卡件底板相连接,以传输采集到的信号。卡件外接电路引脚如图6所示。

图6外接电路引脚图

人机接口

卡件采用串口通讯与控制器通讯,再将测量的信号上传到上位机,由上位机的组态画面显示,人机界面友好,数据可用于系统组态、历史数据查询等操作,同时可以实现过程控制SOE查询,通过与其配套使用的SOE软件,可实现去除抖动、削峰、削谷等功能,实现了SOE事故追忆和查询,其精度可达到1ms级。

采集卡软件设计

卡件软件设计采用功能模块结构。全部软件包括主程序、中断服务子程序等。其中主程序用来巡回检测和执行上位机送来的命令。中断服务子程序分为溢出中断子程序和串行口中断子程序,前者用于开关量跳变信号的采集,后者用于接收上位机发来的数据。

主程序

卡件带电后,进入主程序。首先判断卡件是否为上电复位,如果不是上电复位,则通过死机恢复处理后直接进入巡回检测阶段;如果是上电复位,则先进行卡件自检及初始化,包括设置堆栈指针,清内存,设置时间常数等,然后允许中断,进入正常的巡回处理程序,可以实现参数设置,开关量跳变时间、状态采集等功能。如果在主程序中检测到程序中定义的接收数据标志位置位,表明单片机已接收到上位机发出的数据,接收数据过程由串行口中断子程序来完成。根据上位机的数据,测量卡件作出相应的响应,或回送数据,或参数设置。

中断服务子程序

信号采集服务子程序主要完成发生动作的开关量信号的采集,由溢出中断来实现,每0.5ms中断一次。

通讯服务子程序主要指的是对上位机数据的接收子程序,由串行口中断来实现。而发送回上位机的数据大多为开关量记录信息,数据量较大,主要在主程序中完成。同时,可以设置通讯时波特率的大小,此项在卡件参数设置中可实现。

结语

目前该卡件已在江苏省南通天生港电厂#10、#11机组脱硫监控系统中投入使用。各项性能指标皆达到原设计要求,运行可靠,状况良好,可广泛适用于化工、冶金、电力等行业工业过程中实现开关量的采集,事故追忆等功能。

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    445

    文章

    47476

    浏览量

    407882
  • 单片机
    +关注

    关注

    5991

    文章

    43904

    浏览量

    619614
  • 总线
    +关注

    关注

    10

    文章

    2680

    浏览量

    87049
收藏 人收藏

    评论

    相关推荐

    ARM Image for uCOSII for lpc2131

    ARM Image for uCOSII for lpc2131 ARM Executable Image for UCOSII(for lpc2100).mcp
    发表于 07-07 09:44

    LPC2131工程模板

    LPC2131工程模板
    发表于 04-06 09:28

    LPC2131 PHILIPS单片16/32位微控制器

    LPC2131 PHILIPS单片16/32位微控制器,详细介绍,结构框图,管脚配置,存储器映射.[hide][/hide]
    发表于 08-02 10:52

    proteus仿真lpc2131驱动lcd1602

    这两天用lpc2131来驱动lcd1602,lcd1602总是不能显示,于是在网上找资料也不能成功,整了两天终于有点头绪,这是裸机程序,如果大家想跑操作系统可以移植一下,附有proteus仿真文件。程序是用ads打开,周立功先生lpc2
    发表于 05-11 15:30

    基于lpc2131的在ucosII下的模拟MP3播放器实验,资料求助

    1.基于lpc2131的在ucosII下的模拟电梯控制实验2.基于lpc2131的在ucosII下的模拟MP3播放器实验
    发表于 05-19 15:39

    单片机LPC2131相关资料分享

    概述:LPC2131是飞利浦半导体公司生产的一款基于一个支持实时仿真和嵌入式跟踪的32/16ARM7TDMI-STM CPU 的微控制器,并带有32kB、64kB、512 kB 的嵌入的高速
    发表于 05-18 06:39

    单片机LPC2138相关资料推荐

    却很小。它采用小型LQFP64封装。32KB的RAM,512KB的FLASH,16个10位A/D通道,1个10位D/A通道。较小的封装和极低的功耗使 LPC2131/2132/2138 可理想地用于小型系统
    发表于 05-18 07:14

    怎么在keil ARM里编写LPC2131程序

    我有好多疑问 比如说:怎么在keil里面去编写关于LPC2131的的程序,而且它的样式和C51的好像很不一样 ,创建完后source group1有一个startup.s,这是干嘛用的?需要头文件
    发表于 04-19 09:27

    LPC2131/2132/2134/2136/2138 da

    LPC2131/2132/2134/2136/2138 datasheet,pdf Single-chip 16/32-bit microcontrollers; 32/64/128/256
    发表于 03-09 10:15 88次下载

    采用LPC2131的IAR ARM的第一个实例:LED闪烁

    采用LPC2131的IAR ARM的第一个实例:LED闪烁
    发表于 01-13 15:16 121次下载

    LPC2131应用到智能电荷放大器的设计

    本文为LPC2131应用到智能电荷 放大器 的设计,详细介绍了芯片的选择以及软硬件的设计。
    发表于 06-29 16:03 127次下载
    <b class='flag-5'>LPC2131</b>应用到智能电荷放大器的设计

    LPC2131微控制器外部实现CAN总线通信设计

    Philips公司的LPC213l是基于ARM7TDMI-S的高性能32位RISC微控制器。它具有ARM处理器的所有优点——低功耗、高性能和较为丰富的片上资源,但LPC2131内部没有
    的头像 发表于 04-18 08:08 2794次阅读
    在<b class='flag-5'>LPC2131</b>微控制器外部实现CAN总线通信设计

    LPC2131芯片的PCB原理图免费下载

    LPC2131芯片的PCB原理图免费下载
    发表于 10-21 11:19 24次下载
    <b class='flag-5'>LPC2131</b>芯片的PCB原理图免费下载

    基于LPC2131ARM数子时钟嵌入式系统开发

    电子发烧友网站提供《基于LPC2131ARM数子时钟嵌入式系统开发.doc》资料免费下载
    发表于 10-26 14:17 0次下载
    基于<b class='flag-5'>LPC2131</b>型<b class='flag-5'>ARM</b>数子时钟嵌入式<b class='flag-5'>系统</b>开发

    基于LPC2131的的CAN接口模块硬件电路设计

    电子发烧友网站提供《基于LPC2131的的CAN接口模块硬件电路设计.rar》资料免费下载
    发表于 11-10 10:46 0次下载
    基于<b class='flag-5'>LPC2131</b>的的CAN接口模块硬件电路设计