跳转至

常见外设

常见接口或协议

小心损坏

注意:下面的各类接口只负责数据的传输,一般外设模块都另外需要连接电源(VCC)、接地(GND)引脚。 千万注意选择正确的电平/电压(一般为 CMOS 电平,注意 FPGA 只能连接 3.3V IO 电平的模块),并且避免短路、插反,不允许带电插拔,避免损坏芯片或FPGA。

关于 UART/SPI/I2C 三种接口的介绍视频(搬运自 YouTube):Bilibili

Pmod 规范

Pmod(Peripheral Module Interface)是 Digilent 提出的,适用于各类开发板的接口扩展规范。它定义了引脚的物理外观、电气特性、接口定义等,能够兼容各类协议。遵循 PMOD 规范的外设能够互相兼容,减少了外设的复杂性。相关介绍可见:

各种常用的通信协议都被 Pmod 标准所支持,当然用户也可以自行规定引脚含义。实验板上共提供了 8 个标准 12 Pin Pmod 接口,用于连接外设模块,其供电电压与 IO 电平均为 3.3V。同时,相邻的 Pmod 接口可以用于连接宽体的模块,以提供更多 IO 信号。

UART 协议

通用非同步收发传输器(Universal Asynchronous Receiver/Transmitter),又称为“串口”,一般有两个引脚(RXTX)。每个引脚负责一个方向,两个方向异步发送,传送时不包含时钟,速率需要事先协定好(称为波特率/Baud)。可参考实现:

I²C 协议

I²C(Inter-Integrated Circuit),同步协议,一般有两个引脚:数据(SDA)、时钟(SCL),每个引脚都是双向的,在 FPGA 中需要使用特别的 三态数据类型inout)。

按照规范,两根数据线均需要上拉电阻,可按照 此教程 开启 FPGA 片内相应引脚的上拉电阻。

一般来说,由发送方提供时钟,接收方需要在每次接受数据后进行应答。可参考 https://www.fpga4fun.com/I2C.html

I²S 协议

I²S(Inter-Integrated Sound),一般用于数字音频传输,包含时钟(SCLK/BCLK)、帧使用(LRCK/WS)、数据(SDATA)。

SPI 协议

SPI(Serial Peripheral Interface),同步协议,一般有四个引脚:时钟(SCK)、MOSIMISO、片选(SSEL/CS)。

两个方向可全双工发送。由 master 端确定时钟速率。可参考 https://www.fpga4fun.com/SPI.html

脉冲接口

最简单的接口,直接输出或输入脉冲信号(由高低电平变化表示)。如超声波模块中,使用一个信号线控制超声波的发射,经过一段时间后,另一个引脚会收到返回的脉冲。或者类轨迹球模块中,可计数一段时间内的脉冲个数,表示向某个方向移动的距离。

类 SRAM 接口

类似于 SRAM 或者内置 ROM IP 等的使用方法,可以是同步或者异步接口。包括(可选)时钟(CLK)、片选(CE)、读使能(RE)、写使能(WE)、地址、数据。

模块推荐

注意电平

以下的模块为我们推荐的型号,但选择时 并未确认模块的供电电压和 IO 电平,购买和使用前请务必查看手册或向店家确认 IO 电平为 3.3V,以免损坏实验板。

实验板对外可提供 5V/3.3V 的供电电源,如果模块需要其他电压的电源,需要自行购买 DCDC 模块以转换电源电压。

如果需要同时连接多个模块,建议购买 面包板,并自学其使用/回忆电子学实验内容,方便公用电源、地线。

选购之前请务必对所选的模块有 完整的了解,包括其功能、接口、通讯协议等,使用前必须 通读整篇文档或 datasheet

Pmod 模块

下面列出的模块适用于实验板的 Pmod 接口。如需其他模块,也可先在各类电商平台搜索,实验板可以支持几乎所有 Pmod 模块。

功能 型号 协议 简介 购买链接
音频输入/输出 WM8731 I2S 音频输入/输出模块 自制模块,请联系助教团队获取
无线通信 PSI-EMOD-BLUETOOTH UART 蓝牙串口传输模块,可与手机连接传输数据 https://item.taobao.com/item.htm?id=602102213182
温度传感器 PSI-EMOD-SENSOR-001 1-Wire 基于 DS18B20 的温度传感器模块 https://item.taobao.com/item.htm?id=616627001082
EEPROM 存储器 PSI-EMOD-MEMORY-001 I2C 2K 字节 EEPROM 存储器,可方便地存储少量持久化数据 https://item.taobao.com/item.htm?id=617136619926
摄像头 PSI-EMOD-OV7670 并行 OV7670 摄像头模组,较低分辨率适合 FPGA 使用 https://item.taobao.com/item.htm?id=625385869412
摄像头 PMOD_CAM_5M 并行 OV5640 摄像头模组,500 万像素 https://item.taobao.com/item.htm?id=524514493918

