采用EDA技术如何实现应用控制系统的设计?
扫描二维码
随时随地手机看文章
二十世纪后半期,随着集成电路和计算机技术的飞速发展,数字系统也得到了飞速发展,其实现方法经历了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI的过程。同时,为了提高系统的可靠性与通用性,微处理器和专用集成电路(ASIC)逐渐取代了通用全硬件LSI电路,而在这二者中,ASIC以其体积小、重量轻、功耗低、速度快、成本低、保密性好而脱颖而出。总的来说,ASIC的制作可粗略地分为掩膜方法和现场可编程方法两大类。目前,业界大量可编程逻辑器件(PLD),尤其是现场可编程逻辑器件(FPLD)被大量地应用在ASIC的制作当中。在可编程集成电路的开发过程中,电子设计自动化(EDA)技术应运而生。EDA技术的出现,不仅为电子系统设计带来了一场革命性的变化,从某种角度来说,也成为其发展的必然。
1 EDA技术的基本特征及发展
1.1 EDA技术的基本概念
EDA(Electronics Design Automation)即电子设计自动化技术,是一种以计算机为基本工作平台,利用计算机图形学、拓扑逻辑学、计算数学以至人工智能学等多种计算机应用学科的最新成果而开发出来的一整套软件工具,是一种帮助电子设计工程师从事电子元件产品和系统设计的综合技术。
1.2 EDA技术的发展历程及发展趋势
EDA技术的发展经历了一个由浅到深的过程。二十世纪70年代,随着中小规模集成电路的开发应用,传统的手工制图设计印刷电路板和集成电路的方法已无法满足设计精度和效率的要求,因此工程师们开始进行二维平面图形的计算机辅助设计,以便解脱繁杂、机械的版图设计工作,这就产生了第一代EDA工具。
到了80年代,为了适应电子产品在规模和制作上的需要,应运出现了以计算机仿真和自动布线为核心技术的第二代EDA技术。其特点是以软件工具为核心,通过这些软件完成产品开发的设计、分析、生产、测试等各项工作。
90年代后,EDA技术继续发展,出现了以高级语言描述、系统级仿真和综合技术为特征的第三代EDA技术。它们的出现,极大地提高了系统设计的效率,使广大的电子设计师开始实现“概念驱动工程”的梦想。设计师们摆脱了大量的辅助设计工作,而把精力集中于创造性的方案与概念构思上,从而极大地提高了设计效率,缩短了产品的研制周期。
由此可见,EDA技术可以看作是电子CAD的高级阶段。EDA工具的出现,给电子系统设计带来了革命性的变化。随着Intel公司Pentium处理器的推出,Xilinx等公司几十万门规模的FPGA的上市,以及大规模的芯片组和高速、高密度印刷电路板的应用,EDA技术在仿真、时序分析、集成电路自动测试、高速印刷电路板设计及操作平台的扩展等方面都面临着新的巨大的挑战。这些问题实际上也是新一代EDA技术未来发展的趋势。
1.3 EDA技术的基本特征和基本工具
总的来说,现代EDA技术的基本特征是采用高级语言描述,具有系统级仿真和综合能力。它主要采用并行工程和“自顶向下”的设计方法,使开发者从一开始就要考虑到产品生成周期的诸多方面,包括质量、成本、开发时间及用户的需求等等。然后从系统设计入手,在顶层进行功能方框图的划分和结构设计,在方框图一级进行仿真、纠错,并用VHDL、Verilog-HDL、ABEL等硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。近几年来,硬件描述语言等设计数据格式的逐步标准化、不同设计风格和应用的要求导致各具特色的EDA工具被集成在同一个工作站上,从而使EDA框架日趋标准化。
EDA工具的发展经历了两个大的阶段:物理工具和逻辑工具。现在EDA和系统设计工具正逐渐被理解成一个整体的概念:电子系统设计自动化。物理工具用来完成设计中的实际物理问题,如芯片布局、印刷电路板布线等等;逻辑工具是基于网表、布尔逻辑、传输时序等概念,首先由原理图编辑器或硬件描述语言进行设计输入,然后利用EDA系统完成综合、仿真、优化等过程,最后生成物理工具可以接受的网表或VHDL、Verilog-HDL的结构化描述。现在常见的EDA工具有编辑器、仿真器、检查/分析工具、优化/综合工具等等。
目前,PLD已成为现代数字系统设计的主要手段。传统的编程技术是将PLD器件插在编程器上进行编程,而“在系统可编程”(ISP,即In-System Programmable)逻辑器件的问世,将可编程器件的优越性发挥到了极致。它允许用户“在系统中”编辑和修改逻辑,给使用者提供了在不修改系统硬件设计的条件下重构系统的能力和硬件升级能力,使硬件修改变得象软件修改一样方便,系统的可靠性因此而提高。ISP技术即直接在用户设计的目标系统中或线路板上对PLD器件进行编程的技术,打破了使用PLD必先编程后装配的惯例,而可以先装配后编程,成为产品后还可反复编程,从而开创了数字电子系统设计技术新的一页。
下面,笔者即以基于Xilinx的CPLD器件XC95108-7PC84C和Foundation 2.1软件平台的一个简单的四位扭环形计数器(即四位循环彩灯)的设计为例,谈谈EDA技术在ISP数字逻辑系统中的具体应用。随着微电子技术和半导体工业的不断创新和发展,集成电路的集成度和生产工艺技术水平得到不断提高,从而使得在一个半导体芯片上完成系统级的集成已成为可能。现代数字技术已进入电子设计自动化EDA(Electronic Design Automation)时代,这大大改变了现代电子系统设计的理念,极大地提高了大规模系统电子设计的自动化程度。EDA设计方法学在各种电子系统设计中有着极大的影响和广阔的应用前景,当然在电机控制领域也不例外。
1 现代EDA设计方法
可编程逻辑器件是从20世纪80年代开始迅速发展起来的,现在已经成为ASIC(Application Specific Integrated Circuit)的一个重要分支,在计算机应用、通信、智能仪表、医用设备、军事、民用电器等各个领域都得到了广泛的应用,并受到越来越多的关注。它允许用户按照自己的设计思想对其进行重新编程或重构,因此属于可编程ASIC一类,并可进一步转化为掩模(mask)ASIC。
现代可编程逻辑器件主要指CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)和FPGA(Field Programmable Gate Array,现场可编程门阵列)两种大容量的可编程逻辑器件,采用深亚微米工艺,能应用在不同的高科技研发领域,如数字电路设计、微处理器系统、DSP、电信、可重构计算机及ASIC设计等。由于以EEPROM、SRAM或FLASH为基础,用户可以通过计算机对芯片进行在系统编程(ISP)或在线重配置(ICR),不需要做掩模版图设计,因而大大降低了成本,缩短了开发时间。
现代EDA设计方法是伴随着大规模可编程逻辑器件CPLD/FPGA的出现而诞生的,它改变了以卡诺图化简、小规模的TTL芯片的堆砌技术等为代表的传统数字电路设计模式,而是利用软件来设计硬件,软件的改变相应地改变了硬件电路结构,甚至在系统运行时改变系统的硬件结构,而不必重新布置器件管脚和设计系统电路,这用传统设计方法是无法实现的,它的出现打破了硬件电路和软件设计的传统界限。EDA是以计算机为工具,在EDA软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA最大的特征就是强大的逻辑设计仿真测试技术。EDA仿真测试技术只需通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,在完成实际系统的安装后还能对系统上的目标器件进行所谓边界扫描测试。这一切都极大地提高了大规模系统电子设计的自动化程度。
采用EDA方法和可编程器件,设计者的工作就仅限于利用软件的方式,即利用硬件描述语言来完成对系统硬件功能的描述,在EDA工具的帮助下就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。
传统的电路设计方法都是自底向上的,即首先确定可用的元器件,然后根据这些器件进行逻辑设计,完成各模块后进行连接,最后形成系统。基于EDA技术的所谓自顶向下的设计方法正好相反,其步骤就是采用可完全独立于目标器件芯片物理结构的硬件描述语言,在系统的基本功能或行为级上对设计的产品进行描述和定义,结合多层次的仿真技术,在确保设计的可行性与正确性的前提下,完成功能确认;然后利用EDA工具的逻辑综合功能,把功能描述转换成某一具体芯片的网表文件,输出给该器件厂商的布局布线适配器,进行逻辑映射及布局布线,再利用产生的仿真文件进行包括功能和时序的验证,以确保实际系统的性能。这种把系统的结构构成方式与系统的行为或算法方式相混合的描述方式称为混合层次描述,设计者可以在抽象度相当高的层次上描述系统的基本结构。
自顶向下的设计方法由于顶层的功能描述可以完全独立于目标器件的结构,在设计的最初阶段,设计人员可不受芯片结构的约束,集中精力对产品进行最适应市场需求的设计,从而避免了传统设计方法中的再设计风险,缩短了产品的上市周期,而且设计成果可以重复利用,可移植性强。现代的电子应用系统以及电子产品的开发与生产正向模块化发展,或者说向软硬核组合的方向发展。对于以往成功的设计成果稍作修改或组合就能投入再利用,从而产生全新的或派生的设计模块,同时还可以以一种IP核(Intelligence Property Core,知识产权芯核,一种已注册产权的电路设计)的方式进行存档。
在实际设计工作中,这两种方法往往是结合在一起使用的,在清楚了所要设计系统的整体功能后,把整个功能划分为若干功能模块,如果需要的话,再继续划分为更小的或更容易实现的子模块,直到这些小模块能很容易地用硬件语言进行描述或直接利用现成的IP模块。等所有分散的功能子模块都设计完成后,再把这些子模块按一定的方式组合起来,最后形成所要求的系统功能,仿真正确后设计任务也就基本完成了。由于采用的是结构化的设计开发手段,一旦主系统基本功能结构得到确认,即可实现多人多任务的并行工作方式,使系统的设计规模和效率大幅度提高。
2 EDA技术在电机控制器集成化研究领域的应用现状和趋势
2.1 EDA设计思想对电机控制方面的影响
硬件电路设计的软件化是EDA设计方法学的基本思想,也是电路设计的发展趋势,用硬件描述语言来描述模拟数字电路系统是这一趋势的重要组成部分。由于开发工具的通用性、设计语言的标准化以及设计过程几乎与所用的CPLD/FPGA器件的硬件结构没有关系,所以设计成功的各类逻辑功能块软件有很好的兼容性和可移植性,它几乎可用于任何型号的CPLD/FPGA中,由此还可以以知识产权的方式得到确认,并被注册成为所谓的IP芯核,从而使得片上系统的产品设计效率大幅度提高。由于相应的EDA软件功能完善而强大,仿真方式便捷而实时,开发过程形象而直观,硬件因素涉及甚少,因此可以在很短时间内完成十分复杂的系统设计,这正是产品快速进入市场的最宝贵的特征。
采用FPGA和CPLD不仅是电子技术发展的必然趋势,而且也是衡量产品技术先进性和竞争力的一个重要标志。基于EDA的CPLD/FPGA的应用和技术推广将是我国未来电子设计技术发展的主流。这些新型器件的出现,为我们进行电机集成控制器的研究提供了物质基础和技术手段,大大地拓广了我们的设计思路,使得诸如电机控制器等的片上系统集成有了可能。片上系统的出现,对大幅度降低功耗、提高抗干扰性、增加技术保密性以及减少电路板面积等都提供了良好的解决方案;在系统可编程(ISP)技术又使得设计者可以随时通过软件对器件编程,从而达到改变硬件结构的目的。随着EDA技术的发展和CPLD/FPGA在深亚微米领域的进军,它们与.MCU、MPU、DSP、A/D、D/A、RAM和ROM等独立器件间的物理与功能界限已日趋模糊。特别是软/固IP芯核产业的迅猛发展,嵌入处理器IP核的FPGA器件的出现,片上系统(SOC)已近在咫尺。CPLD/FPGA以其不可替代的地位及伴随而来的极具知识经济特征的IP芯核产业的崛起,正越来越受到业内人士的密切关注。EDA技术打破了软硬件之间最后的屏障,使软硬件工程师们有了真正的共同语言,使目前一切仍处于计算机辅助性设计和规划的电子设计活动产生了实实在在的设计实体。可以这么说,基于EDA的IP芯核产业的推动应是我国在下一世纪知识经济发展的重要切人点之一。单片机时代已经结束,未来将是EDA的时代,这是极具深刻洞察力的明世之言。
2.2 电机控制器的研究现状和发展趋势
现代电机控制的发展,一方面要求提高性能、降低损耗、减少成本,另一方面又不断地有技术指标极其苛刻的特殊应用的系统需求。可靠性高、实时性好是对电机控制系统的基本要求。微电子技术和计算机技术的飞速发展以及控制理论的完善、仿真工具的日渐成熟,给电机控制行业带来了很多发展的机遇;同时现代电力电子技术的发展,使得功率器件的开关频率越来越高,各项性能也越来越好。而传统的基于单片机软件运算的控制系统,由于速度慢、开发周期长等弱点,已越来越不适应现代高性能伺服系统的要求以及时代发展的需要。
在数据处理量大且实时性和精度要求又高的场合,例如矢量变换控制系统,单片机MCU已不再能满足要求,因此人们自然而然地又想到了数字信号处理器(DSP)。近年来,越来越多的单片机用户开始选用DSP器件来提高产品性能,DSP器件取代高档单片机的时机已经成熟。采用基于DSP的电机专用集成电路,通过复杂的算法达到同样的控制性能,既降低成本,可靠性又高,并且有利于专利技术的保密,还可以降低对传感器等外围器件的要求。有时,系统要求的人机交互、打印等控制较多,一个DSP不能胜任,这时可采用一个单片机来处理事务、一个DSP来处理运算的多处理器系统。但这样做既增加了两个处理器之间同步和通信的负担,又使系统实时性变坏,延长系统开发时间。在这种情况下,如果把微处理器、微控制器和数字信号处理器的能力再加上外部各种分立元器件实现的逻辑功能集中于一块芯片上,那么不但能解决上面的各种问题,还大大减少了控制器的体积和损耗,相应地可靠性也得到了提高。这就是电机控制器的集成化研究,需要自己开发类似的芯片。
同MCU和DSP相比较,基于EDA技术的CPLD/FPGA器件的开发应用可以从根本上解决所遇到的问题。最近十几年中,大规模/超大规模可编程逻辑器件以及现代EDA技术的发展已经使得几乎不具备微电子学和半导体工艺专业知识的一般设计人员在实验室研究集成化的控制器成为可能,也能够进行专用集成电路的开发,而且只需要一台计算机、一条编程下载电缆就可以完成ASIC的基本开发,如逻辑设计、时序仿真等,其开发语言比较简单,也不必了解很多芯片设计方面的细节,只需从行为上描述就可以了。正因为这些手段的应用,使得电机专用集成电路的研究方兴未艾。
不可否认,在一些系统中MCU或DSP与CPLD/FPGA有很强的功能互补性。但从长远看,随着EDA技术的发展、CPLD/FPGA集成水平的进一步提高和IP芯核产业的进一步扩大,可以预言,在大部分的电子设计领域,MCU、MPU、DSP或A/D、D/A和RAM等必将以各种软/固/硬IP芯核的形式大统一于CPLD/FPGA,实现真正的单片系统。
最近国外已公开发表了很多关于电机控制器集成方面的文章,而且还相应地提出了一些便于用EDA方法及CPLD/FPGA器件实现的电机控制理论,如电压空间矢量PWM等。目前国外在电机控制器的集成研究方面已经比较先进,从公开发表的文献上看,诸如基于矢量控制、直接转矩控制的控制器已经可以用单片FPGA或CPLD实现,省却了MCU、DSP,其功能都由硬件来实现,从而大大提高了运算速度,解决了软件运行速度慢的瓶颈,提高了运行性能,并且可移植能力强;最近几年,更新颖的控制手段如模糊控制、神经网络控制、自适应控制、专家控制等智能控制也已经有人实现了模块化,做成了ASIC。从最新市场情况看,目前一些国外厂家做成了能自动检测电机类型的智能型的集成控制器,具有多种控制模式。随着技术的进一步发展,未来几年内有可能把模拟电路或模数混合电路也很方便地由用户做成符合自己要求的ASIC。
而在国内,从各种刊物上看,进行同类研究的文章中达到了一定水平的寥寥可数,而且大部分进行的只是控制器的某一功能的模块化研究,其它的多数也只是在理论上探讨了一些,但不深入,进行实质性的开发的并不多。市场上也未见国内厂家自主开发生产的高水平产品。应该可以看到,电机控制器的单片集成化研究已经成为电机控制领域的一个新的发展方向,也是技术发展的必然趋势。