总览

①确定规格,首先要确定将要设计的电路板的规格,制作电路板元件的构成表。

②元件的采购。

③电路图制作。

④实际的布线样式设计。

⑤设计制作电路图和设计布线样式中所需要的库。

⑥电路板的3D显示。

⑦使用感光板自行制作(使用感光板自行制作时,需要使用感光板进行蚀刻、清除光膜、钻孔等步骤。需要的工具比较多。),

或⑧委托电路板生产公司制作。

⑨元件的安装。

⑩电路板动作测试。

1.电路板规格

电路板名称

基板名称太长了,有可能没法进行丝网印刷,所以尽量选用简短的名称。

电路板的构成

一块FPGA电路板和一块电源电路板。

在一块基板上同时搭载FPGA电路和电源电路,I/O部分的面积将会缩小,导致无法搭载足够的I/O。

将电源电路区分开后,可以单独对电源电路进行测试。

电路板层数

印刷电路板是将走线样式对齐后,各层间通过垂直通孔连接制作起来的。

eg.计算机的主板一般使用的是4层电路板。

除了可以直接看到的两面的表层之外,内侧还夹有两层,一般集中布置电源、GND等。

布局时,基本上正面走信号线,反面配电源线。

元件也仅安装在单面。

FPGA选型

著名的FPGA厂商有赛灵思、Altera等公司,厂家不同,配置电路也不一样。

外围电路的选定

板上的外围电路与FPGA的用户I/O(用户可以自由使用的FPGA引脚)相连接。

android电路板语言 电路板程序怎么写_信号线

实现逻辑电路的方法

  1. 用通用逻辑芯片的组合
  2. 通过LSI技术设计专用集成电路(ASIC,Application Specific Integrated Circuit)实现
  3. 用像FPGA(Field-Programmable Gate Array)这样可以通过配置更改内部逻辑的IC实现

CLB(Configurable Logic Block)

由LUT(LookUp Table)和寄存器组成的模块。

逻辑电路由组合逻辑电路和时序逻辑电路组成。而CLB则用于组成这些电路,是FPGA的中心元素。

LUT用于实现组合逻辑电路,寄存器用于实现时序逻辑电路。

内部接线:用来将CLB、IOB、DCM以及块RAM等模块输入输出相连的内部布线。

(所有模块连接到开关矩阵,通过配置切换开关矩阵可以实现任意模块之间的布线)

IOB(I/O Bank):连接到FPGA用户I/O引脚的模块,可用于切换FPGA引脚的输入输出方向、指定逻辑电压电平高低等。

IOB种类:作为通用输入输出I/O的用户I/O、仅作为输入的INPUT、与配置电路共用的DUAL、参考电压的VREF,以及时钟的CLK。

块RAM:可作为内存使用的区域。容量有数千比特到数兆比特不等。

DCM(Digital Clock Manager):用作调整时钟的电路,即将输入的时钟信号进行变相、分频(将频率进行n倍变换)输出。

配置电路:存储FPGA内部配置信息的模块;FPGA中由静态随机存储器SRAM组成,切断电源后存储内容会丢失。

2.元件选型

FPGA电路板选用贴片式(安装在电路板表面)元件:在电路板表面铜膜上使用焊锡焊接组装。

电源电路板选用插入式(带引脚)元件:引脚弯曲后插入通孔,从反面用焊锡焊接进行安装。

3.电路设计

android电路板语言 电路板程序怎么写_android电路板语言_02

设计过程

最先设计②USB-串口转换电路。在此需要参考FPGA和USB-串口转换IC的规格书。

外围电路的设计分为②UART、③LED、④七段数码管、⑤开关、⑥复位电路、⑦时钟、⑧VPort几部分进行设计。

接着设计电源电路。电源电路的设计包括①FPGA的电源部分和⑨电源电路。

下载data sheet(规格书)

android电路板语言 电路板程序怎么写_引脚_03

开关

