中国电子标准协会培训中心

  
培训课程筛选
 首页 >> 资讯中心 >> 正文

以基于Linux的嵌入式系统为核心的测控系统设计

作者:不详 ; 发布时间:2018-9-12 8:15:58 ; 来源:互联网  点击:

0 引 言

当前,在工业控制领域,网络控制技术快速发展。网络控制要求测控系统必须具备两方面的功能:一方面要在现场完成复杂的测控任务,通常一些任务具有一定的实时性的要求;另一方面要求测控系统能够与某一类型的控制网相连,实现远程监控。而在目前应用的大多数测控系统中,嵌入式系统的硬件采用8/16位的单片机;软件多采用汇编语言编程,仅包含一个简单的循环处理的控制流程;单片机与单片机或上位机之间通信通过RS232、RS485来组网。这些网络存在通信速度慢、联网功能差、开发困难的问题。而工业以太网已逐步完善,在工业控制领域获得越来越多的应用。工业以太网使用了TCP/IP协议,便于联网,并具有高速控制网络的优点。现在,32位嵌入式CPU价格的下降,性能指标的提高,为嵌入式系统的广泛应用提供了可能性。基于上述情况,我们将嵌入式系统应用于测控系统,可大大提高测控系统的性能,嵌入式系统一般应用嵌入式操作系统来开发。在嵌入式操作系统的选择上,由于Linux有完整开放的源代码,可针对具体应用修改和优化系统,内核稳定,适用于多种CPU和多种硬件平台,支持网络等特点,因而选择Linux作为嵌入式操作系统。

1 测控系统总体设计

1.1 设计目标

测控系统以基于Linux的嵌入式系统为核心,设计目标归纳起来主要有以下几点:

(1)测控任务在现场完成。测控系统采用分散的控制策略,系统正常运行时上位机只起到状态监控的作用。在工业现场完成数据测量、数据处理、过程控制等多种任务,能确保一些任务完成的实时性。

(2)具有一定的自诊断、自校正的功能,将故障情况上传给上位机,便于维护人员查错、排错。具有动态显示和数据存储能力。

(3)测控系统可连到工业以太网,通过工业以太网实现远程监控。

1.2 技术路线

嵌入式系统以嵌入式微处理器为核心,运行嵌入式Linux 操作系统。应用程序可通过网络进行更新;通过键盘进行人机对话;数据可通过LCD现场显示;重要数据可以文件形式保存在Flash存储器中;数据和报警信息可通过串口向上位机传输,也可通过以太网口向工业以太网或Inernet发布信息,用户通过显示界面查看设备状态,设置设备参数,实现远程监控、远程维护。

1.3 总体框图

以基于Linux的嵌入式系统为核心的测控系统设计

2 基于Linux的嵌入式系统的设计

2.1 硬件设计

考虑一般测控系统对嵌入式系统要求比较多的功能有:键盘接口、显示接口、A/D(或D/A)转换单元、可扩展的I/O接口、打印机接口、与PC机通信的串行接口、以太网口等。实现的嵌入式系统硬件框图如下:

以基于Linux的嵌入式系统为核心的测控系统设计

针对测控系统的应用,选择Motorola的Coldfire系列的MCF5307.MCF5307是一款高性能、低价位、高集成度的微处理器,为嵌入式控制应用而设计。MCF5307的处理能力达70 MIPS,工作频率88.47 MHz,总线频率44.236 MHz,为运行Linux提供硬件上的支持,在开发板上还集成有16 M的SDRAM、2 M的FLASH、10 baseT以太网接口、RS232/RS485串口、I/O接口等。

2.2 软件设计

嵌入式操作系统是整个嵌入式系统的核心。我们选择Linux,但典型的Linux是为桌面配置的,内核十分庞大,而嵌入式系统的RAM存储容量很小,因此,要把Linux操作系统装入有限的内存,就要对它进行裁剪,在裁剪过程中涉及的主要技术有:

(1) 内核的精简。标准Linux是面向PC的,集成了许多PC需要而嵌入式系统并不需要的功能。对一些可独立加上或卸下的功能块,可在编译内核时,仅保留嵌入式系统所需的功能支持模块,删除不需要的功能。例如,测控系统要连入以太网,就要提供对TCP/IP的支持,编译时加上TCP/IP栈;而SCSI、 Floppy之类的外设在我们的嵌入式系统中完全没有必要,编译时可去掉。这样,重新编译过的内核显着减小。

