本科毕业设计论文-17-第二章焊接机器人通讯及CPLD原理2.1焊接机器人通讯原理焊接机器人系统是一个多机分布式系统,机器人、焊接装置和相应的辅助、监控设备构成了焊接加工单元,单元的各个部分都是彼此独立的,需要依靠串行通信把各部分信号集成起来。串行通信是把组成信息的各个码位在同一根传输线上,从低位到高位,逐位地、顺序地进行传送的通信方式,所用的传输线少,一个方向上只须一条传输线,采用串行方式进行近距离交换数据很普遍,由于还可以借助某些现成的通信网进行信息传送,因此也适合于远距离传送。在实时控制和管理方面,采用多台微处理机组成分级分布控制系统中,各CPU之间的通信一般都是串行方式。所以串行接口是微机应用系统常用的接口。在串行通信中,信息在一个方向上传输,只占用一根通信线,因此这根线既作数据线又作联络线,也就是说要在一根传输线上既传送数据信息,又传送联络控制信息,这就是串行通信的最首要的特点。各种串行通信都有自己的一系列约定(协议)。因此,串行通信的第二个特点是它的信息格式有固定的要求,分异步和同步信息格式,与此相应,就有异步通信和同步通信两种方式。第三个特点是串行通信中在传输线上对信息的逻辑定义与TTL不兼容,因此,需要进行逻辑电平转换。常用的串行总线接口标准有RS-232C、RS-422和RS-485。RS-232C驱动器与TTL电平连接必须经过电平转换。由于RS-232C是单端输入和单端输出,共模噪声会耦合到正常信号中,所以RS-232C需要提高电平幅值,即使如此,该标准信号的传输速率也只能达到20kb/s,而且最大距离仅15m,如果要进行更远距离的信息传输,引入的干扰更多,必须加调制解调器和线路分配器,使系统扩展受限制。RS-422/485是差分平衡型电路,其输入端为双端差分放大器,输出端为双端平衡驱动器[19]。它有几个好处:由于输入端的差分放大作用,抵消了干扰噪声,提高抗干扰能力;采用这种接法,两条信号线形成回路,与信号地无关,这样避免了电平偏移;双端平衡驱动器的输出端比单端不平衡驱动对电压信号放大了一本科毕业设计论文-18-倍。RS-485作为RS-422的增强型版本,其负载能力、输入阻抗以及抗共模干扰能力均优于RS-422。在差分平衡系统中,一般选用双绞线作为信号传输介质。由于双绞线在长度方向上完全对称,因而它们所受的外界干扰完全相同,在很大程度上抵消了差模干扰信号的影响。而以共模方式出现的干扰信号,在接收器的输入端受到了抑制,所以能实现信号的可靠传送。这两种标准都是目前工业环境下既经济又实用的串行接口标准。通讯接口中还有数字I/O通讯方式,对于不需要传输大量数据的情况下,可以采用数字I/O通讯方式只模拟开关量的对信号电平进行传输。2.2CPLD功能及原理2.2.1PLD发展及分类PLD(ProgrammableLogicDevice可编程逻辑器件)是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于70年代单片机的发明和使用。可以毫不夸张的讲,PLD能完成任何数字器件的功能,上至高性能CPU,下至简单的电路,都可以用PLD来实现。PLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。PLD是作为一种通用集成电路生产的,它的逻辑功能按照用户对器件编程来规定。一般的PLD的集成度很高,足以满足设计一般的数字系统的需要。这样就可以由设计人员自行编程而把一个数字系统“集成”在一片PLD上,而不必去请芯片制造厂商设计和制作专用的集成电路芯片了。通过软件仿真,可以事先验证设计的正确性。在PCB(PrintedCircuitBoard)完成以后,还可以利用PLD的在线修改能力,随时修改设计而不必改动硬件电路。使用PLD来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。典型的PLD由一个“与”门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与一或”表达式来描述,所以,PLD能以乘积和的形式完成大量的组合逻辑功能。这一阶段的产品主要有PAL(ProgrammableArrayLogic可编程阵列逻辑)和GAL(GenericArrayLogic通用阵列逻辑)。现在应用广泛的PLD主要是可擦写的可编程逻辑器件EPLD(ErasableProgrammableLogicDevice)、现场可编程门阵列FPGA(FieldProgrammableGate本科毕业设计论文-19-Array)和复杂可编程逻辑器件CPLD(ComplexProgrammableLogicDevice)。可编程逻辑器件EPLD是20世纪80年代中期Aletra公司推出的基于EPROM(ErasableProgrammableROM可擦除可编程ROM)和CMOS技术的PLD,后来发展到采用EECMOS工艺制作的PLD。从某种意义上讲,EPLD是改进的GAL,基本逻辑单元是宏单元。宏单元是由可编程的与阵列、可编程寄存器和可编程I/O三部分组成的。它在GAL基础上大量增加输出宏单元为数目,提供更大的与阵列,灵活性较GAL有较大改善,集成密度大幅度提高,内部连线相对固定,延时小,有利于器件在高频率下工作,但内部互连能力十分弱。现场可编程门阵列FPGA是Xilinx公司1985年首家推出的,它是一种新型的高密度PLD,采用CMOS-SRAM工艺制作。FPGA的结构与门阵列不同,其内部由许多独立的可编程逻辑模块组成,逻辑块之间可以灵活地相互连接。FPGA的结构一般分为三部分:可编程逻辑块、可编程I/O模块和可编程内部连线。配置数据存放在片内的SRAM或者熔丝图上,基于SRAM的FPGA器件工作前需要从芯片外部加载配置数据。配置数据可以存储在片外的EPROM或者计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即所谓现场可编程。FPGA出现后受到电子设计工程师的普遍欢迎,发展十分迅速。复杂可编程逻辑器件CPLD是20世纪80年代末Lattice公司提出了在线可编程ISP(InSystemProgrammability)技术以后,于20世纪90年代初出现的。CPLD是在EPLD的基础上发展起来的,采用EEPROM工艺制作。与EPLD相比,增加了内部连线,对逻辑单元和I/O单元也有非常大的改进。CPLD至少包含三种结构:可编程逻辑宏单元、可编程I/O单元和可编程内部连线。部分CPLD器件内部还集成了RAM、双口RAM存储器,以适应DSP应用设计要求[20]。2.2.2FPGA/CPLD的选择比较由于FPGA/CPLD的集成规模非常大,可利用先进的EDA(ElectronicDesignAutomation,电子设计自动化)工具进行电子设计和产品开发。由于开发工具的通用性、设计语言的标准化以及设计过程几乎与所用器件的硬件结构没有关系,因而设计开放成功的各类逻辑功能块软件有很好的兼容性和可移植性[21]。与ASIC(ApplicationSpecificIntegratedCircuit专用集成电路)设计相比,FPGA/CPLD显著的优势是开发周期短、投资风险小、产品上市速度快、市场适本科毕业设计论文-20-应能力强和硬件升级回旋余地大,而且当产品定型和产量扩大后,可将在生产中达到充分检验的VHDL设计迅速实现产品开发投产。FPGA基于SRAM的架构,集成度高,以LE(包括查找表、触发器及其他)为基本单元,有内嵌Memory、DSP等,支持I/O标准丰富。具有易挥发性,需要有上电加载过程。在实现复杂算法、队列调度、数据处理、高性能设计、大容量缓存设计等领域中有广泛应用,如AlteraStratix系列。CPLD基于EEPROM工艺,集成度低,以MicroCell(包括组合部分与寄存器)为基本单元,具有非挥发特性,可以重复写入。在粘合逻辑、地址译码、简单控制、FPGA加载等设计中有广泛应用,如AlteraMAX3000A系列。尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有以下各自的特点。(1)CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。(2)CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。(3)在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。(4)FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。(5)CPLD比FPGA使用起来更方便。CPLD的编程采用EEPROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。(6)CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。(7)在编程方式上,CPLD主要是基于EEPROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失[22]。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息本科毕业设计论文-21-在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。(8)CPLD保密性好,FPGA保密性差。(9)一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。对于一个开发项目,究竟是选择FPGA还是选择CPLD,主要看开发项目本身的需要。对于普通规模,且产量不是很大的产品项目,通常使用CPLD比较好。对于大规模的逻辑设计、ASIC设计,或单片系统设计,则多采用FPGA。本课题是基于对点焊机器人的通讯接口的研究应用,所以选择CPLD进行实验。2.2.3主流CPLD的性能比较开发一个项目,所选用的逻辑资源量是否满足系统的要求是首先要考虑的。大规模PLD器件的应用,大都是先将其安装在电路板上,然后再设计其逻辑功能,而且在实现调试前很难准确的确定芯片耗费的资源。系统设计完成后,有可能要增加新功能,以及后期的硬件升级可能性。因此适当估测一下功能资源以确定使用什么样的器件,对于提高产品的性能价格比较有好处的。Altera、Xillinx、Lattice三家PLD主流公司的产品都有HPLD的特征,且有多种资源产品供选用。2.2.3.1Altera系列CPLD1.Altera器件的特点(1)性能高Altera器件的高性能主要体现在技术和结构上,采用铜铝布线的先进CMOS技术,具有非常低的功耗和相当高的速度,而且,它采用了连续式互连结构,能够提供快速的连续的信号延时。(2)逻辑集成密度高具有高集成能力的PLD提供了优秀的解决方案。Altera器件密度从300门到400万门,能很容易地集成现有的各种逻辑器件,包括小规模及大规模标准逻辑器件、PLD、FPGA或ASIC。能够帮助设计者设计更多的逻辑,集成进更少本科毕业设计论文-22-的器件中,并缩小印制板的尺寸和降低成本。(3)性价比高Altera不断改进产品的开发和制造工艺,它的经验积累使其处理技术和制造流程十分有效,能够有效的提供高性价比的可编程逻辑器件。(4)开发周期短Altera的快速、直观、易于使用的软件设计输入、处理、仿真以及器件编程仅需要很少的时间就能完成设计。Altera与其他EDA制造商紧密合作,在MAX+PLUSII软件中集成了另外的工业标准设计输入、综合、校验工具。(5)对器件优化的IP解决方案Altera为设计者提供已经作好的、经过预先测试并优化了的IP宏功能块(Mega-functions),允许设计人员在一个器件中快速实现一定的功能