4.5 连接插座
Femtoduino电路板有两种方式与外界电路通信:
·面包板插座(Breadboard header)——可以将Femtoduino插进面包板。
·ICSP插座(ICSP header)——可以通过6针AVR协议对Femtoduino进行编程。
本节既会讨论插座的相关内容,也会讲解如何在原理图编辑器中设计有关的子电路。
4.5.1 面包板插座
Femtoduino(以及通常的Arduino电路)的优点之一就是它能够插进面包板。要达到这种效果,Arduino必须提供引脚间距为0.1英寸的单排部件。
能够提供这些引脚的电路元件叫作插座(header)。Femtoduino上有两个带有14个引脚的插座。与我们之前用到的元件不同,插座使用通孔焊接与电路板相连,这就需要在电路板上进行钻孔。
下面介绍如何为这些插座设计相应的子电路:
1)在EAGLE中,打开前面已创建的包括相关子电路的原理图文件(*.sch)。使用Add操作并打开eagle-book元件库。
2)将两个HEADER1X14符号加入到电路原理图中。
3)对第一个插座JP1,从每个引脚中画出一条导线,并按照图4-8左侧所示指定名称。
4)对第二个插座JP2,从每个引脚画出导线并按照图4-8右侧所示指定名称。
图4-8 面包板插座
读者应该理解这些引脚为何采用这样的命名方式,这一点也很重要。引脚D0~D13对应数字数据,而A0~A7对应模拟数据。所有Arduino电路板都采用这种名称。
4.5.2 AVR在线串行编程插座
Femtoduino是通过电路板顶层的在线串行编程(In-Circuit Serial Programming,ICSP)插座实现编程的。数据传输采用串行外设接口(Serial Peripheral Interface,SPI)协议进行主从设备之间的同步、全双工通信。在这里,编程器是主设备而Femtoduino是从设备。
SPI通信主要依靠三个信号。主设备通过激活时钟(SCK)信号对通信进行初始化。然后通过主出从入(Master-output Slave-Input,MOSI)信号传输数据。当系统要求从设备传输数据时,从设备输出的数据通过主入从出(Master-Input Slave-Output)引脚输出。
在原理图中,D11引脚传输MOSI信号,D12引脚传输MISO信号,D13传输SCK信号。图4-9所示为包括ICSP插座的电路原理图。
为了在EAGLE中设计该子电路,只要把HEADER2X3加入设计,并按照图4-9所示创建导线。这部分完成以后,电路原理图设计就完成了,然后就可以开始着手准备电路板设计了。
图4-9 ICSP插座