0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

没有直接可用的Pmod驱动?传授你一招填坑秘籍

YCqV_FPGA_EETre 来源:互联网 作者:佚名 2018-01-17 09:01 次阅读

没有直接可用的Pmod驱动?

传授你一招填坑秘籍

之前我们提到过「Pmod传感模块」,这一搭配FPGA开发板进行快速原型系统开发的利器。事实上,除了Pmod标准定义接口的专利方 —— Digilent公司所提供的近百种功能丰富的原厂Pmod传感模块之外(一般都配有免费的ip驱动供开发者直接调用),市场上存在着很多来自不同供应商所提供的可用Pmod模块。

然鹅,很多来自于不知名小厂的Pmod(以***、深圳的山寨厂商居多),往往并不提供模块驱动,需要用户自己去写驱动填坑。如果你不幸中招,聊表安慰之余,今天就传授你一招填坑秘籍,教你在没有可用驱动情况下的应对之策。

先说重点:如果没有可用的驱动,可以使用Zynq SoC PL端(可编程逻辑)的Pmod桥模块,它让我们能够在选用的开发板与Pmod端口之间建立正确的映射,然后开发我们自己的Zynq PS(处理系统)驱动。假如你仔细研究正规厂商所提供的Pmod驱动,你会发现这些驱动其实也是使用Pmod桥加上一个AXI I2C或者SPI组件所实现的。

图:Digilent PmodAD2:12位四通道模拟数字转换器的驱动组件

此文中,我们就将以Digilent(迪芝伦)PmodDA4:8通道DAC模块,以及PmodAD2:4通道ADC模块为例,我们将这两个模块整合在一起,借助Pmod桥模块自行开发驱动,用PmodDA4生成模拟信号,并用PmodAD2来接收信号。

图:用Digilent Analog Discovery口袋仪器对PmodDA4测试

Pmod桥模块允许我们定义开发板板载Pmod接口上下两排的输入类型,可以选择定义为GPIO、UART、I2C或者SPI协议接口。我们为所需驱动的板载Pmod接口上下层都进行相应的选择配置,使得Pmod传感器的管脚输出(pinout)与对应的板载接口标准一致。有兴趣的朋友,可点击「阅读原文」下载查看Digilent Pmod传感器的接口标准文档

对于PmodDA4,我们只需要在板载Pmod接口上层使用SPI协议。这样选择后,我们需要提供实际的SPI通信通道。由于我们使用的是Zynq SoC开发板(Digilent Arty Z7),所以这里我们有两个选择。第一个方法是在PL端使用AXI SPI IP模块与Pmod桥模块建立连接。第二个方法(也是这里我们将采用的)是使用EMIO建立Zynq PS SPI与Pmod桥中间的连接。这一方法将让我们能够在PS SPI端口与Pmod桥模块输入管脚之间建立直连。

为了实现这一点我们需要阅读官方的Pmod接口标准文档来确保SPI管脚与Pmod桥输入管脚之间正确的映射(例如哪个PS SPI信号连接到IN_0)。Pmod 桥模块的管脚代表不同的接口类型,它们的命名也是通用的。下面的框图展示了这里我们是如何实现PmodDA4管脚的映射。在这个示例中我们完成管脚映射后就可以构建工程,导出到SDK,编写软件程序驱动DA4。

我们可以使用SDK中由BSP创建的SPI驱动来驱动PmodDA4。为了实现与PmodDA4的交互,第一件事我们要做的就是初始化SPI控制器。我们设置好SPI时钟相位和主操作选项后就可以定义缓冲区,并使用轮询传输模式将所需的信息传递给PmodDA4。更复杂的驱动则将使用中断驱动方式而非轮询的方式。

下面,我们对创建好的PmodDA4驱动文件进行测试。我们驱动一个简单的谐波输出,并使用Digilent Analog Discovery口袋仪器的示波器功能来监测DAC输出。接收到的信号如下:

完成了所有设置PmodDA4以预期的方式正常工作,然后我们将PmodDA4与PmodAD2连接在一起,这样Zynq SoC才能够接收信号:

测试时我们要非常仔细,以确保PmodDA4输出的信号在PmodAD2的工作范围内,全部完成后则会显示PmodDA4能够在硬件上正常工作。

到这里,相信大家已经了解了在没有可用驱动的情况下如何自行创建Pmod驱动。当然,填坑往往是不得已而为之,人生苦短,芳华有限,尽量少碰不提供驱动的山寨小厂Pmod才是王道。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 赛灵思
    +关注

    关注

    32

    文章

    1794

    浏览量

    130522
  • 传感模块
    +关注

    关注

    0

    文章

    8

    浏览量

    7731
  • Pmod驱动
    +关注

    关注

    0

    文章

    1

    浏览量

    1886

原文标题:只需一招,Zynq搭配Pmod开发,没驱动也不怕