正逻辑则开关ON时为高电平,OFF时为低电平。

需要对开关输入信号进行防抖处理。

机械接点的开关在接点接触瞬间会出现反复接、断的现象。

因此,在一次开关按下操作中,却得到多次按下的结果,从而造成误操作。

一种防抖方法是在信号值稳定前一直保持输入。我们可以通过电路或者FPGA内部逻辑两种方法来实现。

电路法:利用RC时间常数延迟开关输入信号,并利用施密特触发器的NOT电路对波形进行整形。

时钟

使用晶体振荡器产生时钟。

4.布局设计

布局两个步骤

  1. 元件的布局:在电路板上确定各个元件安放的具体位置。
  2. 元件之间的布线:电路板上各个元件间配线的连接。

元件集中安装在正面。信号线也基本上分布在正面。背面基本上仅布置电源线。

信号线布线时会产生交叉,因此将配置电路的一部分信号线安排在电路板背面。

信号线的粗细

信号线的粗细大约为0.5mm的一半,也就是0.25mm左右。

由于布线密度较高时,通过蚀刻去除铜膜会比较困难,因此信号线的粗细定为略细一些的0.2mm左右。

如果委托电路板制作公司OLIMEX进行生产,信号线的粗细必须为8mil(0.2032mm)以上。

因此,我们将信号线粗细确定为0.2032mm。电源线需要比信号线粗一些,我们将其定为0.6mm。

通孔

将通孔分布在2.54mm(0.1inch)的网格上。

为了与制作单层电路板时使用的SUNHAYATO公司的万用板的通孔一致。

通孔上焊盘的直径要尽量大。

但是,如果焊盘大到通孔之间无法走线的话,设计难度反而会加大,所以通孔外径定为1.6mm。

android电路板语言 电路板程序怎么写_焊盘_04

①FPGA和电源部分的布线

 

android电路板语言 电路板程序怎么写_焊盘_05

②配置电路、USB接口芯片的布线

 

android电路板语言 电路板程序怎么写_android电路板语言_06

③VPort接头的布线

 

android电路板语言 电路板程序怎么写_引脚_07

④外围/开关电路的布线

 

android电路板语言 电路板程序怎么写_焊盘_08

仅显示电源预拉线

android电路板语言 电路板程序怎么写_焊盘_09

 完成的布局

电源板的布局

android电路板语言 电路板程序怎么写_信号线_10

FPGA板布局的正面

android电路板语言 电路板程序怎么写_android电路板语言_11

FPGA板布局的背面

android电路板语言 电路板程序怎么写_android电路板语言_12

5.制作元件库

1个元件库由3部分构成:电路图中使用的电路符号Symbol(符号)、布局时使用的焊盘Package(封装)以及定义了Symbol与Package二者引脚对应关系的Device(器件)。

6.电路板3D模型

通过制作3D模型,我们可以对成品电路板有个大致的印象。

通过直观地观察,我们可以确认元件之间是否互相影响,是否便于焊接等问题。

【呃呃用嘉立创画板子就好了,到画PCB的时候有3D功能的】

7.制作感光电路板

android电路板语言 电路板程序怎么写_android电路板语言_13

①制作光罩

用喷墨打印机将Eagle制作的线路印刷到胶片上,即可制成光罩。

手动开孔时,需要将电钻中心对准圆孔中心。

②粘合光罩

将打印出来的光罩与电路板进行粘合。

为了能将两面的光罩正确粘合,可提前将打印出来的两枚光罩粘合。

在打印完的光罩上安装定位板,以给感光板定位。

定位板与光罩用尽量薄的双面胶固定。

制作单层板时,在正面光罩上安装定位板。

制作双面板时,定位板夹在两枚光罩之间。

③曝光

用紫外线照射贴有光罩的感光板进行曝光。

一般使用专用的紫外线灯,建议使用紫外线。

④显像

显像需要使用显像液。显像液有将粉末状溶解后使用,和液态直接使用两种类型。

