主控器IP核的_第1页
主控器IP核的_第2页
主控器IP核的_第3页
主控器IP核的_第4页
主控器IP核的_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一种I2C 主控器IP核的设计与FPGA实现袁江南 ( 厦门理工学院 电子工程系 福建厦门 361005)摘 要 介绍了一种I2C主控器件IP核的系统结构确定、模块划分、系统仿真方法及综合实现过程,所得到的用Verilog HDL语言编写的IP核能够用于SOC(系统芯片)的构建。关键词 IP核;I2C;FPGA;SOC.【中图分类号】TN492Design and FPGA Implementation of A I2C MasterController IP CoreYUAN Jiang-Nan (XiaMen University of Technology Engineering Dep

2、t. XiaMen 361005 China)Abstract: A I2C Master Controller IP Cores Design and Implementation is presented in this paper, including system structure design,module division, functional simulation, synthesis, timing simulation, FPGA testing and board level testing. The Core can be reused in SOC design.K

3、ey words: IP Core; I2C; FPGA; SOC.图1 引言半导体技术的发展,大规模PLD器件和EDA技术的出现使得产品设计从原来众多的器件通过电路板连接渐渐演变为单芯片集成。近年来,基于IP核(知识产权)复用的,自上而下的设计方法已逐渐成了一种潮流和趋势。PLD器件的发展经历了亚微米级、深亚微米级,今天已发展到了纳米级,如全球顶级FPGA制造商XILINX公司2006年2月宣布推出基于65nm工艺制造的Vertex系列FPGA。价格大幅下降使得FPGA有可能进入到梦寐以求的消费电子产品领域。另一巨头Altera公司也有类似产品推出。如今,市场上已可以买到各种微处理器的IP核

4、,与之相配套的各种外围部件的IP核也有待丰富,以便迅速构建各种SOC芯片。其中的关键技术之一是IP核复用技术,通过IP复用可以重复利用已有的设计成果,快速将自己的产品推向市场。在接口电路方面,I2C标准使用的十分广泛,目前也有用PLD器件实现I2C接口的案例12。本设计旨在实现一种能方便重用,主要用于同微处理器核集成的I2C IP核。2 I2C协议简介3I2C通信通过同步时钟线SCL和数据线SDA完成。所有参与通信的器件的SCL和SDA线都连在一起,并上拉至高电平。总线空闲时所有器件都为高阻态,总线为高电平。想要发送数据的器件可以将总线拉低。在单主方式的I2C总线系统中,总线上以单片机为核心,

5、其余都是带I2C总线的外围器件。由于总线上只有一个单片机成为主节点,单片系统永远占据了总线,不会出现竞争,主节点不必有自己的节点地址。只要每个外围器件有自己的器件地址。I2C总线上的数据传送如图 1所示。总线上传送的每一帧数据均为1个字节。当SCL为高时SDA变低就启动总线,要求每传送1个字节后,对方回应一个应答位。在发送时,首先发送最高位。每次传送开始有起始信号,结束时有停止信号,这可通过SCL为高时,SDA跳高来实现。在总线传送完1个字节后,可以通过对时钟线的控制,使传送暂停,这时可在应答信号后使SCL变低电平,控制总线暂停。 当主节点要求总线暂停时亦可采用同样的方法。 起始 应答 应答

6、结束 图1 I2C 通信示意图3 系统结构确定I2C总线的外围硬件结构非常简单。但由于它是一种同步总线,在二根线上要实现各种总线状态。故实现这个协议的硬件结构有一定的复杂性。本设计的目的是要提供给SOC使用的IP核,必须要设计好I2C核与MCU核的接口,使I2C电路的硬件硬件Cdianl和软件密切配合。为了实现上述功能,我们首先确定了接口寄存器,分为:控制寄存器总线可读写,负责控制I2C总线的行为。状态寄存器总线可读写,负责监视I2C总线的状态,供软件查询。分频寄存器总线可写,改变I2C总线的速度。发送寄存器总线可写,暂存发送数据。接收寄存器总线可读,暂存接收数据。移位寄存器完成数据收发的串并

7、转换。在I2C总线的具体实现上,在二根线上有各种信号跳变,用状态机实现是较为方便的。I2C总线的最底层信号状态可分为起始、发送、接收、结束。完成一个字节的发送、接收也有各种状态,如带或不带起始位的发送,带或不带结束位,应答位电平的高低、重复起始位等等。这些功能的实现要建立在物理层之上,但又有别于物理层。鉴于此,在状态机的具体实现上我们采用了两级状态机,其中底层位状态机控制总线上的信号电平跳变,完成具体位的发送/接收,而字节状态机则调用位状态机,并且按照控制寄存器的命令完成整个字节的发送/接收/应答。这样设计的好处是系统结构分明,分工明确。4 系统设计与仿真调试位控制器的设计:根据I2C总线上具