(2) 虚拟内存机制的屏蔽。经过分析发现,虚拟内存是导致Linux实时性不强的原因之一。在工业控制中一些任务要满足一定的实时性的要求,屏蔽内核的虚拟内存管理机制可以增强Linux的实时性。当要更改内核的某项机制时,一般不必大规模的改写代码,可采用条件编译的方法。思路是用#ifdef或 #ifndef屏蔽现有语句,在#else宏编译语句中包括自己编写的代码。实现虚拟内存的机制有:地址映射机制、内存分配和回收机制,缓存和刷新机制、请页机制、交换机制、内存共享机制,将实现这些机制的数据结构和函数屏蔽或修改,还要修改与之相关的文件。需要改动的文件主要在 /include/linux、/mm、/drivers/char、/fs、/ipc/kernel、/init目录下。主要的改动如下:与虚存有关的主要的数据结构是vm_area_struct,将进程的mm_struct结构中的vm_area_struct去掉,vm_area_struct利用了vm_ops来抽象出对虚拟内存的处理方法,屏蔽与虚拟内存操作有关的函数。内存映射主要由do_mmap()实现,改写此函数的代码。取消交换操作,屏蔽用于交换的结构和函数声明,以及实现交换的代码。取消内核守护进程kswapd.

(3) 设备驱动程序的编写。确定了内核的基本功能后,就要为特定的设备编写驱动程序,可按照在Linux下编写驱动程序的规则编写。编写的设备驱动程序应具有以下功能:①对设备初始化和释放;②把数据从内核传到硬件和从硬件读取数据;③读取应用程序传递给设备文件的数据和回送应用程序请求的数据;④检测和处理设备出现的错误。

实现上述步骤后,一个小型的Linux 操作系统就构造完成了。构造后的Linux包括进程管理、内存管理和文件管理,支持多任务并行;开发基于闪存的文件系统,应用程序和重要数据以文件的形式被存放在闪存文件系统中;有完整的TCP/IP协议栈,Linux内建有对以太网控制器的支持,可以通过以太网口连到工业以太网上,实现远程监控。

还要将裁剪好的内核移植到所用的目标板上,通常移植内核时,首先要将内核编译成针对该处理器的目标代码。而我们所用的嵌入式微处理器MCF5307 是ColdFire系列,它有一些不同于其它CPU的地方,一些内核程序要改写,涉及到编写Linux的引导代码和修改与体系结构相关部分的代码,主要是内存管理和中断处理部分。将Flash作为系统的启动设备,引导代码放在Flash上。系统加电后,由引导代码进行基本的硬件初始化,然后把内核映象装入内存运行。

对于应用程序的开发,针对测控系统的具体应用,利用Linux 提供API接口开发应用程序。测控系统要完成多个任务,因为屏蔽了虚拟内存机制,所有的任务共同享有物理内存,存在于统一的线性空间中。任务中的地址为真正的物理地址,由于不需要进行地址空间映射,在任务切换时的上下文切换时间大大减少,提高了响应的速度,实时性增强。Linux采用基于优先级的轮转法调度策略,能够实现多个任务并行。各个任务的实时性要求不同,可通过划分优先级,使实时性要求高的任务划分为实时进程,具有较高的优先级,优先得到调度,保证一定的实时性的要求。任务间通过信号量、消息队列等机制通信。

在嵌入式系统中软件开发的主要模块有:数据采集模块,数据处理模块,数据显示模块,通信和数据发布模块,故障诊断模块。其中故障诊断模块实现实时自诊断,在系统工作期间,对系统内部进行部分测试。即将诊断程序设置在嵌入式系统中中断级别最低的中断服务程序,在不影响系统工作的前提下,进行实时诊断。如发现故障且复诊后仍有错,通过显示界面显示,并上传给上位机,保证系统的可靠性。

在嵌入式Linux的开发中,采用主—从模式,通过串行口或以太网口,使目标板和宿主机相连。使用的是GNU的系列工具,GNU具有免费开放的源代码,也为我们开发基于Linux的应用程序提供了方便。它包括一系列的开发调试工具。主要组件有:

gcc:编译器,可做成交叉编译的形式,即在宿主机上开发编译目标机上可运行的二进制文件;

Binutils:一些辅助工具,包括objdump(可以反编译二进制文件)、as(汇编编译器)、ld(连接器)等等;

Gdb:调试器,可使用多种交叉调试方式,如gdbserve(使用以太网络调试)。

最后,将调试好的内核和应用程序烧录到闪存中。裁剪后的Linux已成经功移植到目标平台上,在开发板上运行良好。经过测试,已满足一般的实时性要求。

3 结 论

