SPI中从控如何给某个从设备发送信息?(比如SPI总线上有多个相同的设备A,B,C设备,那么它如此那信息传送给C,而不是A,B)
1. 首先对于软件开发而言,不需要很详细的了解硬件的整个细节,但要概括的知道这个协议是怎么工作的,下面作概要的整理,以备以后查看。
2.大概的工作原理过程是:主控端发送信息包(指令、地址(软件事先是知道设备的地址) 、数据)发送到SPI总线上,然后,如果使能(从设备上有片选引脚)的从设备,它就会去检查信息包的中的地址,如果与自己的match,就接收信息,如果不是就不处理,信息包传到下一个从设备,从设备match地址,反复进行。【只是概括的说,细节上肯定还有更细致的操作】
主片在访问某一从片时,必须使该从片的片选信号有效;主片在SCK信号的同步下,通过SI线发出指令、地址信息;如需将数据输出,则接着写指令,由SCK同步在SI线上发出数据;如需读回数据,则接着读指令,由主片发出SCK,从片根据SCK的节拍通过SO发回数据。因而对具有SPI接口的从片器件来讲,SCK、SI是输入信号,SO是输出信号。SCK用于主片和从片通信的同步。SI用于将信息传输到器件,输入的信息包括指令、地址和数据,指令、地址和数据的变化在SCK的低电平期间进行,并由SCK信号的上升沿锁存。SO用于将信息从器件传出,传出的信息包括状态和数据,信息在SCK信号的下降沿移出。