文章出处:【微信号:FPGA-EETrend,微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CYUSB3014烧录SPI FLASH image时总是报错的原因?可以通过USB直接更新SPI FLASH吗?

    时,硬件PMOD设置为SPI boot模式,但SPI FLASH中是空的,想通过USB更新SPI FLASH,但是无法成功,这样编程使用时十分麻烦,每次都要手动调整硬件PMOD的电阻来改变3014的boot方式。请问这种情况下,有没有
    发表于 02-28 07:40

    Verilog设计快速入门秘籍

    Verilog设计快速入门秘籍,拿走不谢!
    发表于 11-03 12:00

    什么是直接驱动电机?何时使用直接驱动电机

    直接驱动电机的转速-扭矩曲线与伺服电机很像,减速比在 10:1 左右,有时可高达 100:1。图2显示了适合齿轮伺服电机或直接驱动电机应用的转速-扭矩曲线以及RMS和峰值运行点。在本例
    的头像 发表于 10-29 11:10 396次阅读
    什么是<b class='flag-5'>直接</b><b class='flag-5'>驱动</b>电机?何时使用<b class='flag-5'>直接</b><b class='flag-5'>驱动</b>电机

    MOS管驱动电路设计秘籍

    MOS管驱动电路设计秘籍(工作原理 电路设计 问题总结)
    发表于 09-27 06:44

    JA JB JC接口怎么结合pmod接口的摄像头使用?

    想问下JA JB JC接口的用法,怎么结合pmod接口的摄像头使用,这个接口和内核的管脚对应关系,然后怎么用它们把摄像头的数据交给内核或者交给显示屏
    发表于 08-16 08:05

    实现HMI直接访问驱动参数的方法

    SINAMICS V90PN驱动器可以通过模拟S7-CPU,将数据库访问从HMI映射到驱动参数,该功能可实现在没有SIMATIC S7控制器时,SIMATIC HMI对驱动参数的
    的头像 发表于 07-11 17:14 500次阅读
    实现HMI<b class='flag-5'>直接</b>访问<b class='flag-5'>驱动</b>参数的方法

    原理图 Silex Pmod Module

    原理图 Silex Pmod Module
    发表于 07-05 20:31 1次下载
    原理图 Silex <b class='flag-5'>Pmod</b> Module

    Wi-Fi Pmod™ 扩展板 – 快速入门指南

    Wi-Fi Pmod™ 扩展板 – 快速入门指南
    发表于 07-04 20:30 0次下载
    Wi-Fi <b class='flag-5'>Pmod</b>™ 扩展板 – 快速入门指南

    Pmod™ PLC Module Evaluation Kit(Y-PMOD-OFDM-PLC-X3) 用户手册 Rev.1.02

    Pmod™ PLC Module Evaluation Kit (Y-PMOD-OFDM-PLC-X3) 用户手册 Rev.1.02
    发表于 07-04 20:04 0次下载
    <b class='flag-5'>Pmod</b>™ PLC Module Evaluation Kit(Y-<b class='flag-5'>PMOD</b>-OFDM-PLC-X3) 用户手册 Rev.1.02

    Pmod™ PLC 模块评估套件(Y-PMOD-OFDM-PLC-X3) 原理图/BOM

    Pmod™ PLC 模块评估套件 (Y-PMOD-OFDM-PLC-X3) 原理图/BOM
    发表于 07-04 20:03 0次下载
    <b class='flag-5'>Pmod</b>™ PLC 模块评估套件(Y-<b class='flag-5'>PMOD</b>-OFDM-PLC-X3) 原理图/BOM

    RYZ014A Pmod™ 扩展板-勘误表

    RYZ014A Pmod™ 扩展板 - 勘误表
    发表于 06-30 20:40 0次下载
    RYZ014A <b class='flag-5'>Pmod</b>™ 扩展板-勘误表

    RYZ012A1 Pmod™ 扩展板快速入门指南

    RYZ012A1 Pmod™ 扩展板快速入门指南
    发表于 06-30 20:32 0次下载
    RYZ012A1 <b class='flag-5'>Pmod</b>™ 扩展板快速入门指南

    RYZ014A Pmod™ 扩展板 – 快速入门指南

    RYZ014A Pmod™ 扩展板 – 快速入门指南
    发表于 06-30 19:01 0次下载
    RYZ014A <b class='flag-5'>Pmod</b>™ 扩展板 – 快速入门指南

    Verilog中Pmod ALS的SPI接口代码

    电子发烧友网站提供《Verilog中Pmod ALS的SPI接口代码.zip》资料免费下载
    发表于 06-15 09:32 0次下载
    Verilog中<b class='flag-5'>Pmod</b> ALS的SPI接口代码

    物理验证一招制胜,IC设计快人一步

    原文标题:物理验证一招制胜,IC设计快人一步 文章出处:【微信公众号:新思科技】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 05-26 03:05 284次阅读
    物理验证<b class='flag-5'>一招</b>制胜,IC设计快人一步