Industry information

基于Apollo2SDK上OLED屏幕的实现【26888开元棋官方网站】

:26888开元棋官方网站 :2023-11-22
本文摘要:1.SPI通信原理SPI是串行外设模块(SerialPeripheralInterface)的简写。

1.SPI通信原理SPI是串行外设模块(SerialPeripheralInterface)的简写。是Motorola公司发售的一种实时串行接口技术,是一种高速的,全双工,实时的通信总线。SPI的通信原理很非常简单,它以主从方式工作,这种模式一般来说有一个主设备和一个或多个从设备,必须最少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共计的,它们是SDI(数据输出)、SDO(数据输入)、SCLK(时钟)、CS(片中选)。

1.MOSI/SDI–SerialDataIn,串行数据输出;2.MISO/SDO–SerialDataOut,串行数据输入;3.SCLK–SerialClock,时钟信号,由主设备产生;4.CS–ChipSelect,从设备使能信号,由主设备掌控。其中,CS就是指芯片否被主芯片顺位的掌控信号,也就是说只有片中选信号为预先规定的使能信号时(高电位或较低电位),主芯片回应从芯片的操作者才有效地。这就使在同一条总线上相连多个SPI设备沦为有可能。

接下来就负责管理通讯的3根线了。通讯是通过数据交换已完成的,这里再行要告诉SPI是串行通讯协议,也就是说数据是一位一位的传输的。

这就是SCLK时钟线不存在的原因,由SCLK获取时钟脉冲,SDI,SDO则基于此脉冲已完成数据传输。数据输入通过SDO线,数据在时钟下降沿或上升沿时转变,在紧接着的上升沿或下降沿被加载。已完成一位数据传输,输出也用于某种程度原理。因此,最少必须8次时钟信号的转变(上沿和下沿为一次),才能已完成8位数据的传输。

(图1)SPI通信结构图(图2)SPI常规读书操作者(图3)SPI常规写出操作者2.SPI的四种模式根据SPI时钟极性(CPOL)和时钟振幅(CPHA)配备的有所不同可分成4种模式。时钟极性是指SPI通信设备正处于空闲状态时(或SPI通信开始时,即SS为低电平时),SCK的电平信号CPOL=0时,SCK空闲状态为低电平,CPOL=1时则忽略。

时钟振幅是指数据取样的时刻,当CPHA=0时,MOSI或MISO数据线不会在时钟线第一个边沿开始取样(奇数边沿)。当CPHA=1时,MOSI或MISO数据线不会在时钟线第二个边沿开始取样(偶数边沿)。详尽如下:1.CPOL=0,CPHA=0:此时空闲态时,SCLK正处于低电平,数据取样是在第1个边沿,也就是SCLK由低电平到高电平的跳变,所以数据取样是在下降沿,数据发送到是在上升沿。

2.CPOL=0,CPHA=1:此时空闲态时,SCLK正处于低电平,数据发送到是在第1个边沿,也就是SCLK由低电平到高电平的跳变,所以数据取样是在上升沿,数据发送到是在下降沿。3.CPOL=1,CPHA=0:此时空闲态时,SCLK正处于高电平,数据采集是在第1个边沿,也就是SCLK由高电平到低电平的跳变,所以数据采集是在上升沿,数据发送到是在下降沿。4.CPOL=1,CPHA=1:此时空闲态时,SCLK正处于高电平,数据发送到是在第1个边沿,也就是SCLK由高电平到低电平的跳变,所以数据采集是在下降沿,数据发送到是在上升沿。(图4)SPI的CPOL和CPHA3.硬件SPI与仿真SPI的区别在仿真SPI的模式下,我们必须用于IO口去仿真SPI的时序,这个仿真的全部过程,都必须CPU全程负责管理,但在提供或者发送数据的时候,可能会用于软件延时,这个时间在数据交互量并不大的情况下并显著,但是如果数据量大,可能会被打乱SPI的时序。

对于硬件SPI来说,我们只必须打开适当的寄存器配备和对应的中断。数据的交互就不必须CPU参予。当传输中断产生的时候,CPU只必须从中断中运送数据就好了,省下了软件仿真IO的存取时间。

让CPU省下更加多时间去运营其他代码。4.硬件SPI的配备首先我们必须确认OLED屏幕上面的插槽,如图:(图5)OLED硬件管脚图GND-短路VCC–接3.3VSCL–接SCK(5脚)SDA–接MOSI(7脚)RST–接42脚(可改动)DC–接43脚(可改动)作为Master模式下,获取有6两组IO供词用户自由选择,而作为Slave有1两组。


本文关键词:26888开元棋官方网站

本文来源:26888开元棋官方网站-www.puloduplo.com