此外,可以前往以下店铺,尝试发现更多 Pmod 模块,注意其中部分模块的功能实验板已经内置,请勿重复购买。

  1. PSI 皮赛电子
  2. Muse Lab
  3. Digilent China(模块种类极为丰富,但价格昂贵,购买前请尽量寻找替代方案,或使用学术优惠价格)

传感器类

下面的模块需要使用杜邦线,手工连接到实验板的 GPIO 接口上。

功能 型号 接口 简介 购买链接
运动、姿态传感器 JY901S UART 三轴加速度、陀螺仪、角度、绝对方向传感器,自带滤波 https://item.taobao.com/item.htm?id=634627673077 购买时联系卖家焊好排针
激光测距 VL53L0X I2C 激光 ToF 测距,量程 3~200cm,精度 3%,测量时间 20ms https://detail.tmall.com/item.htm?id=609293677802
超声测距 —— 脉冲 精度较低,量程大,可根据需求选择型号 https://detail.tmall.com/item.htm?id=12632417946
手势传感 PAJ7620U2 I2C 可识别上下左右挥动、顺时针、逆时针旋转等手势 https://detail.tmall.com/item.htm?id=569499698342&skuId=4401524435517

模拟接口类

下面列出一些常用的模拟接口,主要为音频输入、输出相关模块。

功能 型号 接口 简介 购买链接
蜂鸣器 —— —— 无源蜂鸣器,可以直接用FPGA IO引脚播放简单的频率,产生音乐 https://item.taobao.com/item.htm?id=12773366240
音频播放 VS1053B SPI 自带 TF 卡槽,可以由 SPI 控制,播放其中的 mp3 音乐,或录制一段音频 https://detail.tmall.com/item.htm?id=604374710689
音频播放 MP3-TF-16P UART 自带 TF 卡槽,由串口控制播放音乐 https://item.taobao.com/item.htm?id=555798813610
小喇叭 —— —— 配合上面的音频播放模块一起购买 https://item.taobao.com/item.htm?id=542182665254 联系卖家,接口改成杜邦线

无线通信

汇承 HC-12 433MHz 无线通讯(UART 串口透明传输,可理解为无线的串口线)。 必须成对购买,两端直接连接到 UART 接口,不需要其他硬件:https://detail.tmall.com/item.htm?id=41299178593

非板子的一侧,需要准备一个充电宝供电,并购买 https://detail.tmall.com/item.htm?id=43037505556 等类似模块,方便连线。

调试方法

可以购买模块供 PC 调试相应的协议使用(强烈建议购买外设时搭配购买,能极大地方便调试工作):

如果有不同接口调试需要,建议另行购买单片机(如 Arduino)进行。在使用中如果遇到问题,建议使用 SignalTap/逻辑分析仪采集信号进行观察。

注意事项

  1. 购买任何物品记得开发票(除非不需要报销)。发票抬头:清华大学,税号:12100000400000624D。
  2. 购买模块时,记得让店家帮忙 焊好排针。自己选择模块时,要注意选择 2.54mm 间距排针/排母接口的,或者同时向店家询问,购买将模块接口转换成杜邦线的转接线,以免无法连接。
  3. 购买足够的杜邦线,在长度和数量上留出裕量,反正也很便宜。注意不要买错极性(即公母),以及间距(2.54mm),建议直接购买大量母-母、公-公线缆,确保足够。
  4. 使用任何芯片前,仔细阅读附带的文档(datasheet),尤其是时序图相关部分。寻找文档时, 优先使用 Google,寻找相应主芯片的英文手册。建议有条件的先行使用 PC 进行调试,确保芯片功能完好并掌握时序后,再上板使用。一些可能需要的工具模块已经在上面列出。推荐使用“串口助手”等软件进行辅助调试,也可用 Python 等语言的相关第三方库进行,可自行搜索。
  5. 芯片需要的 VCC、GND 一般可以直接从实验板获得。如果带不动(比如表现诡异或者无响应,尤其是音频播放模块较为耗电),则需要额外供电,请一定联系助教确认。
  6. 如果对于自己选择的模块、连线方式有疑问,请务必在购买前 联系店家或助教确认,以免耽误开发时间。

FAQ

这里会记录同学们的常见问题,和助教的回答。

杜邦线是否可以接的很长?

可以,但是要注意以下几点:线路上的电流不能过大(如音频模块的电源、地线),信号频率不能过高(建议低于 1MHz),需要妥善保护连接处避免线路中断。如果需要很长的线缆,建议直接购买长杜邦线,或考虑使用无线传输。

使用充电宝对无线传输的模块供电,需要注意的事情?

充电宝通常输出电压均为 5V,需要检查被供电的所有模块的电压范围,如果均可以接受 5V 供电,可以直接购买 USB 公头转杜邦线的模块进行供电,否则需要购买 USB 接口的稳压模块等,以转换电源电压。这些模块推荐到淘宝 Telesky 旗舰店选购。


最后更新: 2021年4月13日
作者: Harry Chen (88.03%), gaoyichuan (11.97%)