首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
工业控制
» 现场总线的开关量 I/O 模块的总体方案设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
现场总线的开关量 I/O 模块的总体方案设计
发短消息
加为好友
forsuccess
当前离线
UID
871057
帖子
6281
精华
0
积分
3141
阅读权限
90
在线时间
282 小时
注册时间
2012-2-21
最后登录
2015-6-23
论坛元老
UID
871057
性别
男
1
#
打印
字体大小:
t
T
forsuccess
发表于 2013-5-28 00:07
|
只看该作者
现场总线的开关量 I/O 模块的总体方案设计
信息技术
,
网络连接
,
制造商
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)。
4.3存储器模块
存储器模块包含:64M的FLASH和2片32M的SDRAM.
存储器模块:FLASH存储器是一种在系统可编程器件,存储的信息在系统掉电后不会丢失。它具有低功耗、大容量、擦写速度快、可整片或分区编程(烧写)和擦出等特点,并且可由内部潜入的算法完成对芯片的操作,因而在各种嵌入式系统中得到了广泛的应用。作为一种非易失性存储器,FLASH在系统中通常用于存放程序代码、常量表以及一些在系统掉电以后需要保存的用户数据等。主要的生产厂商为Intel、ATMEL、AMD、SAMSUNG等,他们生产的同型器件一般具有相同的电气特性和封装形式,可以通用。常用的FALSH为8位或16位的数据宽度,编程电压为3.3V.本系统中使用的是三星K9F1208的一款Nand flash,数据存储容量为64MB,采用块页式存储管理。8个I/O引脚充当数据、地址、命令的复用端口。如图4.3所示为S3C2440和K9F1208的连接电路原理图。
与FLASH存储器相比较,SDRAM不具有掉电保持数据的特性,但其存取速度大大高于FLASH存储器,且具有读、写属性。因此,SDRAM在系统中主要用做程序的运行空间、数据及堆栈区。当系统启动时,CPU首先从复位地址0X0处读取启动代码,在完成系统的初始化后,程序代码一般调入SDRAM中运行,以提高系统的运行速度;同时,系统及用户堆栈、运行数据也都放在SDRAM中。SDRAM具有单位空间存储容量大、价格便宜的优点,已广泛应用在各种嵌入式系统中。SDRAM的存储单元可以理解为一个电容,总是倾向于放电,为避免数据丢失,必须定时刷新(充电)。因此,要在系统中使用SDRAM,就要求微处理器具有刷新控制逻辑,或在系统中另外加入刷新控制逻辑电路。S3C2440微处理器片内具有独立的SDRAM刷新控制逻辑,可方便地与SDRAM接口相连。目前常用的SDRAM为16位数据宽度,工作电压一般为3.3 V.本系统中使用HY57V561620作为SDRAM,其基本特性为:工作电压为3.3 V,按4Bank *4M *16 Bit方式组织,单片存储容量为32 MB,支持自动刷新( Auto-Refresh )和自刷新(Self-Refresh )功能,16位数据宽度。如图4.4所示为S3C2440和HY57V561620的连接电路原理图。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议