CEPT是什么意思T在线翻译读音例句-electric是什么意思
2023年4月2日发(作者:121306)
本文为翻译的MSP430x1xxFamilyUser\'sGuide家庭用户指南,
且只有寄存器的翻译比较准确,其他地方阅读时请自行判断语句的准确
性
本文为翻译的MSP430x1xxFamilyUser\'sGuide家庭用户指南,
且只有寄存器的翻译比较准确,其他地方阅读时请自行判断语句的准确
性
本文为翻译的MSP430x1xxFamilyUser\'sGuide家庭用户指南,
且只有寄存器的翻译比较准确,其他地方阅读时请自行判断语句的准确
性
USART外围接口,I2C模式
通用同步/异步接收/传输(USART)外设接口支持USART0I2C通信。本章介绍I2C模式。
在I2C模式在MSP430x15x和MSP430x16x器件上实现。
专题页面
15.1I2C模块简介..............................................15-2
15.2I2C模块操作..............................................15-4
15.3I2C模块寄存器............................................15-20
15.3I2C模块寄存器
I2C模块寄存器如表15-4。
表15-4.I2C寄存器
注册简称注册类型地址初始状态
I2C中断使能I2CIE读/写050h
I2C中断标志I2CIFG读/写051h
I2C数据计数I2CNDAT读/写052h
USART控制U0CTL读/写070h
I2C传输控制I2CTCTL读/写071h
I2C数据控制I2CDCTL只读072h
I2C预分频器I2CPSC读/写073h
I2CSCL高I2CSCLH读/写074h
I2CSCL低I2CSCLL读/写075h
I2C数据I2CDRW/I2CDRB读/写076h
I2C自己的地址I2COA读/写0118h
I2C从地址I2CSA读/写011Ah
I2C中断向量I2CIV只读011Ch
U0CTL,UART0控制寄存器,I2C模式
76543210
RXDMAENTXDMAENI2CXALISTENSYNCMSTI2CEN
rw−0rw−0rw−0rw−0rw−0rw−0rw−0rw−1
RXDMAEN第7位接收DMA能。该位使DMA控制器用于传输数据的I2C模块
后I2C模块接收数据。当RXDMAEN=1,RXRDYIE被忽略。
0禁止
1启用
TXDMAEN位6发送DMA能。该位使DMA控制器可以用于提供数据给用于
传输的I2C模块。当TXDMAEN=1,TXRDYIE,
被忽略。
0禁止
1启用
I2C位5I2C模式使能。该位选择I2C或SPI操作时,
SYNC=1。
0SPI模式
1I2C模式
XA位4扩展寻址
07位寻址
110位寻址
LISTEN位3收听。此位选择回送模式。当MST=1和I2CTRX=1(主
发射器)LISTEN才有效,。
0正常模式
1SDA在内部反馈到接收器(回环)。
SYNC2位同步模式使能
0UART模式
1SPI或I2C模式
MST1位该位选择主或从模式。当仲裁失败或产生一个STOP信号,
MST位自动清零。
0从模式
1主模式
I2CEN位0I2C使能。该位允许或禁止I2C模块。初始状态此位被置
位,并为UART或SPISWRST功能。当I2C和SYNC位在PUC
后被置位,此位为I2CEN功能,且自动清零。
0I2C操作被禁止
1I2C操作已启用
I2CTCTL,I2C发送控制寄存器
76543210
I2CWORDI2CRMI2CSSELxI2CTRXI2CSTBI2CSTPI2CSTT
rw−0rw−0rw−0rw−0rw−0rw−0rw−0rw−0
I2CWORD第7位I2C字模式。选择用于I2C数据寄存器字节或字模式。
0字节模式
1字模式
I2CRM第6位I2C重复模式
0I2CNDAT限定传输的字节的数目。
1发送的字节数由软件控制。I2CNDAT是未使用的。
I2CSSELx5-4位I2C时钟源选择。当MST=1和仲裁丢失,外部SCL
信号自动使用。
00无时钟-I2C模块无效
01ACLK
10SMCLK
11SMCLK
I2CTRX第3位I2C传输。当MST=1时,该位选择发送或接收功能。当MST
=0时,地址字节的R/W位定义数据的方向。从机模式,I2CTRX
必须复位。
0接收模式。SDA引脚上接收数据。
1发送模式。SDA引脚上传输的数据。
I2CSTB2位起始字节。当MST=1,I2CSTT=1启动一个起始字节时,设置
I2CSTB位。起始字节开始后,I2CSTB自动清零。
0:无动作
1:发送启动条件和起始字节(01H),但没有停止条
件。
I2CSTP1位停止位。此位是用来生成停止条件。在启动STOP信号后,
I2CSTP自动清零。
0:无动作
1:发送停止条件
I2CSTT位0START位。此位是用来产生一个启动条件。在启动START信
号后之后,I2CSTT自动清零。
0:无动作
1:发送启动条件
I2CDCTL,I2C数据控制寄存器
76543210
UnusedUnusedI2CBUSY
I2C
SCLLOW
I2CSBDI2CTXUDFI2CRXOVRI2CBB
r0r0r−0r−0r−0r−0r−0r−0
Unused7-6位没用过。总是读为0。
I2CBUSY位5I2C忙
0I2C模块空闲
1I2C模块不闲着
I2CSCLLOW4位I2CSCL低。该位指示,从机保持SCL线为低,MSP430的是主
机和从机模式下使用。。
0SCL没有被保持低
1SCL被保持低电平
I2CSBD位3I2C单字节数据。该位指示接收寄存器I2CDRW持有一
个字或一个字节。I2CWORD=1时,I2CSBD才有效
0一个完整的字接收
1只有在I2CDR的低字节有效
I2CTXUDF2位I2C发送下溢
0未发生溢
1发送下溢发生
I2CRXOVR位1I2C接收溢出
0未收到发生溢出
1接收器溢出发生
I2CBB位0I2C总线忙位。I2C总线忙位。START条件设置I2CBB为1。
I2CBB由STOP条件或当I2CEN=0复位。
0I2C总线不忙
1I2C总线忙
I2CDRW,I2CDRB,I2C数据寄存器
098
I2CDRWHighByte
rw−0rw−0rw−0rw−0rw−0rw−0rw−0rw−0
76543210
I2CDWLowByte
I2CDRB
rw−0rw−0rw−0rw−0rw−0rw−0rw−0rw−0
I2CDRW/I2CDRB15-8位I2C数据。当I2CWORD=1,登记的名字是
I2CDRW。当I2CWORD=0,名称是I2CDRB。
当I2CWORD=1,任何试图修改一个字节指
令寄存器将失败,寄存器不会被更新。
I2CNDAT,I2C传输字节计数寄存器
76543210
I2CNDATx
rw−0rw−0rw−0rw−0rw−0rw−0rw−0rw−0
I2C数据位7-0字节数I2C。该寄存器支持主模式下自动数据字节计数。
在字模式下,I2C数据必须是偶数值。
I2CPSC,I2C时钟预注册
76543210
I2CPSCx
rw−0rw−0rw−0rw−0rw−0rw−0rw−0rw−0
I2CPSCx位7-0I2C时钟分频器。I2C时钟输入I2CIN由输入时钟除以
I2CPSCx值产生内部I2C时钟频率。分频率I2CPSCx+1。
不推荐I2CPSCx值>4。的I2CSCLL和I2CSCLH寄存
器应被用于设置将SCL频率。
1000H分频1
2001H分频2
:
0FFh分频256
I2CSCLH,I2C移位时钟寄存器高
I2CSCLHx位7-0I2C移位时钟高。这些位定义当I2C控制器处
于主模式时SCL高电平的时间,
SCL高电平的时间是(I2CSCLH+2)(I2CPSC+1)。
000HSCL高周期=5(I2CPSC+1)
001HSCL高周期=5(I2CPSC+1)
002HSCL高周期=5(I2CPSC+1)
003HSCL高周期=5(I2CPSC+1)
004HSCL高周期=6(I2CPSC+1)
0FFh的SCL高周期=257(I2CPSC+1)
I2CSCLL,I2C移位时钟寄存器低
I2CSCLLx位7-0I2C移位时钟低。这些位定义当I2C控制器处
于主模式时SCL低电平的时间,
SCL低电平的时间是(I2CSCLL+2)(I2CPSC+1)。
000HSCL低周期=5(I2CPSC+1)
001HSCL低周期=5(I2CPSC+1)
002HSCL低周期=5(I2CPSC+1)
003HSCL低周期=5(I2CPSC+1)
004HSCL低周期=6(I2CPSC+1)
:
0FFh的SCL低周期=257(I2CPSC+1)
I2COA,I2C自己的地址寄存器,7位寻址模式
098
00000000
r0r0r0r0r0r0r0r0
76543210
0I2COAx
r0rw−0rw−0rw−0rw−0rw−0rw−0rw−0
只有当I2CEN=0,修改有效
I2COAx位15-0I2C自己的地址。该I2COA寄存器包含MSP430I2C
控制器的本地地址。该I2COA寄存器为右对齐。位6
是MSB。比特15-7总是为0。
I2COA,I2C自己的地址寄存器,10位寻址模式
098
000000I2COAx
r0r0r0r0r0r0rw−0rw−0
76543210
I2COAx
rw−0rw−0rw−0rw−0rw−0rw−0rw−0rw−0
只有当I2CEN=0,修改有效
I2COAx位15-0I2C自己的地址。该I2COA寄存器包含MSP430I2C控
制器的本地地址。该I2COA寄存器为右对齐。位9是
MSB。15-10位始终为0。
I2CSA,I2C从地址寄存器,7位寻址模式
098
00000000
r0r0r0r0r0r0r0r0
76543210
0I2CSAx
r0rw−0rw−0rw−0rw−0rw−0rw−0rw−0
I2CSAx15-0位I2C从地址。该I2CSA寄存器包含外部设备的从地
址由MSP430来解决。它仅在主模式下使用。该
I2CSA寄存器为右对齐。位9是MSB。15-7位始
终为0。
I2CSA,I2C从地址寄存器,10位寻址模式
098
000000I2CSAx
r0r0r0r0r0r0rw−0rw−0
76543210
I2CSAx
rw−0rw−0rw−0rw−0rw−0rw−0rw−0rw−0
I2CSAx15-0位I2C从地址。该I2CSA寄存器包含外部设备的从地
址由MSP430来解决。它仅在主模式下使用。该
I2CSA寄存器为右对齐。位9是MSB。15-10位始
终为0。
I2CIE,I2C中断使能寄存器
76543210
STTIEGCIETXRDYIERXRDYIEARDYIEOAIENACKIEALIE
rw−0rw−0rw−0rw−0rw−0rw−0rw−0rw−0
STTIE位7START检测中断使能
0中断禁止
1允许中断
GCIE第6位广播呼叫中断使能
0中断禁止
1允许中断
TXRDYIE第5位发送就绪中断使能。当TXDMAEN=1,TXRDYIE
被忽略,TXRDYIFG不会产生中断。
0中断禁止
1允许中断
RXRDYIE位4接收就绪中断使能。当RXDMAEN=1,RXRDYIE
被忽略,RXRDYIFG不会产生中断。
0中断禁止
1允许中断
ARDYIE第3位访问就绪中断使能
0中断禁止
1允许中断
OAIE2位自己的地址,中断使能
0中断禁止
1允许中断
NACKIE位1不应答中断使能
0中断禁止
1允许中断
ALIE位0仲裁丢失中断使能
0中断禁止
1允许中断
I2CIFG,I2C中断标志寄存器
76543210
STTIFGGCIFGTXRDYIFGRXRDYIFGARDYIFGOAIFGNACKIFGALIFG
rw−0rw−0rw−0rw−0rw−0rw−0rw−0rw−0
STTIFG第7位开始检测中断标志
0无中断
1待处理的中断
GCIFG第6位广播呼叫中断标志
0无中断
1待处理的中断
TXRDYIFG第5位发送就绪中断标志
0无中断
1待处理的中断
RXRDYIFG位4接收就绪中断标志
0无中断
1待处理的中断
ARDYIFG第3位访问准备好中断标志
0无中断
1待处理的中断
OAIFG2位自己的地址,中断标志
0无中断
1待处理的中断
NACKIFG位1无应答中断标志
0无中断
1待处理的中断
ALIFG位0仲裁丢失中断标志
0无中断
1待处理的中断
I2CIV,I2C中断向量寄存器
098
00000000
r0r0r0r0r0r0r0
r0
76三人行的下一句是什么 543210
000I2CIVx0
r0r0r0r−0r−0r−0r−0
r0
I2CIVx位15-0I2C中断矢量值
I2CIV内容中断源中断标志打断优先
000H没有中断-
002H仲裁丢失ALIFG最高
004H没有确认NACKIFG
006H自己的地址OAIFG
008H寄存器访问准备ARDYIFG
00Ah接收数据就绪RXRDYIFG
00CH发送数据准备TXRDYIFG
00Eh通用调用GCIFG
010HSTART条件接关于端午节的诗句古诗小学 收STTIFG最低
15.1I2C模块简介
的互连芯片的控制(I2C)模块提供了由两线I2C串行总线连接的MSP430与I2C
兼容设备之间的接口。连接到I2C总线的外部组件串行发送和/或从USART通过
2线I2C接口接收串行数据。
I2C模块具有以下特点:
符合飞利浦半导体I2C规范V2.1
□字节/字格式转换
□7位和10位器件寻址模式
□一般通话
□启动/重新启动/停止
□多主机发送/从机接收模式
□多主机接收/从机发送模式
□联合主发送/接收和接收/发送模式
□标准模式下可达至100kbps和快速模式下可达400kbps的支持
内置FIFO为缓冲读写
可编程时钟发生器
16位宽的数据的访问以最大化总线吞吐量
自动数据字节计数
专为低功耗
从接收器开始检测从LPMx模式自动唤醒
广泛的中断功能
上实现仅USART0
I2C模块框图如图15-1所示。
15.2I2C模块操作
I2C模块支持任何从属或主I2C兼容设备。图15-2示出了I2C总线的一个例子。
每个I2C器件都通过一个唯一的地址识别,可以作为发射机或接收机操作。连接
到I2C总线上的设备可以进行数据传输时被认为是船长或奴隶。主机启动数据传
输,并首先产生一个时钟信号SCL。主机寻址的任何设备被认为是一个奴隶。
I2C数据使用串行数据引脚(SDA)和串行时钟引脚(SCL)连通。SDA和SCL
是双向的,并且必须被连接到使用上拉电阻器的正电源电压。
注:SDA和SCL等级
MSP430的SDA和SCL引脚不得在上述MSP430拉起
VCC的变化。
15.2.1I2C模块初始化
I2C模块是USART外设的一部分。在I2C模式下使用时,USART0个别位的定义是
从,在SPI或UART模式不同。为U0CTL寄存器的缺省值是UART模式。要选择
I2C操作SYNC和I2C位必须进行设置。模块初始化后,I2C模块即可发送或接收
操作。设置I2CEN释放操作I2C模块。
配置和重新配置I2C模块必须完成时I2CEN=
0,以避免不可预知的行为。设置I2CEN=0具有以下效果:
I2C通信站
SDA和SCL为高阻抗
I2CTCTL,位3-0被清零,位7-4不变
I2CDCTL和I2CDR寄存器清零
个发射和接收移位寄存器清零
U0CTL,I2CNDAT,I2CPSC,I2CSCLL,I2CSCLH寄存器的内容不变
I2COA,I2CSA,I2CIE,I2CIFG和I2CIV寄存器的内容不变
当重新配置I2C从模式,UART或SPI模式下I2C,SYNC和I2CEN位必须先清除,
则SWRST必须设置与UART或SPI初始化程序的USART必须遵守。不按照此
过程可以导致不可预知的操作。
注:配置USART模块用于I2C操作复位后
所需的I2C配置过程:
1)用SWRST=1(BIS.B#I2C+同步,与U0CTL选择I2C模式)
2)禁止I2C模块(BIC.B#I2CEN,与U0CTL)
3)I2CEN=0配置I2C模块
4)通过软件设定I2CEN(BIS.B#I2CEN,与U0CTL)
如果不遵循这一过程可能会导致不可预测的USART行为。
注:重新配置USART模块的UART和SPI操作
当重新配置从I2CUART或SPI操作USART模块
操作时,所要求的工艺过程是:
1)清除I2C,SYNC和I2CEN(CLR.B&U0CTL)
2)设置SWRST(MOV.B#SWRST,与U0CTL)
3)UART或SPI初始化程序继续。
如果不遵循这一过程可能会导致不可预测的USART行为。
15.2.2I2C串行数据
一个时钟脉冲由主装置产生的每一个数据位传送。I2C模块用字节数据进行操
作。数据传输时最显著位,如图15-3。
启动条件后的第一个字节由7位从机地址和R/W位。当R/W=0,主到从传
输数据。当R/W=1,主从机接收数据。ACK位从接收第9个SCL时钟每个字
节后发送。
图15-3。I2C模块数据传输
START和STOP条件由主机产生,并在图15-3所示。START条件是SDA线上高到
低的过渡而SCL为高。STOP条件是SDA线上低到高的转变,而SCL为高。繁忙
位,I2CBB,是START之后设置和停止后清零。
SDA上的数据必须在SCL的高电平期间保持稳定,如图15-4所示。SCL为低电
平时SDA的高和低状态才能改变,否则启动或停止将生成的条件。
图15-4。在I2C总线位传输
15.2.3I2C寻址模式
I2C模块支持7位和10位寻址模式。
7位寻址
在7位寻址格式,如图15-5所示,第一个字节为7位从地址和R/W位。ACK
位从接收机每个后发送
字节。
图15-5。I2C模块7位寻址格式
171181811
S从机地址R/WACK数据ACK数据ACKP
10位寻址
在10位寻址格式,如图15-6所示,第一个字节由11110b加10位从机地址的两
个MSB和R/W位。ACK位是从每个字节后接收发送。下一个字节是10位从地
址的其余8位,其次是ACK位,
8位数据。
图15-6。I2C模块10位寻址格式
171181811
S从机地址第一个字节R/WACK从机地址第二个字节ACK数据ACKP
11110XX
重复启动条件
SDA上的数据流的方向可以由主变了,不先停止传输,通过发出一个重复起始条
件不禁撩 。这就是所谓的重新启动。一个RESTAR蹶怎么读 T发出后,从机地址再次由R/W位指
定的新数据方向发送出去。重新启动状态示于图15-7。
图15-7。与重复启动条件I2C模块地址格式
11
S从机地址R/WAC曲径通幽处禅房花木深翻译 K数据ACKS从机地址R/WACK数据ACKP
1所有数1任意数量
15.2.315.2.4I2C模块操作模式
I2C模块在主发送器,主接收器,从发送器或从机接收模式。
主模式
在主控模式下,发射和接收操作与控制,如表15-1中描述的I2CRM,I2CSTT和
I2CSTP位。主发送器和主接收器模式如图15-8和图15-9。SCL是当一个字节
的发送或接收后需要CPU的干预保持为低电平。
表操作
I2CRMI2CSTPI2CSTT条件或总线活动
X00I2C模块在主模式,但处于闲置状态。没
有启动或生成停止条件。
001设置I2CSTT发起的活动。I2CNDAT用
于确定传输的长度。STOP条件是不
I2CNDAT后自动生成字节数已被转移。
软件必须设置I2CSTP产生在最后一个
停止条件的传输。这是用于重起条件。
011I2CNDAT用于确定传输的长度。设置
I2CSTT发起的活动。STOP条件是后
I2CNDAT数量自动生成字节已被转移。
101I2CNDAT不用于确定的长度传输。软件
必须控制的长度传输。设置I2CSTT位
发起的活动。软件必须设置I2CSTP位
发起STOP条件和停止活动。这种模式
是有用的,如果>255字节要传送。这
种模式可能并不需要重新启动时使用。
I2CRM必须重置产生重启条件。
010设置I2CSTP位上产生一个停止条件之
后的字节数I2CNDAT总线已送出,或
者,
如果立即字节I2CNDAT数有已经被发
送。
110设置I2CSTP位上产生一个停止条件总
线之后当前的传输完成后,或者如果没
有立即传输是目前活跃,一个停止尚未
生成。设置一个停止后I2CSTP已经生
成会不会导致另一个STOP条件。
111保留,没有总线活动。
15图15-8。主机发送模式
*当I2RM=1,I2CSTP必须是最后一个I2CDR值之前
设置写入。否则,将不会发生正确停止发电。
图15-9。主接收器模式
仲裁
如果两个或多个主发射器同时在总线上开始传输,仲裁程序被调用。图15-10说
明了两行路难三首全诗 个设备之间的仲裁程序。仲裁过程使用的发射机竞争SDA上显示的数据。
产生逻辑高电平的第一个主发射器由相对主产生一个逻辑低驳回。仲裁程序优先
于发送具有最低二进制值的串行数据流的设备。失去仲裁的主发送切换到从机接
收模式,并且设置仲裁丢失标志ALIFG。如果两个或多个设备发送相同的第一字
节,
仲裁继续对后续字节。
图15-10。仲裁程序之间有两个主变送器
如果在SDA上传输重复起始条件或停止条件的仲裁程序正在进行中,参与仲裁的
主发射器必须在格式帧中的相同位置发送重复起始条件或停止条件。仲裁是不允
许的:
重复启动条件和数据位
一个STOP状态与一个数据位
重复START和STOP条件
自动数据字节计数
自动数据字节计数在主机模式与I2CNDAT寄存器支持。当I2CRM=0,要被接收
或发送的写入I2CNDAT字节数。STOP条件后自动生成
字节数I2CNDAT已转移时I2CSTP=1。
注:I2CNDAT注册
设置I2CSTT后的字节数I2CNDAT已发送之前,请勿更改I2CNDAT寄存器。否则,
可能会出现无法预料的后果。如果I2CNDAT内容必须为RESTART更新,等待
ARDYIFG成为修改I2CNDAT的内容之前设置。
从模式
在从模式,发送和接收操作由I2C模块自动控制。从机发送和从接收器模式如图
15-11和图15-12。
在从机接收模式,在SDA接收串行数据位与由主设备产生的时钟脉冲移入。从设
备不产生时钟,但如果一个字节已经收到后需要CPU的干预,它可以保持SCL为
低电平。在从机接收模式,收到的每个字节将被确认。有没有办法为奴隶产生接
收数据的NACK条件。
当主机发送从机地址字节是一样的它自己的地址和一组R/W位已发送指示将数
据发送到主机的请求进入从机发送模式。从机发送与由主设备产生的时钟脉冲移
位串行数据出来SDA。从设备不产生时钟,但在一个字节后需要CPU的干预,它
会保持SCL为低电平
已经被发送。
注:I2CTRX位在从模式
该I2CTRX位必须正确从属模式操作被清除。
图变送器
图15-12。从接收器
15.2.5在I2C数据寄存器I2CDR
该I2CDR寄存器可以由I2CWORD位选择8位或16位寄存器来访问。如表15-2中
描述的I2CDR寄存器的功能。当I2CWORD=1,任何试图修改一个字节指令寄存
器将失败,寄存器不会被修改。
表15-2.I2CDR寄存器功能
I2CWORDI2CTRXI2CDR功能
01字节模式发送:仅低字节。字节为双缓冲。
如果一个新的字节之前事先书面字节已经
发送,则新的字节是在保持被锁存到I2CDR
低前临时缓冲区字节。当I2CDR准备访问
TXRDYIFG设置。I2CSTT设置I2CDR后应写。
00字节模式接收:仅低字节。字节为双缓冲。
如果一个新的字节前,之前接收字节已被读
出,新的字节在临时缓冲器明月寄相思的古诗 中保持之前被锁
存到I2CDR低字节。RXRDYIFG是当I2CDR
是准备好被读取设置。
10字模式发射:字的低字节首先发送,然后是
高字节。寄存器为双缓冲。如果新的字是写
上一个字以前一直传播,新的字是在临时缓
冲区之前举行被闩锁到I2CDR寄存器。
TXRDYIFG设置当I2CDR准备进行访问。
I2CDR应I2CSTT设置之后写的。
10字模式得到:字的低字节是第一次收到,然
后高字节。寄存器为双缓冲。如果一个收到
新词前面的词已经前读,新词在临时缓冲区
是之前举行锁存到I2CDR寄存器。
RXRDYIFG时设置I2CDR已准备好进行访问。
发送下溢
在主控模式下,当发送移位寄存器并且发送缓冲区为空时发生下溢。在从模式下,
当发送移位寄存器和发送缓冲器是空的,在外部I2C主仍请求数据时发生下溢。
当发送下溢发生时,I2CTXUDF位被设置。
写数据到I2CDR寄存器或重置I2CEN位复位I2CTXUDF。
I2CTXUDF在仅发送模式使用。
接收溢出
当接收接收移位寄存器满和接收缓冲区已满发生溢出。该I2CRXOVR位被设置时
收到溢出发生。因为SCL在这种状态下,停止进一步的总线活动保持低不丢失数
据。读取I2CDR寄存器或重置I2CEN重置I2CRXOVR。该I2CRXOVR位只用在接收
模式。
15.2.6I2C时钟发生器和同步
I2C模块是由I2CSSELx位选择的时钟源工作。预分频器,I2CPSC和I2CSCLH和
I2CSCLL寄存器确定主SCL时钟信号的频率和占空比
模式在图15-13所示。
注:I2CCLK最大频率
I2CIN必须至少10倍的SCL频率乘以两个主从模式的I2CPSC分率。例如,对于
02H的I2CPSC值,I2CIN必须>3千赫310,或>90千赫的3千赫SCL
注:I2CPSC值
当I2CPSC>4,可能导致无法预料的后果。该I2CSCLL和
I2CSCLH寄存器应被用于设置将SCL频率。
图15-13。I2C模块SCL代
在仲裁过程从不同主人的时钟必须同步。首先在SCL低周期的设备否决其他设备
迫使他们开始自己的小周期。SCL然后由该设备具有最长低周期保持低电平。
其它设备必须等待SCL开始他们的高周期之前被释放。图15-14所示的时钟同步。
这使得从缓慢到快速掌握放缓。
图15-14。两个I2C时钟发生器同步仲裁事项
15.2.7使用低功耗模式I2C模块
I2C模块可与MSP430低功耗模式下使用。当I2C模块内部时钟源存在,模块通
常不管MSP430操作模式运行。当I2C模块内部时钟源不存在,提供了自动时钟
激活。当I2李白赞美荷花的诗句 C模块处于空闲状态时,I2CBUSY=0,I2C时钟源I2CIN从I2C模
块状态机断开,省电。
当I2C时钟源是无效的,需要的时候I2C模块会自动激活所选的时钟源,不管时
钟源控制位的设置。直到I2C模块返回到空闲状态的时钟源仍然有效。I2C模
块返回空闲状态后,时钟源的控制回复到其控制位的设置。
发生自动I2C时钟激活时:
TH均主控模式下,当I2CSTT=1,直到传输完成和I2C模块返回到空闲状态保
持有效的时钟发生激活。
TH均从模式,当检测到启动条件时,会出现时钟激活,直到传输完成和I2C模
块返回到空闲状态保持有效。检测到启动条件之后,STTIFG标志设置,模块保
持SCL线为低直到时钟源变得活跃。一旦源处于活动状态,I2C模块释放SCL线
到主。
当I2C模块激活非活动的时钟源,时钟源对于整个设备被激活,任何外围配置为
使用的时钟源可能会受到影响。例如,使用SMCLK定时器将增加而I2C模块力
SMCLK活性。
15.2.8I2C中断
I2C模块具有表所列八个中断标志一个中断向量15-3。每个中断标志都有自己的
中断使能位。当中断使能,且GIE位时,中断标志将产生一个中断请求。
表15-3.I2C中断
打断中断条件
旗
ALIFG仲裁-丢失。当两个或多个发射机同时开始发送仲裁可
能会丢失,或者当软件试图而当仲裁已经丢失I2CBB=
1ALIFG标志设置为发起I2C传送。当ALIFG设置的
MST和I2CSTP位被清零,I2C控制器变为从接收器。
NACKIFG无应答中断。预计确认信号,而是在主模式没有收到
时,此标志置位。NACKIFG是仅在主控模式下使用。
OAIFG自己的地址中断。当有另外一个主机寻址的I2C模块,
设置该标志。OAIFG是唯一的从模式下使用。
ARDYIFG注册访问就绪中断。该标记被作为用于以下的条件描
述设置。
主发送器,I2CRM=0:所有数据发送
主发送器,I2CRM=1:所有的数据发送和I2CSTP集
主接收器,I2CRM=0:从I2CDR读取接收的字节数
I2CNDAT和所有数据
主接收器,I2CRM=1:接收到的数据,I2CSTP集的
最后一个字节,
从I2CDR读取所有数据
从发送:停止条件检测
从接收器:停止条件检测和读取所有数据
I2CDR
RXRDYIFG接收准备好中断/状态。当I2C模块接收到新数据,设
置该标志。当I2CDR被读取和接收缓冲区为空
RXRDYIFG自动清零。如果位I2CRXOVR=1RXRDYIFG
只用在接收模式接收器溢出指示。
TXRDYIFG发送准备好中断/状态。当I2C模块等待新的发送数据
(主发送模式),或者当另一个主请求数据(从机发送
模式),设置该标志。当I2CDR并发送缓冲区满
TXRDYIFG自动清零。如果I2CTXUDF=1,未使用的接
收模式了发送下溢表示。
GCIFG广播中断。当I2C模块接收通用调用地址(00H),设
置该标志。GCIFG只用在接收模式。
STTIFG起始条件检测中断。当I2C模块检测到启动条件,而
在从模式会设置该标志。这使MSP430是在与I2C时钟
源未激活低功耗模式,直到主机发起I2C通信。
STTIFG是唯一的从模式下使用。
I2CIV,中断向量发生器
该I2C中断标志位优先级和结合到源的单一中断向量。中断向量寄存器I2CIV用
于确定哪些标志中断请求。最高优先级的中断使能生成可评估或添加到程序计数
器自动进入适当的软件例程的I2CIV寄存器号码。禁用的I2C中断不会影响I2CIV
值。当RXDMAEN=1,RXRDYIFG会
不影响I2CIV值,当TXDMAEN=1,TXRDYIFG不会影响I2CIV值,无论RXRDYIE
或TXRDYIE的状态。
任何访问,读取或写入的I2CIV自动注册复位最高未决中断标志,除了TXRDYIFG
和RXRDYIFG。如表15-3中描述的那些标志复位。如果另一个中断标志置位,服
务初始中断后,立即产生另一个中断。
I2CIV软件示例
下面的软件示例显示了推荐的使用I2CIV的。该
I2CIV值被添加到PC自动跳转到相应的程序。
更多推荐
drw是什么意思在线翻译读音例句
发布评论