1TM成都理工大学工程技术学院电子信息工程系《电子系统设计》第4章数字系统设计授课人:石坚(讲师)2TM2《电子系统设计》成都理工大学工程技术学院石坚本章学习的意义和方法CPLD/FPGA的应用在当前非常广泛全面,其发展势头迅猛,掌握其设计此其时也基于CPLD/FPGA的数字系统有助于同学自主创新能力的提高掌握CPLD/FPGA数字系统的设计方法有助于同学们为将来选定发展方向掌握数字系统设计应采用循序渐进的方式,结合实验开发板的设计,由硬到软进行3TM3《电子系统设计》成都理工大学工程技术学院石坚Altera公司器件系列简介4TM4《电子系统设计》成都理工大学工程技术学院石坚Altera公司器件性能对照表5TM5《电子系统设计》成都理工大学工程技术学院石坚1、MAX7128开发板的设计及应用硬件配置:a)EPM7128Sb)MAX232c)AT24C02d)4*4矩阵按键e)8段数码管f)蜂鸣器g)拨码开关h)LED灯i)40M晶振6TM6《电子系统设计》成都理工大学工程技术学院石坚可完成以下实验内容:7TM7《电子系统设计》成都理工大学工程技术学院石坚.NC1GND2OUT3VCC4U10ACTIVE_CRYSTAL+5V有源晶振40MHz40MHzC221uSJ1SW-PBR3510KRST上电及按键复位电路VCCDGNDRSTDGNDPTCKPTDO123456789101112131415J24CON1512345678910111213J25CON1312345678910111213141516J26CON16IO12VCCIO13(3)IO/(TDI)14IO15IO16IO17IO18GND19IO20IO21IO22(3)IO(TMS)23IO24IO25VCCIO26IO27IO28IO29IO30IO31GND32IO33IO34IO35IO36IO37VCCIO38IO(1)39IO40IO41GND42VCCINT43IO44IO45IO(1)46GND47IO48IO49IO50IO51IO52VCCIO53IO54IO55IO56IO57IO58GND59IO60IO61IO/(TCK)(3)62IO63IO64IO65VCCIO66IO67IO68IO69IO70IO/(TDO)(3)71GND72IO73IO74IO75IO76IO77VCCIO78IO/(1)79IO80IO81GND82INPUT/GCLK183INPUT/OE184INPUT/GLCRn1INPUT/OE2(0GLCK2)(2)2VCCINT3IO4IO5IO(1)6GND7IO8IO9IO10IO11EPM7128PU9EPM7128DGNDVCC12345678910111213141516J27CON16PTDIPTMS12J20CON2AA1AA2AA3AA4AA5AA6AA7AA8AA9AA10AA11AA12AA13AA14AA15AA16AA1AA2AA3AA4AA5AA6AA7AA8AA9AA10AA11AA12AA13AA14AA15AA16BB1BB2BB3BB4BB5BB6BB7BB8BB9BB10BB11BB12BB13BB14BB15BB1BB2BB3BB4BB5BB6BB7BB8BB9BB10BB11BB12BB13BB14BB15CC1CC2CC3CC4CC5CC6CC7CC8CC9CC10CC11CC12CC13CC1CC2CC3CC4CC5CC6CC7CC8CC9CC10CC11CC12CC13DD1DD2DD3DD4DD5DD6DD7DD8DD9DD10DD11DD12DD13DD14DD15DD16DD1DD2DD3DD4DD5DD6DD7DD8DD9DD10DD11DD12DD13DD14DD15DD16(1)核心电路(包括复位和时钟电路)原理图8TM8《电子系统设计》成都理工大学工程技术学院石坚(2)电源电路EPM7128SLC84-15采用5V供电,其I/O口电平与5V电平兼容。采用AS1117将7.5V输入电压转化为5V电压供给系统。使用电源一定要注意使用内正外负的电源。9TM9《电子系统设计》成都理工大学工程技术学院石坚(3)LED灯电路LED灯电路属于板内资源,要使用它,需要将内外资源切换开关按下并把JP2短接。LED灯的阳极接电源,阴级接CPLD的I/0口,因此是低电平驱动,只要由CPLD在相应引脚给出低电平,LED就会发光。10TM10《电子系统设计》成都理工大学工程技术学院石坚VHDL源代码:跑马灯clkrstdataout[11..0]ledwaterinst11TM11《电子系统设计》成都理工大学工程技术学院石坚VHDL源代码:跑马灯12TM12《电子系统设计》成都理工大学工程技术学院石坚(4)8段数码管电路13TM13《电子系统设计》成都理工大学工程技术学院石坚数码管显示方法可分为静态显示和动态显示两种。静态显示就是每个数码管的8段输入各自分开,其COM口电平一直有效。它的优点是控制方便,显示稳定,但要占用较多的I/O口。动态显示的原理是:各个数码管的段输入相应位接在一起,共同占用8位数据线;公共端分开,利用扫描和人视觉上的短暂停留性,依次给出各个数码管COM端使能信号,并同时给出各数码管的数据。它的优点是占用I/O口少,但控制较静态显示复杂。一般在数码管较多的情况下都采用动态显示。(4)8段数码管电路14TM14《电子系统设计》成都理工大学工程技术学院石坚VHDL源代码:7段数码管15TM15《电子系统设计》成都理工大学工程技术学院石坚VHDL源代码:7段数码管16TM16《电子系统设计》成都理工大学工程技术学院石坚VHDL源代码:7段数码管17TM17《电子系统设计》成都理工大学工程技术学院石坚(5)矩阵键盘电路1.等待按键并识别按键位置:按一定的频率用低电平循环扫描行线Y0-Y3,同时检测列线的状态,一旦判断有一列为低则表示有键被按下,停止扫描并保持当前行线的状态,再读取列线的状态从而得到当前按键的键码。2.等待按键弹起:检测到各列线都变成高点平后,重新开始扫描过程,等待下一次按键。18TM18《电子系统设计》成都理工大学工程技术学院石坚VHDL源代码:矩阵键盘19TM19《电子系统设计》成都理工大学工程技术学院石坚VHDL源代码:矩阵键盘20TM20《电子系统设计》成都理工大学工程技术学院石坚VHDL源代码:矩阵键盘21TM21《电子系统设计》成都理工大学工程技术学院石坚VHDL源代码:矩阵键盘22TM22《电子系统设计》成都理工大学工程技术学院石坚(6)拨码开关开发板上设计了一组8位的拨码开关,ON为低电平,OFF为高电平。拨码开关可供用户输入一些高低电平。23TM23《电子系统设计》成都理工大学工程技术学院石坚(7)蜂鸣器蜂鸣器使用很方便,电流通过时蜂鸣器发出响声。如图可见,只要将蜂鸣器与CPLD相连的I/O口P12置为低电平,就可以驱动蜂鸣器发声。24TM24《电子系统设计》成都理工大学工程技术学院石坚(8)I2C接口的E2PROMAT24C02AT24C02开发板上的AT24C02是一个I2C接口的256Bytes的E2PROM存储器。用户可以根据开发板上的实验例程熟悉I2C总线的协议和CPLD读写E2PROM存储器的操作。25TM25《电子系统设计》成都理工大学工程技术学院石坚I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。I2C总线的另一个优点是,它支持多主控(multimastering),其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。I2C总线特点26TM26《电子系统设计》成都理工大学工程技术学院石坚I2C总线在传送数据过程中共有四种类型信号,它们分别是:开始信号、结束信号、应答信号和数据信号。开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。控制单元向受控单元发出一个信号后,等待受控单元发出一个应答信号,控制单元接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,可判断为受控单元出现故障。数据信号和应答信号都必须在SCL为低电平时变化,在SCL为高电平时保持数据稳定。总线的构成及信号类型27TM27《电子系统设计》成都理工大学工程技术学院石坚(9)RS232电路RS232是一种串行通信接口标准。RS232电平标准与CPLD不兼容,因此使用一块MAX232进行电平转换。可以参考实验例程安排的一个简单的CPLD和PC进行串口通信的程序,以了解串口通信的基本方法。28TM28《电子系统设计》成都理工大学工程技术学院石坚(10)LCD接口电路液晶模块也是一种显示器件,具有显示形式丰富,显示质量高,接口简单,体积小重量轻,功耗小的特点。液晶显示模块根据显示方式和内容的不同可以分为,数显液晶模块,液晶点阵字符模块和点阵图形液晶模块三种。1602是一种液晶点阵字符模块。1602操作非常方便,带有内置的192中字符,用户还可定义8个5*8点阵字符或4个5*11点阵字符。显示时只要按照其时序要求初始化好显示方式,并把要显示的数据写入相应的位置RAM就可以。29TM29《电子系统设计》成都理工大学工程技术学院石坚(11)并口下载器电路1A121A241A361A482A1112A2132A3152A4171Y1181Y2161Y3141Y4122Y192Y272Y352Y431G12G19U1474HC24411421531641751861972082192210231124122513J29DB25R8100R9100R11100R15100R642.2kR13100R10100R12100R14100R18100R17100R16100R20100R19100R622.2kR632.2kR602.2kR612.2kBVCCBVCCBVCCBVCCR592.2kVCCR281KR301KR291KVCCR271KPTMSPTDIPTCK1234567891011121314151617181920JP14HEADER10X2PTDODGNDBDGNDBDGNDBDGNDBDGND30TM30《电子系统设计》成都理工大学工程技术学院石坚VHDL基本结构简单归纳(1)实体说明举例:多路选择器的实体说明31TM31《电子系统设计》成都理工大学工程技术学院石坚VHDL基本结构简单归纳(2)结构体举例:多路选择器的结构体32TM32《电子系统设计》成都理工大学工程技术学院石坚VHDL时序电路的描述(3)简单时序电路的VHDL描述D触发器33TM33《电子系统设计》成都理工大学工程技术学院石坚VHDL基本语句归纳(4)IF语句概述34TM34《电子系统设计》成都理工大学工程技术学院石坚VHDL基本语句归纳(5)CASE语句应用要点35TM35《电子系统设计》成都理工大学工程技术学院石坚VHDL基本语句归纳(6)条件信号赋值语句归纳异或门举例说明:36TM36《电子系统设计》成都理工大学工程技术学院石坚VHDL基本语句归纳(7)选择信号赋值语句归纳异或门举例说明:37TM37《电子系统设计》成都理工大学工程技术学院石坚VHDL基本语句归纳(8)进程语句归纳其余归纳请参看:《电子系统设计》成都理工大学工程技术学院石坚2、EP1K30TC1