电子电路
此分类为PCB学习笔记

AutoDeskEagle SparkFun

本博客前面文章有介绍SparkFun库,但是发现Arduino有一些电路符号依旧无法打开,比如说排针。在进行右键打开元件库的时候发现是一个叫做SparkFun.lbr的库,所以从网络上下载安装后完美打开。

屏幕快照 2019-11-16 上午1.16.27.png

上述就是SparkFun封装库里的排针。不过我发现和Eagle自带的排针封装Pinhead差不多,连尺寸我量了一下都是一样的。

AutoDeskEagle Label

首先来看别人的Label

屏幕快照 2019-11-16 上午1.01.12.png

D9、D8这些是标签的名称,标签的功能是会将网络连接到一起,前提是网络的标签名取的一致。

轮廓框的显示方式如下,选择工具面板中的label,放置到你要更改名称的网络中,然后右键查看属性。

屏幕快照 2019-11-16 上午1.05.09.png


这里将Xref勾选上就可以显示外轮廓框。Xref的意思是:外部参考。

Cam350 Apertures are used which have a size of 0

ad0c501f17bd18aad21d77e6a8effb5.png

原因:孔径表(D码表)里面存在为0的数值。

导入后,按A键查看D码表。

a266b6233effbf3c1802322125452e2.png

可以看到的确存在一个数值为0的D码。关闭这个D码表页面,然后按下D键

d4870d1efa43cf9c4aec66b2f3c040e.png

找到刚才我们寻找到为0的D码,然后点击OK。(后续的截图,所以这里为12.0)这一步相当于激活。

高亮显示:点击OK以后按下H键。

7e7677a177bca987c3bc6209539290f.png

白色线就是D码为16的位置,如果不明显,可连续按H键。

回到PCB图,进行修改,或者直接在Cam350修改。

这里看着像是边框的问题,所以我加宽了边框线。再次导入就可以了。

注意:gerber导出时候填写的参数,在你用Cam350导入的时候一定要一致,这样才不会有错位的问题出现。

PCB 敷铜和填充

填充有两种形式:多边形 (任意形状)、矩形

多边形填充会自动规避不填充的网络,矩形填充则不会。两者均会与其选中的网络进行短接处理。他们均只能在板子的顶层和底层进行填充。

敷铜属于多边形填充,需要指定其网络,一般指定GND网络。会将标注有GND的铜线进行短接,并避开其余网络。

填充铜箔后会增大导电能力,增强抗干扰能力等。

填充方式均是以网格方式填充,PCB编辑软件可设置相应铜箔宽度、间距等参数。

ISP 在线系统编程

这个问题也是在学单片机开始前就在考虑的,不过本着先学习后实践的目的就搁浅了,这里总结一下。

发展到如今(2019年)常用的方式是通过“在线系统编程(ISP)”这种方式来把程序写入到芯片(MCU)里,这种方式的好处是芯片不需要取出,这里我理解的在线两个字是电路。也就是说即使你的芯片已经焊接在电路版上也不同取下来通过“编程器”来进行程序写入。这里又引申出来几个协议,这些协议是按照电气标准及协议来区分的比如:RS232、RS422、UART等,这里的UART另一种叫法是TTL,其中常用的是RS232和UART(TTL)。

主要的区别RS232是负逻辑电平,5~12v是低电平,而-12~-5v是高电平。而TTL也就是UART没有那么多区分,它的电平只是5V。


网上很多的USBISP、USBASP实际就是USB接口转TTL或RS232协议这样可以对芯片进行程序写入。开始是只有USBISP也就是通过USB接口去实现转换相应的TTL或者RS232协议来达到程序写入的目的。而USBASP查阅了很多资料,也没有发现他俩的区别,不过在USBASP的官网倒是大致看出点眉目。实际USBASP和USBISP在电路设计上是一模一样的,提一点的是不论是USBASP还是USPISP他们都用到了AVR芯片。而USBASP只是一个固件程序,就是将名叫USBASP的固件写入到USPISP的电路里,这个电路里有一个AVR芯片。如果你将USBASP这个固件写到了USPISP这个电路中,那么你就可以通过Progisp这类软件来进行程序烧写。否则你只能通过AVR STUDIO这个程序来进行烧写。在我的理解看来不论是USBISP这个电路,或者是USBASP这个固件。他们本质上都是上面提到的“编程器”即你必须取下MCU芯片,通过引线或者电路中预留好的接口槽进行芯片写入。没有达到ISP可在线系统编程这种思想。他们的大致关系是

屏幕快照 2019-11-07 下午10.26.32.png


以上是对USBASP和USBISP一些解释,以及对“编程器”的一些关联想法,有了这个固件(USBASP)以后可以更好的支持一些协议或者加快写入速度。


对于“在线编程系统”如何实现,实际已经有很成熟的方案,即在电路里增加一块USB转串口的芯片。通过这个芯片达到数据传送到MCU里。因为你的电脑或者其他设备的USB接口是无法直接驱动芯片的。这里就要介绍两个能直接放在电路里的转换芯片。如:MAX232和CH340等。

MAX232是可以将TTL信号转换为RS232信号,或者RS232信号转TTL信号的。不过它的体积相对大一些,焊接在电路中比较占用位置。

CH340是将其他信号转换为TTL信号,体积相对较小,而且各种MCU芯片也相对应的支持TTL信号,TTL的信号线是MCU上的TXD和RXD。

使用上述两个芯片,就不用去做“编程器”了,一般像51单片机就是用的CH340芯片来进行和USB接口通讯写入程序的,注意的是这种情况下,你的整个电路要上电,否则是没办法写入的。而“编程器”则不需要给MCU供电,直接用引线连接到“编程器”上,“编程器”自己就可以供电给它并进行写入。

更为详细的解释,可以自行网上搜索。这里也给出一个建议:如果你的电路是在洞洞板或者面包板上进行实践的,我建议买一个“编程器”某宝搜索“USBASP或USBISP”关键字即可,10块左右。如果你的电路是要制作成PCB并且要进行调试的,我建议你买一块USB转串口芯片,直接焊在电路里依旧是10块左右。


以上仅为个人理解,如有错误还望指出。