最后更新:2022-04-24 00:20:12 手机定位技术交流文章
目录
1.IIC协议简介
2.IIC用于硬件,IIC用于软件
IIC 公共汽车协议第三层
4.空闲状态
五. 开始/结束信号
6.应答信号
第七,数据有效性/转让
STM32的IIC特性和结构
STM32的IIC结构是9
Philips Philips创建了ITC通信协议(Inter-Integred电路)。 由于他引脚少,硬件实现简单,可拓展性强,CAN的外部通讯设备UASRT是不需要的。在一个系统内许多集成电路上,ICs(chips)之间的通信越来越普遍。(半永久性通信方式)


国际投资协定公共汽车系统的结构:
他是多设备支援的公交车 我不知道我该怎么办主线是几件设备共用的信号线。在IC通讯的主要路线之一,我们有能力连接到几台国际电算中心通讯设备若干通信主机和操作员得到了支持。只有两条公共汽车路线被一辆IC公共汽车使用。字符串数据线(SDA)和字符串时钟(SCL)是双向通信线。数据线用于表示信息。时钟线用于同步数据接收和传播。每个连接公交车的设备都有自己的地址东道方可以使用这一地址直接接触某些设备。
IIC总线层的特点:
电力通过向上和向下推向主线输送。当 IC 装置耗尽时,会输出高阻态,等所有设备齐备后都输出高阻态,强烈的阻力将公共汽车推向了高水平。当一些主机同时使用公共汽车时,为了防止数据冲突,将利用仲裁来确定允许搭乘公共汽车的哪些设备。
有三种传输方式:正常模式传输率为100千比特/秒,快速模式传输率为400千比特/秒,高速模式传输率最高为3.4兆米/秒,但大多数国际投资协定设备目前不支持高速模式。
(a) 硬件IIC:在相关芯片上安装国际独立调查委员会外部装置,并配有相应的国际独立调查委员会驱动的电路,该电路也作为国际独立调查委员会管脚关联的IIC:在相关芯片上安装国际独立调查委员会外部装置,配有相应的国际独立调查委员会驱动的电路,该电路也作为国际独立调查委员会管脚;
不同之处在于,硬件IIC比软件效率高得多。此外,软件IIC不受上岗限制。接口比较灵活。IIC软件是通过GPIO实施的。登记册由软件模拟。另一方面,硬件IIC则直接调用内部登记册进行设置。如果您选择检查特定硬件, 您必须检查特定硬件 。你可以查阅芯片手册因为固态的IIC港口是固定的,所以会有所区别。
1. Hardware IIC更为复杂,而IIC过程的模拟则更为清晰。
2. Hardware IIC比模拟更快,可与DMA结合使用。
三. 假设国际独立调查委员会可以使用任何管脚,硬件国际独立调查委员会使用固定管脚。
独立调查委员会协定具体规定了开始和停止信号、数据有效性、反应、仲裁、时钟同步和地址广播。
主机写数据到从机

S:信息从主机传送到机器。
从机器地址得到的
R/W:0时的传输方向选择:表示数据正在从主机传输到机器,即机器的主机。
A/A(重点说明):从机器、主机或从机会返回响应(ACK)或无响应(NAK)信号后,主机只能在收到回复后继续传输或接收数据。
P:数据传输结束。
主机读数据到从机:

设置用于读取数据的传输位的方向。广播完地址后,接收到应答信号后,从机器一开始就将数据( DATA) 返回主机。 数据包大小为 8 比特 。每台机器发送一个号码他们都等待主机的反应信号(ACK),然后程序重复。可以返回N个数据,N没有限制大小。当东道主希望停止接收数据时如果您想要使用机器,必须向其发送一个非响应信号(NCAK)。自动停止从机器传输数据 。
通讯复合格式

复合格式,第一次传送时有两个初步信号(S)。主机正在使用 SLVE_ADERESS 从设备后面搜索 。发送一段”数据”,这些数据常常用来表示设备内部的内存或内存地址(而不是机器地址);在第二次传输中,这些数据用来表示设备内部的内存或内存地址(而不是机器地址)。地址的内容是读或写。也就是说,第一是指示计算机读写地址。第二是实际的读写材料。
IIC总线的两条信号线,即SDA和SCL,同时处于高纬度,确定了主线的自由度。此时,每个装置的输出水平场效应管处于封闭状态,即释放总线,每条信号线上上拉并推动电源。

SL高时,SDA有一个高到低的跳跃;启动信号是电级跳到时信号,而不是电级信号。
当SCL为高时,自失能系统会从低到高;停止信号同样是一个高到温度到时间的信号,而不是电子信号。
主机通常产生起始和停止信号。

数据线在发件人发送的每个字节的时钟脉冲9时发布,接收器以信号响应。
当响应信号高度低时,它被定性为合理的响应位置(ACK简短回答位置),表示接收方成功接收了字节。
当响应信号是高电解信号时,它被称为非响应位置(NACK),通常表示接收者无法接收字节。
为了使反馈能有效地回应Bit Ack,接收器在第九钟脉冲之前将自失能线降低到低水平,并在时钟高水平保持恒定的低水平。
如果接收器是主控器,则在收到最后一个字节后,将发送NCK信号,以提醒假定的数据发送者,并释放自失能线,使主接收器能够发送一个截停信号P。

虽然国际电算公司总线传输数据,但时钟信号是高水平的,数据线上的数据必须保持稳定,只有在时钟信号是低水平时才允许改变数据线的高层或低层状态。
也就是说,在SCL上升之前必须准备好数据,在下降之前必须稳定。

数据传输情况:在IIC总线上传送的每个数据位数包括一个时钟脉冲(或同步控制),其中每个数据位数在SDA上相继传送,与SSL集群时钟交付情况相结合:在IIC总线上传送的每个数据位数包括一个时钟脉冲(或同步控制),其中每个数据位数与SSL集群时数相结合,在SDA上相继传送。
1 软件模拟协议:CPU指导电信火花,创造符合通信协议要求的逻辑。
2 《硬件实施协议》:STM32中的《国际投资协议》电影专门介绍《国际投资协议》通信协议的执行情况。只要配置好该外设,它将根据安排自动创建通信信号。数据正在无限期传输和保存。CPU只是检测数据储存库的状况及其存取情况。就能完成数据收发。这种使用昂贵的硬件处理国际独立调查委员会协议的方法使CPU的工作更加容易。此外,简化软件设计。STM32外部的国际投资协定可用作主机和通信接口。世界上100千比特/秒和400千比特/秒的支持率最高,是100千比特/秒和400千比特/秒的支持率。该项目有7个和10个设备地址作为后盾。数据数据传输得到支持。并包括数据验证机制

通讯引脚


STM32芯片有若干国际独立调查委员会配置,其国际独立调查委员会的信号吸引了各种GPIO触发器,在使用时必须加以调整。
时钟控制逻辑
基于时钟的用于控制登记册(CCR)的IIC界面控制SCL线的时钟信号,该时钟控制参数的主要时钟频率。
对于国际电算中心通信,可使用“标准/仓储”模式,相当于通信率分别为100/400千比特/秒。
在快速模式下,SCL时钟的间距比率可设定为T(low)/T(high)=2或T(low)/T(high)=16/9。
SCL时钟由CCR登记册中的12位元配置系数生成,该系数与IIC.STM32 Extra-IIC 输入时钟源 PCKL1 以外的输入时钟源共享。

