DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1847|回复: 0
打印 上一主题 下一主题

[待整理] 基于现场总线的开关量 I/O 模块的设计----总体方案设计 (一)

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-27 23:35:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
3.1远程IO产品简介
          随着信息技术的发展,智能化、信息化、网络化成为现代工业控制的发展潮流。20世纪80年代以来,开放的工业控制总线迅速发展,在此基础上通过网络连接的分散控制和嵌入式设备的控制技术逐步发展成熟,远程I/O就是在这种条件下发展的一类产品,开放和通用是其主要特征。符合开放的总线规约,如Modbus、Device Net、Profibus-DP、Ethernet/IP等,能直接接入相应的网络,可与其他制造商提供的可编程控制器、上位机协同工作。可分散配置在现场,连接当地的输入/输出信号,可通过网络连接到控制器,实现要求的控制。规约的开放性使它可连接到任何其他制造商符合规范的各种控制器。
       
        正是这种通用性使远程I/O产品成为独立的产品而得到迅速的发展,成为工业控制领域重要的基础件。远程I/O模块主要应用于工业自动化控制系统,可用于连接工业控制系统中的各种现场装置数字量、模拟量输入/输出信号。
       
        20世纪80年代出现的IO产品,只作为PLC的专用附件,用于IO模块的远程分散配置,使用专用的通信规约与主机连接。随着现场总线的发展,通过开放总线连接的远程IO模块才成为可独立使用的产品。近年来逐渐出现了可配置远程I/O模块。可配置是指一个远程I/O节点所连接的输入/输出的模块数和规格(输入或输出、信号电平、数字量或模拟量等)可在规定范围内自由组合,以适应不同现场的要求,同时还可通过选择接入的总线通信适配器适应不同的总线规约。可配置远程I /O模块非常适合多总线的产品系列,在应用于不同的总线类型时,无需更换整个模块,只需更换相应的总线通信适配器即可。
       
        3.2 IO模块的需求分析
          飞速发展的无线通信技术对电子设备的现场快速测试提出越来越高的要求,这必须依靠自动测试系统来完成。微波自动测试的目标和步骤千差万别,为提高测试效率,需要将微波开关矩阵融入到自动测试系统中。微波开关矩阵主要实现自动测试设备与被测电路单元之间的信息交换,以及为被测单元提供必要的负载,是微波自动测试系统的重要组成部分。
       
        本论文提出了一种基于MODBUS现场总线的开关量IO模块设计,开关量的输出和采集就是基于微波开关矩阵控制系统而设计的,采用RS485接口应用MODBUS协议与上位机通信,可同时进行16路开关量的控制和采集,通过上位机界面可灵活配置。
           
          3.3系统硬件方案设计
          本方案采用的核心处理器S3C2440是一款由Samsung公司设计的低功耗、高度集成的16/32位RISC处理器,它采用289脚FBGA封装,为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。
       
        系统硬件主要包括:S3C2440处理器,存储单元( Flash和SDRAM )、电源模块、时钟模块、复位模块、JTAG调试模块、网络模块、RS485模块、IO模块、键盘模块。
       
        S3C2440处理器负责对单元的控制、运算和处理等功能;存储单元为Flash和SDRAM;电源模块采用220V交流电,经过电压转换模块得到内核、IO等的工作电压;时钟模块采用12M的无源晶振作为系统外部时钟源,和一个32.768kHz的无源晶振作为RTC时钟源;复位模块防止程序跑飞,进行及时复位;JTAG用来对bootloader的烧写;网络模块用来快速更新内核、文件系统及应用程序;RS485模块用于基于MODBUS协议的串口通信;IO模块用来对开关量的控制和采集;键盘模块用来对本地进行操作、测试。
       
        3.4系统软件方案设计
          软件设计主要包括嵌入式操作系统以及用户应用程序,即嵌入式Linux操作系统环境的建立以及在此系统下进行应用程序的开发。
       
        ●嵌入式Linux软件设计开发流程
          第一,建立开发环境
          操作系统一般使用RedHatLinux,版本从7到9都可以,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器机型安装(例如arm - Linux-gcc、arm-uclibc-gcc),或者安装产品厂家提供的交叉编译器。
       
        第二,配置开发主机
          在Linux下,配置串口通讯工具minicom,其作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。配置网络,主要是配置网络文件系统NFS,需要关闭防火墙,简化嵌入式网络调试设置过程。
       
        第三,建立引导装载程序Bootloader
          从网站上下载一些公开源代码的bootloader,如U-boot、blob、vivi等,根据自己具体的芯片进行移植修改。例如三星公司的ARM7、ARM9系列的芯片,这样就需要修改开发板上Flash的烧写程序,网络上有免费下载的Windows下通过JTAG并口简易仿真器烧写ARM外围Flash芯片的烧写程序,也有Linux下的公开源代码的J-Flash程序。
       
        第四,下载裁减编译好的Linux操作系统
          根据硬件平台从网上下载适当的Linux源码,下载后根据应用再添加特定硬件的驱动程序,进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动。
       
        第五,建立根文件系统
          使用busybox软件进行根文件系统功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他程序,需要使用mkcramfs、genromfs等工具产生烧写镜像文件。
       
        第六,开发应用程序
          应用程序可以放入根文件系统中,也可以放入YAFFS、JFFS2文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起。
       
        第七,烧写内核、根文件系统、应用程序
          ●应用程序设计
          本论文的应用程序设计主要是针对基于MODBUS协议的串口编程。FreeMODBUS是针对通用的Modbus协议栈在嵌入式系统中应用的一个实现,便于移植到linux内核中。
       
        MODBUS协议的串口编程分为上位机和下位机两部分;上位机以Windows XP为开发平台,采用VC++软件设计界面,利用MSComm控件进行MODBUS串口编程,具有操作简单,配置灵活的特点;下位机以嵌入式Linux为核心平台,用C语言实现了基于RS485接口的MODBUS串口编程。
       
        4开关量I/O模块硬件结构设计
          4.1硬件系统整体设计
          硬件的设计首先应该考虑它的性能及市场前景,其次还要顾及到它的成本和开发时间,力求它的性价比及开发时间等指标达到最优。
       
        整个装置的硬件包含两块电路板:ARM9S3C2440核心板和外围电路板。选用protel99SE来绘制电路原理图和PCB,系统硬件结构如图4.1所示:
           
         
         
       
        4.2核心处理器芯片的选择
          4.2.1 ARM简介
          ARM (Advanced RISC Machine )公司是一家专门从事芯片IP设计与授权业务的英国公司,其产品有ARM内核以及外围接口。ARM内核是一种32位RISC微处理器,具有功耗低、性价比高和代码密度高等特点。
       
        1991年ARM公司成立于英国剑桥,ARM公司是专门从事基于RISC技术芯目前片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得AR M技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具有竞争力。
       
        4.2.2 S3C2440简介
          在工业控制领域有核心处理芯片品种多,技术都比较成熟,稳定性好,给我们的选择余地比较大。8位单片机以51内核单片机为代表,16位单片机以TIMSP430为代表,32位单片机以ARM7、ARM9内核嵌入式处理器为代表。51内核单片机是目前应用最广泛,工程师涉足人数最多的单片机,工业控制的产品大多数是基于51内核单片机开发的,它的最大优点是技术成熟,电磁兼容性好,价格便宜,开发成本低,开发的人数比较多。它的最大的缺点是寄存器位数少、可寻址空间范围小,不利于做一些比较复杂的算法运算,或者一些外围设备比较多的应用;ARM7处理器采用3级流水线结构,且主频较低,目前已逐渐退出主流应用场合。ARM9处理器,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。最后选用了市场上比较流行的基于ARM9内核的S3C2440微处理器,它是工业级芯片,具有非常丰富的片上功能。
       
        S3C2440微处理器采用289-FPGA封装,为手持设备和通用嵌入式应用提供了丰富的片上集成系统解决方案, 16/32位RISC体系结构和ARM920T内核强大的指令集,主频为400MHz,其ARM920T核由ARM9TDMI、存储器管理单元(MMU)和高速缓存三部分组成。
       
        其中,MMU可以管理虚拟内存,高速缓存有独立的16KB地址和16KB数据高速Cache组成。ARM9 20T有两个内部协处理器:CP14和CP15.CP14用于调试控制,CP15用于存储系统控制以及测试控制。它的内部结构如图4 .2所示:
           
         
         
       
        S3C2440X芯片集成了大量的功能单元,包括:
           
          (1) 内核采用1.2 V供电,存储器采用3.3V独立供电,外部IO采用3.3 V独立供电,16KB数据Cache,16KB指令Cache,MMU;
          (2) 内置外部存储器控制器(SDRAM控制和芯片选择逻辑);
          (3) LCD控制器(最高4K色STN和256K彩色TFT),一个LCD专用DMA;
          (4) 4路带外部请求线的DMA;
          (5) 三个通用异步串行端口(IrDA1.0 , 16-Byte TxFIFO , and 16-Byte RxFIFO), 2通道SPI;
          (6) 一个多主IIC总线,一个IIS总线控制器;
          (7) SD主接口版本1.0和多媒体卡协议版本2.11兼容;
          (8) 2个USB Host接口,一个USB Device(VER1.1)接口;
          (9) 4个PWM定时器和一个内部定时器;
          (10)看门狗定时器;
          (11)130个通用I/O;
          (12)24个外部中断;
          (13)电源控制模式:标准、慢速、休眠、掉电;
          (14)8通道10位ADC和触摸屏接口;
          (15)带日历功能的实时时钟;
          (16)芯片内置PLL;
          (17)数码相机接口;
          (18)设计用于手持设备和通用嵌入式系统;
          (19)16/32位RISC体系结构,使用ARM920TCPU核的强大指令集;
          (20)ARM带MMU的先进的体系结构支持Windows CE、EPOC32、Linux;
          (21)指令缓存(Cache)、数据缓存、写缓冲和物理地址TAGRAM,减小了对主存储器带宽和性能的影响;
          (22)ARM920TCPU核支持ARM调试的体系结构;
          (23)内部先进的位控制器总线( AMB A2.0 ,AHB/APB)。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-25 00:17 , 耗时 0.089906 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表