用户工具

站点工具


icore3l_arm-gd_14
银杏科技有限公司旗下技术文档发布平台
技术支持电话0379-69926675-801
技术支持邮件Gingko@vip.163.com
版本 日期 作者 修改内容
V1.0 2020-11-14 gingko 初次建立



实验十四:I2C通信实验——读写测试EEPROM

一、实验目的与意义

  1. 了解GD32 I2C结构
  2. 了解GD32 I2C特征
  3. 了解I2C特征和应用领域
  4. 掌握GD32固件库中I2C属性的配置方法
  5. 掌握KEIL MDK集成开发环境使用方法

二、实验设备及平台

  1. iCore3L 双核心板
  2. JLINK(或相同功能)仿真器
  3. Micro USB线缆
  4. Keil MDK 开发平台
  5. 装有WIN XP(及更高版本)系统的计算机

三、实验原理

GD32 I2C简介

  • I2C(内部集成电路总线)模块提供了符合工业标准的两线串行制接口,可用于MCU和外部I2C设备的通讯。I2C总线使用两条串行线:串行数据线SDA和串行时钟线 SCL。
  • I2C 接口模块实现了I2C协议的标速模式和快速模式,具备CRC计算和校验功能、支持 SMBus(系统管理总线)和 PMBus(电源管理总线),此外还支持多主机 I2C 总线架构。I2C接口模块也支持 DMA模式,可有效减轻CPU的负担。

I2C主要特征:

  • 并行总线至 I2C 总线协议的转换及接口;
  • 同一接口既可实现主机功能又可实现从机功能;
  • 主从机之间的双向数据传输;
  • 支持7位和10位的地址模式和广播寻址;
  • 支持 I2C 多主机模式;
  • 支持标速(最高 100 kHz)和快速(最高 400 kHz);
  • 从机模式下可配置的SCL主动拉低;
  • 支持DMA模式;
  • 兼容SMBus 2.0和PMBus;
  • 两个中断:字节成功发送中断和错误事件中断;
  • 可选择的 PEC(报文错误校验)生成和校验;
  • 支持 SAM_V 模式;
  • 支持数字和模拟噪声滤波器。
  • I2C模块框图如图所示:

  • I2C起始与停止时序如图14-2所示(上:SDA 下:SCL):

EEPROM简介

  • EEPROM (Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片。EEPROM 可以在电脑上或专用设备上擦除已有信息,重新编程。
  • 由于EPROM操作的不便,后来出的主板上BIOSROM芯片大部分都采用EEPROM。EEPROM的擦除不需要借助于其它设备,它是以电子信号来修改其内容的,而且是以Byte为最小修改单位,不必将资料全部洗掉才能写入,彻底摆脱了EPROMEraser和编程器的束缚。
  • EEPROM在写入数据时,仍要利用一定的编程电压,此时,只需用厂商提供的专用刷新程序就可以轻而易举地改写内容,所以,它属于双电压芯片。借助于EEPROM芯片的双电压特性,可以使BIOS具有良好的防毒功能,在升级时,把跳线开关打至“on”的位置,即给芯片加上相应的编程电压,就可以方便地升级;平时使用时,则把跳线开关打至“off”的位置,防止CIH类的病毒对BIOS芯片的非法修改。所以,至今仍有不少主板采用EEPROM作为BIOS芯片并作为自己主板的一大特色。
  • 传统的单片机存贮结构,一般要由ROM、RAM组成。随着存贮器技术的发展.市场上推出电可擦除可编程只读存贮器,即EEPROM器件。该类器件基于FLOTOX(floatin~gatetunneling~Oxide)结构.根据Fowler—Nordheim效应来完成数据的擦除或写入。因而具备联机可读、可写的特性,以及掉电之后的非易失性。EEPROM存贮器件的出现,为单片机存贮体的选择提供了新的设计方案。
  • EEPROM原理图如图所示:

四、实验步骤

  1. 把仿真器与iCore3L的SWD调试口相连(直接相连或者通过转接器相连);
  2. 把iCore3L通过Micro USB线与计算机相连,为iCore3L供电;
  3. 打开Keil MDK 开发环境,并打开本实验工程;
  4. 烧写程序到iCore3L上;
  5. 也可以进入Debug 模式,单步运行或设置断点验证程序逻辑。

五、实验现象

串口显示 EEPROM读写数据一直,打印“ OK”正常,结果如图所示。

icore3l_arm-gd_14.txt · 最后更改: 2022/06/10 15:08 由 sean