• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

有人会通过SPI接口读写另外一个芯片的GPIO吗?

guyuemao 2016-07-12 浏览量:1501
有人会通过SPI接口读写另外一个芯片的GPIO吗?现在需要读一个射频芯片的GPO口寄存器,射频芯片与主芯片通过SPI进行读写的,有大神知道吗,求指教了!
1 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案

其他答案 数量:11
  • 没有人回答,那我就答一下吧。SPI只是个通讯方式,通讯内容就是协议,自定义的。举个例子,比如SPI发给芯片一个值1,那么这个芯片的程序判断接收到的是1,就去读IO口。同理,如果读到2,就去写IO口。就是个传输过程,每个芯片自己的功能都由自己完成,接口用于通讯。
    • 发布于2016-07-12
    • 举报
    • 评论 0
    • 1
    • 0

  • LiuYang 发表于 2016-7-12 20:25
    没有人回答,那我就答一下吧。SPI只是个通讯方式,通讯内容就是协议,自定义的。举个例子,比如SPI发给芯片 ...

    这个道理我也懂点哦 现在问题是我们项目组的板子,怎么通过串口终端运行读写函数,另外一个芯片相当于是一个SPI device了,我不清楚能不能直接通过串口终端进入系统操作,如想给另外一个芯片的GPO引脚拉个高电平或者读取另外一个芯片的GPO引脚的寄存器?
    • 发布于2016-07-12
    • 举报
    • 评论 0
    • 1
    • 0

  • 1、板子上有系统么?什么系统?还是裸机程序?
    2、若是裸机,那么你要做串口到SPI到GPIO口的协议来完成。
    若是有linux系统,可以调用linux的SPI的操作程序通过SPI对射频芯片的GPO口寄存器读写。
    3、无论是哪一种,你都要有射频芯片的数据手册与GPO口寄存器地址,还有要有通讯协议。
    • 发布于2016-07-12
    • 举报
    • 评论 0
    • 1
    • 0

  • 先确定你所说的RF芯片类型,你需要去看RF芯片的datasheet和manual。
    情况一:有的RF芯片功能是固化的,并不是RF+处理器,或者说处理器不暴露给用户。
    这样的芯片,一般提供某种接口,如UART、IIC、SPI等给用户。一般的操作形式就是:设置地址(寄存器)+读写数据。你要按照datasheet或manual中提供的地址列表去查找你所需要实现的功能。如果其中有设置和读写IO的功能(对应的地址),那就可以。不支持的话就没办法了。所以这种情况需要你去确定RF芯片的型号,并查找其文档,看是否提供该功能。
    情况二:若RF芯片包含了一个MCU核,其通信协议是可编程的。
    这样的芯片,你要拿到该RF芯片源码,修改协议栈,增加读写IO相关功能,将其添加至通信协议中。
    情况三:RF芯片包含了一个MCU核,但协议是闭源形式的。
    这种情况,最好通过其它通信接口与你的主芯片连接。功能自己编程实现。

    • 发布于2016-07-13
    • 举报
    • 评论 0
    • 1
    • 0

  • guyuemao 发表于 2016-7-13 08:51
    是linux系统 怎么调用linux的SPI的操作程序,这个不是很会哦
    射频芯片的数据手册当然有了 官网就可以 ...
    这个是一个linux下的SPI测试程序,可能参考下。

    通讯协议是与射频芯片的通讯格式,手册上有。




    • 发布于2016-07-13
    • 举报
    • 评论 0
    • 1
    • 0

  • guyuemao 发表于 2016-7-12 22:08
    这个道理我也懂点哦 现在问题是我们项目组的板子,怎么通过串口终端运行读写函数,另外一个芯片相当于是 ...

    当然是不能,必须自己的事情自己完成,想通过串口就直接操作其他系统或芯片的寄存器,那是不可能的。
    • 发布于2016-07-13
    • 举报
    • 评论 0
    • 1
    • 0

  • 汉云 发表于 2016-7-12 23:35
    1、板子上有系统么?什么系统?还是裸机程序?
    2、若是裸机,那么你要做串口到SPI到GPIO口的协议来完成。
    ...

    是linux系统 怎么调用linux的SPI的操作程序,这个不是很会哦
    射频芯片的数据手册当然有了 官网就可以下载到 您说的通讯协议是要自己写还是说调用linux里的函数,这个我还没怎么弄明白呢
    • 发布于2016-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 汉云 发表于 2016-7-12 23:35
    1、板子上有系统么?什么系统?还是裸机程序?
    2、若是裸机,那么你要做串口到SPI到GPIO口的协议来完成。
    ...

    楼主说的有道理 RF芯片手册,我传一下吧

    • 发布于2016-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 999 发表于 2016-7-13 02:35
    先确定你所说的RF芯片类型,你需要去看RF芯片的datasheet和manual。
    情况一:有的RF芯片功能是固化的,并不 ...

    感谢您的热心回答!!!
    这个我也不是很清楚 RF芯片是ADI的AD936X系列的 官网资料还挺多的 可以肯定的是处理器对我们是开放的 我们可以操作处理器也就是主芯片的寄存器 现在控制射频信号大小时,可以通过厂家提供的上位机软件输入SPI命令 但是怎么操作GPIO口不是很清楚 我的想法是能不能通过SecureCRT这样的终端来执行读写命令?
    • 发布于2016-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 999 发表于 2016-7-13 14:02
    首先,这就是我说的第一种情况。功能是固化的,即你改变不了通信方式与协议,不能对其逻辑编程。
    这种芯 ...

    好的 现在已经可以通过串口终端读写主芯片的GPIO寄存器了 有了新的进展或问题 希望可以再交流交流
    • 发布于2016-07-15
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

有人会通过SPI接口读写另外一个芯片的GPIO吗?