自己动手做CPLD实验板.docx
- 文档编号:10909687
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:29
- 大小:479.10KB
自己动手做CPLD实验板.docx
《自己动手做CPLD实验板.docx》由会员分享,可在线阅读,更多相关《自己动手做CPLD实验板.docx(29页珍藏版)》请在冰豆网上搜索。
自己动手做CPLD实验板
实验电路板的设计
第一部分实验板方案选择
(一)目前的数字电路实验
随着数字电子技术的发展,对数字电路的教学要求也越来越高,不仅要求同学们学会一般数字电路的原理,而且要求同学们能用中小规模数字电路设计一定复杂程度的数字系统。
数字电路的实验也应该配合教材,从验证性实验向设计性实验发展,满足培养21世纪人才的要求。
但是,目前的各种数字电路实验装置不能满足教学要求,采用这些装置进行数字电路实验有如下缺点:
1.为满足各种实验,需要种类繁多的数字集成电路,增加了实验费用和管理的难度,若是由于经费问题未购得所需的数字集成器件,则不能开设需要该器件的实验。
2.实验电路连线复杂,集成电路好坏难辫,经常导致实验的失败,并损坏实验电路或实验装置。
3.实验中,数字集成电路器件经常损坏严重,导致实验费用增加。
4.因为一个课程设计题目所需器件的种类多并且连线复杂,所以进行数字电路课程设计很困难。
5.中小规模集成电路在数字系统设计中已经很少使用,学生在学校不能学到新的数字系统的设计方法
(二)基于可编程逻辑器件的数字电路实验
可编程逻辑器件是一种可以通过编程,改变系统连线,达到系统重构的器件,该器件可以现场编程,就是说当该器件安装到电路板上后,可以对它的功能进行重新设置,这样就可以非常方便的进行数字系统的设计与制作。
由于可编程逻辑器件的价格不断降低,门密度不断增大,所以该器件取代中小规模数字集成电路只是时间问题。
可编程逻辑器件是数字系统设计中的首选器件,它增加系统可靠性、减少系统体积和功耗、缩短设计周期并降低系统成本,由于它的工作速度快,所以在数字信号处理、自动控制、计算机接口板等方面应用非常广泛。
可编程逻辑器件用于数字电路实验有如下特点:
1.设计方法先进
在计算机上输入数字电路原理图或用硬件描述语言描述数字电路,经过编译,然后将编译后的数据文件下载到可编程逻辑器件中是目前最流行的数字电路设计方法。
2.一片可编程器件可以完成各种数字电路实验
可编程器件中有大量的门电路和触发器,通过编程可以连接成各种中小规模的数字电路,特别是与可编程逻辑器件配套的软件中具备有宏单元库,这些宏单元的功能同74系列数字电路的功能相同,使用这些宏单元做实验,就相当于使用74系列的数字电路做实验。
3.节省实验费用
在系统(isp)可编程器件的编程次数为10000次,而一片可编程芯片的价格为50元左右(isp1016),平均每次编程的费用为0.005元,可见之便宜。
4.实验管理简单
实验室中只需要购买一种器件就可以满足各种实验需要。
5.实验中没有连线
由于实验板上已经将可编程逻辑器件的引脚预先连接了七段显示器、发光二极管、开关和按钮等元件,所以在实验时,只需要在计算机上进行引脚锁定就可以进行实验。
6.可以进行复杂的数字系统实验
在一片2000门密度的可编程逻辑器件上,可以设计出交通灯、频率计、数字钟、数字秒表、洗衣机控制器等数字电路,完全满足数字电路课程设计的需要
(三)实验板的功能
这个实验板可以做如下实验:
1.可以进行运算器(加、减、乘和除法)、比较器、译码器、编码器、选择器、分配器和一般组合电路的实验
2.可以进行触发器、寄存器、计数器和一般时序电路的实验
3.可以进行频率计电路、时钟电路、计时电路、交通灯等复杂数字系统的实验
4.加扩展板可以进行A/D、D/A、串行E2ROM和8031单片机等方面的实验
这个实验板的电路和下载电缆电路是公开的,板上元件数值一目了然,实验板上管脚说明和文字标记清楚,管脚和外围元件之间的连接关系可以从实验板上直接看到,而不必要查看实验指导书或有关资料。
这个实验板的连线是固定的,不允许另外连线,这一点在教学上非常重要,试想,几十个学生等着教师检查电路的情况!
特别是当电路复杂的时候。
若是误将输入端定义成输出端而损坏了器件,就更得不偿失了。
这个实验板跳线应该最少,只要一看,就知道跳线如何使用。
这个实验板尽量不使用可编程器件的复用管脚,减少使用的复杂程度。
为满足教学要求,这个实验板的可编程逻辑器件的程序下载次数应该超过10000次,并且断电数据不丢失。
这个实验板应该具有时钟发生电路、稳压电源电路、下载电路、具有数据输入开关和按钮、具有发光管、数码管和蜂鸣器。
这个实验板上应该有可编程逻辑器件的保护电路,即使将输入引脚锁定成输出引脚也不会损坏可编程器件。
这个实验板上的主要元件应该容易更换。
这个实验板的价格应该低廉。
(四)可编程逻辑器件的选择
目前,很多学校和公司都开发了可编程逻辑器件实验板,这些实验板上采用了如下几个公司的产品:
Xilinx公司主要产品为FPGA和CPLD,目前各学校和公司制做实验板的常用芯片为FPGA4000系列,SpartanXCS05和XC95108系列CPLD。
Littice公司该公司已经和AMD公司合并,该公司生产GAL和CPLD产品,目前各学校和各公司制作实验板的常用芯片为ISP1016和可编程开关GDS14.。
AMD公司该公司生产MACH系列产品,常用芯片为MACH4-128和MACH211SP-15JC。
Altera公司该公司生产FPGA和EPLD,常用芯片为EPLD7000系列产品7128和FPGA10K系列产品10K10
选择哪一个公司的产品呢?
这取决于软件开放程度、芯片价格和使用的方便性。
特别是在教学中使用,不开放的软件版本是不能用的,首先是价格高,其次是安装不方便。
目前软件功能最全的Xilinx公司的FundationExpress,但是开放的版本只支持电路图输入,而且该软件操作复杂,不宜在教学中使用。
Altera公司的MAXplusⅡ软件也很好用,使用简单,支持VHDL语言,但是该软件的开放版本支持芯片太少,其中支持的芯片7128,不仅价格高而且只能下载100次。
Lattice公司的软件ispExpertSystem7.0支持ABEL-HDL语言,可以从互连网上申请与硬盘系列号配套的使用许可证,若是教学用计算机的硬盘容量一致,则可以通过硬盘对硬盘的复制方法,使多台计算机上同时使用该软件,该软件界面友好,操作简单,适合初学者使用。
该公司的产品isp1016具有2000门的密度,可以下载10000次,价格便宜(频率低的产品只要40-50元左右),可以满足教学要求。
第二部分实验板原理图设计
(一)熟悉1016E芯片技术资料,设计实验板原理电路
(1)1016E的输入输出电平兼容TTL电路
(2)1016E的拉电流负载4mA,灌电流负载8mA
(3)电源电压5V
(4)管脚安排
管脚名称
PLCC封装
说明
I/O0---I/O3
15,16,17,18
Isp芯片的输入/输出引脚
I/O4---I/O7
19.20.21.22
I/O8---I/O11
25.26.27.28
I/O12---I/O15
29.30.31.32
I/O16---I/O19
37,38,39,40
I/O20---I/O23
41,42,43,44
I/O24---I/O27
3,4,5,6
I/O28---I/O31
7,8,9,10
GOE0/in3
2
双功能引脚,既是输出使能端,又是专用输入引脚
IspEN/NC
13
专用下载控制引脚,该引脚为低电平时进行下载操作,使MODE,SDI,SDO,SCLK信号起作用
SDI/IN0
14
该引脚为双功能引脚,当IspEN为低电平时,该引脚为下载数据输入端,否则为专用输入信号。
MODE/IN2
36
该引脚为双功能引脚,当IspEN为低电平时,该引脚控制Isp芯片状态机的操作,否则为专用输入信号。
SDO/IN1
24
该引脚为双功能引脚,当IspEN为低电平时,该引脚为Isp芯片数据的读出端,否则为专用输入信号。
SCLK/Y2
33
该引脚为双功能引脚,当IspEN为低电平时,该引脚为下载时钟信号端,否则为专用时钟信号。
Y0
11
专用时钟信号,只能连接到触发器的时钟端
Y1/RESET
35
该引脚为双功能引脚,通常作为Isp芯片的复位信号,经过编程可以将该引脚定义为时钟信号端
GND
1,23
地线端
VCC
12,34
电源线端
其中:
可以随意锁定成输入输出的管脚32个,复用管脚7个,专用引脚一个,电源地线管脚4个。
IspEN/NC该引脚为低电平时芯片进入编程状态,为高电平时芯片进入工作状态,该引脚由下载软件控制。
SDI/IN0该引脚在编程状态时是编程数据输入端,在工作状态时是输入引脚。
MODE/IN2该引脚在编程状态时是编程模式控制端,在工作状态时是输入引脚。
SCLK/Y2该引脚在编程状态时是编程时钟端,在工作状态时是通用时钟输入引脚。
SDO/IN1该引脚在编程状态时是编程数据输出端,在工作状态时是输入引脚。
以上复用管脚最好只用做编程,因为要使用这些管脚的工作状态,需要将这些管脚与计算机的并行口断开,或使用分配器进行引脚复用。
GOE0/in3该引脚在编程状态时是输出使能控制端,在工作状态时是一个输入引脚,一般该管脚用做输入管脚。
Y0专用时钟输入端,该端只能连接到触发器的时钟端。
Y1/RESET该引脚是复用引脚,在适配设计时,可以定义该管脚具有通用时钟输入或复位功能。
当前功能是复位功能,为简化实验板设计,该引脚只用做复位端。
地线和电源电源和地线一共四根,一定要将他们都连接到电源和地线上。
(二)信号输入开关和按钮
在数字电路的实验中,经常需要向数字电路输入高低电平信号或脉冲信号,这些信号需要开关和按钮形成。
开关的数量应该选择8个,因为进行4位加法、减法、比较、乘法和除法运算电路实验时必须有8个开关。
按钮的数量为3个,当然是越多越好,但是,考虑到管脚的数量,只能有三个。
开关和按钮电路应该有保护电路,这是因为若连接开关和按钮的引脚被锁定成输出引脚,就有被开关和按钮短路的危险,一旦短路就有可能烧毁芯片,保护电路如下:
开关选用一般的单刀双掷钮子开关,按钮选择欧姆龙公司的小型按钮。
(三)输出信号显示电路
数字电路的输出信号是电平信号和数字信号。
一般使用发光二极管显示电平信号,为满足某些实验(报警等),也可以使用蜂鸣器显示电平信号。
而一般使用七段显示器显示数字信号,七段显示器的连接方式很多,为简化实验板设计和充分利用可编程逻辑器件,可以选择直接推动式。
由于可供使用的管脚只有22个,所以选择3个七段数码管、8个发光二极管和一个蜂鸣器,其中7个发光管和一个数码管共用7个管脚,一个发光管和蜂鸣器共用一个管脚,
因为1016芯片的灌电流负载能力大,所以数码管选用共阳极,考虑到PCB板的尺寸,数码管大小选0.5寸的,数码管的电流一般不大于30mA,考虑到1016芯片的负载能力,电流应该小于8mA。
这里的电流为(5v-1.8)/0.68=4.7mA
数码管的管脚排列各种各样,这里选择的数码管管脚排列为:
数码管管脚面观察到的管脚排列图
数码管的连接图
选择3毫米直径的发光二极管,采用灌电流接法,电流与数码管相同,颜色为红、黄和绿。
发光管和的连接图
由于蜂鸣器所需的推动电流较大,所以使用三极管推动,这里选择塑封9013三极管,基极电阻选为3k。
蜂鸣器连接图
综合上述的电路图如下:
1016外围电路连接图
(四)稳压电源电路
稳压电源电路如下:
二极管选用1N4001,电容选择100uF/50V,7805应该加散热器。
电源输入端应该加开关,还应该加电源指示灯。
(五)时钟电路
电路主要由CMOS电路4060和石英晶体组成,输出最低2Hz的信号。
振荡器原理图
电容采用51P的瓷片电容,晶体的频率为32768。
(六)下载电路
下载电路与计算机和1016芯片之间的关系见下图:
计算机、电缆、下载电路和1016芯片之间的关系图
下载电路采用74HC367芯片,若干电容,电阻和接插件组成。
下载电路原理接线图
下载电缆:
使用9芯插头连接下载电路,使用25芯插头连接计算机并行口,电缆采用排子线。
见图:
电缆线连接图
(七)设计PCB板时应该注意的问题:
(1)1016芯片的PLCC管座
1016的封装形式为PLCC,PLCC管脚和管座引脚之间的关系见下图:
(2)电阻采用1/4瓦就可以满足功率要求
(3)在4060,74HC367和1016芯片附近的电源和地线之间并接一个0.1微法的独石电容,抑制电源干扰。
(4)在丝网漏印层将1016管脚和开关、按钮、数码管、发光管和蜂鸣器的元件的连接关系标记清楚。
(5)电源输入端应该安装和电源适配器连接的接插件,以及和电池连接的连接器
(6)部分1016引脚应该连接到连接器,便于和扩展板连接
(7)单独安装一个具有连接器的发光二极管用于测量电平。
(8)数码管、集成电路不直接焊接,而是采用插接式安装。
(八)元件的焊接
(1)元件在焊接前应该正确安装到PCB板上,仔细检查元件型号、第一脚标记、方向、极性、电阻的阻值、电容的容量等项内容,否则一旦焊接,就很难拆装。
(2)应该首先焊接高度低的元件。
(3)焊接时间不能太长,否则会损伤PCB板和元件。
(九)实验板元件列表
序号
名称
数量
1
4060
1
2
74HC367
1
3
9013
1
4
7805
1
5
1N4001
5
6
共阳数码管(0.5寸)
3
7
发光二极管(红)(3mm)
6
8
发光二极管(黄)(3mm)
3
9
发光二极管(绿)(3mm)
3
10
电阻徘(680x8)9腿
1
11
电阻徘(10Kx4)5腿
3
12
电阻(100)
4
13
电阻(680)
25
14
电阻(1K)
22
15
电阻(3.3K)
1
16
电阻(10K)
1
17
电阻(22K)
1
18
电阻(10M)
1
19
电容(51P)
2
20
电容(560P)
4
21
电容(0.1u)
3
22
电容(100u)
2
23
扭子开关
9
24
按钮(欧姆龙)
4
25
PLCC44插座
1
26
DIP16插座
2
27
DIP32插座
1
28
25芯公插头
1
29
9芯插座(针)(90度)
1
30
9芯母插头
1
31
电源插座
1
32
蜂鸣器
1
33
晶振(32768)
1
34
散热器(7805)
1
35
跳线
17
36
跳线连接器
3
37
6线拐角接插件
2
38
2线拐角接插件
1
39
2线接插件
2
40
排子线(9x1.5m)
1
41
支架螺栓
4
42
M3螺钉
1
43
电源适配器(7.5-9V)
1
44
isp1016LJ80
1
45
PCB板(19.4x9.34(cm))
1
(十)实验工具和材料
(1)电烙铁
(2)吸锡器
(3)尖嘴钳
(4)斜口钳
(5)镊子
(6)万用表
(7)改锥
(8)松香
(9)焊锡丝
第三部分设计实验板扩展电路
为增加实验板的功能,需要设计如下实验板扩展电路,
(一)A/D转换其电路
为能进行A/D转换器的实验,特为该实验板设计了A/D转换器电路板,板上采用了ADC0804芯片,A/D转换器原理图如下。
A/D转换器原理图
(2)串行E2PROM存储器扩展板
为配合做存储器实验,设计了串行E2PROM存储器的实验板,该板采用了Atmel公司的芯片AT93C46,串行E2PROM存储器与1016E的接线原理图见图1.25。
串行E2PROM存储器与1016E的接线原理图
AT93C46的特征
AT93C46的引脚见图1.26。
图1.26AT93C46的引脚图
引脚说明:
AT93C46的内部功能方框图见下图。
AT93C46的内部功能方框图
AT93C46的命令说明
写数据时,应该先运行写使能命令,然后再运行写数据命令,写使能命令一旦运行一直有效,直到写禁止命令或断电,读数据时无此限制。
读数据时间图:
写使能时间图:
写数据时间图
(3)8031扩展板
31单片机与1016的连接图:
1016内需要下载如下电路:
其中的宏单元电路如下:
ABEL-HDL语言模块用于书写单片机程序。
ABEL-HDL语言模块:
该模块的内容为交通灯控制,其中D7..D0为存储器地址,b7..b0为存储器输出数据,用8031的机器码书写。
MODULEjiaot
TITLE'test'
D7,D6,D5,D4,D3,D2,D1,D0PIN;
b7,b6,b5,b4,b3,b2,b1,b0PINISTYPE'COM';
bcd=[D7,D6,D5,D4,D3,D2,D1,D0];
shuchu=[b7..b0];
equations
whenbcd==^h00thenshuchu=^h75;
whenbcd==^h01thenshuchu=^h90;
whenbcd==^h02thenshuchu=^hf3;
whenbcd==^h03thenshuchu=^h7f;
whenbcd==^h04thenshuchu=^h19;
whenbcd==^h05thenshuchu=^h12;
whenbcd==^h06thenshuchu=^h00;
whenbcd==^h07thenshuchu=^h2a;
whenbcd==^h08thenshuchu=^hdf;
whenbcd==^h09thenshuchu=^hfb;
whenbcd==^h0athenshuchu=^h75;
whenbcd==^h0bthenshuchu=^h90;
whenbcd==^h0cthenshuchu=^hf5;
whenbcd==^h0dthenshuchu=^h7f;
whenbcd==^h0ethenshuchu=^h05;
whenbcd==^h0fthenshuchu=^h12;
whenbcd==^h10thenshuchu=^h00;
whenbcd==^h11thenshuchu=^h2a;
whenbcd==^h12thenshuchu=^hdf;
whenbcd==^h13thenshuchu=^hfb;
whenbcd==^h14thenshuchu=^h75;
whenbcd==^h15thenshuchu=^h90;
whenbcd==^h16thenshuchu=^hde;
whenbcd==^h17thenshuchu=^h7f;
whenbcd==^h18thenshuchu=^h19;
whenbcd==^h19thenshuchu=^h12;
whenbcd==^h1athenshuchu=^h00;
whenbcd==^h1bthenshuchu=^h2a;
whenbcd==^h1cthenshuchu=^hdf;
whenbcd==^h1dthenshuchu=^hfb;
whenbcd==^h1ethenshuchu=^h75;
whenbcd==^h1fthenshuchu=^h90;
whenbcd==^h20thenshuchu=^hee;
whenbcd==^h21thenshuchu=^h7f;
whenbcd==^h22thenshuchu=^h05;
whenbcd==^h23thenshuchu=^h12;
whenbcd==^h24thenshuchu=^h00;
whenbcd==^h25thenshuchu=^h2a;
whenbcd==^h26thenshuchu=^hdf;
whenbcd==^h27thenshuchu=^hfb;
whenbcd==^h28thenshuchu=^h01;
whenbcd==^h29thenshuchu=^h00;
whenbcd==^h2athenshuchu=^h7b;
whenbcd==^h2bthenshuchu=^hff;
whenbcd==^h2cthenshuchu=^h7a;
whenbcd==^h2dthenshuchu=^h02;
whenbcd==^h2ethenshuchu=^h7c;
whenbcd==^h2fthenshuchu=^hff;
whenbcd==^h30thenshuchu=^hdc;
whenbcd==^h31thenshuchu=^hfe;
whenbcd==^h32thenshuchu=^hda;
whenbcd==^h33thenshuchu=^hfa;
whenbcd==^h34thenshuchu=^hdb;
whenbcd==^h35thenshuchu=^hf6;
whenbcd==^h36thenshuchu=^h22;
END
(四)与实验板配套的继电器板
在顺序控制实验中,经常需要控制灯泡、电机、模型汽车、模型推土机等,这就需要继电器控制。
为此开发了继电器板,该板可以方便的与1016实验板连接。
实验板由8个继电器组成,采用小型继电器,电路图见图1.38。
图1.38继电器板电路
第四部分其它
(一)Lattice芯片1032E
1032E具有比1016E更多的资源,可以开发更大的数字系统。
该芯片具有以下特点:
6000个PLD门
64个输入/输出
192个寄存器
其它指标同1016E。
该芯片PLCC封装的管脚安排见图1.29。
图1.391032E芯片管脚图(PLCC)
(二)实验板详细电路
自己做一个可编程逻辑器件实验板,像1016E的实验板,其实很便宜,大概几百元左右就可以做下来。
当然若包括电路板的制板光绘、丝网漏印等费用,费用可能还要增加一些。
但是超不过400元。
自己做实验板,要学会画电路板,目前使用Protel软件就可以完成这个工作。
为使读者能够做一个实验板,本书给出了1016E实验板的电路原理图。
见图1.40。
元件的参考价格见表1-3。
表1-3
序号
名称
数量
单价
价格
1
4060
1
1.8
1.8
2
74HC367
1
2.5
2.5
3
9013
1
0.2
0.2
4
7805
1
2
2
5
1N4001
5
0.1
0.5
6
共阳数码管(0.5寸)
3
1.7
5.1
7
发光二极管(红)(3mm)
6
0.2
1.2
8
发光二极管(黄)(3mm)
3
0.2
0.6
9
发光二极管(绿)(3mm)
3
0.2
0.6
10
电阻徘(680x8)9腿
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自己动手 CPLD 实验