当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]用单片机实现基于I2C串行总线的音频处理系统

目前,消费类电子产品(如彩电、音响等)的功能多样化使得控制电路变得更为复杂。而Philips公司推出的集成电路芯片间总线I2CBUS(Inter ICBUS)是目前众多总线中最简洁有效、使用也为广泛的一种总线格式。I2C总线通常是以硬件来实现的,这就要求所选器件必须具有I2C总线接口,但目前广泛使用的MCS-51系列单片机并不具备I2C总线的专用硬件部分。本文结合笔者采用单片机8031实现对具有I2C总线接口的立体声音频处理芯片TDA7313的控制,介绍了I2C总线以及基于I2C串行总线的单片机应用系统的设计方法和程序。

1 I2C总线简介

1.1  I2C总线的组成

I2C串行总线是用双向数据线(SDA)和串行时钟线(SCL)两根信号线,在连接到该总线的器件之间传送信息。它属于多主控器总线,图1所示是其组成框图。总线上的每个器件均可设置一个唯一地址,然后根据所设的功能进行信息的发送或接收。除了作为发送器和接收器以外,在执行数据传输时,总线的器件还可以设定为主控器和被控器。通常由主控器启动总线上的数据传输,并产生数据传输所需的时钟信号。而被其寻址的其它器件均为被控器,这意味着总线上可连接多个有控制总线的器件。

图1  I2C总线的组成

I2C总线上的数据传输率为100 kbit/s,快速方式下可达400 kbit/s。连接到总线上的器件数仅受400 pF的总线电容的限制。同时,为了避免总线信号的混乱,要求连接到总线上的各器件输出端必须是集电极开路或漏极开路,以便产生“线与”功能。I2C总线上的SDA和SCL线都是双向传输线,它们可通过一个电阻连接到正电源端,当总线处于空闲状态时,两条线均为高电平。

1.2 I2C总线数据传输格式

在I2C总线传输过程中,仅当总线空闲(SCL线和SDA线均为高电平)时,数据传送才能开始,此时总线上的任何器件均可以控制总线。图2所示是两种特定的开始和停止条件,其中当SCL线为高电平且SDA线由高变低时为开始条件(S);而当SCL线为高电平且SDA线由低变高时为结束条件(P)。在数据传送过程中,当SCL线为高电平时,SDA线必须是稳定的高或低电平才能使数据有效。只有当SCL线上的时钟信号为低时,SDA线的状态才能改变,且每位数据需一个时钟脉冲。所有数据都是按字节发送的,每次发送的字节数不限。每发送完一个字节,主控器释放SDA线(呈高电平)并由受控器下拉SDA线,从而使SDA线为稳定的低电平来作为有效应答位以表示传输成功,此时主控器必须产生一个与此位相应的额外时钟脉冲。

图2  I2C串行总线数据操作时序

图3为I2C 总线数据传输格式。其中第一部分为数据传输起始信号,即由此开始进行数据传送;第二部分为受控器地址,用来选择向哪个受控器传送数据;第三部分为读/写控制位,用于指示受控器的工作方式,0表示写,1表示读;第四部分是被主控器选中的受控器向主控器回传的确认信号;第五部分是所传送的数据,每传送一个字节数据,都要求有一个应答位;第六部分是数据传输的结束信号。

图3  数据传输格式 

每个具有I2C总线接口的受控器件都有唯一固定的地址,当主控器发送数据时,I2C总线上挂接的受控器件都会将主控器发出的、位于起始信号后的8位地址信息与自己的地址进行比较,如果两者相同,则认为该受控器件被选中,然后按照读/写位规定的工作方式接收或发送数据。

2 I2C总线在单片机中的实现

本音频处理系统中所使用的IC控制芯片为TDA7313,它是具有音量、高低音调的左右平衡及前后混频调整的立体声音频数字处理器件,它的输入通道可以选择,并具有相应的外部响度调整函数以及I2C串行总线接口,因此可广泛应用于汽车音响和高保真系统中。TDA7313与单片机8031的连线和基本的管脚定义如图4所示。

图4  单片机与TDA7313的接口电路 

由于单片机8031不具有I2C 总线硬件接口,因此只能通过编写软件产生串行时钟信号。当系统传输数据时,先由单片机给出一个启始信号;接着送出器件TDA7313的7位地址及读/写控制位并等待应答信号;当收到应答信号后,系统根据访问要求进行相应操作。在实际操作过程中,一般都是通过CPU向TDA7313输入一连串的特定数字命令来实现对整个系统的音频处理,所以对TDA7313的操作主要是写操作。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

新产品加入了同类产品中唯一的蓝牙低功耗产品系列模块、片上系统(SoC)产品和即插即用选项

关键字: 蓝牙 片上系统 单片机

数字可编程变频电源是一种能够根据用户需求调整输出电压和频率的电源设备。它在工业生产和实验室研究等领域中被广泛使用。

关键字: 单片机 可编程电源 系统设计

可编程电源的基本原理是通过控制电源输出的电压和电流来满足用户的需求。一般情况下,可编程电源由电源模块、电压测量模块、电流测量模块和控制模块组成。

关键字: 单片机 可编程 电源

本设计的控制系统主要包括:倾斜模块、超声波模块、语音模块、光敏电阻模块及电源等。

关键字: 单片机 STC51

本文针对电动两轮车自燃防控装置的开发与分析进行了研究。通过电动两轮车自燃原因分析,提出了电动两轮车的自燃防控智能装置设计思路,介绍了电动两轮车的自燃防控智能

关键字: STC89C52RC 单片机 微控制器

现在市面上还不存在一种方便实验人员选取芯片,以及方便管理人员对芯片进行智能化管理的芯片柜,为此希望通过研发这款智能芯片柜,来解决以上问题。​

关键字: 单片机 芯片

这款全新的中端MCU系列为设计人员提供了更高水平的安全性和灵活性

关键字: 嵌入式 单片机

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机
关闭
关闭