Pmod硬件兼容性指南
欢迎来到Pmod硬件兼容性指南!
尽管你可能在我们的网站上看到过满足你需求的Pmod商店或维基,一个重要的问题仍然存在:Pmod能够与我的硬件物理接口吗?本指南将以Digilent系统板为例(考虑到这是Digilent Wiki),介绍如何确定这一点。
但首先,我要澄清一下。你们中的一些人可能已经在Wiki的其他页面或其他地方注意到Pmods与任何能够使用与Pmod通信相同的通信协议的系统板兼容。为什么要讨论兼容性呢?
这里有一个秘密:在编写软件(即代码)时,如果你有足够的时间、经验和才能,你可以通过编程设置来做任何你想做的事情,就像FPGA可以被编程来做任何你想做的事情一样。
但对于我们这些生活在凡间的人,包括我自己,理解如何使用已经提供给我们的工具是很有用的。令人欣慰的是,一些工作已经为我们完成了,我们如何才能知道这些工具在我们的设置中是否可用?让我们来看看。
确定硬件兼容性
Pmod连接到主机系统的方式主要有两种:通过主机板上的Pmod连接器,或单独将Pmod头上100 mil间隔的针脚连接到主机板上专用的适当通信协议的I/O针脚。这看起来很方便,有两个简单的选项,那么如何确定他们的硬件是否有这样的选项呢?
最简单的情况下
假如你碰巧在我们的网站上找到了适合你需要的Pmod商店或维基你和Digilent一起工作chipKIT Pro MX4.由于这是一个微控制器,我们可以相当肯定的是,它有一些专用的引脚,用于Pmods常用的每个通信协议。我们可以通过检查主机板的数据表(或在我们的情况下参考手册).
采用简单的方法(因为在这种情况下它是最快和最有效的),我们可以对我们正在寻找的任何特定协议进行Control+F搜索。在这里,我们可以看到chipKIT Pro MX4有三个通信协议,大多数Pmods使用:SPI, I²C和UART。此外,每个协议在板上都有一个专用的引脚头,因此我们能够直接将Pmod连接到主机板,而不需要任何不必要的交叉布线或其他繁琐的操作。
但也许我们的微控制器不是很方便,我们正在用chipKIT Wi-FIRE在板上没有任何明显的Pmod头。在这种情况下要寻找的东西是双重的:是否存在专用的引脚,如果存在,是否所有相关的引脚物理上位于彼此旁边?
再看一下参考手册,我们可以看到chipKIT Wi-FIRE板确实支持这三种通信协议。以SPI为例,很明显,用户可以利用所有的硬件引脚在PCB上的物理上靠近在一起(chipKIT引脚10、11、12和13)。
不明显的情况下
到目前为止,您可能已经注意到两件事:一是我忽略了Pmod生态系统的很大一部分——那些没有“标准”通信协议的生态系统,以及Digilent生态系统的另一个主要部分——fpga。
这些没有“标准”通信协议的Pmods,即那些按钮模块、电机驱动器、音频模块等,必须通过主机进行通信GPIO别针。系统板上的通用引脚(或I/O引脚)不一定是专用于某一特定功能的。通过这种方式,用户可以命令主机板的引脚应该如何执行,无论是作为简单的输入线,时钟线,或甚至模拟其他通信协议。
fpga天生与任何Pmod兼容。这样做的原因是,用户能够在FPGA本身内对硬件进行编程。通过这种方式,您可以配置它与FPGA上的任何I/O引脚上的任何系统的硬件兼容;你可以决定它的兼容性状态。
什么时候不兼容硬件?
在我看来,这几乎是最棘手的问题,首先要找出答案。当然,你可以搜索你的系统板的数据表,看看它是否有一些专用的硬件引脚的通信协议,但如果它没有呢?或者如果它有专用的别针,但它们没有很好地排列给你?
对我来说,这将是一个个人品味的问题:你是想努力让这两个硬件一起合作,还是不值得你花时间?这个我不能替你回答。
但我建议的是,如果你要模拟一个标准协议,这可能是两个组件不兼容硬件的情况。此外,如果Pmod碰巧需要大量的软件或固件才能正常工作(比如以太网堆栈),你可以考虑避免使用固件不支持的平台;结果很可能比你想象的要困难得多。
硬件兼容性表
快来找你!2016年(可能)