我们开发的基于Linux 的嵌入式系统应用于测控系统,能满足当前工业控制领域对测控系统提出的要求,保证测控任务完成的实时性、可靠性,可连到工业以太网实现远程监控。其硬件,接口采用插板的形式,结构简单,易于装卸,方便系统集成和维护。软件方面,用户可针对具体应用作相应修改或删除即可,因而提高了测控系统的开发效率,在工业控制领域有很好的应用前景。

 
推荐公开课
[江苏回流焊和通孔回流焊(THD)的SMT
[广东NPI新产品导入
[江苏PCBA的可制造性设计(DFM)实施
[广东光学镜头测试培训
[广东在软件开发流程中构筑软件质量-软件测
[广东嵌入式软件可靠性设计培训
[广东电路设计中器件选型及工程计算培训课程
[上海面向可制造性的设计与工艺优化
[江苏ESD检验员职业资格(防静电系统高级
[广东硬件测试管理
推荐内训课
[广东SMT核心工艺技术、质量控制与案例解
[广东“倒装焊器件(BGA\WLP\QFN
[广东照相模组的设计工艺、组装技术和失效分
[河北硬件测试技术及信号完整性分析
[山西电子产品实用可靠性设计和试验技术高级
[广东SMT组装中的实用可制造性(DFM)
[上海电磁兼容设计与整改对策及经典案例分析
[广东板级电磁兼容设计与整改对策分析培训
[广东非财务经理的财务管理必修课
[广东电路设计中器件选型及工程计算
资讯中心
·闻泰科技斥资250亿收购安世半导体
·投资超100亿元 安谋中国落户天府新区
·长江存储 年底可望投产
·三星半导体营收再突破 或连续两年超越英特
·支持集成电路设计业发展 成都出台重磅政策
·5G iPhone可能提前到来 明年开始
·工信部:前三季集成电路产量同比增长11.
·银隆股东内斗升级,董明珠当初为何投银隆?
·SAP 80亿美元收购美国软件商Qual
·三星可折叠手机明年上半年上市 至少生产1
·股权结构变动 大基金、武岳峰等入股瑞芯微
·北京君正拟26亿拿下北京矽成控制权

 

中国电子标准协会培训中心专业提供可靠性设计、热设计、SMT工艺、电路设计、架构设计、硬件测试、研发管理、嵌入式软件测试、EMC培训、软件技术等课程及服务。
欢迎来电来函咨询:
0755-26506757 13798472936
martin@ways.org.cn
http://www.ways.org.cn

中国电子标准协会培训中心(深圳市威硕企业管理咨询有限公司)成立于2006年,经过十多年的发展,在国内外业界技术顾问及广大客户的支持下,我培训中心已成为一家专业的电子技术、研发、管理、企业资格及电子标准培训服务提供商,致力为各企业提供成熟的企业技术、管理及标准培训服务。借鉴国际先进的电子技术应用与管理理念,让协会整合以“技术”为核心的企业资源体系,解决企业运营过程中的技术难题,提升生产、运作与工作效率,增强企业核心能力,赢得竞争优势,最终实现企业长期追求的使命与愿景。
经典课程:可靠性设计各种设计技术(包括可靠性降额设计、硬件测试、可靠性余度设计、可靠性动态设计、电路设计、可靠性环境防护设计、EMC培训、热设计、硬件测试、可靠性安全设计、缓冲减振设计、静电防护设计等)、SMT技术管理培训、EMC培训、硬件测试、IPC标准(IPC-A-610E标准、IPC-A-7711/21标准、IPC-A-620A标准、IPC-A-600H标准、IPC J-STD-001标准)、电路设计、硬件测试、ESD防静电防护、ESD设计、硬件测试、EMC培训、电路设计、硬件测试技术及信号完整性分析、硬件测试、DFM电子可制造性设计、机械结构设计、加速试验和筛选技术和模拟仿真技术、硬件测试、EMC培训、失效分析、EMC培训、电路设计、EMC培训、故障模式影响及危害性(FMEA、FMECA)和故障树分析(FTA)、元器件可靠性设计、硬件测试、电路设计、软件可靠性设计、硬件测试、软件测试(黑盒和白盒)、电路设计、可靠性设计各种试验技术(环境应力筛选试验、EMC培训、硬件测试、可靠性工程试验、可靠性统计试验等)以及可靠性管理是我协会的强项;软件类:架构设计、EMC培训、硬件测试、C语言、电路设计、UI设计、硬件测试、需求分析、电路设计、软件项目管理、硬件测试、电路设计、Oracle、软件敏捷、.NET、EMC培训、硬件测试、Android、硬件测试、软件配置管理、Linux、硬件测试、CMMI、软件重构、C++等等

服务热线:0755-33558698 26506757 传真:0755-33119039 电子邮件:martin@ways.org.cn
客服 QQ:52630255 751959468 1305933375 385326049
中国电子标准协会培训中心(http://www.ways.org.cn)网站 ICP注册号:ICP备257378787号