1.SPI接口原理
串行外(wài)围设(shè)备接口(Serial Peripheral Interface,SPI),用来(lái)在微控制器和外围设备芯(xīn)片之间提供一个低成本、易使用的接口(SPI有(yǒu)时候也(yě)被(bèi)称为4线(xiàn)接口)。这种接口可以用(yòng)来连接存(cún)储器(存储数(shù)据)、A/D转(zhuǎn)换器、D/A转换(huàn)器(qì)、实时时钟日历、LCD驱动器、传感器等等。
SPI主(zhǔ)要使用四个信(xìn)号:主机输出(chū)/从(cóng)机(jī)输入(MOSI)、主机输入(rù)/从机输出(MISO)、串行SCLK或SCK、外设芯片(piàn)(CS)。有些处理器有(yǒu)SPI接(jiē)口(kǒu)专用的(de)芯片(piàn)选择(zé),称为从机选择SS。
MOSI信号由主机(jī)产生,从(cóng)机(jī)接(jiē)受。在(zài)有些(xiē)芯(xīn)片上(shàng),MOSI只被简单(dān)地标为串行输(shū)入(SI),或者串行数(shù)据输入SDI。MISO信号由(yóu)从机产生,不过还(hái)是在主(zhǔ)机的控制下产(chǎn)生的。在一些芯片上,MISO有时被称(chēng)为(wéi)串(chuàn)行输出(SO),或(huò)者串行(háng)数据输出(SDO)。外设片(piàn)选信号(hào)通常只是(shì)由主(zhǔ)机(jī)的备用I/O引脚产生。
与标准(zhǔn)的串行接口(kǒu)接口(kǒu)不(bú)同(tóng),SPI是一个同步协议接口,所有的传输都参照一个共同的时钟(zhōng),这个同(tóng)步时钟信号由主机(jī)产生(shēng),接收数据的外(wài)设使用时(shí)钟来对串行比特流的(de)接(jiē)受进(jìn)行(háng)同步化。可以(yǐ)将多个具有SPI接口的芯片连到主机的同一个SPI接口上,主机(jī)通过控制(zhì)从(cóng)设备(bèi)的片选输入引脚(jiǎo)来选择接受(shòu)数据的从设备。
2.SPI传输过程
主机(jī)和外设都(dōu)包含(hán)一个串(chuàn)行移位寄存器,主机通过它的SPI串行寄(jì)存器写入(rù)一个字(zì)节来发(fā)起一次传输。寄存器是通(tōng)过MOSI信号(hào)线将字节传送(sòng)给外设,外设也将(jiāng)自己的移位寄(jì)存器(qì)中的内容(róng)通过MISO信号线返回给主机。这样,两(liǎng)个移位寄存器(qì)中的内容就被交(jiāo)换了(le)。外设(shè)的写操作和读操作是同步完成(chéng)的,因此SPI成为一个很有效的协议。
如果只是进(jìn)行写操作,主(zhǔ)机只需忽略收到的(de)字节;反过来,如果主机要读取外设(shè)的一个(gè)字节,就必须(xū)发送一个空字节来(lái)引发从机的传输。
当主机发送一个(gè)连续(xù)的数据(jù)流(liú)时,有(yǒu)些外设能够进(jìn)行多字节传输。许(xǔ)多拥有(yǒu)SPI接口的存储器芯片(piàn)都以这种方式工作。在这种传(chuán)输(shū)方式下,SPI外设(shè)的(de)芯片选择端必须在整个传输(shū)过程中保持低电平。比(bǐ)如,存储器芯片会希望在(zài)一个“写“命令之后紧接着(zhe)收到(dào)的(de)是(shì)四个(gè)地址(zhǐ)字(zì)节(起始地址),这样,后面接受到的数(shù)据就可以存(cún)储到该地址。一次传输可能(néng)会(huì)涉及千字节的移位或更多(duō)信息。
其他外设只需要(yào)一个单字节(比如一个发给A/D转换器的命令),有些甚(shèn)至还支持菊花(huā)链连接,菊(jú)花链(liàn)连(lián)接三(sān)台SPI设备,如下(xià)图:
主机处理器从其(qí)SPI接口发送三个字节的数据。第(dì)一个(gè)字(zì)节发送给外设A,当第二个字节发送给(gěi)外设A的时(shí)候(hòu),第一(yī)个字节已移出了A,而传送给了B。同样,主机想要从外(wài)设A读取一个(gè)结果,它(tā)必须(xū)再发送一个3字节(空字节)的序列,这样就可以(yǐ)把(bǎ)A中的数(shù)据(jù)移到(dào)B中,然(rán)后再移到C中,最(zuì)后送回(huí)到主机。在这个过程(chéng)中,主机还依次从(cóng)B和C接受到字节。
注意,菊花链连(lián)接不(bú)一定(dìng)适用于所有的SPI设(shè)备,特别是(shì)要求多(duō)字节传输的设备(比如存储器芯(xīn)片(piàn)),有的外设芯片也不支持菊花链(liàn)连接。
根据时钟极性(xìng)和(hé)时钟相位的不(bú)同,SPI有四(sì)个工作(zuò)模式:
时钟极性(xìng)CPOL有高、低两极;时钟极性为低(dī)电平时,空闲时时钟(SCK)处于低电平,传输(shū)时跳到高电平;时钟极性为高电平时(shí),空闲(xián)时时钟处于高电(diàn)平,传(chuán)输(shū)时跳到(dào)低电平(píng)。
时钟相(xiàng)位CPHA有两个(gè):时钟相位0和时钟相位1。当时钟相位为0时,时(shí)钟周期的前一边缘采集数据(jù);当(dāng)时钟相位为1时(shí),时钟周期的后一边缘(yuán)采集数据。
客服QQ1:63355785 客服(fú)QQ2:61303373 客服QQ3:67399965 客服QQ4:2656068273 产品分类(lèi)地图
版(bǎn)权所(suǒ)有(yǒu):保定市乐鱼手机入口和禾邦电子(zǐ)有限公(gōng)司(sī) 保定市乐鱼手机入口和禾邦电子有限公(gōng)司营业(yè)执照(zhào)

关键(jiàn)字:保定电子元器件 保定(dìng)电子(zǐ)元件(jiàn) 电子元器件 电子元件