Pmod接口标准是由Xilinx的第三方合作伙伴迪芝伦(Digilent)制定的接口扩展规范。它主要针对低频、少引脚的外围模块。
接口定义了6 脚和12脚接口。
6脚版本定义了4 个数字IO和一个电源,一个地线。
12脚版本定义了8个IO信号脚,一对电源脚和一对地线。
Pmod接口是将外设与FPGA开发板进行组合和匹配的很好方式,可利用方便、可手工焊接的连接器连接八个引脚以及电源和地。FPGA的灵活性允许将其八个信号引脚用于几乎所有功能。
尽管这提高了对FPGA的实用性,但也造成PMOD接口难以配合那些外设功能分配给特定引脚的微控制器。为解决这一问题,Digilent定义了多种不同的Pmod引脚排列类型,不同的功能分配给特定的引脚。
pmod 定义了下面几种类型
I2C
TYPE 1(GPIO)
TYPE 2(SPI)
TYPE 2A(扩展SPI)
TYPE 3 UART
TYPE4 UART
TYPE 4A (扩展的UART)
TYPE 5 ((H-Bridge)
TYPE 6 (dual H-Bridge)
类型定义使得微控制器板较容易使用Pmod接口标准,但仍然存在挑战。利用许多微控制器有限的引脚复用能力,难以实现真正的通用接口,已被废弃的Type 3 UART接口就是很好的例子。然而,即使存在局限性,对于原型或教育目的,Pmod接口是一种非常有用的扩展端口。
KV260实现了一个12脚的PMOD接口,该部分的原理图如下:
在DS987中可以看到HDA对应HDIO bank 45
虽然没有核心板的原理图,但是我们可以从xtp685-kria-k26-som-xdc.zip里面找到管脚约束文件
A17
set_property PACKAGE_PIN H12 [get_ports “som240_1_a17”] ;# Bank 45 VCCO - som240_1_b13 - IO_L4N_AD12N_45
D20
set_property PACKAGE_PIN E10 [get_ports “som240_1_d20”] ;# Bank 45 VCCO - som240_1_b13 - IO_L7P_HDGC_45
D21
set_property PACKAGE_PIN D10 [get_ports “som240_1_d21”] ;# Bank 45 VCCO - som240_1_b13 - IO_L7N_HDGC_45
D22
set_property PACKAGE_PIN D11 [get_ports “som240_1_b22”] ;# Bank 45 VCCO - som240_1_b13 - IO_L8N_HDGC_45
B20
set_property PACKAGE_PIN B10 [get_ports “som240_1_b20”] ;# Bank 45 VCCO - som240_1_b13 - IO_L9N_AD11N_45
B21
set_property PACKAGE_PIN E12 [get_ports “som240_1_b21”] ;# Bank 45 VCCO - som240_1_b13 - IO_L8P_HDGC_45
B22
set_property PACKAGE_PIN D11 [get_ports “som240_1_b22”] ;# Bank 45 VCCO - som240_1_b13 - IO_L8N_HDGC_45
C22
set_property PACKAGE_PIN B11 [get_ports “som240_1_c22”] ;# Bank 45 VCCO - som240_1_b13 - IO_L10P_AD10P_45
所以,最后的对应关系如下:
PMOD管脚 | SOM管脚 | CPU管脚 |
---|---|---|
1 | som240_1_a17 | H12 |
2 | som240_1_d20 | E10 |
3 | som240_1_d21 | D10 |
4 | som240_1_d22 | D11 |
5 | som240_1_b20 | B10 |
6 | som240_1_b21 | E12 |
7 | som240_1_b22 | D11 |
8 | som240_1_c22 | B11 |