查看: 1533|回复: 0
打印 上一主题 下一主题

DIY一个树莓派扩展板

[复制链接]
跳转到指定楼层
沙发
发表于 2015-12-7 23:43:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[导读]  Arduino的扩展板被称为Shield,而树莓派的扩展板则称作HAT(Hardware Attached on Top),意为附加在树莓派顶上的硬件板卡。下面就带着大家从零开始设计一块开源的树莓派扩展板,暂名为Raspberry Pi ICA HAT。

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。





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表