主页   电子元器件  单片机

六月 23 2021

基于单片机的I2C总线系统设计与开发


目录

1.I2C总线介绍

2.I2C总线硬件接口设计

2.1单片机I2C总线接口引脚设计

2.2单片机I2C总线相关寄存器

2.3设计要点

3.I2C总线接口软件设计

3.1向无子地址器件发送字节数据

3.2从无子地址器件读字节数据

3.3向有子地址器件发送和接收字节数据

总结

  I2C总线在如今比较流行的串行扩展总线中,以其严格的规范和众多支持I2C接VI的外围器件而获得了广泛的应用。它适合于较复杂单片机应用系统中元件与芯片之间的短距离通信,主要应用于板级的IC通信。本文介绍了基于单片机的I2C总线系统设计过程,其中包括了硬件和软件的设计。

  1.I2C总线介绍

  I2C(inter—integrated circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于80年代,最初为音频和视频设备开发,如今主要应用于板级的IC通信需要,即主要被用作硬件系统中的电路板上各个IC芯片的相互通信的线路,I2C总线在系统设计中十分常见。

  I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以l0kbps的最大传输速率支持40个组件。I2C总线的另一个优点是,它支持多主控(multimastering),其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。

  2.I2C总线硬件接口设计

  在进行I2C总线硬件接口设计时使用的是Philips公司生产的P89C66X系列单片机,其片内的I2C总线逻辑提供了符合I2C总线规范的串口,它们具有性能稳定、速度快、使用方便等优点。

  2.1单片机I2C总线接口引脚设计

  P89C66X系列单片机有44引脚的LQFP封装和PLCC封装,其中P1.6/SCL和P1.7/SDA分别为I2C总线的时钟信号线和数据信号线,由于芯片内部都采用了漏极开路工艺,所以当把这两个引脚作为I2C总线的接口使用时,需要外接上拉电阻,如图1所示。

P89C66X的I2C总线接口引脚

  图1 P89C66X的I2C总线接口引脚

  2.2单片机I2C总线相关寄存器

  P89C66X系列单片机内部与I2C总线相关的寄存器共有4个,其功能列于表1,通过对这4个寄存器的编程实现I2C总线的功能。

  表1 I2C总线寄存器

表1I2C总线寄存器

  2.3设计要点

  在硬件系统中应用I2C总线进行连接控制,可以有效的减少单片机I/O端口资源的占用,这在单片机应用中是十分重要的,这也是I2C总线得以广泛应用的主要原因。此外,I2C总线在设计思想上也是十分突出的,其模块化的设计思想符合硬件系统设计的潮流。应用I2C总线进行设计,可以将整个硬件系统分为不同的功能模块,每个功能模块分别设计,不会受到其它模块的影响,设计完成后,使用统一的I2C总线接口连入系统,这样的系统各个部分不会相互干扰,每一个模块只与自身电路相关,大大简化了设计和调试的过程,也提高了通用设备的复用率。

  3.I2C总线接口软件设计

  针对P89C66X系列单片机的I2C总线进行软件程序设计,首先要了解I2C总线的26个状态,其次要根据应用中要求的模式来设定各个寄存器,最后编写出完整的应用程序。下面是P89C66X系列单片机的I2C总线以主模式工作的软件设计方法。

  3.1向无子地址器件发送字节数据

  当单片机在主模式下向从器件发送字节数据时,首先,单片机要申请总线,在得到总线的控制权后,发送器件的7bit地址编码,这时判断状态寄存器SlSTA的值是否为0x18(0xl8代表的状态为主器件已经发送SLA+W,并且收到应答),如果不是0x18,则表示发送发生错误;如果是0x18,则继续发送数据字节。然后判断S1STA的值是否为0x28(0x28代表的状态是主器件已经发送数据寄存器SIDAT中的数据,并受到应答),如果是0x28,则表示发送数据成功,此时要将控制寄存器SICON的SI复位,结束此次传送。

  3.2从无子地址器件读字节数据

  当单片机在主模式下向从器件读字节数据时,单片机在申请到总线后发送从器件地址,随后检测总线状态,如果S1STA寄存器的值为0x40(0x40代表的状态为主器件已经发送SLA+R,并且收到应答),表明地址发送成功,程序准备接收数据字节,否则表示发送发生错误。程序在接收字节后判断SISTA的值是否为Ox58(0x58代表的状态是主器件已经收到数据字节,并返回应答),如果是0x58,则表示发送数据成功,此时要将控制寄存器SICON的SI复位,结束此次传送。

  3.3向有子地址器件发送和接收字节数据

  在I2C总线器件中,每个器件除了拥有其自身的从地址外,部分器件还可以具有子地址。在对子地址指向的空间通信时,主器件需要依次发送从地址和子地址才可以正常寻址。其实现过程与前面发送和接收字节的过程基本相同,只是要注意发送器件从地址后,还要发送一个子地址信息才可以继续发送或者接收数据。其编程流程如图2所示。

有子地址器件发送和接收数据流程图

  图2 有子地址器件发送和接收数据流程图

  总结

  以上就是基于单片机的I2C总线系统设计与开发介绍了。在进行I2C总线的设计与开发时,需要首先将整体系统的功能进行划分,对各个不同的功能部分进行独立的设计,最后使用12C总线接口将整个系统连接到一起。值得注意的是,在设计的过程中,每完成一个功能模块的设计,就应该进行调试,直到完全达到设计的要求,再开始下一个模块的设计,这样所有模块设计完成后,可以直接连入系统进行最后的整合工作,如此整个调试过程中出现的任何问题都可以直接找到对应的部分,降低系统调试的难度。

订购与质量

图片 产品型号 品牌 描述 数量 价格
(USD)
OPA4180IDR OPA4180IDR Company:Texas Instruments Remark:产品型号:OPA4180IDR 描述:IC OPAMP ZERO-DRIFT 4CIRC 14SOIC 分类:集成电路(IC),线性-放大器-仪表,运算放大器,缓冲放大器 制造商:德州仪器 打包:切割带(CT) 零件状态:活性 In Stock:On Order
Inquiry
Price:call Inquiry
TPS65150PWPR TPS65150PWPR Company:Texas Instruments Remark:TPS65150PWPR提供非常紧凑和小型的电源解决方案,可提供薄膜晶体管(TFT)LCD显示器所需的所有三种电压。该器件的输入电压范围为1.8V至6V,非常适合由2.5V或3.3V输入轨供电的笔记本电脑或具有5V输入电压轨的监视器应用。此外,TPS65150器件提供了一个集成的高电流缓冲器,以为TFT背板提供VCOM电压,两个稳压可调电荷泵驱动器为TFT提供正V(VGH)和负V(VGL)偏置电压。该器件集成了V(VGL)和V(VGH)的可调上电排序,这避免了任何额外的外部组件来实现特定于应用程序的排序。 In Stock:32997
Inquiry
Price:call Inquiry
DAC7642VFBR DAC7642VFBR Company:Texas Instruments Remark:产品型号:DAC7642VFBR 描述:IC DAC 16位V-OUT 32LQFP 分类:集成电路(IC),数据采集​​-数模转换器(DAC) 制造商:德州仪器 打包:卷带式(TR) 电压-电源,模拟:±5伏 In Stock:On Order
Inquiry
Price:call Inquiry
AD5315BRMZ AD5315BRMZ Company:Analog Devices Remark:产品型号:AD5315BRMZ 描述:IC DAC 10BIT V输出10MSOP 分类:集成电路(IC),数据采集​​-数模转换器(DAC) 制造商:ADI公司 打包:管 零件状态:活性 In Stock:On Order
Inquiry
Price:call Inquiry
BQ24610RGER BQ24610RGER Company:Texas Instruments Remark:产品型号:BQ24610RGER 描述:IC同步开关模式BAT CHRGR 24VQFN 分类:集成电路(IC),PMIC-电池充电器 制造商:德州仪器 打包:切割带(CT) 零件状态:活性 In Stock:On Order
Inquiry
Price:call Inquiry

相关文章

  • 基于LM358的单片机掉电保护电路设计 ...
    在单片机系统中为了防止突然掉电而造成数据丢失,一般需要把重要的数据存储在EEPROM中。由于EEPROM擦写寿命有限,故不宜程序每执行一遍,对其擦除一次。本设计提出了一种以LM35...
  • 基于AD620与单片机PIC10F206的指针检流计设计 ...
    目前指针检流计容易出现漂移的问题,因此本文讨论了基于仪表放大器AD620和6引脚PIC单片机的指针式检流计的设计方案。其方案:采用了2节5号电池供电并利用单片机进行功耗管理,有效地...
  • 基于AD7705与单片机的在线激光功率检测系统设计 ...
    利用Cx51的软单片机控制技术和AD7705模/数转换器结合,设计了一种在线激光功率检测系统。由于采用AD7705简化了硬件,该系统具有原理简单,造价低廉,智能操作,方便实用,误差...
  • 单片机是什么? ...
    从20世纪90年代开始,单片机技术就已经发展起来,随之时期的发展与高新科技的发展趋势,现阶段该技术性的实践活动运用日趋成熟期,单片机设计被运用于各行各业。目前,大家愈来愈高度重视单...
  • 单片机的原理与应用 ...
    现在单片机已渗透到我们日常生活中的各个领域,小到家用电器、仪器仪表,大到医疗器械、航空航天,无不存在着单片机的身影。一旦在某种产品上添加了单片机,便使得原产品向互联网靠拢,获得了“...
  • 单片机的分类有几种? ...
    目前,单片机正朝着高性能和多品种方向发展,将会进一步实现低功耗、小体积、大容量、高性能、低价格和外围电路内装化等要求。由于单片机的体积、结构和功能特点,在实际应用中可以完全融入应用...

0 条评论

留言

您的邮箱地址不会被公布

 
 
   
评分: