第2章 往届赛题分析与方案设计训练
2.1 电子设计竞赛系统设计基础
2.1.1 现代电子系统的设计方法
传统电子系统设计一般是采用搭积木式的方法进行,即由器件搭成电路板,由电路板搭成电子系统。系统常用的“积木块”是固定功能的标准集成电路,如运算放大器、74/54系列(TTL)、4000/4500系列(CMOS)芯片和一些固定功能的大规模集成电路。设计者根据需要选择合适的器件,由器件组成电路板,最后完成系统设计。传统电子系统设计只能对电路板进行设计,通过设计电路板来实现系统功能。
电子系统已进入数字时代。在计算机、移动通信、VCD、HDTV、军用雷达、医用CT仪器等设备中,数字技术与数字电路构成的数字系统已经成为构成这些现代电子系统的重要部分。
进入到20 世纪90 年代以后,EDA(电子设计自动化)技术的发展和普及给电子系统的设计带来了革命性的变化。在器件方面,微控制器、可编程逻辑器件等飞速发展。利用EDA工具,采用微控制器和可编程逻辑器件,正在成为电子系统设计的主流。
采用微控制器和可编程逻辑器件通过对器件内部的设计来实现系统功能,是一种基于芯片的设计方法。设计者可以根据需要定义器件的内部逻辑和引脚,将电路板设计的大部分工作放在芯片的设计中进行,通过对芯片设计实现电子系统的功能。灵活的内部功能块组合、引脚定义等,可大大减轻电路设计和电路板设计的工作量和难度,有效地增强设计的灵活性,提高工作效率。同时,采用微控制器和可编程逻辑器件,设计人员在实验室可反复编程,修改错误,以期尽快开发产品,迅速占领市场。基于芯片的设计可以减少芯片的数量,缩小系统体积,降低能源消耗,提高系统的性能和可靠性。
采用微控制器、可编程逻辑器件芯片和EDA软件,在实验室里就可以完成电子系统的设计和生产。可以实现无芯片EDA公司,专业从事IP模块生产;也可以实现无生产线集成电路设计公司的运作。可以说,当今的电子系统设计已经离不开微控制器、可编程逻辑器件和EDA设计工具。
1.“自底向上”设计方法
传统电子系统设计采用“自底向上”(Bottom-up)设计方法,设计步骤如图2.1.1所示。
图2.1.1 自底向上设计方法的设计步骤
2.“自顶向下”设计方法
现代电子系统的设计采用“自顶向下”(Top-down)设计方法,设计步骤如图2.1.2所示。
图2.1.2 自顶向下设计方法的设计步骤
在“自顶向下”的设计方法中,设计者首先需要对整个系统进行方案设计和功能划分,拟订采用一片或几片专用集成电路ASIC来实现系统的关键电路。系统和电路设计师亲自参与这些专用集成电路的设计,完成电路和芯片版图,再交由IC工厂投片加工,或者采用可编程ASIC(如CPLD和FPGA)现场编程实现。
在“自顶向下”的设计中,行为设计确定该电子系统或VLSI芯片的功能、性能及允许的芯片面积和成本等。结构设计根据系统或芯片的特点,将其分解为接口清晰、相互关系明确、尽可能简单的子系统,得到一个总体结构。这个结构可能包括信号处理、算术运算单元、控制单元、数据通道和各种算法状态机等。逻辑设计把结构转换成逻辑图,设计中尽可能采用规则的逻辑结构或采用经过考验的逻辑单元或信号处理模块。电路设计将逻辑图转换成电路图,一般都需进行硬件仿真,以最终确定逻辑设计的正确性。版图设计将电路图转换成版图,如果采用可编程器件就可以在可编程器件的开发时进行编程制片。
3.设计的划分与步骤
采用“自底向上”设计方法或者“自顶向下”设计方法,一般都可以将整个设计划分为系统级设计、子系统级设计、部件级设计和元器件级设计4个层次。对于每一个层次都可以采用图2.1.3所示的3 步进行考虑。
图2.1.3 设计的步骤
例如设计一个数字控制系统,行为描述与设计完成传递函数和逻辑表达式,结构描述与设计完成逻辑图和电路图,物理描述与设计确定使用的元器件、印制板设计和安装方法等。
4.设计中应注意的一些问题
在设计中采用“自顶向下”设计方法必须注意以下问题:
(1)在设计的每一个层次中,必须保证所完成的设计能够实现所要求的功能和技术指标。注意功能上不能够有残缺,技术指标要留有余地。
(2)注意设计过程中问题的反馈。解决问题采用“本层解决,下层向上层反馈”的原则,遇到问题必须在本层解决,不可以将问题传向下层。如果在本层问题解决不了,必须将问题反馈到上层,在上一层中解决。完成一个设计,存在从下层向上层多次反馈修改的过程。
(3)功能和技术指标的实现采用子系统、部件模块化设计。要保证每个子系统和部件都可以完成明确的功能,达到确定的技术指标。输入/输出信号关系应明确、直观、清晰。应保证可以对子系统和部件进行修改与调整以及替换,而不牵一发而动全身。
(4)软件/硬件协同设计,充分利用微控制器和可编程逻辑器件的可编程功能,在软件与硬件利用之间寻找一个平衡点。软件/硬件协同设计的一般流程如图2.1.4所示。
图2.1.4 软件/硬件协同设计的一般流程
2.1.2 EDA技术
1.EDA技术的内涵
EDA(Electronics Design Automation)即电子设计自动化。现在依靠手工已经无法满足电子系统设计要求,设计工作需要在计算机上采用EDA技术完成。EDA技术以计算机硬件和系统软件为基本工作平台,采用EDA通用支撑软件和应用软件包,在计算机上帮助电子设计工程师完成电路的功能设计、逻辑设计、性能分析、时序测试直至PCB(印制电路板)的自动设计等。在EDA软件的支持下,设计者完成对系统功能的描述,由计算机软件进行处理得到设计结果。利用EDA设计工具,设计者可以预知设计结果,减少设计的盲目性,极大地提高设计的效率。
EDA通用支撑软件和应用软件包涉及电路和系统、数据库、图形学、图论和拓扑逻辑、计算数学及优化理论等多学科。EDA软件的技术指标有自动化程度、功能完善度、运行速度、操作界面、数据开放性和互换性(不同厂商的EDA软件可相互兼容)等。
EDA技术包括电子电路设计的各个领域:即从低频电路到高频电路、从线性电路到非线性电路、从模拟电路到数字电路、从分立电路到集成电路的全部设计过程;涉及电子工程师进行产品开发的全过程,以及电子产品生产的全过程中期望由计算机提供的各种辅助工作。EDA技术的内涵如图2.1.5所示。
图2.1.5 EDA技术的内涵
2.EDA技术的基本特征
采用高级语言描述,具有系统级仿真和综合能力是EDA技术的基本特征。与这些基本特征有关的几个概念是:
(1)并行工程和“自顶向下”设计方法
并行工程是一种系统化、集成化、并行的产品及相关过程的开发模式(相关过程主要指制造和维护)。这一模式使开发者从一开始就要考虑到产品生存周期的质量、成本、开发时间及用户的需求等诸多方面的因素。
“自顶向下”的设计方法从系统级设计入手,在顶层进行功能方框图的划分和结构设计;在方框图一级进行仿真和纠错,并用硬件描述语言对高层次的系统行为进行描述;在功能一级进行验证,然后用逻辑综合优化工具生成具体的门级逻辑电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。“自顶向下”设计方法有利于在早期发现产品结构设计中的错误,提高设计的一次成功率,在EDA技术中得到广泛采用。
(2)硬件描述语言
用硬件描述语言(HDL)进行电路与系统的设计是当前EDA技术的一个重要特征。硬件描述语言突出优点是:语言的公开可利用性,设计与工艺的无关性,宽范围的描述能力,便于组织大规模系统的设计,便于设计的复用和继承等。与原理图输入设计方法相比较,硬件描述语言更适合规模日益增大的电子系统。硬件描述语言使得设计者可以在比较抽象的层次上描述设计的结构和内部特征,是进行逻辑综合优化的重要工具。目前,最常用的IEEE标准硬件描述语言有VHDL和Verilog HDL。
(3)逻辑综合与优化
逻辑综合功能将高层次的系统行为设计自动翻译成门级逻辑的电路描述,做到了设计与工艺的独立。优化则是对于上述综合生成的电路网表,根据布尔方程功能等效的原则,用更小、更快的综合结果替代一些复杂的逻辑电路单元,根据指定的目标库映射成新的网表。
(4)开放性和标准化
EDA系统的框架是一种软件平台结构,它为不同的EDA工具提供操作环境。框架提供与硬件平台无关的图形用户界面以及工具之间的通信、设计数据和设计流程的管理,还包括各种与数据库相关的服务项目等。一个建立了符合标准的开放式框架结构的EDA系统,可以接纳其他厂商的EDA工具一起进行设计工作。框架作为一套使用和配置EDA软件包的规范,可以实现各种EDA工具间的优化组合,将各种EDA工具集成在一个统一管理的环境之下,实现资源共享。
EDA框架标准化和硬件描述语言等设计数据格式的标准化可集成不同设计风格和应用的要求,导致各具特色的EDA工具在同一个工作站上。集成的EDA系统不仅能够实现高层次的自动逻辑综合、版图综合和测试码生成,而且可以使各个仿真器对同一个设计进行协同仿真,进一步提高了EDA系统的工作效率和设计的正确性。
(5)库
库(Library)是支持EDA工具完成各种自动设计过程的关键。EDA设计公司与半导体生产厂商紧密合作、共同开发了各种库,如逻辑模拟时的模拟库、逻辑综合时的综合库、版图综合时的版图库、测试综合时的测试库等,这些库支持EDA工具完成各种自动设计。
3.EDA的基本工具
EDA工具的整体概念是电子系统设计自动化。EDA的物理工具是完成和解决设计中,如芯片布局、印刷电路板布线、电气性能分析和设计规则检查等问题的物理工具。基于网表、布尔逻辑和传输时序等概念的逻辑工具,设计输入采用原理图编辑器或硬件描述语言进行,利用EDA系统完成逻辑综合、仿真和优化等过程,生成网表或VHDL、Verilog HDL的结构化描述。细分有:编辑器、仿真器、检查/分析工具、优化/综合工具等。
文字编辑器在系统级设计中用来编辑硬件系统的描述语言,如VHDL和Verilog HDL,在其他层次用来编辑电路的硬件描述语言文本,如SPICE的文本输入。
图形编辑器用于硬件设计的各个层次。在版图级,图形编辑器用来编辑表示硅工艺加工过程的几何图形。在高于版图层次的其他级,图形编辑器用来编辑硬件系统的方框图和原理图等。典型的原理图输入工具包括:基本单元符号库(基本单元的图形符号和仿真模型)、原理图编辑器的编辑功能和产生网表的功能三部分。
仿真器又称模拟器,用来帮助设计者验证设计的正确性。在硬件系统设计的各个层次都要用到仿真器。在数字系统设计中,硬件系统由数字逻辑器件及其之间的互连来表示。仿真器的用途是确定系统的输入/输出关系,所采用的方法是把每一个数字逻辑器件映射为一个或几个过程,把整个系统映射为由进程互连构成的进程网络。这种由进程互连组成的网络就是设计的仿真模型。
检查/分析工具在集成电路设计的各个层次都会用到。在版图级,采用设计规则检查工具来保证版图所表示的电路能可靠地制造出来。在逻辑门级,检查/分析工具用来检查是否有违反扇出规则的连接关系。时序分析器用来检查电路中的最大和最小延时。
优化/综合工具可以将硬件的高层次描述转换为低层次描述,也可以将硬件的行为描述转换为结构描述,转换过程通常伴随着设计的某种改进。如在逻辑门级,可用逻辑最小化来对布尔表达式进行简化。在寄存器级,优化工具可用来确定控制序列和数据路径的最优组合。
目前,国际上具有代表性的EDA软件供应商有CADENCE、SYNOPSYS、AVANT和MENTOR等。
2.1.3 电子竞赛作品设计制作步骤
与一般的电子产品设计制作不同的是,电子设计竞赛作品设计制作一方面需要遵守电子产品设计制作的一般规律,另一方面要在限定时间、限定人数、限制设计制作条件和限制交流等情况下完成作品的设计制作,电子竞赛作品设计制作有自己的规律。电子竞赛作品设计制作大约需要经过题目选择、系统方案论证、子系统、部件设计与制作、系统综合、调试与测量等步骤,最后完成作品和设计总结报告。
1.题目选择
全国大学生电子设计竞赛作品设计制作时间是4 天3 晚,3 人一组。竞赛题目一般为5~6 题,题目在竞赛开始时(第一天的8:00)开启。以2007 年第8 届为例共有10 题:音频信号分析仪(A题本科组)、无线识别装置(B题本科组)、数字示波器(C题本科组)、程控滤波器(D题本科组)、开关稳压电源(E题本科组)、电动车跷跷板(F题本科组)、积分式直流数字电压表(G题高职高专组)、信号发生器(H题高职高专组)、可控放大器(I题高职高专组)和电动车跷跷板(J题高职高专组)。
正确地选择竞赛题目是保证竞赛成功的关键。参赛队员应仔细阅读所有的竞赛题目,根据本组3个队员的训练情况,选择相应的题目进行参赛制作。
注意:本科院校的参赛队不能选择高职高专组赛题,而高职高专院校的参赛队可以选择本科组赛题,但也必须参加本科组的评审。
选择题目按照如下原则进行:
① 明确设计任务,即“做什么?”选择题目应注意题目中不应该有知识盲点,即要能够看懂题目要求。如果不能看懂题目要求,原则上该题目是不可选择的。因为时间非常紧张,没有更多的时间让你重新学习,另外根据竞赛纪律,也不可以请教老师。
② 明确系统功能和指标,即“做到什么程度?”注意题目中的设计要求一般分基本要求和发挥两部分,各占50 分。应注意的是基本部分的各项分值题目中是没有给出的,但在发挥部分往往会给出各小项的分值。选择时要仔细分析各项要求,综合两方面的要求,以取得较好的成绩。
③ 要确定是否具有完成该设计任务的元器件、最小系统、开发工具和测量仪器仪表等条件。
在没有对竞赛题目进行充分地分析之前,一定不能进行设计。题目一旦选定,原则上应保证不要中途更改。因为竞赛时间只有4天3晚,时间上不允许返工重来。
2.系统方案论证
题目选定后,需要考虑的问题是如何实现题目的各项要求,完成作品的制作,即需要进行方案论证。
方案论证可以分为总体实现方案论证、子系统实现方案论证、部件实现方案论证几个层次进行。
(1)确定设计的可行性
方案论证最重要的一点是要确定设计的可行性,需要考虑的问题有:
① 原理的可行性。解决同一个问题,可以有许多种方法,但有的方法是不能够达到设计要求的,千万要注意。
② 元器件的可行性。如采用什么器件?微控制器?可编程逻辑器件?能否采购得到?
③ 测试的可行性。有无所需要的测量仪器仪表?
④ 设计、制作的可行性。如难度如何?本组队员是否可以完成?
⑤ 时间的可行性。4天3晚能否完成?
设计的可行性需要查阅有关资料,进行充分讨论和分析比较后才能确定。在方案设计过程中要提出几种不同的方案,从能够完成的功能、能够达到的技术性能指标、元器件材料采购的可能性和经济性、采用元器件和设计技术的先进性,以及完成时间等方面进行比较。要敢于创新,敢于采用新器件和新技术,对上述问题经过充分、细致的考虑和分析比较后,拟订较切实可行的方案。
(2)明确方案的内容
拟订的方案要明确以下内容:
① 系统的外部特性。a.系统具有的主要功能;b.引脚数量和功能;c.输入信号和输出信号形式(电压、电流和脉冲等)、大小(量级)、相互之间的关系;d.输入信号和输出信号相互之间的关系、函数表达式、线性或非线性;e.测量仪器仪表与方法。
② 系统的内部特性。a.系统的基本工作原理;b.系统的实现方法:数字方式、模拟方式或是数字模拟混合方式;c.系统的方框图;d.系统的控制流程;e.系统的硬件结构;f.系统的软件结构;g.系统中各子系统、部件之间的关系、接口、尺寸和安装方法。
③ 系统的测量方法和仪器仪表。作品设计制作是否成功是通过能够实现的功能和达到的技术性能指标来表现的。在拟订方案时,应认真讨论系统功能和技术性能指标的测量方法和测量用仪器仪表。需要考虑的问题有:a.仪器仪表的种类;b.仪器仪表的精度;c.测量参数形式;d.测量方法;e.测试点;f.测量数据的记录与处理、表格形式、数据处理工具和是否采用MATLAB。
3.安装制作与调试
安装制作与调试是保证设计是否成功的重要环节。竞赛成绩总共有150 分(本科组),其中的100 分取决于作品的实测结果,50 分取决于设计总结报告(高职高专组只有20 分)。
(1)安装制作需要考虑的问题有:a.安装工具;b.元器件选择与采购;c.最小系统的采用、微控制器、可编程逻辑器件;d.印制板设计与制作、低频还是高频、数字还是模拟或是数模混合、地e.EMC、子系统和部件安装制作的顺序。
(2)调试需要考虑的问题有:a.调试参数;b. 调试方法;c.调试需要的仪器与仪表;d.软件/硬件的协同、修改软件和修改硬件;e.测量数据的记录与处理。
建议的安装制作与调试步骤如图2.1.6所示。
图2.1.6 安装制作与调试步骤
4.设计总结报告的写作
设计总结报告是电子设计竞赛作品的一个重要组成部分,占总分的1/3,即50 分(高职高专组只有20 分)。有关设计总结报告的写作请参考第7 章电子设计竞赛设计总结报告写作训练。
5.电子设计竞赛作品设计制作的全过程
电子设计竞赛作品设计制作的全过程如图2.1.7所示。
图2.1.7 电子设计竞赛作品设计制作的全过程
2.1.4 单片机与可编程逻辑器件子系统设计步骤
在电子设计竞赛中,作为控制器,单片机与可编程逻辑器件应用非常普遍。其设计过程如图2.1.8所示,可以分为明确设计要求、系统设计、硬件设计与调试、软件设计与调试和系统集成等步骤。
图2.1.8 单片机与可编程逻辑器件设计过程
设计的第一步是明确设计要求,确定系统功能与性能指标。一般情况下,单片机与可编程逻辑器件最小系统是整个系统的核心,需要确定最小系统板的功能、输入/输出信号特征等;需要考虑与信号输入电路、控制电路、显示电路、键盘等电路的接口和信号关系。
最小系统板在竞赛中可以采用成品,但接口电路、功率控制电路、A/D与D/A电路、信号调理等电路需要自己设计制作。注意:2009年对竞赛规则与要求也出现了一些变化,如对“最小系统”的定义没有明确规定,而提出了“性价比”与“系统功耗”等指标要求。为了使作品的整体性更好一点,建议将控制器与外围电路设计在一块电路板上,这一部分内容可以在竞赛前进行设计与制作,在竞赛中根据需要进行修改。
软件开发工具需要与所选择的硬件配套,软件设计需要对软件功能进行划分,需要确定数学模型、算法、数据结构、子程序等程序模块。软件开发工具的使用需要在竞赛前进行培训。常用的一些程序如系统检测、显示器驱动、A/D、D/A、接口通信和延时等程序,可以在竞赛前进行编程和调试,在竞赛中根据需要进行修改。
系统集成完成软件与硬件联调与修改。在软件与硬件联调过程中,需要认真分析出现的问题,软件设计人员与硬件设计人员需要进行良好的沟通,一些问题如非线性补偿、数据计算和码型变换等用软件解决问题会容易很多。采用不同的硬件电路,软件编程将会完全不同,在软件设计与硬件设计之间需要寻找一个平衡点。
2.1.5 数字/模拟子系统设计步骤
数字/模拟子系统的设计步骤大致分为:明确设计要求,确定设计方案和进行电路设计制作、调试等。在电子设计竞赛中,数字子系统多采用单片机或者大规模可编程逻辑器件实现,但也可以74/40 等系列的数字集成电路实现,本节讨论的数字子系统就是基于74/40 等系列数字集成电路的。从第1 章的赛题分析可见,模拟与数字混合的题目占多数;而从全国组委会和专家组的意见来看,希望赛题内容更多偏向模拟部分。模拟子系统是作品的重要组成部分,设计制作通常包含有模拟输入信号的处理,模拟输出信号,与数字子系统、单片机、可编程器件子系统之间的接口等电路。
1.明确设计要求
① 对于数字子系统,需要明确的设计要求有:a. 子系统的输入和输出、数量;b.信号形式、模拟、TTL、CMOS;c.负载、微控制器、可编程器件、功率驱动、输出电流;d.时钟、毛刺、冒险竞争;e.实现器件。
② 对于模拟子系统,需要明确的设计要求有:a.输入信号的波形和幅度、频率等参数;b.输出信号的波形和幅度、频率等参数;c.系统的功能和各项性能指标,如增益、频带、宽度、信噪比、失真度等;d.技术指标的精度、稳定性;e.测量仪器;f.调试方法;g.实现器件。
2.确定设计方案
对于数字电路占主体的系统,我们建议采用单片机或者可编程逻辑器件,不要大量采用中、小规模的数字集成电路,因为这样做在制作作品时是非常麻烦的,可靠性也差。
模拟子系统的设计方案与所选择的元器件有很大关系。我们的建议是:
① 根据技术性能指标、输入/输出信号关系等确定系统方框图。
② 在子系统中,合理分配技术指标,如增益、噪声、非线性等。将指标分配到方框图中的各模块,技术参数指标要定性和定量。
③ 要注意各功能单元的静态指标与动态指标、精度及其稳定性,应充分考虑元器件的温度特性、电源电压波动、负载变化及干扰等因素的影响。
④ 要注意各模块之间的耦合形式、级间的阻抗匹配、反馈类型、负载效应及电源内阻、地线电阻、温度等对系统指标的影响。
⑤ 合理选择元器件,应尽量选择通用、新型和熟悉的元器件。应注意元器件参数的分散性,设计时应留有余地。
⑥ 要事先确定参数调试与测试方法、仪器仪表、调试与测试点,以及相关的数据记录与处理方法。
3.设计制作
设计主要包括电路设计与印制板设计。
(1)电路设计
电路设计建议根据所确定的设计方案,选择好元器件,按照技术指标要求,参考元器件厂商提供的设计参考(评估板)以及参考资料提供的电路,完成设计。
(2)印制板设计
PCB设计时应遵守PCB设计的基本规则,注意数字电路与模拟电路的分隔、高频电路与低频电路的分隔、电源线与接地板的设计等问题。元器件布置不以好看为要求,而以满足性能指标为标准,特别是在高频电路设计时要加以注意。为了方便测试,PCB设计时应设置相关的测试点。
(3)EDA工具的使用
在设计过程中,EDA工具是必不可少的。
① 对于数字子系统,采用单片机或者可编程逻辑器件,配套的开发工具是不可缺少的。
② 对于模拟子系统,仿真软件可以选择Multisim、Pspice和Systemview等。
③ 如果在设计中用到了系统可编程模拟器件(ispPAC),配套的开发工具也是不可缺少的,如PAC-Designer。
④ 印制板设计可以采用Protel、DXP等计算机绘图排版软件。
EDA工具软件的使用需要在竞赛前进行培训。
在竞赛中作品的制作主要通过手工装配进行,采用合适的工具,按照装配工艺的要求完成。工具的使用、装配工艺和应注意的问题等需要在竞赛前进行培训。