论文部分内容阅读
随着信息技术的发展,智能化、信息化、网络化成为现代工业控制的发展潮流。20世纪80年代以来,开放的工业控制总线迅速发展,彻底改变了世界的技术面貌,在此基础上通过网络连接到分散控制和嵌入式设备的控制技术逐步发展成熟,远程IO就是在这种条件下发展的一类产品,可以分散配置在现场,连接当地的输入输出信号,实现要求的配置。在工业控制领域,现场总线技术将控制功能彻底下放到现场。MODBUS是现场总线的国际标准之一,符合IEC物理层标准,有冗余的物理总线网络和严格的控制信息传输机制。实时工业现场开关量数据的采集给开发者提出了广泛的要求,包括较高的处理性能,低功耗,高速数据I/O,较高的存储能力,高可靠性等。而种类繁多的ARM处理器具有成本低、功耗低、易开发和性能好等特点,可开发出较佳性能的控制采集系统。S3C2440就是其中的一种工业级ARM微处理器,具有性价比高,可靠性高等特点,因此选用它做为系统开发的硬件平台。Linux操作系统由于其开源、精简而高效的内核,丰富的网络性能以及对多种处理器结构的支持,使其在嵌入式工业控制领域得到了广泛的应用,而实时处理工业现场开关量数据是工业控制领域的主要应用之一。本论文“基于现场总线的开关量I/O模块的设计”实现了一个完整的通用嵌入式系统开发平台。介绍了基于MODBUS现场总线的开关量I/O模块,此模块连接了MODBUS现场总线和传统的开关量控制设备。首先简要介绍了系统总体方案设计,在此基础上,把系统设计分为硬件设计和软件设计两大部分。系统硬件首先对ARM处理器和S3C2440微处理器进行了简单的介绍,重点论述了S3C2440处理器与存储器(Nand和SDRAM)、RS485、GPIO等接口的设计,对开关量输入输出电路进行了深入分析,可同时进行16路开关量的输出和采集,并对硬件做了相关的调试。系统软件分为上位机和下位机两部分:上位机以Windows XP为开发平台,采用VC++软件设计界面,利用MSComm控件进行MODBUS串口编程,具有操作简单,配置灵活的特点;下位机以嵌入式Linux为核心平台,首先构建嵌入式Linux,主要包括bootloader、内核的编译与移植以及嵌入式Linux下文件系统的构建。接着对MODBUS协议的移植和字符设备驱动程序(串口、GPIO)做了深入分析,重点用C语言实现了基于RS485接口的MODBUS串口编程,给出了软件流程图及核心代码,并对软件进行了调试。