欢迎来到天天文库
浏览记录
ID:28117282
大小:1.00 MB
页数:11页
时间:2018-12-08
《玩转树莓派!设计一个专属你的开源扩展板.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、玩转树莓派!设计一个专属你的开源扩展板 分析完机械结构后,紧接着需要考虑的是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.
2、硬件设计与制作 需求分析完成后开始进行硬件设计,兔子使用的是Cadence16.6工具。原理图工具为OrCADCaptureCIS,PCB工具为AllegroPCBEditor。首先是IDPROM,将一片EEPROM与树莓派的I2C0相连。这部分电路为保留功能,实际生产时不安装(实际不焊接的器件用NC表示)。 用户LED使用GPIO灌电流控制,当IO为低时LED点亮。 按键部分通过GPIO检测按键左侧电平实现,按键松开时为高电平,按下为低电平。这里未添加硬件消抖,需要软件实现。 红外发射管需要电流较大,因此通过一个GPIO
3、控制NPN三极管来驱动红外LED,高电平时红外管导通。可以只焊接并使用一个LED,使用两个LED可以增强红外信号。 红外接收采用一体接收头HS0038,可以工作在3.3V电压下,使用一个GPIO来接收红外信号。 有源蜂鸣器也需要较大电流,和红外管一样采用三极管驱动,GPIO高电平时蜂鸣器发声。 数字显示采用两个4位7段数码管(共阴极,算上小数点其实是8段),并通过MAX7219芯片进行驱动。MAX7219最多提供8段8位显示,这里将MAX7219的段码A~DP按顺序同时连接两片数码管,用于显示每一位的内容。而MAX7219的
4、数位(Digital)选择信号则分别连至两片数码管各公共端。 MAX7219通过SPI与树莓派相连,由于只需要控制不需要读取信息,DOUT可不接。芯片采用5V供电,严格意义上SPI应使用5V电平,经过树莓派的3.3V电平也可以正常控制,但建议设置电平转换电路。 最后是接口扩展排针,串接的100ohm电阻起限流保护作用。每个接口分别提供了3.3V电源和GND。 ICAHAT的PCB采用廉价的双面板(兔子生产10片PCB只需要50RMB),需要说明的是布局。 根据一般用户的使用习惯,数码管并排放置于板子的上部(最为醒目的位置)
5、,按键放在板子的右下角(惯用左手的朋友可放在左侧)。红外收发部分和IO接口整齐排列于四周板边以防止阻挡和方便接线。其他的如LED和蜂鸣器在板中间选择位置放置即可。 设计好的PCB文件可导出成光绘(Artwork)和钻孔(Drill)文件交予PCB厂商生产,国内的厂商一般也会接受AltiumDesigner和Protel格式的工程文件,但实际也是转成光绘来进行生产的。厂商同时会提供免费的测试,保证电路不出现短路等情况,下图为生产好的PCB: PCB生产后是器件贴片焊接,如果是机器焊接就需要提供生产钢网用的助焊层(Solder
6、mask)文件,和用于机器贴片的装配层(Assembly)文件。 这里由于器件简单量少,兔子采用手工焊接的方式。焊接时可先焊接难度较大引脚密集的贴片IC,然后焊接高度较低的贴片器件,最后焊接较高的直插器件。连接器和数码管可于最后焊接。下图为手工焊接完成的电路板,我们称之为PCBA: 需要注意的是,焊接完成后需要测试电路是否短路,特别是电源的短路,然后再上电测试。否则不但可能烧坏HAT板子,还有可能损坏树莓派主板。
此文档下载收益归作者所有