Arduino的扩展板被称为Shield,而树莓派的扩展板则称作HAT(Hardware Attached on Top),意为附加在树莓派顶上的硬件板卡。下面就带着咱们从零开端规划一块开源的树莓派扩展板,暂名为Raspberry Pi ICA HAT。
Raspberry Pi ICA HAT
1. 需求剖析
规划HAT的初衷是为树莓派供给根本的显现和用户输入功用,并引出UART、I2C、SPI等硬件接口,便利衔接其他模块,一起也能够做为用户学习树莓派硬件编程的入门板(Starter Board)。ICA HAT的装备如下:
1. 用户按键x5,能够作为上下左右和“确认”按键;
2. 用户LED x4,完结根本指示功用,还有一个电源指示LED;
3. 有源蜂鸣器x1,供给报警功用;
4. 红外发射管x2,红外接纳头x1,完结红外收发遥控功用;
5. 七段数码管x2,完结8位数字显现,通过SPI接口的MAX7219芯片驱动;
6. I/O和电源扩展排针若干。
设定好需求后,首要需求考虑的是结构问题,本例的规划针对的是树莓派2B类型,一起也兼容一代的B+类型。下图为树莓派2B/B+的机械结构:
针对树莓派的机械结构,能够规划全长和半长两种HAT。全长板与树莓派外框尺度相同,但因为树莓的USB和RJ45衔接器较高,需求留意该区域底层的器材是否会与衔接器触摸。
半长板则只包含四个螺孔的区域。
两种板型都通过2.54mm距离排座与主板上的排针衔接,并通过4个M2.5铜柱或螺钉与主板进行固定。如下图所示。
图 全长HAT和半长HAT
已将规划好的两种尺度HAT存放在GitHub上,读者能够在此基础上进行规划。
剖析完机械结构后,紧接着需求考虑的是I/O资源分配。树莓派2B/B+的I/O中包含两个SPI接口、两个I2C接口和一个UART接口。没有可用的硬件PWM和ADC。而且,I2C0被用作IDPROM接口,用于读取HAT板卡信息,用户无法运用。SPI1在CPU中又叫做SPI_AUX,现在 Linux驱动尚不完善,但能够通过pigpo库调用。如下图所示:
本例将SPI0、I2C1和UART0引出至排针,MAX7219运用SPI1操控,并运用GPIO作为软片选。其他功用依据布线恣意分配GPIO。
2. 硬件规划与制造
需求剖析完结后开端进行硬件规划,兔子运用的是Cadence 16.6东西。原理图东西为OrCAD Capture CIS,PCB东西为Allegro PCB Editor。
首要是IDPROM,将一片EEPROM与树莓派的I2C0相连。这部分电路为保存功用,实践出产时不装置(实践不焊接的器材用NC表明)。
用户LED运用GPIO灌电流操控,当IO为低时LED点亮。
按键部分通过GPIO检测按键左边电平完结,按键松开时为高电平,按下为低电平。这儿未增加硬件消抖,需求软件完结。
红外发射管需求电流较大,因而通过一个GPIO操控NPN三极管来驱动红外LED,高电平时红外管导通。能够只焊接并运用一个LED,运用两个LED能够增强红外信号。
红外接纳选用一体接纳头HS0038,能够作业在3.3V电压下,运用一个GPIO来接纳红外信号。
有源蜂鸣器也需求较大电流,和红外管相同选用三极管驱动,GPIO高电平时蜂鸣器发声。
数字显现选用两个4位7段数码管(共阴极,算上小数点其实是8段),并通过MAX7219芯片进行驱动。MAX7219最多供给8段8位显现,这儿将 MAX7219的段码A~DP按次序一起衔接两片数码管,用于显现每一位的内容。而MAX7219的数位(Digital)挑选信号则别离连至两片数码管各公共端。
MAX7219通过SPI与树莓派相连,因为只需求操控不需求读取信息,DOUT可不接。芯片选用5V供电,严厉意义上SPI应运用5V电平,通过树莓派的3.3V电平也能够正常操控,但主张设置电平转化电路。
最终是接口扩展排针,串接的100ohm电阻起限流维护效果。每个接口别离供给了3.3V电源和GND。
ICA HAT的PCB选用廉价的双面板(出产10片PCB只需求50RMB),需求阐明的是布局。
依据一般用户的运用习气,数码管并排放置于板子的上部(最为夺目的方位),按键放在板子的右下角(惯用左手的朋友可放在左边)。红外收发部分和IO接口规整排列于四周板边以避免阻挠和便利接线。其他的如LED和蜂鸣器在板中心挑选方位放置即可。
规划好的PCB文件可导出成光绘(Artwork)和钻孔(Drill)文件交予PCB厂商出产,国内的厂商一般也会承受Altium Designer和Protel格局的工程文件,但实践也是转成光绘来进行出产的。厂商一起会供给免费的测验,确保电路不呈现短路等状况,下图为出产好的 PCB:
PCB出产后是器材贴片焊接,如果是机器焊接就需求供给出产钢网用的助焊层(Solder mask)文件,和用于机器贴片的安装层(Assembly)文件。
这儿因为器材简略量少,兔子选用手艺焊接的方法。焊接时可先焊接难度较大引脚密布的贴片%&&&&&%,然后焊接高度较低的贴片器材,最终焊接较高的直插器材。衔接器和数码管可于最终焊接。下图为手艺焊接完结的电路板,咱们称之为PCBA:
需求留意的是,焊接完结后需求测验电路是否短路,特别是电源的短路,然后再上电测验。不然不光或许烧坏HAT板子,还有或许损坏树莓派主板。