DSP常用外设介绍一——I2C
写在前面:感觉DSP板块的热度不够,因此本版主决定不时更新一些介绍DSP常用外设的帖子,让大家更好了解DSP。这些介绍只是初步让大家了解,更深的知识大家需要查阅相关技术手册
====================================================================================================================
本节介绍一下I2C总线子系统。
目前,几乎所有的处理器,包括嵌入式处理器、DSP、FPGA甚至是intel的X86、X64CPU都会带I2C总线。这个总线也是几种最基本的总线协议之一
I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。
I2C的通信的硬件特征是只有两条线,一条是数据线SDA,一条是时钟线SCL,在PCB布板时注意这两条线必须等长,如果是多个模块连接,如ABC三个模块,那么A到B,B到C的都要等长,不然通信会出错。
数据传输的起始与停止:
SCL 线是高电平时,SDA 线从高电平向低电平切换,这个情况表示起始条件;
SCL 线是高电平时,SDA 线由低电平向高电平切换,这个情况表示停止条件。
数据格式:数据传送时高位在前,低位在后。传输启动后第一个字节表示地址,地址字节的前面七位代表通信的对象,最后一位代表数据传输的方向。
每收到一个字节的信息,接收机需要发送一个确认的信息给发送方以确认信息正常传输。
总线仲裁:
I2C上面允许有多个主机多个从机,但是每个时间只允许有一个主机和多个从机,就是说没有获得总线控制权的设备统统只能被认定为从机。
总线仲裁的机制是谁先发送低电平谁就由总线的仲裁权。
I2C的模式:
I2C分为快速模式,此模式下器件可以在400kbit/s 下接收和发送;与高速模式,此模式下器件可以在高达3.4Mbit/s 的位速率下传输信息,而且保持完全向下兼容快速模式或标准模式(F/S 模式)器件
DSP上面的I2C子系统:
以TMS320C6748这一款DSP为例,它的通信系统上面有两个I2C系统,即支持两路I2C总线,分别可以用于连接不同的器件,比如说EEPROM与电源管理IC等
DSP上面的I2C跟普通MCU的一样,也是将收到的数据与发送的数据分别存入寄存器中再进行发送。不过具体的机制就相当复杂了
写在前面:感觉DSP板块的热度不够,因此本版主决定不时更新一些介绍DSP常用外设的帖子,让大家更好了解DSP。这些介绍只是初步让大家了解,更深的知识大家需要查阅相关技术手册
====================================================================================================================
本节介绍一下I2C总线子系统。
目前,几乎所有的处理器,包括嵌入式处理器、DSP、FPGA甚至是intel的X86、X64CPU都会带I2C总线。这个总线也是几种最基本的总线协议之一
I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。
I2C的通信的硬件特征是只有两条线,一条是数据线SDA,一条是时钟线SCL,在PCB布板时注意这两条线必须等长,如果是多个模块连接,如ABC三个模块,那么A到B,B到C的都要等长,不然通信会出错。
数据传输的起始与停止:
SCL 线是高电平时,SDA 线从高电平向低电平切换,这个情况表示起始条件;
SCL 线是高电平时,SDA 线由低电平向高电平切换,这个情况表示停止条件。
数据格式:数据传送时高位在前,低位在后。传输启动后第一个字节表示地址,地址字节的前面七位代表通信的对象,最后一位代表数据传输的方向。
每收到一个字节的信息,接收机需要发送一个确认的信息给发送方以确认信息正常传输。
总线仲裁:
I2C上面允许有多个主机多个从机,但是每个时间只允许有一个主机和多个从机,就是说没有获得总线控制权的设备统统只能被认定为从机。
总线仲裁的机制是谁先发送低电平谁就由总线的仲裁权。
I2C的模式:
I2C分为快速模式,此模式下器件可以在400kbit/s 下接收和发送;与高速模式,此模式下器件可以在高达3.4Mbit/s 的位速率下传输信息,而且保持完全向下兼容快速模式或标准模式(F/S 模式)器件
DSP上面的I2C子系统:
以TMS320C6748这一款DSP为例,它的通信系统上面有两个I2C系统,即支持两路I2C总线,分别可以用于连接不同的器件,比如说EEPROM与电源管理IC等
DSP上面的I2C跟普通MCU的一样,也是将收到的数据与发送的数据分别存入寄存器中再进行发送。不过具体的机制就相当复杂了