计算时钟频率:
标准模式的T高 = CCR *T pckl1 标准模式的T低 = CCR*Tpcklk1
Thigh = CCR* Tpckl1 Tlow = 2 * low * Tpckl1 快速模式拖车/拖车 = 2: Thigh = CCR* Tpckl1 Tlow = 2 * low* Tpckl1
慢/慢=16/9;高=9*CCR*Tpckl1;低=16*low*Tpckl1
要设置 400Kbits/ s 方法, 请设置 PCLK1 到 36MHz 。
TPCLK1 = 1/36 00 00 PCLK时钟周期
TSCL = 1,400,00 是目标SCL 时钟周期。
Thigh = TSCL/3 SCL时钟周期的高高度时间
下游=2*TSCL/3 SSCL时钟周期的低空时间
计算 CCR 值如下: CCR = THIGH/ TPCLK1 = 30 确定值可发送给发件人。
数据控制逻辑
国际独立调查委员会上的SDA信号主要与数据传输登记册有关,数据来源和目标包括数据登记册、地址登记册、PEC登记册和SDA数据线。
在与外部世界沟通的同时数据传输登记册是数据登记册的数据来源。将数据一次传送到SDA信号线上在从其他来源获取数据时,数据传输登记册将数据从SDA信号线样本保存到单一地点的数据保存者。
STM32 IIC来文程序
它在利用国际独立调查委员会对外通信的同时,为“国家登记员(SR1和SR2)”的不同数据位谱撰写参数,通过在通信的各个阶段读取这些登记册信号来理解通信状况。

控制生成启动信号( S), 生成事件“ EV5 ”, 并显示启动信号已经出现在SR1 登记册的 SB 位置 1 上 。
当SR1登记册中的ADR和TXE位数设置为 1 时,将创建 EV6 和 EV8 信号。ADD1 表示地址已经发送,TEX 表示数据登记册是空的。
主发送器通讯过程

要传送的数据写到IIC数据储存库DR,其中将TXE位元设为零,表明数据储存库不是空的,当IIC通过SDA信号线的一个位置外推将数据发送出去时,就会发生EV8事件,其中TXE设为1,程序会多次重复。
当数据交付时,对国际独立调查委员会设备的控制产生了一个截停信号P,这是发生EV2事件的时刻,SR1 TEX和BTF位置设为1,信号信号通信停止。
I2C_ClockSpeed
设置 IIC 传输速率。 当运行初始化功能时, 一旦计算了我们提供的值, 它将会将时钟因数放入 ICC 控制存储器 CCR 。 我们写入的参数不得超过 400 Khz 。
由于CCR注册不能列入小数型时钟因数,因此影响SCL的实际频率可能低于该成员提供的参数值,这不会对正常的IC通信产生影响,只是比较缓慢的通信。
I2C_Mode
使用 IIC 模式 (IIC_Mode_IIC) 和 SMBus 主模式 (IIC_Mode_SMBusHost, IIC_Mode_SMBusDevice) 来选择 IIC 的使用 。
IIC无需在此区分主要模式,而只是设置 IIC_Mode_IICj。
I2C_DutyCycle
指定 IIC SCL 线性时钟的间距比。有两个选项: 2:1 (IIC_DutyCycle_2) 和 16: 9 (IIC_DutyCycle_16_9) 。
在现实中,两种模型的比例没有那么不同, 整体标准也不是那么严格, 所以选择一种。
I2C_OwnAddress1
要为 STM32 设定 IIC 设备自己的地址,与国际电算中心总线连接的每个设备都有独特的地址。作为主机也不例外。地址可设为7或10(由下列国际独立调查委员会确认的地址成员确定)。只要是国际投资公司巴士上唯一的地址
STM32的IIC可同时在两个地点使用。这是对两个地址的同时回答。IIC_ Own Address1 默认配置此结构 。处理KEEPT 在OR1区域,如果您想要配置第二个地址登记册 OAR2, 请使用 IIC_OwAddress2Conig 函数 。OAR2 不支持超过10个地址 。
I2C_Ack
这是IRC第一次公开回应如果您愿意,可以发送响应信号。一般安排规定了答复(IIC_Ack_Enable),这是绝大多数符合IIC的设备的通信需要。改为不回答政策(IIC_ACK_残疾)往往导致沟通错误。
I2C_AcknowledgedAddress
使用7或10个地址的搜索模式选择国际独立调查委员会。这就需要根据与IIC总线上装置链接的地址作出选择。成员的组成也影响了国际投资理事会-OwnAddress成员的组成。只有当模式设定为 10 位时 。IIC_OwnAddress1 只允许最多10个地址 。
在配置这些结构的成员的值后,您可以使用图书馆功能 IIC_Init 将结构的配置写入相关的登记册。
STM32 IIC 图书馆职能
本文由 在线网速测试 整理编辑,转载请注明出处。