8、体的SDL,SDA电平组合我们将其状态分为:起始、读、写、结束状态,其中读、写状态又细分为5个。在一个5倍于I2C总线频率的内部时钟的同步控制下完成状态转换。比如,写总线状态可以分为:空闲态,与前一状态衔接,信号电平保持不便。写A态,拉低SCL,数据送SDA。写B态,拉高SCL,保持数据。写C态,保持高SCL,保持数据。写D态,拉低SCL,保持数据。这样,完全满足I2C的总线电平要求:SCL为高时保持数据稳定,数据只在SCL为低时跳变。完成了一个数据位的发送过程。其余的起始、读、结束状态可以按照同样的方法根据I2C总路线的电平要求给出,状态跳变如图2示。 图2 位控制器状态跳变图 图3 功能仿

9、真波形图字节控制器的设计:根据I2C总线的要求。状态分为空闲态、起始、写总线、读总线、应答、结束,每一状态都调用相位的位控制器完成实际的发送/接收。开始时I2C总线为空闲态并不断检测控制寄存器,一但控制寄存器出现了相应命令,便立即进入相应状态并调用位控制器完成具体的发送/接收任务。例如,控制寄存器的“起始”、“读”和“应答”位有效、“应答电平”位为低,则字节控制器将完成以下动作:首先,调用位控制器的起始态在总线上完成一个I2C的起始过程。紧接着,开始调用位控制器的读状态接收总线上的数据,与此同时,位计数器也开始启动,读总线的动作一定要等到读满一个字节才结束。再随后,调用位控制器的写状态往总线上

10、写应答位。完成一个完整的读字节动作。完成系统的规划后,即可写Verilog HDL代码456,用于实现状态机是方便的。完成整个代码编写工作后,即可进行仿真调试,部分仿真波形如图3示。5 设计实现完成了全部代码的编写后,即可进行综合。本设计在Synplicity公司的Syplify Pro7.2综合软件下综合生成电路成功。在Xilinx ISE62环境下完成了布局布线,并且生成布局布线完成后时序仿真用的模型。用于布线后的时序仿真。时序仿真激励同功能仿真 图4 I2C主控器时序仿真波形图图5 在逻辑分析仪ChipScope上显示的FPGA内部工作波形是一样的。在目标器件Xilinx Spartan

11、II FPGA综合后占用CLB 79个7,在ModelSim6.0上进行后仿真波形如图4示。最高时钟频率可达40MHz,在速度上完全可满足高速I2C协议(400kbit/s)的要求。设计下载到FPGA后,可以用软逻辑分析仪(如Altera的SignalTapII及Xilinx的ChipScope)对FPGA内部信号进行观测,一般如果在软逻辑分析仪中能看到正确的波形,表明设计在硬件上能正常工作,在Xilinx的ChipScope上看到的FPGA内部实际工作波形如图5示。标准速度和高速模式I2C均可正常工作。最后将I2C主控器随同一个PIC16C55X软核一起下载到FPGA后,使用PIC指令对I2

12、C接口控制器进行设置以及数据发送/接收控制,另一端用I2C接口显示器件SAA1064协同进行电路板级测试,结果完全满足标准I2C传输要求。6 结语本文给出了一种I2C总线主控器实用的IP核。它具有以下特点:1)整个设计采用全同步方式,这是目前可重用设计的一个原则8。2)设计中没有采用特定公司的技术或IP核,所有设计通过HDL语言实现。这使得设计可以广泛的重用。3)代码采用工业界使用最为广泛的Verilog HDL语言编写,设计使用广泛使用的EDA工具,历经功能仿真时序仿真综合实现硬件测试的标准流程。4)最后与PIC微处理器IP核集成后通过板级测试,证明IP核可用于构建SOC芯片。参考文献1 李明峰.李沁遥 I2C器件接口IP核的CPLD设计【J】.单片机与嵌入式系统应用2003合订本(1-6):126128. CPLD的系统巾I2C总线的设计【J】.电子技术应用,2003,(11):4042.3何立民. I2C 总线应用系统设计【M】.北京:北京航空航天大学出版社, 2002.4刘明业. 硬件描述语言 Verilog(第四版)【M】.北京:清华大学

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论