1. SPI ͨ��Э����
SPI Э������Ħ��������˾�����ͨѶЭ��(Serial Peripheral Interface)����������Χ�� ���ӿڣ���һ�ָ���ȫ˫����ͨ�����ߡ������㷺��ʹ���� ADC�� LCD ���豸�� MCU �䣬Ҫ��ͨѶ���ʽϸߵij��� ѧϰ����ʱ������ I2C �½ڶԱ��Ķ����������ͨѶ���ߵIJ��졣�������Ƿֱ�� SPI Э��������㼰Э�����н��⡣
1.1 SPI ������

SPI ͨѶʹ�� 3 ������Ƭѡ�ߣ�3 �����߷ֱ�Ϊ SCK��MOSI��MISO��Ƭѡ��Ϊ �����ǵ����ý������£�
(1) ( Slave Select)�����豸ѡ���ź��ߣ�����ΪƬѡ�ź� �ߣ�Ҳ��Ϊ NSS��CS�������� NSS ��ʾ�����ж�� SPI ���豸�� SPI ��������ʱ���豸�������� ���� SCK��MOSI �� MISO ͬʱ��������ͬ�� SPI �����ϣ��������ж��ٸ����豸������ֻͬʹ���� 3 �����ߣ���ÿ�����豸���ж�������һ�� NSS �ź��ߣ����ź��߶�ռ������һ�����ţ����ж��ٸ����豸�����ж�����Ƭѡ�ź��ߡ�I2C Э����ͨ���豸��ַ��Ѱַ��ѡ�������ϵ�ij���豸���������ͨѶ���� SPI Э����û���豸��ַ����ʹ�� NSS �ź�����Ѱַ��������Ҫѡ����豸ʱ���Ѹô��豸�� NSS �ź�������Ϊ�͵�ƽ���ô��豸����ѡ�У���Ƭѡ��Ч�������� ����ʼ�뱻ѡ�еĴ��豸���� SPI ͨѶ������ SPI ͨѶ�� NSS ���õ͵�ƽΪ��ʼ�źţ��� NSS �߱�������Ϊ�����źš�
(2) SCK (Serial Clock)��ʱ���ź��ߣ�����ͨѶ����ͬ��������ͨѶ����������������ͨѶ�����ʣ���ͬ�� �豸֧�ֵ����ʱ��Ƶ�ʲ�һ������ RT1052 �� SPI ʱ��Ƶ�����Ϊ fpclk/2�������豸֮ ��ͨѶʱ��ͨѶ���������ڵ����豸��
(3) MOSI (Master Output�� Slave Input)�����豸���/���豸�������š������� ���ݴ������ź���������ӻ��������ź��߶����������͵����ݣ��������������ݵķ���Ϊ�������ӻ���
(4) MISO(Master Input,��Slave Output)�����豸����/���豸������š������������ź��߶� �����ݣ��ӻ��������������ź�����������������������������ݵķ���Ϊ�ӻ���������
1.2 SPI ���
�� I2C �����ƣ�SPI Э�鶨����ͨѶ����ʼ��ֹͣ�źš�������Ч�ԡ�ʱ��ͬ���Ȼ��ڡ�
1.2.1 ͨ��ʱ��

