《第二篇设计篇.ppt》由会员分享,可在线阅读,更多相关《第二篇设计篇.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二篇第二篇 设计篇设计篇第第7章章 PIC与与CPLD接口协调接口协调 在进行在进行PICPIC系统的应用开发时,经常需要对其扩展接口进行编程。系统的应用开发时,经常需要对其扩展接口进行编程。可编程器件是可编程器件是PICPIC单片机应用系统外围电路的常用器件,而可编程器件单片机应用系统外围电路的常用器件,而可编程器件的设计开发通常采用基于的设计开发通常采用基于CPLDCPLD的的VHDLVHDL设计。本章主要针对设计。本章主要针对PICPIC单片机单片机的接口编程所涉及到的并行接口、串行接口等相关可编程芯片进行分析的接口编程所涉及到的并行接口、串行接口等相关可编程芯片进行分析研究,初步掌握
2、在研究,初步掌握在PICPIC和和CPLDCPLD接口编程的接口方法以及设置。接口编程的接口方法以及设置。7.1 7.1 CPLDCPLD与与与与PICPIC功能分组功能分组功能分组功能分组 7.1.1 7.1.1 概述概述概述概述 CPLDCPLD是可编程器件能完成各种逻辑功能,但在自动控制方面还不能是可编程器件能完成各种逻辑功能,但在自动控制方面还不能单独完成各种功能。单独完成各种功能。CPLDCPLD必须与必须与PICPIC一起设计系统一起设计系统,这就必须考虑,这就必须考虑PICPIC与与CPLDCPLD的长短处,以最大的利用的长短处,以最大的利用PICPIC和和CPLDCPLD的优点
3、来设计的系统。的优点来设计的系统。PICPIC与与CPLDCPLD的的优缺点如表优缺点如表7.17.1所示所示.根据以上根据以上PICPIC与与CPLDCPLD长短处考虑,在系统设计时在以下情况请考虑使用长短处考虑,在系统设计时在以下情况请考虑使用CPLDCPLD较较好。好。1.PIC1.PIC的动作速度不能满足的高速动作要求,如需计数最大的动作速度不能满足的高速动作要求,如需计数最大50MHz50MHz信号,或需输出信号,或需输出数数MHzMHz的信号等。的信号等。2.2.需要追加功能时,如需要追加更多的输入输出端口,或追加正弦波信号输出功能需要追加功能时,如需要追加更多的输入输出端口,或追
4、加正弦波信号输出功能等。等。3.3.在与其它系统接续时作接口器等,如需要接入在与其它系统接续时作接口器等,如需要接入PICPIC总线或需要接入专用总线或需要接入专用ICIC等。等。科科 目目PICChipPICChipCPLDchipCPLDchip备备注注动动作速度作速度PICPIC动动作速度比作速度比CPLDCPLD慢一个数慢一个数量量级级能做到高速能做到高速动动作作(数数10MHz)10MHz)功能复功能复杂杂度度可自由可自由设计设计,能,能对应较对应较复复杂杂的的要求要求所所电电路路规规模限,不能模限,不能实现实现复复杂杂电电路路如采用大如采用大规规模模FPGAFPGA也可也可实实现现
5、复复杂电杂电路路接口功能接口功能仅仅限于限于PICPIC的内在接口功能的内在接口功能可改可改变变内部接内部接续实现续实现各种各种逻辑逻辑功能功能表表7.1 CPLD与与PIC的功能比较的功能比较 7.1.2 PIC7.1.2 PIC与与与与CPLDCPLD接口通信接口通信接口通信接口通信 PICPIC单片机广泛用于现场控制、嵌入式系统、数据采集系统等领域,不仅需单片机广泛用于现场控制、嵌入式系统、数据采集系统等领域,不仅需要实现本地数据采集和现场控制,这其中就涉及到和外围电路的数据的传输。而要实现本地数据采集和现场控制,这其中就涉及到和外围电路的数据的传输。而外围电路可采用外围电路可采用CPL
6、DCPLD芯片来实现,这就要求芯片来实现,这就要求PICPIC和和CPLDCPLD的接口具有通信功能。的接口具有通信功能。目前广泛应用的可编程芯片有并行接口芯片目前广泛应用的可编程芯片有并行接口芯片8255A8255A,可编程中断控制器,可编程中断控制器82C59A82C59A,可编程计数器,可编程计数器MSM82C53/54MSM82C53/54,可编程键盘以及显示控制器件,可编程键盘以及显示控制器件TMP82C79TMP82C79等。等。在在PICPIC与与CPLDCPLD进行接口通信时,常见的通信方式有以下几类:进行接口通信时,常见的通信方式有以下几类:1 1按照通信对象数量的不同,通信
7、方式可分为点对点通信、一点到多点通信和按照通信对象数量的不同,通信方式可分为点对点通信、一点到多点通信和多点到多点通信等多点到多点通信等3 3种方式。种方式。2 2按照通信终端之间的连接方式可划分为两点间直通方式和交换方式。直通方按照通信终端之间的连接方式可划分为两点间直通方式和交换方式。直通方式是通信双方直接用专线连接;而交换方式是通信双方必须经过交换机才能连接式是通信双方直接用专线连接;而交换方式是通信双方必须经过交换机才能连接起来的一种通信方式,如电话系统。起来的一种通信方式,如电话系统。3 3按照数字信号传输的顺序,在数据通信中,通信方式又有串行通信和并行通按照数字信号传输的顺序,在数
8、据通信中,通信方式又有串行通信和并行通信。信。7.1.3 7.1.3 接口通信基本电路接口通信基本电路接口通信基本电路接口通信基本电路 在接口通信电路中,经常需要对传输过程中的信息进行放大、隔离以及销存,在接口通信电路中,经常需要对传输过程中的信息进行放大、隔离以及销存,能实现上述功能的接口芯片最简单的就是缓冲器、数据收发器和锁存器。这里主能实现上述功能的接口芯片最简单的就是缓冲器、数据收发器和锁存器。这里主要介绍基本要介绍基本74 74 系列器件。系列器件。74 74 血红素器件是血红素器件是TITI(Texas InstrumentTexas Instrument,德州仪,德州仪器)公司生
9、产的中小规模器)公司生产的中小规模TTLTTL集成电路芯片,这是一种低成本、工业和民用产品、集成电路芯片,这是一种低成本、工业和民用产品、工作温度工作温度0 07070,以功耗和速度分类有如下几类:,以功耗和速度分类有如下几类:*74*74 标准标准TTLTTL;*2.74L*2.74L 低功耗低功耗TTLTTL;*74S*74S 肖特基型肖特基型TTLTTL;*74LS*74LS 低功耗肖特基型低功耗肖特基型TTLTTL;*74ALS*74ALS 高性能型高性能型TTLTTL;*74F*74F 高速型高速型TTLTTL。对于相同编号(对于相同编号()、不同类型的芯片,其逻辑功能完全一样。)、
10、不同类型的芯片,其逻辑功能完全一样。1 1锁存器锁存器锁存器锁存器74LS37374LS37374LS37374LS373是一种是一种8D8D锁存器,具有三态输出。其逻辑电路及引脚图如图锁存器,具有三态输出。其逻辑电路及引脚图如图7.17.1所示。所示。图图7.1 74LS373逻辑电路及引脚图逻辑电路及引脚图2 2缓冲器缓冲器缓冲器缓冲器74LS24474LS244 74LS244 74LS244是一种三态输出的八缓冲器和线驱动器。是一种三态输出的八缓冲器和线驱动器。74LS244 74LS244缓冲器主要用于三态输出的存储地址驱动器、时钟驱动器和总线定向接缓冲器主要用于三态输出的存储地址驱
11、动器、时钟驱动器和总线定向接收器和定向发送器等。其逻辑电路及引脚图如图收器和定向发送器等。其逻辑电路及引脚图如图7.27.2所示。所示。常用的缓冲器还有常用的缓冲器还有74LS240/24174LS240/241等。等。3.3.数据收发器数据收发器数据收发器数据收发器74LS24574LS245 74LS245 74LS245是一种三态输出的是一种三态输出的8 8总线收发器。其逻辑电路图和引脚图如图总线收发器。其逻辑电路图和引脚图如图7.37.3所示。所示。从图可见,该收发器有从图可见,该收发器有1616个双向传送的数据端,即个双向传送的数据端,即A1A1A8A8,B1B1B8B8,另有两,另
12、有两个控制端使能端,方向控制端个控制端使能端,方向控制端DIRDIR,74LS245 74LS245 通常用于数据的双向传送、缓通常用于数据的双向传送、缓冲和驱动。冲和驱动。7.2 7.2 并行接口方式并行接口方式并行接口方式并行接口方式 在在CPLDCPLD与与PICPIC综合电路中,实现并行通信的接口就是并行接口。并行接口可设计为只综合电路中,实现并行通信的接口就是并行接口。并行接口可设计为只作为输入作为输入/输出接口,也可设计为既作为输入又作为输出的接口。它可以用两种方法实现,输出接口,也可设计为既作为输入又作为输出的接口。它可以用两种方法实现,一种是利用同一个接口中的两个通路,一个作输
13、入通路,一个作输出通路;另一种使用同一种是利用同一个接口中的两个通路,一个作输入通路,一个作输出通路;另一种使用同一个双向通路,既作为输入又作为输出。一个双向通路,既作为输入又作为输出。并行通信有两个主要特点:一是同时并行传送的二进位数就是数据宽度;二是在并行通信有两个主要特点:一是同时并行传送的二进位数就是数据宽度;二是在PICPIC与与CPLDCPLD之间采用应答式的联络信号来协调双方的数据传送操作,这种联络信号又称为握手之间采用应答式的联络信号来协调双方的数据传送操作,这种联络信号又称为握手信号。信号。并行通信可以分为单方向通信和双方向通信,通常分别对应于读并行通信可以分为单方向通信和双
14、方向通信,通常分别对应于读/写和读写操作,其对写和读写操作,其对应单方向并行接口和双方向接口。应单方向并行接口和双方向接口。单片机同外设单片机同外设CPLDCPLD电路交换信息,必须通过接口电路,一般在接口电路中应具有如下电路电路交换信息,必须通过接口电路,一般在接口电路中应具有如下电路单元,这类电路也称之为可编程接口芯片。单元,这类电路也称之为可编程接口芯片。可编程并行接口芯片种类较多,可编程并行接口芯片种类较多,IntelIntel公司的公司的8255A8255A(PPIPPI),),MotorolaMotorola公司的公司的MC6820MC6820(PIAPIA)和)和ZilogZil
15、og公司的公司的Z80Z80PIO PIO 都属于这一类器件。都属于这一类器件。可编程接口芯片电路中应具有如下电路单元:可编程接口芯片电路中应具有如下电路单元:n n输入输入/输出数据锁存器和缓冲器,用以解决输出数据锁存器和缓冲器,用以解决CPUCPU与外设之间速度不匹配的矛盾,与外设之间速度不匹配的矛盾,以及起隔离和缓冲的作用;以及起隔离和缓冲的作用;n n控制命令和状态寄存器,以存放控制命令和状态寄存器,以存放CPUCPU对外设的控制命令,以及外设的状态信息;对外设的控制命令,以及外设的状态信息;n n地址译码器,用来选择接口电路中的不同端口(寄存器);地址译码器,用来选择接口电路中的不同
16、端口(寄存器);n n读写控制逻辑;读写控制逻辑;n n中断控制逻辑。中断控制逻辑。这里重点讲述可编程芯片这里重点讲述可编程芯片8255A8255A,8255A8255A是一种通用的可编程并行是一种通用的可编程并行I/OI/O接接口芯片,如果结合其他外围电路,可以采用可编程通用芯片实现外围电路的综合口芯片,如果结合其他外围电路,可以采用可编程通用芯片实现外围电路的综合设计,这里可以采用设计,这里可以采用VHDLVHDL进行设计进行设计CPLDCPLD。8255A8255A通用性强,使用灵活,可用通用性强,使用灵活,可用程序设置和改变芯片的工作方式,是一种典型的可编程并行接口芯片,通过程序设置和
17、改变芯片的工作方式,是一种典型的可编程并行接口芯片,通过8255A8255A,PICPIC可直接同外设相连接,其应用最广、使用灵活。可直接同外设相连接,其应用最广、使用灵活。PICPIC单片机通过外设接口芯片同外围单片机通过外设接口芯片同外围CPLDCPLD电路交换信息时,接口芯片常常电路交换信息时,接口芯片常常需要和外设间有一定的需要和外设间有一定的“联络联络”信号,以保证信息的正常传送。通常采用两个信号,以保证信息的正常传送。通常采用两个“联络联络”信号(选通信号,信号(选通信号,strobestrobe)和)和RDYRDY(就绪信号,(就绪信号,ReadyReady),如图),如图7 7
18、.4 4所示,所示,输入时序见图输入时序见图7.57.5。图图7.4联络信号联络信号 图图7.5 输入时序输入时序 作为接口芯片(主要引脚如图作为接口芯片(主要引脚如图7.67.6)具备)具备PAPA口、口、PBPB口和口和PCPC口,口,PCPC口比较特口比较特殊,即可用作数据口,有时其大部分引脚被分配作专用联络信号,用于控制或状殊,即可用作数据口,有时其大部分引脚被分配作专用联络信号,用于控制或状态信息。态信息。7.2.1 8255A 7.2.1 8255A的内部结构的内部结构的内部结构的内部结构 可编程芯片可编程芯片8255A8255A的结构框图如图的结构框图如图7.77.7,主要由,主
19、要由4 4部分组成。部分组成。n n数据总线缓冲器数据总线缓冲器 一个三态一个三态8 8位双向缓冲器,用作位双向缓冲器,用作8255A8255A同系统数据总线相连时的缓冲器部件,同系统数据总线相连时的缓冲器部件,CPUCPU通过执行输入通过执行输入/输出指令来实现对缓冲器发生或接收数据。输出指令来实现对缓冲器发生或接收数据。8255A8255A的控制字的控制字和状态字也是通过该缓冲器传送的。和状态字也是通过该缓冲器传送的。图图7.6 接口芯片的主要引脚图接口芯片的主要引脚图n n三个三个8 8位端口位端口PAPA、PBPB、和、和PCPC 8255A 8255A有三个有三个8 8位端口位端口P
20、APA、PBPB、和、和PCPC,各端口都可由程序设定为各种不同的工,各端口都可由程序设定为各种不同的工作方式。作方式。端口端口A A(PAPA口)有一个口)有一个8 8位数据输入锁存器和一个位数据输入锁存器和一个8 8位数据输出锁存位数据输出锁存/缓冲器;缓冲器;端口端口B B(PBPB口)有一个口)有一个8 8位数据输入缓冲器和一个位数据输入缓冲器和一个8 8位数据输入位数据输入/输出、锁存输出、锁存/缓缓冲器;冲器;端口端口C C(PCPC口)有一个口)有一个8 8位数据输入缓冲器和一个位数据输入缓冲器和一个8 8位数据输出锁存位数据输出锁存/缓冲器。缓冲器。图图7.7 8255A的结构
21、框架的结构框架 通常通常PAPA口与口与PBPB口用作输入口用作输入/输出的数据端口,输出的数据端口,PCPC口用作控制或状态信息的端口用作控制或状态信息的端口。在方式字的控制下,口。在方式字的控制下,PCPC口可以分成两个口可以分成两个4 4位的端口,每个端口包含一个位的端口,每个端口包含一个4 4位位锁存器,可分别同端口锁存器,可分别同端口A A和端口和端口B B配合使用,可以用作控制信号输出,或作为状配合使用,可以用作控制信号输出,或作为状态信号输入。一般态信号输入。一般PAPA口、口、PBPB口口 作为独立的输入端口或输出端口,当端口作为独立的输入端口或输出端口,当端口 A A 在在方
22、式方式 1 1 或方式或方式 2 2、端口、端口 B B 在方式在方式 1 1 时,端口时,端口 C C 的某些位用于传送联络信号,的某些位用于传送联络信号,以适应以适应PICPIC与外设与外设CPLDCPLD电路间的各种数据传送方式的要求,如查询传送的应答电路间的各种数据传送方式的要求,如查询传送的应答信号、中断传送的中断申请信号等。信号、中断传送的中断申请信号等。PCPC口常被分成两个口常被分成两个4 4位端口,以配合位端口,以配合A A口和口和B B口的工作,输入状态信号和输出控制信号。口的工作,输入状态信号和输出控制信号。PCPC口未被用作联络信号的其它位可口未被用作联络信号的其它位可
23、工作在方式工作在方式0 0下。下。n nA A组和组和B B组的控制电路组的控制电路 两组控制电路根据两组控制电路根据CPUCPU发出的方式选择控制字来控制发出的方式选择控制字来控制8255A8255A的工作方式,每的工作方式,每个控制组都接收来自读个控制组都接收来自读/写控制逻辑的写控制逻辑的“命令命令”,接收来自内部数据总线的,接收来自内部数据总线的“控控制字制字”,并向与其相连的端口发出适当的控制信号。,并向与其相连的端口发出适当的控制信号。A A组控制部件用来控制组控制部件用来控制PAPA口和口和PCPC口的高口的高4 4位(位(PC7-PC4PC7-PC4););B B组控制部件用来
24、控制组控制部件用来控制PBPB口和口和PCPC口的低口的低4 4位(位(PC3-PC0PC3-PC0)。)。n n读读/写控制逻辑写控制逻辑 读读/写控制逻辑用来管理数据信息、控制字和状态字的传送,它接收来自写控制逻辑用来管理数据信息、控制字和状态字的传送,它接收来自CPUCPU地址总线的地址总线的A1A1、A0A0和控制总线的有关信号和控制总线的有关信号 向向8255A8255A的的A A、B B两组控制部件发送两组控制部件发送命令命令 7.2.2 8255A7.2.2 8255A引脚功能引脚功能引脚功能引脚功能 8255A 8255A芯片封装结构有多种,常用的有双列直插和芯片封装结构有多种
25、,常用的有双列直插和PLCCPLCC封装,这里讲述的封装,这里讲述的是采用是采用4040个引脚的双列直插式(个引脚的双列直插式(DIPDIP,DualDual,In-line PackageIn-line Package)封装,如图)封装,如图7.87.8所示。所示。其引脚信号有:其引脚信号有:n nA1A1、A0A0:片内寄存器选择信号(输入):片内寄存器选择信号(输入)n nD7-D0D7-D0:与:与CPUCPU侧连接的数据线(双向)侧连接的数据线(双向)n nPA7-PA0PA7-PA0:A A口外设数据线(双向)口外设数据线(双向)n nPB7-PB0PB7-PB0:B B口外设数据
26、线(双向)口外设数据线(双向)n nPC7-PC0PC7-PC0:C C口外设数据线(双向)口外设数据线(双向)n nPESETPESET:复位信号(输入):复位信号(输入)图图7.8 8255A引脚分布引脚分布 PA0PA07 7,PB0PB07 7,PC0PC07 7是面向外设的引脚信号。是面向外设的引脚信号。D7 D7D0D0是是 8255A8255A的数据线,和系统数据总线相连;的数据线,和系统数据总线相连;RESET RESET 是复位信号引脚,是复位信号引脚,当其有效时,清除所有内部寄存器,三个数据端口当其有效时,清除所有内部寄存器,三个数据端口(A(A口、口、B B口、口、C C
27、口口)被自动设置被自动设置为输入端口。为输入端口。CS CS 片选信号引脚通常低电平有效。通常译码器分配给片选信号引脚通常低电平有效。通常译码器分配给8255A8255A一组一组端口地址,若该组地址有效,端口地址,若该组地址有效,CSCS为低电平,启动为低电平,启动8255A8255A与与PICPIC之间的通信。这之间的通信。这些都是面向些都是面向PICPIC的引脚。的引脚。为芯片读出信号,当有效时,为芯片读出信号,当有效时,CPUCPU可从可从8255A8255A读取数据或状态信息。读取数据或状态信息。为为 芯片写入信号,当该信号有效时,芯片写入信号,当该信号有效时,CPUCPU可往可往82
28、55A8255A写入数据或控制命令。写入数据或控制命令。A1 A1、A0A0为为 端口选择信号,端口选择信号,8255A8255A内部有内部有3 3个数据端口和一个控制字端口,共个数据端口和一个控制字端口,共4 4个端口,个端口,A1A1、A0A0对这对这4 4个端口选择规定如下:个端口选择规定如下:A1 A0 A1 A0 0 00 00 10 11 01 01 11 1端口端口A AB BC C控制控制由由CSCS、A1A1、A0A0、RDRD、WRWR引脚的不同组合,实现各种不同的功能。具体见表引脚的不同组合,实现各种不同的功能。具体见表7.27.2。7.2.3 8255A7.2.3 82
29、55A的工作方式与初始化的工作方式与初始化的工作方式与初始化的工作方式与初始化 1 18255A8255A的工作方式的工作方式的工作方式的工作方式 当外部设备要向当外部设备要向当外部设备要向当外部设备要向CPUCPU传送数据或请求服务时,传送数据或请求服务时,传送数据或请求服务时,传送数据或请求服务时,8255A8255A就用就用就用就用INTRINTR端的高电平端的高电平端的高电平端的高电平CPUCPU提出中断请求。、提出中断请求。、提出中断请求。、提出中断请求。、IBFIBF和和和和INTR INTR 都为高电平时,表明数据锁存器内已写入都为高电平时,表明数据锁存器内已写入都为高电平时,表
30、明数据锁存器内已写入都为高电平时,表明数据锁存器内已写入了数据,使了数据,使了数据,使了数据,使INTRINTR成为高电平输出。成为高电平输出。成为高电平输出。成为高电平输出。CPUCPU响应中断,在响应中断,在响应中断,在响应中断,在 控制下从控制下从控制下从控制下从8255A8255A中读中读中读中读取数据时,的下降沿使取数据时,的下降沿使取数据时,的下降沿使取数据时,的下降沿使INTRINTR复位,它的上升沿又使复位,它的上升沿又使复位,它的上升沿又使复位,它的上升沿又使IBFIBF复位,使外设知道可以复位,使外设知道可以复位,使外设知道可以复位,使外设知道可以进行下一字节输入,如图进行
31、下一字节输入,如图进行下一字节输入,如图进行下一字节输入,如图7.97.9。表表7.2 功能配置组合表功能配置组合表方式方式00简单输入简单输入/输出输出查询方式;查询方式;A A,B B,C C三个端口均可。三个端口均可。方式方式11选通输入选通输入/输出输出中断方式;中断方式;A A,B B,两个端口均可。,两个端口均可。方式方式22双向输入双向输入/输出输出中断方式。只有中断方式。只有A A端口才有。端口才有。图图7.9 方式方式1输入输入 当外设接收了由当外设接收了由CPUCPU送给送给8255A8255A的数据后,的数据后,8255A8255A就用就用INTRINTR端向端向CPUC
32、PU发出发出中断请求,请求中断请求,请求CPUCPU再输出后面的数据。再输出后面的数据。INTRINTR是当,和是当,和INTEINTE都为高电平时,才都为高电平时,才能被置成高电平。由的上升沿清除。如图能被置成高电平。由的上升沿清除。如图7.107.10。图图7.10 方式方式1输出输出方式方式2 2的时序图如图的时序图如图7.117.11:当当8255A8255A与与CPUCPU采用查询方式工作时,要求采用查询方式工作时,要求CPUCPU读取读取C C端口的内容,根据上述端口的内容,根据上述对对PCPC各位的定义及对中断屏蔽情况可以很容易地知道读出的状态字中各位的含各位的定义及对中断屏蔽情
33、况可以很容易地知道读出的状态字中各位的含义。义。图图7.11 方式方式2的时序图的时序图 2.2.初始化初始化初始化初始化在使用在使用8255A8255A时,首先要由时,首先要由CPUCPU对对8255A8255A写入控制命令字,有两种控写入控制命令字,有两种控制命令字:一个是方式选择控制字,另一个是制命令字:一个是方式选择控制字,另一个是C C口按位置位口按位置位/复位控制字,复位控制字,8255A8255A的各种工作方式都要由控制命令字来设定,这个设置过程称为的各种工作方式都要由控制命令字来设定,这个设置过程称为“初始化初始化”。方式选择控制字(方式选择控制字(D7=1D7=1)。)。C
34、C口按位置口按位置/复位控制字(复位控制字(D7=0D7=0)。)。7.3 7.3 实际用例实际用例实际用例实际用例-数字频率计数字频率计数字频率计数字频率计 用户在电路设计时,都趋向于用尽可能少的硬件来实现,目前的设用户在电路设计时,都趋向于用尽可能少的硬件来实现,目前的设计理念是尽力把以前由硬件实现的功能部分也通过软件来解决。这是因计理念是尽力把以前由硬件实现的功能部分也通过软件来解决。这是因为软件实现比硬件实现具有易修改的优点,如简单地修改几行源代码就为软件实现比硬件实现具有易修改的优点,如简单地修改几行源代码就比在印制电路板上改变几条连线要容易得多,故基于微处理器的电路往比在印制电路板
35、上改变几条连线要容易得多,故基于微处理器的电路往往比传统的电路设计具有更大的灵活性。往比传统的电路设计具有更大的灵活性。数字频率计的设计,是综合应用单片机与数字频率计的设计,是综合应用单片机与CPLDCPLD可编程芯片的设计。可编程芯片的设计。其功能是实现信号的频率、周期、占空比以及脉宽等指标的测量。其功能是实现信号的频率、周期、占空比以及脉宽等指标的测量。硬件主要使用硬件主要使用PICPIC单片机芯片、在系统单片机芯片、在系统PLD PLD 芯片、芯片、LEDLED显示器以及显示器以及其他必要的元件其他必要的元件;软件使用了软件使用了VHDLVHDL语言、单片机语言以及语言、单片机语言以及
36、MAX+PULSMAX+PULS设计平台。设计平台。7.3.1 7.3.1 系统构成系统构成系统构成系统构成 数字频率计的主系统一般有以下五个部分组成,由数字频率计的主系统一般有以下五个部分组成,由PICPIC单片机完成整个测量单片机完成整个测量电路的测试控制、数据处理和显示输出,电路的测试控制、数据处理和显示输出,CPLDCPLD芯片完成各种测试功能。键盘信芯片完成各种测试功能。键盘信号由号由 PICPIC单片机进行处理,并向单片机进行处理,并向LEDLED显示电路输出测量结果。这样将单片机灵活显示电路输出测量结果。这样将单片机灵活的控制功能与的控制功能与 FPGA/CPLDFPGA/CPL
37、D高速高可靠性相结合,将有效的突破传统的数字电高速高可靠性相结合,将有效的突破传统的数字电子系统中由来已久的设计瓶颈,使这些系统的性能有大幅度的提高。子系统中由来已久的设计瓶颈,使这些系统的性能有大幅度的提高。n n信号整形电路:用于对待测信号进行整形,以便作为信号整形电路:用于对待测信号进行整形,以便作为 CPLDCPLD器件的输入信号。系器件的输入信号。系统采用史密特触发器实现。统采用史密特触发器实现。n n测频电路:测频核心电路模块,由测频电路:测频核心电路模块,由 FPGAFPGA等等PLDPLD器件担任。系统采用器件担任。系统采用可编程芯片可编程芯片实现。实现。n nPICPIC单片
38、机电路模块:用于控制测频操作和读取测频数据,并做出相应处理。单片机电路模块:用于控制测频操作和读取测频数据,并做出相应处理。n n键盘模块:用键盘模块:用 5 5个键执行测试控制,一个是复位键,其余是命令键。个键执行测试控制,一个是复位键,其余是命令键。n n数码显示模块:用数码显示模块:用 7 7个个 LEDLED数码管显示测试结果,最高可表示百万分之一的精数码管显示测试结果,最高可表示百万分之一的精度。度。n n单片机的选择:综合考虑选用单片机的选择:综合考虑选用PIC16C54PIC16C54,PIC16C54PIC16C54单片机是美国亚利桑那州单片机是美国亚利桑那州Microchip
39、Microchip公司开发的公司开发的PIC PIC 系列单片机中最低阶的系列单片机中最低阶的8 8位商用单片机,采用位商用单片机,采用CMOS CMOS 工艺制造,功耗低,体积小工艺制造,功耗低,体积小(只有只有 18 18 只引脚只引脚),价格低廉。它使用精简指令集,价格低廉。它使用精简指令集(RISC)(RISC)技术和哈佛结构的流水总线技术和哈佛结构的流水总线,只有,只有33 33 条单字条单字(12(12位字长位字长)指令,易于掌握,指令,易于掌握,便于编程。更值得称道的是它的一次性用户可编程便于编程。更值得称道的是它的一次性用户可编程(OTP)(OTP)特性,特别适合于低成特性,特
40、别适合于低成本的商品化开发生产。本的商品化开发生产。PIC16C54PIC16C54内部含有内部含有512512字节字节(12(12位字长位字长)的程序存储器的程序存储器(EPROM)(EPROM),3232字节字节(8(8位字长位字长)的数据存储器的数据存储器(RAM)(RAM),一个,一个4 4位位 I/O I/O 口口A A,一个,一个8 8位位 I/OI/O口口B B,一个,一个8 8位可编程实时时钟位可编程实时时钟?计数器计数器(RTCC)(RTCC),还具有硬件看门狗,还具有硬件看门狗(WDT)(WDT)及程及程序保密位。工作频率可以选择,如选用序保密位。工作频率可以选择,如选用H
41、S(HS(高速晶体高速晶体/陶瓷振荡陶瓷振荡)方式,则可达方式,则可达20MHz20MHz。工作电源为。工作电源为 3.5V3.5V6V 6V 单电源。单电源。PIC16C54 PIC16C54 具有相互独立的数据总线具有相互独立的数据总线(8(8 位位)和指令总线和指令总线(12(12位位),这种结构,这种结构可以提供简洁而强大的程序设计能力,而且由于总线的分离使得取指周期和执行可以提供简洁而强大的程序设计能力,而且由于总线的分离使得取指周期和执行周期可以重叠,因而大大提高了程序的运算速度。周期可以重叠,因而大大提高了程序的运算速度。7.3.2 7.3.2 硬件控制电路设计硬件控制电路设计硬
42、件控制电路设计硬件控制电路设计 设计分为硬件电路设计和软件设计两大部分。设计分为硬件电路设计和软件设计两大部分。1 1硬件电路设计硬件电路设计硬件电路设计硬件电路设计 硬件电路设计主要由宽带检测电路和主体电路两部分。硬件电路设计主要由宽带检测电路和主体电路两部分。n n宽带检测电路设计宽带检测电路设计 本数字频率计的设计目标是要测量幅度大于本数字频率计的设计目标是要测量幅度大于5mV5mV,频率范围在,频率范围在1Hz1Hz8MHz8MHz的任意波形周期性脉冲的任意波形周期性脉冲(正弦波、三角波、方波等正弦波、三角波、方波等)信号的频率。根据信号的频率。根据PIC PIC 单片单片机的要求,需
43、要把这些任意波形信号都变换成统一的,满足机的要求,需要把这些任意波形信号都变换成统一的,满足TTL TTL 电平要求的方电平要求的方波信号,然后再作为计数脉冲加到波信号,然后再作为计数脉冲加到RTCC RTCC 引脚上,因而,在输入信号与引脚上,因而,在输入信号与RTCC RTCC 引引脚之间需要一个接口电路来完成波形变换和电平转换功能。另外,由于频率计的脚之间需要一个接口电路来完成波形变换和电平转换功能。另外,由于频率计的测量范围为测量范围为1Hz1Hz8MHz8MHz,这要求接口电路必须在整个频带范围内具有平坦的输,这要求接口电路必须在整个频带范围内具有平坦的输出响应特性,通常称这样的接口
44、电路为宽带脉冲检测电路。一般而言,信号源的出响应特性,通常称这样的接口电路为宽带脉冲检测电路。一般而言,信号源的阻抗都很低,而且不稳定。为了减小对输入信号的影响,通常在频率计的检测电阻抗都很低,而且不稳定。为了减小对输入信号的影响,通常在频率计的检测电路中,前置一个输入偏置电流小的路中,前置一个输入偏置电流小的FET FET 或者选用具有或者选用具有FET FET 输入的运算放大器,输入的运算放大器,以提高检测电路的输入阻抗。当然,完整的电路还应该具有输入保护等功能。以提高检测电路的输入阻抗。当然,完整的电路还应该具有输入保护等功能。n n主体电路设计主体电路设计 主体电路包括主体电路包括PI
45、C PIC 单片机、时钟电路、显示电路、复位电路等,主要完成定时、单片机、时钟电路、显示电路、复位电路等,主要完成定时、计数、显示等功能。如图计数、显示等功能。如图7.137.13所示。所示。图图7.13 PIC主体电路主体电路 PIC PIC 单片机的单片机的A A 口及口及B B 口的口的1212条条 I/O I/O 线用来驱动显示频率的线用来驱动显示频率的4 4个个7 7段段LEDLED显显示器。示器。RTCCRTCC引脚连接到引脚连接到PIC PIC 内部的内部的RTCCRTCC寄存器,它可以对内部指令或外部脉寄存器,它可以对内部指令或外部脉冲计数。利用此功能进行外部测试脉冲计数冲计数
46、。利用此功能进行外部测试脉冲计数(RTCC(RTCC引脚需通过前面介绍的宽带检引脚需通过前面介绍的宽带检测电路与外部信号相连测电路与外部信号相连)。RTCCRTCC引脚的触发方式可以选择上升沿或下降沿触发引脚的触发方式可以选择上升沿或下降沿触发设计中设计中,选择上升沿触发方式。时钟电路中的,选择上升沿触发方式。时钟电路中的X1X1为为20MHz20MHz的晶体振荡器,即的晶体振荡器,即PIC PIC 的振荡方式选用的振荡方式选用HS(HS(高速晶体高速晶体/陶瓷振荡陶瓷振荡)方式。方式。PICPIC工作在工作在HSHS方式下时,方式下时,需要加上电阻需要加上电阻R3R3,以防止过驱动。一般情况
47、下可将此电阻短路。在显示电路中,以防止过驱动。一般情况下可将此电阻短路。在显示电路中,将将16C5416C54口口B B的的8 8条条I/OI/O线与线与LED LED 引脚直接相连,这引脚直接相连,这8 8条条I/OI/O线作为段控制给单个线作为段控制给单个LED LED 提供显示代码。由于需用提供显示代码。由于需用4 4个个LED LED 显示频率值,只能时分复用显示频率值,只能时分复用B B口口(动态扫动态扫描方式描方式)。A A口的口的4 4条条 I/OI/O线作为位控制,用来选中线作为位控制,用来选中4 4个个LEDLED中的一个,通过软件中的一个,通过软件控制控制4 4个个LEDL
48、ED,而快速依次点亮,并不断刷新,利用视觉的暂留效应使得,而快速依次点亮,并不断刷新,利用视觉的暂留效应使得4 4个个LED LED 如同被持续点亮一样。由于使用软件查表的方法获得显示代码,故硬件电如同被持续点亮一样。由于使用软件查表的方法获得显示代码,故硬件电路中省去了译码器。连接在路中省去了译码器。连接在MCLR MCLR 引脚上的复位电路是采用标准的引脚上的复位电路是采用标准的POR(Power2OnReset:POR(Power2OnReset:上电复位上电复位)方式。其中,方式。其中,R2R2能防止能防止C1C1通过通过MCLR MCLR 引脚引脚放电,放电,D1D1能在关闭电源的时
49、候使得能在关闭电源的时候使得C1C1放电更迅速。放电更迅速。2 2软件设计软件设计 软件设计部分的主程序流程图如图软件设计部分的主程序流程图如图7.147.14所示。频率计开机之后主要完成自所示。频率计开机之后主要完成自检以及一些程序流程图必要的初始化工作,然后进入一个进行频率测量及显示工检以及一些程序流程图必要的初始化工作,然后进入一个进行频率测量及显示工作的主循环体作的主循环体(main-loop)(main-loop),在其中要执行频率显示,在其中要执行频率显示(freq-(freq-dispdisp)、脉冲计数及定、脉冲计数及定时时(count-(count-pulepule)、数据格
50、式转换等功能。、数据格式转换等功能。n n脉冲计数的实现脉冲计数的实现 由于被测信号的频率可达由于被测信号的频率可达8MHz8MHz,即要求频率计每秒钟能够检测,即要求频率计每秒钟能够检测8M 8M 个脉冲。个脉冲。而用于外部脉冲计数的而用于外部脉冲计数的RTCC RTCC 每个指令周期每个指令周期(4(4个时钟周期个时钟周期)只能够计一个脉冲,只能够计一个脉冲,那么在那么在20MHz20MHz的时钟频率下,每秒钟最多只能计的时钟频率下,每秒钟最多只能计5M 5M 个脉冲,即上限频率只能个脉冲,即上限频率只能是是5MHz5MHz。所以,要测试。所以,要测试 5MHz 5MHz 以上的信号频率则