网站大量收购独家精品文档,联系QQ:2885784924

基于FPGAAT24C32控制电路设计.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGAAT24C32控制电路设计

基于FPGAAT24C32控制电路设计   中图分类号:TP 文献标识码:A 文章编号:1007-0745(2012)12-0048-02   摘要:本文介绍了现场可编程门阵列FPGA与AT24C32器件的接口设计方法。其特点是用VHDL语言编程,利用FPGA的普通I/O口模拟产生IIC总线协议的接口信号时序,实现FPGA与AT24C32的数据通信。本文给出了FPGA与IIC总线存储器件AT24C32连接的硬件和软件设计的应用实例。   关键词:FPGA IIC总线 VHDL I/O口   1、引言   现场可编程门阵列FPGA(Field Programmable Gate Array)是新一代可编程逻辑器件。FPGA功能强大,可以实现所有数字电路功能,具有结构灵活,设计周期短,密度高,性能好等多种优点,广泛应用于数字设计和电子生产中。   IIC总线(Intel IC Bus)是由Philips公司推出的一种串行扩展总线,它与并行总线相并,有如下突出的优点:规范完整,结构简单,易于实现用户系统软硬件的模块化、标准化等,因此IIC总线在简单的数字通信中应用十分普遍。IIC总线器件必须由一个主器件控制,在传统设计中以单片机或CPU作为主器件,本设计中采用可编程逻辑器件FPGA作为主器件,用FPGA的普通I/O口模拟IIC总线与器件AT24C32直接相连,实现FPGA与IIC总线器件的数据通信。二者实现数据通信的最关键地方是需要严格遵守IIC总线协议来进行设计。   2、IIC总线协议   IIC总线有严格的规范,IIC总线有两条串行接口,即SDA串行数据线和SCL串行时钟线。SDA是一个双向数据端口,用于传输地址和数据进入器件或从器件发出数据。SCL串行时钟端用于同步进入器件或从器件发出数据。   (1)开始(START)和停止(STOP)数据传送   当时钟线SCL为高,SDA线由高到低变化决定开始条件。所有的命令都必须在开始条件以后进行。当SCL线为高,SDA线由低到高变化决定停止条件。所有的操作都必须在停止条件以前结束。总线开始和停止数据传送的时序见图1。   (2)数据有效   在开始条件以后,时钟信号SCL的高电平周期期间,当数据线稳定时,数据线SDA的状态表示数据有效,即数据可以被读走,开始进行读操作。在时钟信号SCL的低电平周期期间,数据线上数据才允许改变。每位数据需要一个时钟脉冲。IIC总线的数据位传输时序见图2。   (3)确认(ACKNOWLEDGE)   在每一个字节接收后,当寻址时,接收器件必须产生一位确认信号位(ACK)。主器件发布产生一个与确认位相应的额外时钟脉冲(第九个脉冲),发送器在这一时钟位上释放数据线,使其处于高电平状态,接收器须将SDA线拉为稳定的低电平,可确认器件。IIC总线的应答信号时序见图3。   (4)从器件地址   总线规范中采用了七位地址,总线上每个从器件地址由四位器件编号地址和三位引脚地址给定,七位地址数据D7 ~ D1位,D7 ~ D4为器件码,D3 ~ D1为片选码。D0为数据传输方向位,高电平为主器件从从器件读取数据,低电平为主器件将数据写入从器件。ATMEL公司的IIC总线器件AT24C32的控制字节配置见表1。其中片选为该器件输入引脚A2A1A0的状态,本设计中这三位均接地,即都为低电平。   3、应用实例   3.1 硬件设计   FPGA芯片选用XILINX公司的XC2V250作为主器件。FPGA的普通I/O口11脚和12脚分别模拟时钟线和数据线与AT24C32的SCL和SDA相连,AT24C32的A2A1A0引脚接地。另外,FPGA还与计算机的ISA插槽相连,计算机主要是用来给FPGA发送数据。硬件连接图见图4。   3.2 软件设计   FPGA主要完成两个功能:①接收计算机送来的相关数据并存储在FPGA内。②根据IIC通信协议的时序要求完成与AT24C32的数据交换。本设计中IIC总线接口分为两个模块:IIC控制模块和IIC数据传输模块。为实现计算机对AT24C32的控制和采集AT24C32的数据,一方面用C语言编写对AT24C32读写数据的界面程序,另一方面用VHDL语言编写实现IIC总线协议的程序。计算机通过ISA插槽往AT24C32写控制数据的顺序是:先送AT24C32的器件地址,再送AT24C32内部某个寄存器的地址,最后送控制数据。因为本系统是一主一从的IIC总线系统,分配3个计算机的I/O口(0200H、0201H、0202H)给FPGA上的IIC控制模块,0200H写器件地址(7位)和R/W位;0201H写AT24C32内部某个寄存器地址;0202H写这个寄存器的控制字。以下主要介绍IIC控制模块和IIC数据传输模块的实现方案。   本系

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档