嵌入式软硬件IIC问题,IO口模拟IIC
硬件IIC只能接到它固定的管脚上软件iic,而且好像只有一两组,另外IO固定有时画板不好布线,有一定的局限性软件iic; 模拟I2C随便两个IO口就可以用了,另外同样的代码移值到其他类型的MCU上很方便,重新绑下IO口的就可以了。
最佳的方案是SDA采用两个IO口,一个IO设定为输出,而另一个IO设定为输入。
通信速率(IO模拟方式)主要取决于MCU中CPU的处理速度,IO口翻转速率一般非常快。看看上传的文档。希望对软件iic你有帮助。
硬件IIC用法比较复杂,模拟IIC的流程更清楚一些。 硬件IIC速度比模拟快,并且可以用DMA 模拟IIC可以在任何管脚上,而硬件只能在固定管脚上。
如果用模拟的 IIC, 两者的差别应该是 主频了,如果有示波器,可以抓一下,IO 翻转的时间间隔。
IIC和SPI有什么区别?
SPI \r\nSPI 是一种四线制串行总线接口,为主/从结构,四条导线分别为串行时钟(SCLK)、主出从入(MOSI)、主入从出(MISO)和从选(SS)信号。主器件为时钟提供者,可发起读从器件或写从器件操作。
IIC(INTER IC BUS)第二,区别在电气信号线上:SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现多个SPI设备互相连接。
iic总线读写时序比较固定统一,设备驱动编写方便。spi总线不同从设备读写时序差别比较大,因此必须根据具体的设备datasheet来实现读写,相对复杂一些。
spi总线是4线制,读写速度较快,而i2c总线是2线制,读写速度较慢。spi总线一般用于读写少量数据,速度快,并且不需要特别的时序就可以操作,而i2c则用于大量数据的读写,并且硬件的支持更为强大。
硬件II2C和软件I2C有什么区别
早期的PIC单片机,没有I2C的硬件模块支持,要完成I2C的通信,必须通过两根普通I/O线,完全用软件来模拟。既然是软件模拟,自然是可以模拟成主机运行,也可以模拟成从机。由于大量外围I2C器件都是制造成从机的,所以,软件模拟主机的情况居多。
软件i2c是程序员使用程序控制SCL,SDA线输出高低电平,模拟i2c协议的时序。一般较硬件i2c稳定,但是程序较为繁琐,但不难。硬件i2c程序员只要调用i2c的控制函数即可,不用直接的去控制SCL,SDA高低电平的输出。
硬件就是芯片已经内置了I2C,并且提供了标准库函数一般是DLL文件。
所谓硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用的;软件I2C一般是用GPIO管脚,用软件控制管脚状态以模拟I2C通信波形。
iic的应用
1、硬件IIC只能接到它固定的管脚上,而且好像只有一两组,另外IO固定有时画板不好布线,有一定的局限性;模拟I2C随便两个IO口就可以用了,另外同样的代码移值到其他类型的MCU上很方便,重新绑下IO口的就可以了。
2、IIC总线在嵌入式系统中应用十分广泛,常见的有eeprom,rtc。一般的处理器会包含IIC的控制器,用来完成IIC时序的控制;另外一方面,由于IIC的时序简单,使用GPIO口来模拟时序也是常见的做法。
3、飞利浦电子公司日前推出新型二选一I2C主选择器,可以使两个I2C主设备中的任何一个与共享资源连接,广泛适用于从MP3播放器到服务器等计算、通信和网络应用领域,从而使制造商和终端用户从中获益。
4、如果应用中必须使用高速数据传输,那么SPI是更好的选择。因为SPI是全双工,IIC的不是。SPI没有定义速度限制,一般的实现通常能达到甚至超过10 Mbps。
5、SPI 和I2C这两种通信方式都是短距离的,芯片和芯片之间或者其他元器件如传感器和芯片之间的通信。而UART是应用于两个设备之间的通信,如用单片机做好的设备和计算机的通信。这样的通信可以做长距离的。
IIC软件工程师是做什么的
软件工程师负责开发项目的系统分析、研发与组织实施。软件工程师负责开发符合系统要求的软件内容。软件工程师要修改以有的系统方案,以维持优良的操作性能及正常的信息沟通。软件工程师负责MES程序的设计与开发。
软件工程师主要做指导程序员的工作。参与软件工程系统的设计、开发、测试等过程。协助工程管理人保证项目的质量。负责工程中主要功能的代码实现。解决工程中的关键问题和技术难题。
软件工程师是对从事软件开发、程序编程等人员的统称,具体地说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。
软件工程师是干什么的 软件工程师是从事软件开发相关工作的人员的统称。它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位。