基于SPI通信的EEPROM的程序设计
2019-10-21王齐英,曾富豪,王维志,田涌君
王齐英,曾富豪,王维志 ,田涌君



摘 要:文章基于英飞凌TC27x系列单片机的SPI模块,对SPI通信的原理做了详细的说明,编写了SPI底层驱动的代码,根据EEPROM的操作手册,实现了主控板与EEPROM之间的数据交互,为EEPROM的动态数据存储提供很好的实现方式。
关键词:英飞凌;SPI;EEPROM
中图分类号:TN911 文献标识码:A 文章编号:1671-7988(2019)23-88-03
Programming of EEPROM Based on SPI Communication
Wang Qiyin1, Zeng Fuhao2, Wang Weizhi1, Tian Yongjun1
(1.China Automotive Technology and Research Center, TianJing 300300;
2.School of Automobile, Chang'an University, Shaanxi Xian 710064)
Abstract: This article is based on the SPI module of Infineon TC27x series MCU, and make a detail description about principle of SPI communication, In addition, Write the code for the SPI underlying driver. According to the EEPROM operating manual, the data interaction between main control board and EEPROM have been realized, which Provides a good implementation of dynamic data storage for EEPROM.
Keywords: Infineon; SPI; EEPROM
CLC NO.: TN911 Document Code: A Article ID: 1671-7988(2019)23-88-03
引言
在做数据存储的过程中,有时需要将有用的数据保留,如果用Flash存储数据则会占用较多的RAM资源,成本也会提高,因此为了降低单片机的成本,本文采用了一个外设芯片EEPROM作为数据存储,通过SPI通信来实现TC277与EEPROM之间的通信。
1 SPI通信原理
SPI是串行外設接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,它含有四根线,分别为数据输入线(SDI),数据输出线(SDO),时钟线(SCLK),片选线(CS),SDI是EEPROM向主芯片TC277传输数据的信号线,CS是EEPROM使能信号线,通过将CS信号拉低,代表EEPROM被选中,SDO是TC277向EEPROM传输数据的信号线,SCLK主要是用来产生时钟信号,在SPI通信的过程中有四种工作模式,这四种工作模式通过配置时钟极性(CPOL)和时钟相位(CPHA)从而控制TC277的通信模式,本文所使用的的工作模式为CPOL=0和CPHA=0,CPOL=0代表着时钟信号在低电平时空闲,在高电平时处于工作状态,CPHA=0代表着数据的采样是在上升沿,数据的发送在下降沿。
2 EEPROM实现原理
本文所使用的EEPROM芯片为M95128,内存大小为16Kbytes,地址范围为0x0000~0x3FFF,每页的数据大小为64Byte,该芯片含有8个引脚,VCC代表供电电压,当供电电压在1.7V到2.5v之间时通信频率可以达到5MHz,(S代表芯片选择信号,低有效,D代表数据的输入,Q代表数据的输出,引脚分配……
