收藏壹芯微 | 在线留言| 网站地图

您好!欢迎光临壹芯微科技品牌官网

壹芯微

深圳市壹芯微科技有限公司二极管·三极管·MOS管·桥堆

全国服务热线:13534146615

壹芯微二极管
首页 » 壹芯微资讯中心 » 常见问题解答 » 基于单片机的I2C总线系统设计与开发介绍

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

返回列表来源:壹芯微 发布日期 2021-12-02 浏览:-

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

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总线寄存器

表1 I2C总线寄存器

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总线接口将整个系统连接到一起。值得注意的是,在设计的过程中,每完成一个功能模块的设计,就应该进行调试,直到完全达到设计的要求,再开始下一个模块的设计,这样所有模块设计完成后,可以直接连入系统进行最后的整合工作,如此整个调试过程中出现的任何问题都可以直接找到对应的部分,降低系统调试的难度。

壹芯微(二,三极管,MOS管专业生产商)主要生产与销售:肖特基二极管,整流/高效整流二极管,快恢复/超快恢复二极管,TVS二极管,场效应管,三极管,可控硅,三端稳压管,整流桥,IC集成电路;工厂直销价,品质保障,提供售前选型,送样测试,技术支持,售后FEA,如需了解产品详情或最新报价,欢迎咨询官网在线客服。

手机号/微信:13534146615

QQ:2881579535(点击可咨询)

推荐阅读

【本文标签】:

【责任编辑】:壹芯微 版权所有:http://www.szyxwkj.com/转载请注明出处

最新资讯

1高效能源转换:正激和反激开关电源的设计原理揭秘

2突破性的仪表放大器抑制方法:优化信号处理效率

3优化MOS管开关性能:应对米勒效应的最新技术与方法

4优化电路设计:7800系列稳压器的最佳实践指南

5三端稳压管内部结构解析:探秘稳压管电路的构成与工作原理

6预防转换器启动时的输出涌流:重要性与应对方法

7实用指南:步步详解如何搭建自己的隔离式半桥栅极驱动器系统

8精益求精:优化简单电流监测电路的性能与稳定性

9高效应对EMC挑战:电源PCB设计的5个关键步骤

10全桥驱动螺线管技术:提高关断速度的实用方法

全国服务热线13534146615

地 址/Address

工厂地址:安徽省六安市金寨产业园区
深圳办事处地址:深圳市福田区宝华大厦A1428
中山办事处地址:中山市古镇长安灯饰配件城C栋11卡
杭州办事处:杭州市西湖区文三西路118号杭州电子商务大厦6层B座
电话:13534146615 企业QQ:2881579535

扫一扫!

深圳市壹芯微科技有限公司 版权所有 | 备案号:粤ICP备2020121154号