最近美帝从政府层面出手限制华为,作为经常使用华为海思产品的程序猿小编,觉得海思芯片有完整详细的datasheet,配置起来简单,也很容易上手。在这里分享一下海思芯片I2C的配置方法,希望能对大家使用海思芯片时有帮助,也希望大家多多使用华为海思芯片。
I2C总线简介
首先按照惯例俗套的说一下I2C总线的定义,I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根分别命名为SDA(串行数据线)和SCL(串行时钟线)的信号线连接不同的器件即可传输信息。
I2C总线上的器件有主从之分,在嵌入式系统上的主器件一般是嵌入式主芯片(MCU),主器件负责启动、终止数据传送,产生时钟信号。从器件一般是外部设备,像小编所在行业的外部设备包括温度传感器、Tunner、HDMI等。
I2C主设备配置
了解了I2C总线的定义和基本原理后,我们怎样做才能让I2C总线正常工作呢?
首先,我们得配置I2C(本文以Hi3798CV200芯片为例)。
步骤一:硬件确认,确认连接MCU和外设用的那一组I2C通道。Hi3798CV200 芯片集成5个I2C控制器(一般命名为I2C0~I2C4),实现标准I2C主设备功能,可完成对I2C总线上的从设备的数据发送和接收,这里我们确认的是I2C1。
步骤二:确认硬件管脚复用情况。因为在嵌入芯片中,绝大多数管脚都是复用的。我们首先查一下芯片datasheet,看该管脚是否是复用的。从下图可以看出来该I2C管脚是复用的