位置:51电子网 » 技术资料 » 接口电路

AT24系列存储器数据串并转换接口的IP核设计

发布时间:2008/5/27 0:00:00 访问次数:740

        

    

    

    来源:现代电子技术 作者:谭文虎 彭新生 刘守印 黄光明

    

    摘 要 at24系列eeprom芯片是基于i2c(inter-integrated circuit)总线协议而设计的。该存储器与微处理器通信,需要把串行数据转换成并行数据,或把并行数据转换成串行数据后,通信过程才能进行。介绍用vhdl语言设计该存储器数据串并转换接口的ip核,从而通过硬件(fpga或其他可编程芯片)实现at24系列存储器与8位微处理器之间的并行通信。

    

    关键词 i2c总线 at24系列存储器 vhdl 串并转换 微处理器

    

    1 i2c总线的基本概念

    

    i2c总线协议是philips公司推出的总线协议。它是多主机总线,通过2根线(sda-aserial data line,scl-a serial clock line)与连接到总线上的器件之间传送信息,根据地址识别每个器件。例如,微控制器、lcd驱动器、存储器、键盘,连接的器件可以工作在发送和(或)接收状态。很显然,lcd驱动器等一些器件只能是接收器,而存储器可以发送和接收数据。对于at24系列存储器来说,器件的地址是通过把地址输入端a0,a1,a2进行硬件连接来确定的。

    

    图1是典型的i2c总线结构。sda和scl都是双向线,通过上拉电阻接正电源。当总线空闲时,这两根线处于高电平状态,连到总线的器件的输出级必须是开漏极或集电极开路,以具有线“与”的功能。设备与总线的接口电路如图2所示。 

    

    

    

    2 i2c总线的数据传输

    

    在i2c总线的数据传输过程中,定义了开始和停止信号。如图3所示,scl保持“高”,sda由“高”变为“低”为开始信号;scl保持“高”,sda由“低”变为“高”为停止信号。开始(s)和停止(p)信号由主器件产生。在时钟高电平期间上的数据必须保持稳定,如图4所示,只有在时钟线scl的时钟低电平期间,sda线上高电平或低电平才能变化。

    

    

    

    

    

    

    

    到sda线上的每个字节必须是8位长度,每次传输的字节数是不受限制的,每个字节后面必须跟一个响应位。如果一个接收器件在完成其他功能前(如一个内部中断)不能接收另一个数据的完整字节时,可以使时钟保持低电平,以促使发送器进入等待状态。当接收器准备好接收下一个数据字节并释放scl线,数据传输继续进行。图5表示出了i2c总线上的数据传送时序。

    

    数据传送具有应答是必须的。与应答对应的时钟脉冲由主控器件产生。发送器在应答期间必须下拉sda线。当寻址的被控器件不能应答时,数据保持为高,于是主器件产生停止信号终止传输。

    

    

    

    3ip核的设计

    

    3.1该ip核设计与软件实现的比较

    

    在i2c总线的应用中,实现微机与at24系列存储器之间的通信,可以把微机的通用i/o口作为i2c总线的接口,通过汇编由软件控制实现数据的传输。由于软件在操作上时间的原因,速度总要受到限制。并且汇编控制也很难作为一个统一的标准在应用中推广。通过ip核设计,我们可以在硬件上实现数据串并转换的目的。工作的速度只与存储器本身的特性有关,克服了软件在此方面的不足。

    

    3.2系统设计方案

    

    该系统主要由i2c串行移位寄存器(ssr)、数据缓冲寄存器(idbr)、控制寄存器(icr)、状态寄存器(isr)、从地址寄存器(iccr)、scl产生器(scl generator)及其他总线组成。图6为其基本内部结构。

    

    在该系统中,ssr把并行数据变为串行数据,传输给存储器,或者把存储器的串行数据变为并行数据,传输为处理器;idbr把并口来的数据或把被

        

    

    

    来源:现代电子技术 作者:谭文虎 彭新生 刘守印 黄光明

    

    摘 要 at24系列eeprom芯片是基于i2c(inter-integrated circuit)总线协议而设计的。该存储器与微处理器通信,需要把串行数据转换成并行数据,或把并行数据转换成串行数据后,通信过程才能进行。介绍用vhdl语言设计该存储器数据串并转换接口的ip核,从而通过硬件(fpga或其他可编程芯片)实现at24系列存储器与8位微处理器之间的并行通信。

    

    关键词 i2c总线 at24系列存储器 vhdl 串并转换 微处理器

    

    1 i2c总线的基本概念

    

    i2c总线协议是philips公司推出的总线协议。它是多主机总线,通过2根线(sda-aserial data line,scl-a serial clock line)与连接到总线上的器件之间传送信息,根据地址识别每个器件。例如,微控制器、lcd驱动器、存储器、键盘,连接的器件可以工作在发送和(或)接收状态。很显然,lcd驱动器等一些器件只能是接收器,而存储器可以发送和接收数据。对于at24系列存储器来说,器件的地址是通过把地址输入端a0,a1,a2进行硬件连接来确定的。

    

    图1是典型的i2c总线结构。sda和scl都是双向线,通过上拉电阻接正电源。当总线空闲时,这两根线处于高电平状态,连到总线的器件的输出级必须是开漏极或集电极开路,以具有线“与”的功能。设备与总线的接口电路如图2所示。 

    

    

    

    2 i2c总线的数据传输

    

    在i2c总线的数据传输过程中,定义了开始和停止信号。如图3所示,scl保持“高”,sda由“高”变为“低”为开始信号;scl保持“高”,sda由“低”变为“高”为停止信号。开始(s)和停止(p)信号由主器件产生。在时钟高电平期间上的数据必须保持稳定,如图4所示,只有在时钟线scl的时钟低电平期间,sda线上高电平或低电平才能变化。

    

    

    

    

    

    

    

    到sda线上的每个字节必须是8位长度,每次传输的字节数是不受限制的,每个字节后面必须跟一个响应位。如果一个接收器件在完成其他功能前(如一个内部中断)不能接收另一个数据的完整字节时,可以使时钟保持低电平,以促使发送器进入等待状态。当接收器准备好接收下一个数据字节并释放scl线,数据传输继续进行。图5表示出了i2c总线上的数据传送时序。

    

    数据传送具有应答是必须的。与应答对应的时钟脉冲由主控器件产生。发送器在应答期间必须下拉sda线。当寻址的被控器件不能应答时,数据保持为高,于是主器件产生停止信号终止传输。

    

    

    

    3ip核的设计

    

    3.1该ip核设计与软件实现的比较

    

    在i2c总线的应用中,实现微机与at24系列存储器之间的通信,可以把微机的通用i/o口作为i2c总线的接口,通过汇编由软件控制实现数据的传输。由于软件在操作上时间的原因,速度总要受到限制。并且汇编控制也很难作为一个统一的标准在应用中推广。通过ip核设计,我们可以在硬件上实现数据串并转换的目的。工作的速度只与存储器本身的特性有关,克服了软件在此方面的不足。

    

    3.2系统设计方案

    

    该系统主要由i2c串行移位寄存器(ssr)、数据缓冲寄存器(idbr)、控制寄存器(icr)、状态寄存器(isr)、从地址寄存器(iccr)、scl产生器(scl generator)及其他总线组成。图6为其基本内部结构。

    

    在该系统中,ssr把并行数据变为串行数据,传输给存储器,或者把存储器的串行数据变为并行数据,传输为处理器;idbr把并口来的数据或把被

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!