[硕士论文精品]基于fpga的数据采集系统的sopc实现_第1页
[硕士论文精品]基于fpga的数据采集系统的sopc实现_第2页
[硕士论文精品]基于fpga的数据采集系统的sopc实现_第3页
[硕士论文精品]基于fpga的数据采集系统的sopc实现_第4页
[硕士论文精品]基于fpga的数据采集系统的sopc实现_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要本课题完成了基于FPGA的数据采集器以及IIC总线的模数转换器部分、通讯部分的电路设计。其中FPGA采用XILINX公司SPARTANII系列的XC2S100芯片,在芯片中嵌入32位软处理器MICROBL北EILC总线的模数转换采用MICMCHIP公司的MCP3221芯片,通讯部分则在FPGA片内用VHDL语言实现。通过上述设计实现了“准单片化”的模拟量和数字量的数据采集和处理。所设计的数据采集器可以和结构类似的上位机通讯,本课题完成了在上位机中用VHDL语言实现的通信电路模块。通过上述两部分工作,将微处理器、数据存储器、程序存储器等数字逻辑电路均集成在同一个FPGA内部,形成一个可编程的片上系统。珊C渔片外仅为模拟器件和开关量驱动芯片。FPGA内部的硬件电路采用VHDL语言编写;MCU软核工作所需要的程序采用C语吉编写。多台数据采集器与服务器构成数据采集系统。服务器端软件用VB开发,既可以将实时采集的数据以数字方式显示,也可以用更加直器的曲线方式显示。由于数据采集器是所有自控类系统所必需的电路模块,所以一个通用的片上系统设计可以解决各类系统的应用问题,达到“设计复用”DIESI龋RCU辩的目的。采用基于FPGA的SOPC设计的更加突出的优点是不必更换芯片就可以实现设计的改进和升级,同时也可以降低成本和提高可靠性。关键词现场可编程门阵列,MICR081AZE,IIC总线,数据采集器FPGABASEDSOPCREALIZATIONOFDATAACQUISITIONSYSTEMABSTRACTTHISPAPERDEALSWITHANFPGABASEDSOPCREALIZATIONOFDATAACQUISITIONSYSTEMANDITSCOMUNICATIONWITHADCONVERTERUSINGIICBUSXC2S100,ONEOFTHEFPGACHIPSINSPARTANIISERIESISSELECTEDFORTHESYSTEMINTOWHICHASOFTWARECOREMICROBLAZEISEMBEDDEDMICROBLAZEISASOFTWARECOREOF32BITMCUDEVELOPEDBYXILINXMCP3221ISUSEDHEREASANADCONVERTERWITHIICBUSWHICHISPRODUCEDBYMICROCHIPTHECO哪NUNICATIONPARTBETWEENMCUANDIICADCONVERTERISBUILTINSIDETHECHIDITCANBECALLEDASASYSTEMONACHIP。THECHIPCOULDCO衄LUNICATEWITHUPPERIACHINEWITHSIMILARSTRUCTURETHEUPPERMACHINEFORCO唧UNICATIONTOSERVERISFULFILLEDBYVHDL1ANGUAGEINSUCHAWAY,AQUASIDIGITALACQUISITIONSYSTEMISSETUPWITHINWHICHMCU,INSTRUCTIONMEMORY,DATAMEMORYANDOTHERLOGICPARTSAREINTEGRATEDTOGETHERONLYAFEWANALOGDEVICESANDANLPLIFIESAREOUTSIDETHECHIPASERVERCOULDSERVEFORMULTICHIPSINANACQUISITIONSYSTEMTHEUSERSSOFTWAREOFSEVERISWRITTENINVB。ITCANSHOWTHEACQUISITIONDATABYEITHERDATAFORMORGRAPHICFORMDATAACQUISITIONSYSTEMISANECESSARYPARTFORANYCONTROLSYSTEMS,SOASINGLECHIPDESIGNCOULDBEREUSEDEVERYWHERETHEATTRACTIVEADVANTAGEOFSUCHKINDOFDESIGNISTHATITCANBEREDESIGNEDANDIMPROVEDEASILYWITHOUTCHANGINGCHIPSOTHATTHECOSTNDRELIABILITYISHIGHERTHANOTHERSKEYWORDSFPGA,MICROBLAZE,IICBUS,DATAACQUISITION96673郑重声明本人的学位论文是在导师指导下独立撰写并完成的,学位论文没有剽窃、抄袭等违反学术道德、学术规范的侵权行为,否则,本人愿意承担由此产生的一切法律责任和法律后果,特此郑重声明。学位论文作者签名刍号2005年11月审参日F6引言分散式数据采集系统主要由分散式数据采集器和微型计算机组成,它已在国内外各个领域得到了广泛的应用。随着大规模集成电路的发展和微型计算机的普及,新的分散式数据采集系统不断涌现,逐渐朝着可靠性、灵活性、前端智能化等多种功能集于一身及高抗干扰能力的方向发展。这就对系统前端担任扫描及测量任务的分散式数据采集器提出了更高的要求,同时也促进了分散式数据采集的发展。随着FPGACPLD密度的提高,在其内部嵌入微处理器成为可能,形成所谓可编程片上系统SOPCSYSTEMONPROGRA船ABLECHIP。SOPC将处理器、程序代码和外围电路共同下载到芯片厂商提供的PLD中,组成一个完整的系统,较专用集成电路ASIC实现的SOC具有更大的灵活性,已经引起芯片厂商和应用设计人员的重视。内嵌的处理器通常有软核和硬核蹰种方式,其中以软处理器更具设计灵活性。软处理器可以由用户根据需要内嵌一个甚至多个。近年来,已相继推出了一些功能强大的从8位到32位的软处理器,如ALTERA公司16位32位的NIOSNIOSII和XILINX公司32位的MICROBLAZE等。但是,绝大部分厂家的FPGA目前还不含模拟电路,也不含AD变换器,需要通过外部扩展AD变换器实现对模拟信号的采集和处理。通常有3种方法可以实现FPGA外接AD芯片对模拟信号采集和处理。在选定一种总线方式的前提下,如采用IIC总线。方法1用VHDL硬件描述语言来设计IIC总线协议及与片上总线的接口,优点是不占用内嵌处理器的时阏,缺点是编程有一定的难度,调试及排除BUG需要一定的时间方法2购买商用IPCORE,该核2005年的价格约为2500美元;方法3软件方法,即利用C语言编程在软处理器上运行实现对IIC器件的操作,用软件实现IIC协议。本课题采用方法3,即采用XILINX公司SP8RTANII系列FPGA芯片和MICROCHIP公司的IIC总线12位AD转换器聃CP322L,完成了FPGA与IIC器件接口设计。由于IIC总线部分是通用的,所以该接口与程序设计同样适用予IIC总线的DA、实时时钟、EEPROM等器件。UART串行通讯接口采用VHDL设计的IPCORE。基于SOPC的设计充分适应数据采集器高可靠性、灵活性、前端智能化的要求,同时降低了成本。第1章、数据采集系统、SOCSOPC及总线概述11、数据采集系统概述60年代初,美国孟山都化工厂首次实现了化工过程的计算机控制之后,计算机过程控制经历了几个发展阶段。分散式数据采集系统解决了集中控制时价格与风险之间的矛盾,确立了计算机在工业控制中的地位,70年代后期,开始逐渐成为过程控制的主流【110数据采集器主要用于工业环境和其它恶劣条件,多通道,慢变化模拟信号温度、压力、流量、应变等的实时连续监测和各种开关量信号的输入和输出,以及模拟量的输出。从而实现对生产过程中的数据采集和控制。对数据采集器的主要要求1、测量精度高。2、抗干扰性、可靠性高。3、能够在各种恶劣的环境下工作4、功耗低、效率高5、安装方便、使用灵活数据采集器广泛应用于工业控制领域,诸如土建、机械、航天、航空、造船、机车等,主要应用于自动检测应变、温度、位移、压力、电流、电压等任务2LO理论上,完整的数据采集系统包括用于切换输入通道的多路复用器MUX;为不同输入范围提供增益和偏移电压调节的信号调理电路;模拟数字转换器DQ和电压基准VBF13】以及处理器、存储器、通讯接口等部分。进入2L世纪以后,髓着工厂自动化水乎的提高,分散式数据采集系统进入了个崭新的发展阶段。出现了基于现场总线的数据采集系统14L还出现了通过互联网的远程数据采集系统,在仪器和数据采集设备中普遍采用盯RP协议、F1P协议、以及TCPLP通信协议ISL。这种市场需求和发展方向为基于FPGA的SOPC设计提供了更加广阔的发展空间。212、SOCSOPCSOC是英文SYSTEMONACHIP的简称,通常翻译成“片上系统”。现在还没有一个十分严格的定义,但是业界公认的含义是,将一个电子系统集成到一个芯片内,该芯片必须包含有至少一个MCU,再加上必要的外围逻辑。随着可编程逻辑电路PL,DPFOGR柚MABLELOGICDEVICC技术的发展,其电路密度和门的数量急剧增加,成本不断降低,密度在百万门以上的FPGCPID芯片已经面市,使得将控制器MCU、MPU、DSP与外围数字接口电路IO、IIC、U脚H串行接口,以太网、USB、通信协议栈等集成到一片PLD上成为可能,即在一个芯片上集成一个电子系统。也就是说形成一个基于FPGACPLD的SOC。这样的SOC是可以由用户编程实现的,也是可以随时改变的,通常称为可编程的SOC或SOPCSYSTEMA芦D黟蜘MABLC西IP。通常的SOC是要以专用集成电路ASICAPPLI船TIONSP。西FICINTC舯LEDCI删IT为载体的,而SOPC是以即GCPLD为载体的。2002年2月ALTE豫公司推出的薪一代可编程逻辑器件STRATJX被认为是业界第一个为SOPC设计提供的真正意义上的系统级芯片17L。由此可见,SOC的实现有两个途径即采用专用集成电路实现ASIC实现的和SOPC实现。或者说SOC是广义的说法,SOPC是狭义的SOC。13、IPCOREIP是INTELLCCLLLALP10PERTY的英文首字母缩写,字面上的意思是知识产权。在微电子领域中,具有知识产权的功能电路模块称为LPCOIC或LP核。LP可用来生成ASIC和PLD逻辑功能块,又称为虚拟器件VC。口核可以有很多种,比如U朋玎UNIVEISAL舳YNCHMNSREIVER1HNSMILTER、CPU、队太F回控制器、PCI接口等嘲。根据IP核描述的所在集成电路的设计层次,IP可分为硬LP、软IP和固婵。硬IP的芯片中物理掩膜布局已得到证明,所有的验证和仿真工作都已完成,用它可以直接产生硅片,系统设计者不能再对它进行修改。而软LP是以行为级或RTL级的VCRILOG或VHDL代码的形式存在,它要经过逻辑综合及版图综合彳能最终实现在硅片上。固1P则介于两者之间。14、片上总线传统的LC设计方法己无法适应新的SOC设计要求,需要根本的变革,即从以功能设计为基础的传统IC设计流程转变到以功能整合为基础的SOC设计全新流程。SOC设计以IP的设计复用和功能组装、整合来完成。SOC设计的重点为系统功能的分析与划分、软硬件功能的划分、IP的选择与使用、多层次验证环境和外界设计咨询服务等。随着以坤核复用为基础的SOC设计技术的发展,如何有效地对众多IP供应商提供IP核,在实际设计时进行有效互联的问题日益受到重视。为了使IP核集成更快速、更方便,缩短进入市场的时间,迫切需要一种标准的互联方案。在这一背景下产生的片上总线OCBCBJPBUS技术,基于IP核互联标准技术的发展,目前已形成较有影响力的三种总线标准为IBM公司的CORCCONNECT,ARM公司的AMBAADY柚CEDMICROCONTMLLCFB畦S删LITEDURC和SILICORECOIP公司的WISHBONE总线【叭。15、L|C总线PHILIDS公司开发了一个双向的两线的总线,实现有效的LC集成电路之间互连。这个总线就称为HITCRIC或I2C总线,也写成IIC总线。现在PHILIPS提供超过150种【10LCMOS和双极性兼容12C总线的IC。所有符合12C总线的器件组合了一个片上接口,使器件之间直接通过12C总线通讯。这个设计概念解决了很多在设计数字控制电路时遇到的接口问题。符合IIC总线的IC不只帮助开发人员简化设计,它们也使设备厂商得到很多益处。LIC只需要豫线串行就可以实现总线的互联,而且IC的管脚也因此更少、PCB的线路和面积也相应减少,结果可以降低总体成本。完整的HC总线协议不需要地址译码器和其他片选。ILC总线的多主机功能允许通过外部连接到生产线快速测试和调整最终用户的设备。IIC总线目前有3个版本,它们是版本1O1992、版本201998和版本212000。ILC总线实际上已经成为一个国际标准,在超过100多种不同的IC上实现,而且得到超过50家公司的许可。从版本20开始增加了高速模式HS模式,它将位速4率增加到34MBITS。下面是IIC总线的一些特点只要求两条总线线路,一条串行数据线SDA,一条串行时钟线SCL。每个连接到总线的器件都可以设定唯一的地址。主机可以作为主机发送器或主机接收器。它是一个真正豹多主机总线,如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁防止数据被破坏。串行的8位双恕数据传输位速率在标准模式下可达100KBI怕;快速模式下可达400KBI帕;高速模式下可达34MBI体。片上的滤波器可以滤去总线数据线上的毛刺波,保证数据完整。连接到相同总线的配数量,只受到总线的最大电容槲限制。在LIC中经常使用的术语有如下几个。发送器发送数据到总线的器件。接收器从总线接收数据的器件。主机初始化发送产生时钟信号和终止发送的器。从机;被主机寻址的器件。多主机同时有多于一个主机尝试控制总线但不破坏报文。仲裁是一个在有多个主机同时尝试控制总线但只允许其中一个控制总线并使报文不被破坏的过程。同步两个或多个器件同步秘重钟信号的过程。位传输由于连接到HC总线的器件有不同种类的工艺CMOSDOS双极性逻辑O低和1。高的电平不是固定的它由VDD的相关电平决定,每传输一个数据位就产生一个时钟脉冲。数据的有效性SDA线上的数据必须在时钟的高电平周期保持稳定数据线的商或低电平状态只有在SCL线的时钟信号是低电平时才能改变。由于LIC总线的诸多优点,使它在工业控制领域得到了极其广泛的应用,特别是由于该总线需要的互联线少,因此现场数据韵采集应用方面,IIC总线具有绝对优势。但是目前尚没有基于LIC总线的SOPC实现,本课题的目的是设计一个通用的基于即C徂的LLC总线数据采集系统,该系统可以为各类自控系统作基础平台。5第2章、数据采集系统方案论证21、数据采集器传统设计方法数据采集系统传统的设计方法是由中小规模集成电路实现的控制器采用ME“1”、MPU或DSPFL21,同时扩展外围接口电路【131,实现开关量和模拟量的数据采集。传统的设计方法如图211所示。图211传统数据采集器设计框图图211中,除了中间的MCU块外,都是需要在设计中加以扩展的外围接口。1开关量输入、输出;MCU的IO引脚或8155、8255等接口芯片。2模拟量输入、输出AD、DA芯片。3通讯接口芯片8251UART串行接口芯片,以太网控制器、USB控制器等。传统的设计方法的缺点是外围芯片多,PCB面积较大,可靠性相对不高,不易升级与改进;成本高;受芯片限制,设计灵活性差。传统的设计方法的优点【331是技术成熟,可选的芯片很多,设计经验积累丰富。622、基于SOPC设计的数据采集器由SOPC实现的数据采集系统如图221所示。图221基于SOPC的数据采集器框图基于SOPC实现的数据采集器设计把原来片外的数字器件以IPCORE的形式嵌入在FPGA内部。可以看到片外的数字器大多为各种含有协议的控制芯片。D、DA模拟器件经并行总线或IIC总线连接到PLDFPGA、CPI_D上,即构成新型数据采集系统。由SOPC实现的新型数据采集系统的优点是外围芯片少仅有AD、DA模拟器件和功率驱动芯片,PCB小,可靠性高,容易升级与改进,通信能力强接口种类多,可自行设计通信协议,成本低。可软硬件协同设计,设计灵活,优势互补。缺点是在国内外冈鞋剐起步,技术发展迅速。处在探索、发展、积累经验阶段。有一定的难度。本设计的FPGA选用ILI皿公司的SPAN柏一II系列中XC2S100芯片10万门。软处理器的选择目前比较流行的是JLILL】【公司芯片有8位的PIBLAZE和32位的MICROBLAZE两种软核处理器。本设计采用MJCMBLAZE。总线的配罨选择。MI啪BLAZE采用LBM公司的CORECONNECT片上总线|14】。7MICFOBLAZE为HA盯D体系结构,具有分离的数据总线和指令总线。CORECONNECT片上总线包括局部存储器总线圳BLOCALMEMORYBUS和片上外设总线OPB。圳B可提供对片上双端口B10CKRAM的单周期的快速访问。0PB接口既可提供对片内外设、存储器的访问,又可对片外的外设和存储器访问。开发板选择DI西TALSWOTDHL广SPII,是长沙依元素科技发展有限公司开发的LINXSPART觚II系列FPGA评估工具,目前有基本版、增强版和豪华版三种型号。非常适合于各种口CO他的设计验证。本课题在I代板的豪华版上通过设计验证。开发人员可利用DL语言、VERILOG语言、原理图或方程式,结合ILINX集成开发环境ISE、EDK或免费软件WBBPACK,进行编辑、综合、仿宾和布局布线,通过DI百TALSWORDHLSPLI加载配置并进行设计验证。它可以满足绝大多数组合逻辑电路、时序逻辑电路设计需求;可以与PC机的串口连接实现与PC机的通信;开发板上的FPGA容量为10万门,型号是XC2SLOOTQL4牟5C。可以嵌入单片机内核和MICF0BL拢E32位微处理器内核进行可编程片上系统SOPC设计。开发板的照片如图222所示。8图222DIGITALSW0稠冈0SP1L开发扳开发板上有以下模块5V、33V、25V板上电源;SPAN如H系列FP漉,型号XC2SLOWIDL44,10万门;144管脚1FP封装,满足多怕需求内置PA豫NCLPON【ILINXQIBLCM;支持JTAG、SLAVCS蕊址、SELECTMAP等多种加载模式;支持标准PC并口通信;支持标准RS232串行接口;音频输出模块;PS2键盘接口;PS2鼠标接口,支持3D、4D滚轮鼠标;VGA监视器接口,支持800600、1600X1200或自定义分辨率;16LED输出,4个7段数码管;10个按钮输入;支持FPGAPROM配置;内黄50MHZ晶振,满足高速设计要求;。大容量高速SRAM,128KB512KB216字符LCD显示可选;USBSLAVE模块,PDIUSBDL2USB控制器芯片可选;1LC接口240【】【E2PROM芯片,PHILIPHSPCF8574T1IC控制器芯片可选。23、数据采集系统结构与功能本课题的研究目标是使嵌入MCU软核的FPGA和数片具有IIC接口的A,D、D,A芯片构成系统,作为下位机“数据采集器”,采集现场的模拟量和数字量传给上位机。数据采集器与上位机通过现场总线连接。上位机同样是由嵌入MCU软核的卯GA构成系统。接收下位机上传的数据,再传给“服务器”。“服务器”由工控机、服务器或台式PC承担,运行在VDDDO、S操作系统,软件采用VB开发。上位机通过RS232串口与服务器相连。“服务器”存储各下位机采集到的数据。各个数据采集点的数据采集器由现场总线组网。也可以使用价格低廉的RS485网络,通讯协议根据实际情况自行设计。分布式数据采集系统除采用专用电缆在12KM范围内进行数据传送外,在远距离或不便布设专用电缆的使用场合,可以使用调制解调模块,利用现有的电话线路进行数据传送,也可利用现有的无线通讯网,进行数据传送和控制F16L。下位机、上位机、服务器形成分布式数据采集瞬络系统,如图231所示。10图231分布式数据采集网络系统框图多个数据采集器下位机通过现场总线与上位机相当于网桥通信,增加一个“服务器”工控机、服务器或PC机,即构成多个下位机从点经现场总线连接到一个上位机;上位枫经RS232或USB、以太瞬与一台“服务器”相连下位机、上位机、“缀务器”三者共同构成“分布式数据采集网络系统”。24、数据采集器下位机设计数据采集器SOPC下位机硬件如图241所示。1L现场总缝,上位机1杀再它下位机2虚缱内为下位机CS删龄矧瞥怒詈L加IL触I叫掣LLF一舯随一圈自由1由蘸L10船O妇燃D0粕J砬L处理嚣一闭匿愠L胁。网厣IPI巨码一L厂U删一H毪图甥”L俐洲JJ,P冽矽LI豁嘴IFPGA芯片构成SOPC,FPC陡片内集成所有与数据采集有关的数字电路部分,即GA片内有软处理器MI翻BLAZC、看门狗、定时器、中断、I,O、C接口、现场总线、键盘、LED八段数码管显示、“M显示、等电路模块。FPGA片内各种IPCORC经片上总线与MIAO瑚缸E软处理器连接,构成SOPC数据采集器。FPGA片外硬件较少,仅HC接口的AD、D,A、运放等横拟器件和数字量驱动芯片。25、数据采集器上位机设计上位机的硬件设计,在下位机的基础上,FPGA片内增加UART串并转换接口,由DL设计。FPGA片外按一片RS232接口芯片MAX232,MAX232负责电平转换。上位机通过RS232串口可将下位机采集的数据转发给“服务器”。图251SOPC上位机硬件框图现将上位机与下位机台并设计,统一采用图241和图251的硬件框图,仅出一块PCB即可。对于下位机外围电路插D、DA等模拟量芯片,不插MAX232芯片对于上位机外围电路不插A_,D、DA等模拟量芯片,仅插MAX232芯片。将上位机与下位机统称为“数据采集器”。数据采集器的软件设计包括MICF0BL龀E处理器即支持汇编语言编程,也支持C语言编程。本课题采用C语言编程。含键盘扫描、16位LED发光二极管显示、4位八段数码管显示、串口通讯、AD、开关量输入输出以及监控程序设计。26、数据采集系缝服务器端软件设计“下位机”、“上位机”和“服务器”三者共同构成一个完整的通用数据采集系统。“服务器”端软件设计方案,为了方便使用与维护操作系统选用WINDOWS操作系统。软件开发平台选用SUALB够JC软件开发平台,与“上位机”的RS232串口通讯采用MSC0嘲控件。服务器将采集到的数据以文件方式存储在硬盘中。通过人机界面操作,收到的数据既可以摄示成数字方式,也可以将收到的数据用曲线的方式直观地显示。13第3章、数据采集器的SOPC设计31、MICROBIAZEM32位软处理器核的结构和特点MICFOBL北E32位微处理器是一种软IP核,采用RISC指令集,HARVARD体系结构,分离的32位指令和32位数据总线,以全速执行指令;可以访问片内存储器和片外存储器;在即GA内实现约占用柏0SL妇S;其性能可达100DMIPS;在VINCXHPRO一上实现,其时钟频率可达150MHZ。支持的标准矫设包括UART,定时计数器,GPIO,看门狗定时器,中断控制器,扩展FLASH和SRAM接口等;另外支持UA且TS16450,16550,C和ELHCMEL10100MAC等附加外设F17。所有外设都通过LBM的CORCCO姗ECT叫支术中的O邝ONCHIPPERIPHERALBUS技术进行连接。其软件开发环境为GNU,包括编译器,汇编器和调试器,利用GNU对MICROBLAZE进行开发使用。MICF0BL越E处理器具有以下特性【18】。132个32位的通用寄存器和2个专用寄存器。232位宽的指令字,支持3个操作数,两种寻址模式,3独立的32位数据总线和指令总线,与MM的OPB总线标准完全兼容。4高速的指令和数据缓存CADLE、三缓流水线结构。532位地址总线68个输入和8个输出的快速链路FSL接口。与大多数RLSC处理器一样,MICROBL搬有程序计数器、指令缓冲区、指令译码、加减运算、逻辑运算、移位、乘法器等。图311左侧的是指令侧总线接口,包括32位指令总线和32位地址总线,用于连接FPGA内外指令存储器;右侧为数据侧总线接口,包括32位数据总线和32位地址总线,用予连接片内外各种IP核和数据RAM或NASH。14MS虮C“O门SJ幽D蛊招S捌E0US加搪D目CE6M挎H目CEADDSUBILM8,翟瓣SHWL。GICAIHL、厂一。B“SMUPIYBUSIF彳IN蚰V删多IF0ECODELINS打UCTBN入嘲FSC耵F阳R32X32B8URIOPB图311MICROBL配E核框图MICF0BL配ECOREB10CKDIA掣锄FPGA内不仅可以嵌入一个MIC帕BL配C,如果系统需要可以嵌入2个甚至多个,使用户的应用系统设计更方便灵活。指令系统MICMBL缸E的指令字为32位,其指令又分为A型和B型,A型指令有两个源寄存器操作数和一个目的寄存器操作数;B型指令有一个源寄存器和一个16位的立即数通过在B型指令前加一个蹦M指令可将其扩展到32位,还有一个目的寄存器;按功能划分有算术运算、逻辑运算、分支、存,取和特殊指令等【19】。寄存器MI蝴L舵C是一个完全正交的体系结构,有32个通用寄存器和两个特殊功能寄存器。32个通用寄存器定义为RMR31,其中RO的值总为O,任何对其的写操作均无效。特殊功能寄存器有程序计数指针PCPM融MCOUNTER、状态标志寄存器MSRMHISTDTCREGISTCR等。对寄存器的使用有如下约定。说明1易失寄存器只是暂时性存储参数,在函数调用间不保持数据;说明2非易失寄存器可函数阆互相调用时需保持的参数;其中,特殊寄存器PC指令指针,存储的是下一条指令的地址。状态标志寄存器MSR中保存进位标志、中断使能和总线锁定等标志位。可通过MFS指令读取状态寄存器,MRS指令写状态字,但对BIT0的操作无效。流水线MI啪BLAZC流水线为并行流水线,分三级取指、译码、执行。通常,每一级均在一个时钟周期内完成,因此,完成一条指令需要三个时钟周期。并行流水线的每一级在每一个时钟周期都是活动的,三条指令在流水线的不同级中在同时运行。虽然执行一条指令需要三个时钟周期,但在每一个时钟周期都将进行一次取指操作,在每一个时钟周期都有一条指令完成,从流水线中流出。表311MICROBLAZE寄存器使用约定寄存器类型用途RO专用保持0R1专用堆栈指针R2专用小数据区锚点只读R3R4易失返回值R5R10易失传送参数临时R11一R12易失临时R13专用小数据区锚点读写R14专用中断返回地址R15专用子程序返回地址R16专用陷阱返回地址调试R17专用异常返回地址R18专用汇编器保留R19R31非易失保留函数调用间的参数RPC特殊程序计数器RMSR特殊状态标志寄存器象其它处理器的流水线一样,MICROBLA孔流水线也会遇到控豺冒险问题。当一条分支语句执行完成时,程序流将进入分支,流水线中正在取指和译码阶段运行的指令都是不正确的指令,必须丢弃或冲掉,重新装载,因此,转入一个分支,需要花费三个时钟周期。需要插入两个等待周期才能使流水线重新充满,这样就降低了流水线的效率。MICPOBLAZE使用两种技术来减少分支的所产生的损失,一种是采用延迟槽,另一种是使用历史缓冲。存储结构MICMM北C可以用三种数据宽度对存储器进行访问字节8位、半字16位、字32位。存储器访问总是数据宽度对齐的。对于半字访问,其地址的最低位始终为0同样,对于字访问,其地址的最低两位也一直为O。MJCROBLAZC是BIGENDIA|1格式的处理器,使用BIGELIDI柚格式的地址。INTERRUPTS中断、EXCCPLIS异常和BREAKS断点当RESET或DEBU量RST发生时,MICROBLAZE从0地址开始执行,PC和MSR复位到默认值。当EXTBRK发生时,MICROBLAZE从地址0X18开始执行,将返回地址存储在寄存器16中。如果状态寄存器MSR中的BIR位有效,就不执行E一BRK中断。当产生EXT_NMBRK中断时,MICROBLAZE也从地址0X18开始执行,将返回地址存储在寄存器16中。AINTEMI口TS中断当INTE肿PT中断产生时,处理器停止执行当前的程序,响应中断请求,转到地址OX00000010处执行,并将中断发生时正在执行的指令的地址存储在通用寄存器14中。清除状态寄存器MSR中的中断使能标志位设置MSR的第30位为O,不再响应其它中断。当前PC指针指向的指令不再执行。当MSR中BIP位有效为1时,不响应中断。等效伪代码R14”LOC”P3L”;KEYB2D7NET”OPB埘JO且GPI吼IO”LOC”P41”;KEY_B3D6NET”叩B埘IO0GPLOIO”LOC”P42”;KEYB4D5NET”OP妇IOOGPLO_IO”LOC”P43”;KEYB5D4NET”OPBLGPI9啪P100”LOC”P44”;,KEYB6D3NET”O岫IO且GPLO_10”LOC”P3”;NET”OPB_韶IO_吐GPL0_JOC6”LOC”P28”朋IC_SDAJ咖U1D1NET”OP吣PIOL虬GPLO_IO订”LOC”P4”NET”OPBPIO_1PIOJOO”LOCTP80”;肌CDD07NL汀”O岫IO_1JPIOJO1”LDC”P83”;1CDD06NET”OPH名PJOLL一GP幻IK2”LOCFP84”,ICDD05NL弧“OPBGPIOLGPIOI3”LOC”P85”;LCDD04NET”OPB埘I0_1GPL0一O4”LOC”P86”;LCDD03M玎”O灿IO1PPLOJO”LOC”P87”;“DD02NET”叩啦IO_LJPLOIO6”LOC什P93”;肌CDD01NET”O曲印IO_LGPIO10H7”UCTP94”LC玑D00NET”OPB_韶I0之GPL0LO0”LOC”P4F;,D77SEG_A0位码千NET”OPL韶I邶PLO_LO1”LOC”P46”;,D67SEG1位码百NL玎”0PB舅I0_2JPLOJO”LOC”P38”;,D47SEG_A3位码个NET”OP旧I虬2GPIOLL04”LOC计129”;D3P29LIC二SCLD30LOSHARE】DQ5NET”O舛憎I啦2_GPLU05”LOC”P62”;D2蕊1P62TOHC573LEDD1,D2,D8NETLOPB鲥叱2_GPM_IO”LOC”P60”;DLCS2P60TOHC573UMD9,D10,D16NET”OPU辨I叱2一GPL0LO”LOC”P59”;D0CS3P59TOHC573LCDDATABUS31NET”0PH_GPIO_3_GPIO_IO”LOC”P51”7SEG0段码ANET”OP咖IO_3GPIOJO”LOC”P58”;7SEGD4段码ENET”叩B_GPIO_3_GPIO_IO”LOC”P57”卯SEGD5段码FNET”OP吣IO_3GPIOIO”LOC”P49”;,7SEGD2段码CNET”OPB印IO3LOJO”C”P50”;7SE吼DL段码BNET”O如卵IOJPIO_J0”LDC”P54”7SEG_D7段码HNET”OP吣PIQ_3GPLOJO”LOC”P57SEG_D6段码GNET”0PB_UANLIFC9TX”LOC”P129”;腿DNET”OPBU硼ITC0RX”LOC”P5II蛐硒第4章、数据采集系统服务器端软件设计41、数据采集系统服务器端硬件选型现场总线网的上位枫经RS232串口或USB、或以太网口与“服务器”相连。“服务器”可以由工控机、服务器或台式PC承担。本设计选用一般台式PC机。运行在WIN2000操作系统,人机界面友好,监控软件采用VB开发。“服务器”存储各下位机采集到豹数据。如果现场环境恶劣,或者可靠性要求较高,最好选用工控机作为服务器。42、数据采集系统服务器端界面设计数据采集系统服务器端界碰设计,如图421所示关于W铀DD邺风格的界面设计和程序设计可参阅参考文献23】。图421数据采集系统服务器端界面设计43、数据采集系统服务器端通讯软件设计接收数据显示区,如图431所示图431接收数据显示区上位机与服务器通讯协议设计,帧8个字节,其帧结构如下第1字节是帧头0X55第2字节是下位机地址从O00到O【FF,一条现场总线上,最多允许256个下位机。第3字节、第4字节是开关量输入。第5字节的高4位是A,D通道号,最多允许16个AD通道。高4BIT有效。第5字节的低4位是D采样值12BIT的高4BIT,低4BJT有效。第6字节是D采样值12B“的低8B“0】00J0】【FF,8BIT有效。第7字节是CRC校验码。第8字节是帧尾O利执。VB程序详见附录。关于MSCO衄控件韵程序设计可参阅参考文献124】。44、数据采集系统服务器端绘图软件设计图441接收数据绘图区服务器端,不仅可以实时地显示AD采样值,还可以以曲线最示直观地显示在计算机的屏幕上。关绘图部分的程序设计可参阅参考文献【25】。由于服务器端的程序设计较为简单,也不是本课题的重点,不再赘述。具体程序,可参见附录。第5章、数据采集系统的实现51、基于EDK的SOPC开发流程MICROBLAZE是ILIN】【公司针对黜器件设计的标准32位RJSC软核处理器【碉。【ILINX公司同时提供了软件开发环境EDKEMBCDDEDDEVELOPMT尉I【271,包括编译器,汇编器和调试器。用户可利用EDK对MICMBL配E进行应用开发,本设计在EDKV61和V71完成,目前2005年10月最新版本为V73。ILJNX公司以前曾推出MDKMICROBL妣EDEVELOPMCNTLCIT开发工具包,可以进行MICTOBLAZE微处理器软口的开发工作。但由于MDK比较简单,开发工作比较复杂,且其中自带的口较少,现在已经不再使用。1LIIIX公司后续推出EDKEMBEDE;DDEVELOPMENTKNL勰L开发套件,可以进行MI口OBLAZE软RE和PCLWERPC硬CORC嵌入式微处理器的开发工作。使用灵活方便,带有一定的”资源,是目前性能比较好的嵌入式微处理器开发工具。EDKV71需要以下软硬件支持1XILILISE71I。在EDK环境下生成的嵌入式系统需要FPGA开发工具ISE71I来实现。2ISE开发工具的补丁可以从INLIX公司的网上下载。3开发评估板。为了在FPGA上验证MICROBLAZE和PDWCRPC系统,必须有一套XJLINXFPGA的开发评估板。评估板上至少有片【ILINX的FPGA,还有其它器件如标准下载、配置和调试接口,输入输出设备等。EDK71I可以运行在以下操作系统WILLDAWS2000SP2、WINDOWSXPSOLARIS28。支持EDK设计MICROBLA髓嵌入式系统的FPGA系列有XILINXSPARI柚IIFPGASXC2S50以上、。ILI麟1,INE蛐FPGAS岱CV50以上、ILJN】【VINEXFPGASXC2V250以上支持EDK设计MI啪BLAZE和POWCRPC嵌入式系统的FPGA系列有XILINXVIRTEXIIPROFPGAS。支持开发嵌入式系统的开发评估板有多种,本课题使用的是长沙依元素公司的I代板的豪华版。XMNXP】ATFO珊STUDIOXPS是EDK套件中的主要软件“集成开发环境”,用户可以使用它完成嵌入式微处理器MICFOBLAZE,POWEFPC软硬件开发的整个流程,产生软件说明文件和验证说明文件具有编辑窗口和工程管理界面,可以创建和编辑源代码;提供软件流程的模式配置【29L。在XPS还可以运行硬件流程,支持一定范围的硬件配置【刈XPS支持的工具如表511所示。表511XPS支持的工具工具功能备注库产生器定伟4软件工具库、驱动程序和中断控制器参见UBIYGENEFAT甜文UBGEN档BSP产生嚣为指定的操作系统产生髂P文件仅支持VXW研KS54BSPGENGNU编译工预处理编译,汇编和连接程序GNUI抽】文档具平台产生器允许用户定制选项,按MHS文件和选项运PLA哟脚G如啪TOR文档PLATG行ILLATG如真模型产生器产生硬件仿真模型,为整个系统产生脚本文1七ESIMNLATJONMODELSJMG如件GELLATORMAKE塌E产生M硪EIIK,可以提供给不同的软件和硬在洲AFIS上运行舯AKE件设计工具XPS有以下功能向微处理器硬件描述文件MHS中增加他模板,添加,编辑CORE。产生和修改瑚S文件。产生和修改微处理器软件描述文件MSS。产生和修改微处理器验证描述文件MVS。支持表511中所有工具。察看和编辑C源代码和头文件。工程管理。工具和流程集中管理。在XPS界面,主窗口可以显示和编辑C源代码、头文件和MHS文件,可咀以只读方式打开MPD、MVS和MSS文件;工程窗口以树形浏览方式显示系统BSP,工程文件和工程配罱;控制台窗口显示各种信息,如出错,警告,使用的工具等运行时的信息。关于XILINXEDK的嵌入式系统开发工具的详细使用,参见参考文献【31】。52、用EDK实现SOPC设计用EDK实现SOPC设计,操作如下。1首先要在开发平台下创建一个工程文件SYST锄XMP。在SYSTEMXMP文件创建后,要选择器件系列,型号,封装形式,速度;同时创建一个空的MICROPROCESSORHARDWARESPECIFICATIMHS微处理器硬件说明文件SYSTEM功LLS。该文件将在下一步添加以下内容选用MICIOBLAZE或POWERPC、外设坤RE和相应的地址空间、总线、系统的所有连接关系。2向瓶建的MHS文件中添加IP。ORC。选择PL_0JECT菜单AD棚ITCORES,如图521所示。图521添加IPCOTEFPGA构成的SOPC系统,片内LP有软处理器MICTOBLAZE、片内RAM块B豫M_BLOCK_O、LMBBFAMIOCNTLL0、LMB_BR姗一IF_CNTLLL、通用LOGPIOO、GPIOJ、GPIOJ、GPIO3、讽试口OPBJTAG_UAN_0、UAIR串口叩B_UARNJTC_O。3添加、连接总线。点击BUSCONNECTIONS标签,转入连接总线页面。如图522所示图522连接总线4添加、修改输入糯出端口。点击PO啭标签,转入端口连接页面。5对外部端日进行引脚锁定,建立用户约束文件SYSTEMHC厶6生成网表,加入C程序,编译,生成BITS眦姗文件。7下载、调试。53、下载配置表5318位的DIP开关选择加载方式FPGA配凝L帕黝眨嗽JTGSVSFI枣行。1襁武侧蹦XOFFOIFOFFXX带R肢横OFF0FFX0树OFFOMXXJTAG疗。OFF0NX0树硎0FFXX开发板通过并口电缆与计算机进行连接,下载配置FPGA。配置方式有多种,可使用串行主模式,串行从模式和J1AG方式等。另外还可以通过专用电缆进行快速并行加载。在使用并口电缆加载时,加载方式的选择可通过一个8位的DIP开关来实现。本课题开发时,拨码开关配置为J11AG方式。54、数据采集系统应用领域基于FPGA的SOPC数据采集器应用领域广,现举一例说明如下可应用于“低压电气监控系统”,具体实例为“多台马达监控系统”。数据采集器监控马达的过压、欠压、缺相、过载过流、温度、以及功率因数等参数。各参数的设定可通过键盘和LCD人工现场设定,也可由“服务器”经上位机远程传给下位机设定。上位机经现场总线无线或有线方式与多台下位机从点通信。可接收汇集各下位机从点采集到的数据。上位机经RS232口接“服务器”,可将汇集的各从点数据传给“服务器”。也将“服务器”的参数设定等命令转发给下位机。“服务器”负责集中监控,参数设定,越限报警,数据存储,数据分析等功能。下位机、上位机、服务器三耆共同构成“分布式数据采集网络系统”。第6章、结束语61、结论本课题选用H,GA和C总线的模数转换器,采用SOPC方法完成了数据采集嚣的设计。其中FPGA采用X啦NX公司SPAN勰一II系列的XCL2S100TQL445C芯片,内嵌32位软处理器蛐佛。瑚配E;C总线的模数转换器采用MIAOCHJP公司的MCP3221芯片。实现了模拟量的数据采集和处理。处理器、数据存储器、程序存储器等数字逻辑电路均集成在FPGA内部。FPGA片外仅为模拟器件和开关量驱动芯片。FPGA内部硬件采用VLLDL语言编写;软件采用C语言编写。数据采集器采用基于FPGA的SOPC设计能够便于改进、升级;也可以降低总体成本。数据采集器上位机与服务器的串行接口采用V】哑兄语言的舻核实现。内嵌MICMBLAZC的SOPC数据采集器用于中低速数据采集,在实际运行中稳定可靠。模拟部分由LLC器件处理,数字部分由FPGA处理,从功能、开发难易程度、开发速度、可靠性方面都有优势。多台数据采集器经现场总线组网与服务器构成数据采集系统。服务器端软件采用VB开发,采用MSCOMM控件,实现了采集数据的实时显示。显示方式可以以数字方式显示,也可以以曲线方式显示,更加直观。采集到的数据以文件方式保存在硬盘上。可供以后分析对比。62、展望其中现场总线有多种,既可以选择目前某种流行的现场总线,也可以自行设计自己的现场总线协议。选用基于砰GA的SOPC设计,特别适含开发我国具有自主知识产权的现场总线协议。在可靠性方面,FPGA有很强的优势,与处理器顺序执行的方式相比,用ML设计的硬件,如果设计得当,将不会存在类似于MCU的复位不可靠和PC可能跑飞等问题32L。从这一角度看,各功能模块应该尽可能采用硬件实现,处理器软件尽可能减少。但是,如果没有那么多经过验证的PCORC,过多地采用硬件实现方式,则意味着开发时间延长。所以,具体到某功能模块是由硬件实现,还是由软件实现,要权筏而定。这也使我们对婵重用组织和市场的发展,寄予更多的希望。总之,基于FPC漶的SOPC设计,以集成度高、尺寸小、配置灵活、可升级、成本低、设计周期缩短、风险小等优势,是微电子领域的发展趋势。必将得到越来越广泛的应用。40参考文献【1】彭泽兵,杜艳君国内常用分散式数据采集器的性能介绍航空计测技术1999年第19卷第6期P34【21田湛君温度、应变数据采集器的难点设计鞍钢技术2000年第10期P27P30【3】

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论