- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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数据传输模块的实现方案。
本系
您可能关注的文档
- 基于CDIOJavaScript课程教学改革与研究.doc
- 基于CDIO理念模具课程体系初探.doc
- 基于CDIO动漫专业人才培养模式探究.doc
- 基于CDIO模式单片机教学探索.doc
- 基于CDIO理论C语言程序设计课程改革.doc
- 基于CDIO教育理念旅游管理本科专业人才培养模式研究.doc
- 基于CDIO模式嵌入式系统专业教学体系建设研究.doc
- 基于CDIO计算机信息管理专业教学改革探索与实践.doc
- 基于CDIO理念网络工程专业人才培养计划方案.doc
- 基于CMMI项目风险管理.doc
- 职业技术学院2024级工业机器人技术(安装与维护)专业人才培养方案.docx
- 职业技术学院2024级应用化工技术专业人才培养方案.pdf
- 职业技术学院2024级软件技术(前端开发)专业人才培养方案.pdf
- 职业技术学院2024软件技术专业人才培养方案.docx
- 职业技术学院2024级信息安全技术应用(安全运维)专业人才培养方案.docx
- 职业技术学院2024级新能源汽车检测与维修技术(车辆鉴定与评估)专业人才培养方案.pdf
- 职业技术学院2024级石油炼制技术专业人才培养方案.pdf
- 职业技术学院2024级环境监测技术专业人才培养方案.docx
- 职业技术学院2024级汽车制造与试验技术专业人才培养方案.pdf
- 职业技术学院2024级信息安全技术应用专业人才培养方案.pdf
文档评论(0)