显像液适宜在25~30℃的温度下使用。使用粉末状显像液时,要先准备200cc、35~40℃的热水,溶解显像剂。

如果有残渣剩余,有可能会导致显像效果不佳,所以请搅拌均匀。

我们使用带卡扣链的塑料袋作为装显像液的容器,这样将感光板装入后左右晃动时显像液也不会洒落出来,非常方便。

另外,显像后需要进行洗净,请准备清水。注意不是流水,而是将水装在容器内。

可以使用PK-11外箱盖作为洗净用的容器。请准备100cc清水装入外箱盖内。

将曝光结束的感光板绿色曝光面朝上装入塑料袋。

感光板全部没入显像液后,封住塑料袋口。然后轻轻摇晃、进行显像。

显像时间大约为30秒~1分钟。感光剂溶解后显像液变为蓝色,感光板上呈现出电路板线路。

电路板线路清晰地显示出来后,显像结束。

用一次性筷子等将感光板从袋子中取出,请注意筷子尖不要碰到电路板上的线路以免造成损伤。

使用尖端带橡胶套的钳子会更加保险一些。

将取出的感光板用水洗净后,显像工作完毕。

制作双层板时,背面的感光剂会较快地显像,所以请将感光板正反两面反复数次进行显像。

使用完毕的显像液呈碱性,不能直接倒掉,需要混合市场上销售的醋,中和之后再倒掉。

⑤蚀刻 【内容比较多,具体请看这里】

用蚀刻液的腐蚀作用腐蚀感光板上的铜膜,最后生成电路线路。

蚀刻液在温度为40~45℃时腐蚀性最强,温度控制对于蚀刻过程非常重要。

控温方法:

  1. 水浴法:在水桶等容器内装入60℃左右的温水,然后再放入腐蚀液的方法。
  2. 用SUNHAYATO公司的桌面蚀刻设备。使用该装置易于控制温度,而且使用空气泵进行内部循环,不需要手动晃动电路板。用空气泵进行腐蚀液循环时,蚀刻机内会出现蚀刻不均匀的状况。因此,蚀刻过程中需要经常拿出电路板确认蚀刻状况,有时还要翻转电路板。
  3. 用SUNHAYATO公司的恒温器。将蚀刻液装入容器后在恒温器上加热。要一直晃动电路板,比较费事。但是蚀刻结果比较会均匀。

蚀刻结束,用水进行冲洗后,表面的感光剂便会脱落。使用助焊剂清洗剂清洗的话,费时较短更为便利。

或者也可以不覆盖光罩再次进行曝光,曝光后的显像液因为显像而自行脱落。

蚀刻液的处理【很重要请点具体内容】

⑥阻焊剂

防止蚀刻后电路板的铜膜裸露在外产生氧化现象,可以在整个电路板上涂抹助焊剂或者阻焊剂。涂抹阻焊剂后,线路不会裸露在外,也能防止意外的短路。

(1)喷涂型助焊剂

喷涂得比较均匀,而且使用方便。喷嘴距离电路板大约15cm。尽量喷涂均匀。

刚喷涂完助焊剂的电路板会比较粘,立刻用手触摸会留下痕迹,干燥一小时后再碰触。

双面板不要同时喷涂两面,可以喷涂完一面后再喷涂另一面。

原因

  1. 保护电路板线路不被氧化。
  2. 安装元件时使焊锡更加容易的附着。
  • 蚀刻工序中:对整个电路板进行助焊剂喷涂。
  • 实际安装元件时:仅对各个接线端子部分进行喷涂。

(2)喷涂型绿色阻焊剂

喷涂了阻焊剂的地方,焊锡将无法附着。所以需要先给元件焊脚部分进行遮罩(打印标签、遮罩胶带以及遮罩胶)。

贴片电阻、贴片电容、贴片LED,需要使用1mm宽的遮罩胶带进行遮罩。

