打印
[ZLG-ARM]

关于SPI返回数据的问题

[复制链接]
2007|13
手机看帖
扫描二维码
随时随地手机跟帖
沙发
txmac|  楼主 | 2008-3-13 13:07 | 只看该作者

续SPI问题

使用SPI接口读取从机的数据时,主机为什么又要发送数据???怎么回事呢?哪位高手帮忙解决下啊。。。

使用特权

评论回复
板凳
zlgarm| | 2008-3-13 13:31 | 只看该作者

to txmac

txmac,您好!
    对于您的问题作如下回答:
    1、SPI是全双工的通讯方式,即发送数据的同时会接收到一帧数据;
    2、至于返回的数据的作用:当需要从机给主机发送数据时,该返回值就是从机需要发送的数据;
    3、SPI读取从机数据时,主机发送数据是因为SPI通讯时时钟由主机来提供,主机数据给从机提供时钟信号。
                                        By zlgarm_wuzhijian

使用特权

评论回复
地板
txmac|  楼主 | 2008-3-13 13:59 | 只看该作者

续SPI

比如说我CPU控制一个外设(比如传感器之类的),通过SPI传输,我怎样才能把采集进来的值送给CPU呢??是不是先得向外设发一个数据,但一个什么数据呢?还有SPI返回的值就是采集进来的数据嘛???

使用特权

评论回复
5
txmac|  楼主 | 2008-3-13 14:06 | 只看该作者

还有当不需要从机给主机发送数据时,该返回值是不是随机的呢???

使用特权

评论回复
6
zlgarm| | 2008-3-13 14:24 | 只看该作者

to txmac

txmac,您好!
    首先您要把采集到的数据写到从机SPI数据寄存器中,然后通过传输标志来判断数据是否发送完毕。
    关于SPI做从机您可以参考《深入浅出ARM7——LPC213x/214x》一书,书中有详细说明。
                                         By zlgarm_wuzhijian

使用特权

评论回复
7
huangbingg| | 2008-3-13 14:28 | 只看该作者

实时关注中...

...

使用特权

评论回复
8
zlgarm| | 2008-3-13 14:29 | 只看该作者

SPI

txmac 您好!
    1.主机对从机返回的数据要做处理,比如CPU发出读命令,那么它返回的就是您要的数据。
    2、主机对从机返回的数据可以不用理睬。比如一些初始化操作。
    3、无论怎样这些都是与SPI器件有关的,不同的器件有不同的操作。
                   By zlgarm_lijintao

使用特权

评论回复
9
huangbingg| | 2008-3-13 15:04 | 只看该作者

再接上

使用特权

评论回复
10
huangbingg| | 2008-3-13 15:23 | 只看该作者

  那SPI内部应该有两个移存器吧,一个供接收,一个供发送???
  因为比如做主机时写SPDR寄存器发给从机,同时也在接收从机返回来的数据,你们基础教程只说一字节传输结束时将接收到的数据移到一数据缓冲区,但由于SPI传输都是发一位收一位的,不可能收发共用同一移存吧?


     谢周工明示!!

使用特权

评论回复
11
zlgarm| | 2008-3-13 15:35 | 只看该作者

huangbingg ,您好!

接收和发送使用的确实是使用同一寄存器(缓冲区)。
SPI相关内容,请仔细阅读我们提供的资料。同时您也可以通过实验来验证您的问题。
                                                                                                                      On duty: zlgarm_Zhangxiaomeng

使用特权

评论回复
12
txmac|  楼主 | 2008-3-13 16:01 | 只看该作者

SPI作主机时,SSEL要接上拉电阻,这样硬件连好后,主机向从机发送数据(比如你们实验教程3.25这个实验)使LED灯亮,这个好理解。那么如果不是HC595这个,我换个传感器来采集,那
         (1)传感器是作为从设机从设备吗?
         (2)如何才能把采集的值送给主机?具体步骤如何呢?(还是不是很清楚,清明示)
         

使用特权

评论回复
13
huangbingg| | 2008-3-13 16:24 | 只看该作者

顶楼上

  周工能祥细点吗,书都看了很多遍了,比如楼上问的,还是不明白,明示啊明示!!!~~~

   跪谢......

使用特权

评论回复
14
zlgarm| | 2008-3-13 16:40 | 只看该作者

to txmac

txmac,您好!
    对于您的问题作如下回答:
    1、您的传感器是标准的SPI接口吗?
    2、如果您的传感器是标准SPI接口的话,可以通过I/O口来控制传感器片选信号,关于怎么把采集的数据发送到CPU,请您详细阅读传感器数据手册进行相关设置;例如:有的带SPI接口的器件,通过主机发送一个读命令,可以把从机的数据读到CPU。
                                      By zlgarm_wuzhijian

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

17

帖子

0

粉丝