����һ��������ͨѶʱ��NSS��SCK��MOSI �źŶ����������Ʋ������� MISO ���ź��ɴӻ�����������ͨ�����ź��߶�ȡ�ӻ������ݡ�MOSI �� MISO ���ź�ֻ�� NSS Ϊ�͵�ƽ��ʱ�����Ч���� SCK ��ÿ��ʱ������ MOSI �� MISO ����һλ���ݡ�
������ͨ�����̽��зֽ⣺
��ʼ�źź�ֹͣ�ź�
����ͼ�еı�Ŵ���NSS �ź����ɸ߱�ͣ��� SPI ͨѶ����ʼ�źš�NSS ��ÿ���ӻ����Զ�ռ���ź��ߣ����ӻ������Լ��� NSS ����ʼ�źź?�֪���Լ�������ѡ���ˣ���ʼ�������� ͨѶ����ͼ�еı�Ŵ���NSS �ź��ɵͱ�ߣ��� SPI ͨѶ��ֹͣ�źţ���ʾ����ͨѶ�������ӻ���ѡ��״̬��ȡ����һ�仰��NSS ��ƽ���Ϳ�ʼͨ�ţ�NSS ��ƽ���߽���ͨ�š�
��������
SPI ʹ�� MOSI �� MISO �ź������������ݣ�ʹ�� SCK �ź��߽�������ͬ����MOSI �� MISO �������� SCK ��ÿ��ʱ�����ڴ���һλ���ݣ����������������ͬʱ���еġ����ݴ���ʱ��MSB ���л� LSB ���в�û����Ӳ�Թ涨����Ҫ��֤���� SPI ͨѶ�豸֮��ʹ��ͬ����Э����һ�㶼�������ͼ�е� MSB ����ģʽ��
�۲�ͼ�еı�Ŵ���MOSI �� MISO �������� SCK ���������ڼ�仯������� SCK ���½���ʱ������������ SCK ���½���ʱ�̣�MOSI �� MISO ��������Ч���ߵ�ƽʱ��ʾ���ݡ�1����Ϊ�͵� ƽʱ��ʾ���ݡ�0����������ʱ�̣�������Ч��MOSI �� MISO Ϊ��һ�α�ʾ�����������ܵ���˵������ʱ���ߵ������غ��½���ʱ��MOSI �� MISO �Ĵ�ʱ�ĵ�ƽ״̬��ʾһλ���ݡ�
SPI ÿ�����ݴ������ 8 λ�� 16 λΪ��λ��ÿ�δ���ĵ�λ���������ơ�
CPOL/CPHA ��ͨѶģʽ
���潲����ͼ�е�ʱ��ֻ�� SPI �е�����һ��ͨѶģʽ��SPI һ��������ͨѶ ģʽ�����ǵ���Ҫ���������߿���ʱ SCK ��ʱ��״̬�Լ����ݲ���ʱ�̡�Ϊ����˵�����ڴ� ���롰ʱ�Ӽ��� CPOL���͡�ʱ����λ CPHA���ĸ��
ʱ�Ӽ��� CPOL ��ָ SPI ͨѶ�豸���ڿ���״̬ʱ��SCK �ź��ߵĵ�ƽ�ź�(�� SPI ͨѶ��ʼǰ�� NSS ��Ϊ�ߵ�ƽʱ SCK ��״̬)��CPOL=0 ʱ�� SCK �ڿ���״̬ʱΪ�͵�ƽ��CPOL=1 ʱ�����෴��
ʱ����λ CPHA ��ָ���ݵIJ�����ʱ�̣��� CPHA=0 ʱ��MOSI �� MISO �������ϵ��ź� ������ SCK ʱ���ߵġ��������ء����������� CPHA=1 ʱ���������� SCK �ġ�ż�����ء�������

| SPI ģʽ | CPOL | CPHA | ����ʱ SCK ʱ�� | ����ʱ�� |
|---|---|---|---|---|
| 0 | 0 | 0 | �͵�ƽ | �������� |
| 1 | 0 | 1 | �͵�ƽ | ż������ |
| 2 | 1 | 0 | �ߵ�ƽ | �������� |
| 3 | 1 | 1 | �ߵ�ƽ | ż������ |
2.��չ SPI Э�飨Single/Dual/Quad/Octal SPI��
���Ͻ��ܵ��Ǿ��� SPI Э������ݣ�����Ҳ����Ϊ�� SPI Э�飨Standard SPI���� �� SPI Э�飨Single SPI�������еĵ�����ָ�� SPI Э����ʹ�õ��������� MOSI ���з������ݣ����������� MISO ���н������ݡ�
Ϊ����Ӧ�������ʵ�ͨѶ���?뵼�峧����չ SPI Э�飬��Ҫ��չ���� Dual/Quad/Octal SPI Э�飬���� �� SPI Э�飨Single SPI����������Э�����Ҫ�����������ߵ�������ͨѶ��ʽ��������±���
�� ���� SPI �������
| SPI ģʽ | ���������������� | ͨѶ��ʽ |
|---|---|---|
| Single SPI(�� SPI) | һ������һ������ | ȫ˫�� |
| Dual SPI��˫�� SPI�� | �շ������������� | ��˫�� |
| Quad SPI������ SPI�� | �շ������ĸ����� | ��˫�� |
| Octal SPI������ SPI�� | �շ����ð˸����� | ��˫�� |
��չ������ SPI Э�鶼�ǰ�˫����ͨѶ��ʽ��Ҳ����˵���ǵ��������Ƿ�ʱ�����շ� ���ݵġ����磬�� SPI��Single SPI����˫�� SPI��Dual SPI���������������ߣ��� �� SPI��Single SPI��������һ��������ֻ�������ͣ���һ��������ֻ�������գ���ȫ˫������˫�� SPI��Dual SPI���������߶������շ����ܣ�����ͬһʱ��ֻ���Ƿ��ͻ����ǽ��գ����� ˫�������� SPI��Quad SPI���� ���� SPI��Octal SPI����˫�� SPI��Dual SPI�����ƣ�ֻ����������������
2.1 SDR �� DDR ģʽ
��չ�� SPI Э�黹������ SDR ģʽ���������� Single Data Rate���� DDR ģʽ��˫������ Double Data Rate���������ڱ� SPI Э��� SDR ģʽ�£�ֻ�� SCK �ĵ����ؽ������ݴ��䣬��һ�� SCK ʱ��ֻ����һλ���ݣ��������� DDR ģʽ�£����� SCK �������غ��½��ض��������ݴ��䣬��һ�� SCK ʱ���ܴ�����λ���ݣ������������һ����