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

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