android电路板语言 电路板程序怎么写_信号线_14

在通风良好的房间或者户外作业,并且周围用旧报纸包围起来,防止阻焊剂四散。 

喷嘴与电路板保持15cm左右的距离。

先沿电路板边缘喷涂一圈。边沿喷涂完毕后,与电路板平行移动喷涂。

先喷涂薄薄一层,等待干燥。之后重复数次,这样可以降低喷涂不均匀可能性。

android电路板语言 电路板程序怎么写_信号线_15

 (3)感光性阻焊剂(助焊剂和丝印)

android电路板语言 电路板程序怎么写_焊盘_16

⑦开孔

1.固定电路板所用的3.2mm孔或者3.0mm孔。

2.VPort、电源接头引脚用的1.0mm孔。

3.正反面连通用的0.8mm孔或者0.6mm孔。

android电路板语言 电路板程序怎么写_引脚_17

电钻/针钻

⑧制作通孔

电路板的正反面线路需要通过通孔进行连接。

android电路板语言 电路板程序怎么写_android电路板语言_18

通孔不是中空也不影响功能,无需勉强吸除。

⑨飞线

PCB 焊盘脱落怎么办?用铜丝焊接连通即可。

android电路板语言 电路板程序怎么写_引脚_19

 

android电路板语言 电路板程序怎么写_引脚_20

8.使用电路板制造服务

利用电路板CAD软件设计的设计文件进行电路板制造的服务。

电路板制造服务商会对信号线的粗细、间距、通孔大小等参数设立标准(设计规则)。

电路板的设计者可以通过“设计规则检查”(DRC)测试电路板是否符合设计规则

另外,文件格式也必须转换为电路板制造服务商指定的格式。通常,递交数据格式以Gerber数据为多。

DFM(Design For Manufacture)检查功能:设计时考虑降低生产难度的设计方法。

DFM与DRC从不同角度对设计进行检查。

9.组装电路板

首先安装电源板上的元件,然后安装FPGA板上的元件。

电源板

android电路板语言 电路板程序怎么写_信号线_21

FPGA板

android电路板语言 电路板程序怎么写_焊盘_22

 处理贴片元件

①使用工具套装安装贴片元件

  1. 用慢硬化型胶黏剂把元件固定在电路板上。
  2. 等待30分钟后胶黏剂硬化。
  3. 硬化后,将特种膏状焊锡涂抹在引脚上。
  4. 接着用烙铁把焊锡融化。
  5. 焊锡不小心桥接到其他部位时,用焊锡吸附线将焊锡吸出。

②不使用工具套装安装贴片元件

通常使用线状焊锡焊接贴片元件。

锡焊的要点:

  1. 首先焊接对角线上的引脚以固定位置,然后再焊接其他引脚。
  2. 不用太在意临时固定引脚的焊接效果或者短路到其他导线上,这一步的作用先是固定。
  3. 接下来,临时固定引脚的焊接等其他引脚焊接完成后再处理干净。

先把焊锡涂抹在焊盘的一侧。

用镊子夹住贴片元件,先焊接一端。

然后再焊接另一端。

如果烙铁头长时间接触,热传导到另一端使焊锡融化会导致元件脱落,所以尽量快速操作。

10.功能测试

①无法从配置工具中识别FPGA→制作错误

检查电源电压:各个电源与GND之间是否存在短路。

检查FT2232功能:接通电源并通过USB线与计算机连接。无法识别可能是USB芯片的焊锡不良造成的。同时确认芯片的朝向和焊锡的状态是否正确。

检查JTAG信号的连接:检测配置ROM和FPGA的焊接是否存在问题。

检查电阻和电容的参数:别焊错元件啦!

检查布线的连接:蚀刻时间过长可能导致走线被切断。相邻走线间也可能存在短路。用仪表测试走线的两端,检查是否导通。

② 运行诊断程序

全部功能通过测试则说明电路板的制造没有问题。