DM648647I2C學习笔记.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DM648647I2C學习笔记

DM648-I2C学习笔记 By Lzp 2014-2-26 学习《tms320dm648-2012》 兼容IIC规范2.1版本 快速模式可达400 Kbps和10位器件寻址模式主(发送/接收)和从属(发送/接收)功能DMA,中断或轮询TMS320DM647/DM648 DSP Inter-Integrated Circuit (I2C) Module Users Guide》 支持: 2至7位格式传输自由数据格式模式 一个读取EDMA事件和一个写EDMA事件中断接VBUSP(32位同步从总线) EDMA事件启用/禁用功能 外围使能/禁用功能 模块频率范围 6.7Mhz到13.3Mhz 支持忽略NACK模式高速模式 CBUS兼容模式?PLL1?I2C内部预分频器--6.7-13.3MHz? I2C时钟分频器?I2C模块处于复位状态 IRS= 0 ICMDR)ICCH ICCL 前提同1 SDA、SCL要开漏上拉处理,(我理解:它是双向的,有应答信号,如果是推挽Slave-receiver mode 从接收 Slave-transmitter mode 从发送 Master-receiver mode 主接收 Master-transmitter mode 主发送 CPU主接收模式配置流程:我理解就是读I2C器件,如:读24c16 时钟、电力LPSC 复位:IRS = 0 in ICMDR 配置ICMDR 主 (MST = 1). 使用I2C,例如数据接收:(TRX = 0) 7位地址 (XA = 0). 禁止重复模式:(RM = 0). 禁用环回模式(DLB=0)。 禁止自由数据格式(FDF=0)Disable start byte mode if addressing a fully fledged I2C device (STB = 0).不明白 设置传输位数个数? 配置从地址:这个主I2C器件被编址,(ICSAR = 7BIT ADDRESS) 设置工作频率(ICPSC).: 6.7 ---13.3 MHZ. 配置总线时钟频率:(ICCLKL) (ICCLKH) 清中断状态 读ICSTR,再写回 ICSTR = ICSTR 反复读ICIVR,一直到它是0 使能I2C控制器:IRS = 1 in ICMDR 等待,直到总线忙位清除:(BB = 0 in ICSTR). 产生起始事件:STT = 1 in ICMDR). 等待查询(ICRRDY = 1 in ICSTR). 读数据:查到了(ICRRDY = 1 in ICSTR). 读出ICDRR 完成前两个步骤,直到接收到NACKMOD = 1 in ICMDR 结束传输,释放总线,产生停止事件,STP = 1 in ICMDR 中断 7种中断: 丢失中断:总裁丢失、非法起始位、停止位产生。 没应答中断:主没有接收到从应答信号 寄存器就绪中断(ICDRR)接收到数据,I2C外设发给EDMA控制器一个信号,EDMA读ICDRR) 发送:发送寄存器数据拷贝到发送移位寄存器,I2C外设发给EDMA控制器一个信号,EDMA好进行下一个数据拷贝到发送寄存器。 寄存器列表: 注意:最后两个34、38,和前面的表不同,这里没有EDMA相关寄存器,好像这个文档较旧。 偏移地址 缩写 描述 0h ICOAR 自身地址寄存器:I2C Own Address Register (ICOAR) XA=0 7位地址:6:0; XA=1 10位地址9:0, 4h ICIMR 中断屏蔽寄存器Interrupt Mask Register (ICIMR) 31—7 保留 6:AAS 作为从中断使能位:0禁止、1使能 5:SCD 停止条件探测到中断使能位:0d/1e 4:ICXRDY 发送数据准备好 3:ICRRDY 接收数据准备好 2:ARDY 寄存器存取准备好 1:NACK 没应答中断 0:AL总裁丢失 8h ICSTR 中断状态寄存器I2C Interrupt Status Register (ICSTR) 31-15保留 14:SDIR 从方向位:环回Ch ICCLKL I2C时钟分频低寄存器I2C Clock Divider Registers (ICCLKL) 31—16保留,读=0,写无影响 15—0: ICCL 10h ICCLKH I2C时钟分频高寄存器I2C Clock High-Time Divider Register (ICCLKH) 31—16保留,读=0,写无影响 15—0: ICCH I2C时钟=预分频输出/((ICCL+d)* (ICCH+d)),d取值: 14h ICCNT I2C Data Count Reg

文档评论(0)

cv7c8hj6b4I + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档