版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于EP9315和MAX2_EPM240实现输入输出模块的设计嵌人式丁业控制系统的突出特点是在高低温、高电磁辐射环境下的抗干扰性和可靠稳定性。和PLC系统相比。其明显的优点是处理速度快、方便进行工业以太网的组建、编程方便、通用性好,而且价格仅仅是PLC的几分之一,具有很好的发展前景。本论文主要论述了以EP9315和MAX2_EPM240为核心的嵌入式输入输出系统的设计。1、系统构成整个嵌入式输入输出系统分为嵌入式系统、应用模块(即输入输出模块)和转换模块三部分,总体结构如图1所示。图1系统结构框图1.1嵌入式系统本设计选择CirrusLogic公司高性能的ARM9嵌入式微处理器EP9315.该微处理器具有ARM920T内核所有的优异性能。丰富的集成外设接口包括以太网MAC、串口,2.0全速HOSTUSB、专用SDRAM通道的LCD接口、触摸屏接口等。Cirruslogic公司为用户提供了基于该处理器的全功能开发板。配合WindowsCE.net嵌入式操作系统,系统开发效率高、运行稳定,为工业控制提供了可靠的系统平台。基于定制的WinCE操作系统实现工业控制中应用模块的专用驱动,提高嵌入式系统的通用性。本文所述系统应用了开发板丰富的集成外设接口。通过串口进行eboot下载;通过以太网进行操作系统内核和应用程序的下载,并实现以太网通信;HOSTUSB接鼠标方便用户操作;LCD屏实现显示,触摸屏接口实现面板触摸操作。1.2转换模块的设计转换模块用于将开发板上需要用到的信号线引出,主要包括数据线、地址线和部分I/O控制信号(如nWR,nRD,NCS3,nWAIT等)。在转换模块中主要用到了电平转换驱动芯片74LVXC4245,其作用包括:(1)改善信号的质量;(2)抗干扰;(3)实现电平转换;(4)提高EP9315管脚的驱动能力。1.3基于CPLD的输入输出模块的设计1.3.1输入输出模块的设计思想在工业应用现场,输人/输出模块通常包括数字量输入模块、数字量输出模块、数字量输入/输出模块、模拟量输入模块、模拟量输出模块、模拟量输入/输出模块等。考虑到不同应用系统复杂程度不同,因而对输入输出端口的需求也就不同。为了能根据实际需要灵活添加不同种类的输入输出模块,设计时采用了如下思想:ARM9的数据总线、地址总线和控制总线同时和多个插槽相连接,并且给每个插槽赋予一个固定的地址,称为插槽地址,各类模块可插入任何一个插槽。各类输入/输出模块均基于CPLD进行开发设计,实现对外界系统的检测与控制。但对于不同的输入输出应用系统而言,其输入信号以及输出信号特性各异,表现出复杂性。设计时必须考虑到上述复杂性,根据实际情况,对相应输入输出信号进行信号调理。为了保证输入输出模块和ARM9主控器连接的稳定性和快速性,采用了总线方式的扩展:将CPLD挂在ARM9的BANK3空间,连接11根地址线,16根数据线,以及相应的控制线(包括nRD、nWR、nCS3、nWAIT)。各类输入/输出模块总体设计框图可如图2表示。图2输入输出模块结构框图信号条理电路的主要功能为:实现对各类输入信号的凋理,使之满足CPLD输入管脚的电气要求;实现对CPLD输出信号的调理,使之满足应用系统的电气要求。CPLD总线功能:通过各类总线建立CPLD与ARM9之19的信号联系,实现CPLD与ARM9之间的通信。因各类模块可插入任何一个插槽,为了实现不同种类的模块的自动识别,通过硬件设计语言赋予每类模块一个ID码。ARM通过“读ID码地址”读取ID码,即可判断是何种模块。随后即可根据模块类型实行对应的操作。1.3.2CPLD的选用端口数据。Altera公司的MAXII器件采用了全新的CPLD结构,比以往的MAX器件具有更高的性价比、更低的功耗、更大的容量,使其成为复杂控制应用的理想方案。考虑到输入输出模块的功能相对简单,不需要大量的复杂运算,本系统选用容量相对较小的EPM240进行设计。1.3.3CPLD的软件设计为了通过ARM9的地址总线、数据总线和控制总线实现对输入输出模块的读写控制,必须根据ARM9的读写时序图对输入输出模块的CPLD进行硬件语言编程设计。输入模块关键代码如下:assigndata_bus=((~(RDICS))&(address==baddr[10:5])&(haddr[4:0]==5‘b00000))?16’b0000000011011111:16‘bz;assigndata_bus=((~(RDICS))&(address==baddr[10:5])&(baddr[4:0]==57b00100))?dc24v_in:16’bz;程序中第一个assign语句功能:当地址总线的低五位为5‘b00000,即为“读模块ID码地址”,就向数据总线输出该模块的ID码。第二个assign语句功能:当地址总线的低五位为5“b00100,即为“读模块数据地址”,就将模块输入端口数据读入数据总线。输入模块QuatuttisII仿真结果如图3所示。从图中可以看出,当地址总线的低五位地址为5’b00100时,模块输入端口数据(de24v_in)被读入到数据总线(data_bus)。图3输入模块仿真时序图同理,可进行输池模块设计,关键代码如下:always@(posedgepro_clk)beginif((-WRITS))&(address==baddr[10:5])&(bad&[4:0]==5‘00010))beginmem_data[i]=data_bus;i=i+1;if((memdata[0]==mem_data[1])&(mem_data[1]==mem_data[2])&(mem_data[2]==mem_data[3]))beginrelay_reg=mem_data[0];endendendassignrelay=relay_reg;assignled=~relay_reg;assigndata_bus=((~(RDICS))&(address==baddr[10:5])&(baddr[4:0]==5’b00000))?16‘b0000000011011110:16’bz;程序中alwavs语句功能:当地址总线的低五位为5‘b00010,即为“写模块数据地址”,就将数据总线数据写入到寄存器mem_data[]。为了增强抗干扰能力,程序中采取了连续读取四次数据总线数据并判断是否一致,若一致,才更新模块输出端口数据。程序中第三个assign语句功能:当地址总线的低五位为5’b00000,即为“读模块ID码地址”,就向数据总线输出该模块的ID码。输出模块Quarutu。II仿真结果如图4所示。从图中可以看出,当地址总线的低五位为5‘b00100时,数据总线(data_bus)被写入到模块输出端口(relay)。图4输出模块仿真时序图2、系统软件设计2.1驱动程序设计思想输入输出模块驱动程序基于流接口驱动程序类型进行设计。驱动程序的设计一方面应根据实现功能考虑到物理地址的合理分配,另一方面应考虑到与应用程序的接口。下面就围绕这两个方面具体论述驱动程序的设计思想。2.1.1物理地址的合理分配对输入模块,包含有如下两种操作。(1)读lD码;(2)读取输入端口数据。对输出模块,包含有如下两种操作。(1)读ID码;(2)写数据至输出端口。为了保证驱动程序的通用行,即是说,对插入某个插槽的模块,无论是是输入模块,还是输出模块,驱动程序结构是一样的。可对每个插槽分配三个物理地址,包括读取ID码地址(简称“ID地址”)、读取输人模块数据地址(简称“读地址”)、写数据至输出模块地址(简称“写地址”)。应用程序通过“ID地址”读取的ID码数据判断模块的类型,进而通过“读地址”对输入模块进行读操作,或是通过“写地址”对输出模块进行写操作。对输入输出模块的读写操作包含字操作、字节操作、位操作三种方式,可在驱动程序中通过“与运算和移位运算”变换实现。对每一插槽,三个物理地址可如表1分配:表1应用模块物理地址分配在初始化函数(IO_Init)中,通过函数VirtualAlloc()和VirtualCopy()把EP9315针对输入输I叶J模块的物理地址和操作系统的虚拟空间联系起来,实现地址映射。2.1.2输入输出模块读写操作实现操作输入输出模块的应用程序流程可简述如下[3]:发送“读模块ID命令码”-》接收驱动程序返回数据(即模块ID码)-》根据模块ID码判断模块类型(输入模块还是输出模块)-》根据模块具备功能发相关命令码进行模块读操作或写操作(包括字操作、字节操作和位操作三种情况)。驱动程序设计思路如下:在写函数(IO_WRITE)中实现功能为:接受命令码,并将命令码存入某指定变量一判断命令码是否是写命令码一若是就执行写操作(包括字操作、字节操作和位操作三种情况)。在读函数(IO_READ)中实现功能为:判断命令码是否是读命令码一若是就执行读操作并返回读取的数据(包括字操作、字节操作和位操作三种情况)。2.1.3输入输出模块读写脉宽的调整EP9315在WinCE操作系统下主频达到200MHz,总线频率为100MHz,外设时钟为50MHz,因而,EP9315发出的读写及使能信号脉宽不足50ns。可以通过改变EP9315的BANK3上的读写时序.使其能和CPLD交互。具体可通过设置应用模块地址空间存储空问读写特性寄存器SMCBCR3中等待时间位WST1和WST2实现。若SMCBCR3的代码设置为:SMCBC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代商务场合下的着装与举止规范
- 居然之家国庆节活动方案
- 现代农业旅游产业链构建与农业可持续发展
- 未来生态社区的规划与水环境关系探讨
- 灾害预防教育在学校的推广与应用
- 汇报逻辑清晰度职场的制胜法宝
- 6 飞向蓝天的恐龙说课稿-2023-2024学年四年级下册语文统编版
- 2023九年级物理上册 第四章 探究电流4.3 导体对电流阻碍作用说课稿 (新版)教科版
- 2 送元二使安西(说课稿)- 2024-2025学年部编版语文六年级上册
- 2024-2025学年高中数学 第一章 集合与常用逻辑用语 1.4.2 充要条件说课稿 新人教A版必修第一册001
- 护士如何提高病情观察的能力
- 医保基金监管培训课件
- 产程中的人文关怀护理
- 开工第一课安全教育记录表
- 2024年黑龙江农业职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 部编版小学语文四年级下册教师教学用书(教学参考)完整版
- 基于数据驱动的锂离子电池剩余使用寿命预测方法研究
- 《内脏疾病康复》课件
- 串通招投标法律问题研究
- 高原铁路建设卫生保障
- 家具厂各岗位责任制汇编
评论
0/150
提交评论