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

关键字:保定电子元器件 保定电子(zǐ)元件 电(diàn)子元(yuán)器件 电子(zǐ)元件