(微电子学与固体电子学专业论文)基于fpga的i2c总线控制器的设计.pdf_第1页
(微电子学与固体电子学专业论文)基于fpga的i2c总线控制器的设计.pdf_第2页
(微电子学与固体电子学专业论文)基于fpga的i2c总线控制器的设计.pdf_第3页
(微电子学与固体电子学专业论文)基于fpga的i2c总线控制器的设计.pdf_第4页
(微电子学与固体电子学专业论文)基于fpga的i2c总线控制器的设计.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(微电子学与固体电子学专业论文)基于fpga的i2c总线控制器的设计.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着微电子技术和e d a 技术的发展,大规模可编程逻辑器件p l d ( p r o g r a m a b l el o g i cd e v i c e ) ,现场可编程逻辑门阵列f p g a ( f i e l dp r o g a m a b l e g a t e a r r a y ) 完全可以取代大规模集成电路芯片,实现数字电路系统设计的功能。 尤其现场可编程逻辑门阵列f p g a 兼具可编程逻辑器件p l d 的现场可编程性, 以及集成度高的优点,受到工程界高度的重视。i 2 c 总线以接口简单,成本底, 可扩展性好在数字系统中得到了广泛的应用。硬件描述语言是数字系统高层设 计的核心,是实现数字系统设计新方法的关键技术之一。 本课题正是利用v e n l o gh d l 语言在f p g a 上实现1 2 c 总线控制器的功能。 首先研究了i 2 c 总线的规范,又简要介绍了q u m u s i i 设计环境和设计方法,以 及f p g a 的设计流程。在此基础上,重点介绍了1 2 c 控制器的总体设计方案, 详细描述时序状态机的工作原理和v 喇l o gh d l 语言的实现,以及在q u a r t u s i i 平台上的时序仿真。本系统采用了自顶向下的设计方法,利用了v e r i l o gh d l 语言的结构描述风格,把整个设计分成6 个模块,时钟分频模块,寄存器组模 块,数据接收模块,数据发送模块,输出缓冲模块,时序控制模块,顶层模块 也采用语言描述。以a l t e r a 公司的c y c l o n e 系列的e p 2 c 3 5 器件为载体,设置 相应的参数,在q u a r t u s h 开发平台上,实现系统的功能和时序仿真。 关键词:现场可编程逻辑门阵列;q u a r t u s i i ;1 2 c 总线控制器;状态机; 时序仿真。 河南大学微电子专业2 0 0 4 级硕士学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to fm i c r o e l e c t r i ca n de d a ( e l e c t r o n i cd e s i g na u t o m a t i o n ) t e c h n o l o g y , l a r g es c a l ei n t e g r a t i o nc i r c u i tc a nb er e p l a c e db yp l d ( p r o g r a m m a b l e l o g i cd e v i c e ) a n df p g a ( f i e l dp r o g r a m m a b l eg a t e sa r r a y ) w h i c hc a nr e a l i z et h e f u n c t i o no fd i e , i m lc i r c u i t s y s t e md e s i g n f p g ah a v e t h em e r i to ff i l e d p r o g r a m m a b i l i t ya n dh i g hi n t e g r a t i o nr a t e ,t h e r e f o r ei sh i g h l yr e c o g n i z e d f o r e n g i n e e r i n g p cb u si sw i d e l ya p p l i e di nt h ed i g i t a ls y s t e ma ss i m p l ei n t e r f a c e e x p e d i e n tu s e ,l o wc o s ta n dg o o de x p a n s i b i l i t y v e r i l o gh d l i sc o n s i d e r da sac o r e o f d i g i t a ls y s t e m d e s i g n a n d a k e y t e c h n i q u e o f i m p l e m e n t d i g i t a ls y s t e m t h ed e s i g nr e a l i z e st h ef u n c t i o no f1 2 cb u si n t e r f a c eo nt h ef p g a a tf i r s tt h e t h e s i sd e e p l yr e s e a r c hr cb u ss p e c i f i c a t i o n , t h e nb r i e f l yi n t r o d u c et h eq u a r t u s d e s i g ne n v i r o n m e n ta n dt h ed e s i g nm e t h o d , a sw e l la sf p g ad e s i g nf l o w i nt h i s f o u n d a t i o n ,r cb u sc o n t r o l l e rd e s i g ns c h e m e ,o p e r a t i o n a lp r i n c i p l eo ft h et i m i n g s t a t e ,t h er e a l i z eo fv e r i l o gh d l ia n dt h et i m i n gs i m u l a t i o nu n d e rq u a r m si ii s p a r t i 砌a d yi n t r o d u c e d t h es y s t e mu s e sat o p d o w nd e s i g nm e t h o d o l o g ya n dt h e s t r u c t u r e d e s c r i b i n gs t y l e o fv e r i l o g l a n g u a g e , i ti s d i v i d e di n t o6m o d u l e , 1 2 c c l o c km o d u l e ,1 2 c _ g r e g , 1 2 c _ r r e gm o d u l e ,1 2 c _ w r e gm o d u l e ,1 2 cb u f m o d u l ea n d1 2 c _ t e o nm o d u l e t h et o pm o d u l ei sd e s c r i b e db yr t ll e v e l i no r d e r t ot e s tt h ef u n c t i o no ft h es y s t e m ,s i m u l a t i o ne n v i r o n m e n ti ss a t b a s e do nt h e c y c l o n ei is e r i e sp r o d u c t i o ne p 2 c 3 5d e v e l o p e db ya l l e r ac o m p a n y , t h ep r o j e c t r e a l i z ef u n c t i o n a la n dt i m i n gs i m u l a t i o ni nt h eq u a r t u s d e v e l o p m e n tp l a t f o r m k e y w o r d s :f p g a ;q u a r t o s1 i ;1 2 cb u sc o n t r o l l e r ;, s t a t em a c h i n e ;t i m i n g s i m u l a t i o n 关于学位论文独立完成和内容创新的声明 本人向河南大学提出硕士学位申请。本人郑重声明:所呈交的学住论文是 本人在导师奇勺指导下独立完成的对所研究的课题有新酌见解。据我所知,除 文中特别加以说明、标注和致谢的地方外。论文中不包括:疼他人已经发表或撰 写过的研究成果,也不包括其他人为获得任何教育、科研机构的学位或证书而 段保存、汇编学位论文( 纸质文本和电子文本) 。 ( 涉及保密内睿的学位论文在解密后适用本授权书) 学位荻得者( 学住论文作者) 簦名 蒋馒华 2 0o 年6 月f 。目 学位论文指导教师签名: 2 0 第1 章绪论 第1 章绪论 1 11 2 c 总线的历史 2 0 世纪8 0 年代,飞利浦半导体公司( 现在改名为n ) 口) 研发了一种简单 的两线式串行总线,1 2 c ( i n t e r - - i n t e g r a t e dc i r c u i t ) , 总线。1 9 9 2 年首次发布1 2 c 总 线规范v e r s i o n1 0 ,并获得专利。x 2 c 总线实际上已经成为一种国际标准,在超 过1 0 0 多种不同的i c 上实现而且获得5 0 多家公司的许可。但是在很多应用中, 要求总线速度更高,工作电压更低,于是飞利浦公司也相应地在1 9 9 8 年发布 1 2 c 总线规范2 0 ,新版本在性能各个方面都得到了改进。2 0 0 1 年发布总线规范 2 1 ,完善和扩展了f c 总线的功能,i 2 c 总线始终保持与科技同步,同时具有 向下的兼容性【i 】。 现在n x p 已有1 5 0 多种c m o s 和双极性兼容1 2 c 总线的器件,可以完成 微处理器和多种外围电路的通讯,例如:l c d 驱动,i o 接口,存储器,a d 转 换等【2 】。1 2 c 总线最初是为音频和视频设备开发,如今主要在服务器管理中使用, 其中包括单个组件状态的通信。所有符合f c 总线的器件组成了一个片上接口, 使器件之间直接通过1 2 c 总线通讯 3 1 。1 2 c 总线具有数据的双向传输功能,极强 的功能扩展和控制能力,这个设计概念解决了很多在设计数字控制电路时遇到 的接口问题 4 】。使用这个总线标准的控制线可以免于e m i ( e l e c t r o m a g n e t i c i n t e r f e r e n c e ) 和e s d ( e l e c t r o s t a t i cd i s c h a r g e ) 干扰。 现在,1 2 c 总线已被所有主要的芯片厂家所利用,比较著名的世界性的半 导体公司如:x i c o r 、s t 微电子、英飞凌科技、英特尔、m a x i m ,a t m e l 等等,获得飞利浦授权的厂家已有5 0 多家,i 2 c 总线已经成为世界的工业标准 嘲。 河南大学微电子专业2 0 0 4 级硕士学位论文 1 21 2 c 总线的优点 对于面向8 位的数字控制应用,譬如那些要求用微控制器的,要满足一些 设计标准: 一个完整的系统通常由至少个微控制器和其他外围器件例如存储器 和扩展器组成: 系统中不同器件的连接成本必须最小: 执行控制功能的系统不要求高速的数据传输: 总的效益由选择的器件和互连总线结构的种类决定。 这些标准都包括在1 2 c 总线规范中。作为一种串行总线,1 2 c 总线虽没有并行总 线的数据吞吐能力,但它只需要很少的配线和i c 连接管脚。总之,i 2 c 总线之 所以能够得到广泛的应用,正是因为具有以下的优点嘲; 1 仅有两根信号线组成,由此带来的好处是节省芯片i o 、节省p c b 面 积、节省线材成本,等等。 2 总线协议简单。 3 协议容易实现。得益于简单的协议规范,在芯片内部,以硬件的方法实 现i c 部件的逻辑是很容易的。对工程师来讲,即使m c u 内部没有硬件的1 2 c 总线接口也能够方便地利用开漏的i o ( 如果没有,可用准双向f o 代替) 来 模拟实现。 4 支持的器件多。n x p 半导体最早提出i 2 c 总线协议,目前包括半导体巨 头德州仪器( 1 1 ) 、美国国家半导体( n a t i o n a ls e m i ) 、意法半导体( s t ) 、美信 半导体( m a x i m - i c ) 等都有大量器件带有f c 总线接口饥。这为工程师设计产 品时选择合适的i c 器件提供了广阔的空间。 5 总线上可同时挂接多个器件。同一条i 2 c 总线上可以挂接很多个器件, 一般可达数十个以上,甚至更多。器件之间是靠不同的编址来区分的,而不需 要附加的i o 线或地址译码部件。 2 第1 章绪论 6 总线可裁减性好。在原有总线连接的基础上可以随时新增或者删除器件。 用软件可以很容易实现i 2 c 总线的自检功能,能够及时发现总线上的变动。 7 总线电气兼容性好。1 2 c 总线规定器件之间以开漏i o 互联,这样,只要 选取适当的上拉电阻就能轻易实现3v 5v 逻辑电平的兼容,而不需要额外的 转换。 8 支持多种通信方式。一主多从是最常见的通信方式。此外还支持双主机 通信、多主机通信以及广播模式等等。 9 通信速率高。1 2 c 总线标准传输速率为l o ok b p s ( 每秒l o o k 位) 。在快 速模式下为4 0 0k b p s 。 1 0 兼顾低速通信。1 2 c 总线的通信速率也可以低至几k b p s 以下,用以支持 低速器件( 比如软件模拟的实现) 或者用来延长通信距离 1 2 c 总线带来的这些好处,得到了广大工程师的青睐。在通信,音视频, 智能仪表、工控领域都得到了应用。下图是1 2 c 总线应用的典型示例【甜。 图1 1 典型的熙总线的旋用举例一 河南大学微电子专业2 0 0 4 级硕士学位论文 1 3f p g a 的发展及应用 可编程a s i c 尽管在2 0 世纪8 0 年代才起步,但由于其具备了可编程性和 设计方便的两大特性,到2 0 世纪9 0 年代,已发展到相当的规模。与早期的简 单可编程a s i c 器件相比,目前广泛应用的复杂可编程a s i c 器件无论是在结 构、工艺、集成度方面,还是在功能、速度和灵活性方面都有了很大的改进和 提高。可编程a s i c 已经成为当今世界上最富有吸引力的半导体器件,在现在 的电子系统设计中扮演着越来越重要的角色【9 j 。在过去的几年里,可编程a s i c 市场的增长主要来自大容量的可编程逻辑器件c p l d 和f p g a 。 f p g a 作为当今电子设计领域最广泛的可编程器件之一,具有极大的市场 吸引力,其根本在于:它不仅可以解决电子系统小型化问题,而且其开发周期 短、开发软件投入少,尤其是芯片价格不断降低,促使f p g a 越来越多地取代 了a s i c 的市场,特别是对小批量、多品种的产品需求,已使f p g a 成为首选。 其未来的发展将呈现以下几点:低密度p l d 在一定时间内还将存在一定时期; 高密度p l d 继续向更高密度,更大容量迈进;i p 内核得到迸一步发展n o i 。具 体体现在: l 向低电压、低功耗和绿色化方向发展 集成速度的飞速发展,工艺水平的不断提高,便携式应用产品的发展,节 能潮流在全世界的兴起,也为半导体工业提出了降低工作电压的发展方向。可 编程器件正在由5 v 电压向低电压3 3 v 甚至2 5 v 器件演进,这样有利于适应 其他数字器件,扩大应用范围,满足节能的要求。目前已经有商品化的1 8v 的f p g a 芯片问世。 2 向高密度、高速度、宽频带的百万门系统的方向发展 随着电子系统复杂度的提高,可编程a s i c 已经具备了片上系统( s y s t e m o l l c h i p ) 集成的能力。产品性能发生了巨大的飞跃,每次工艺的改进都将带动可 编程a s i c 器件规模的扩展,截至2 0 0 6 年下半年, a l t e r a 公司推出了6 5 姗 4 第l 章绪论 工艺的f p g a ,包括了3 3 8 0 0 0 个逻辑单元【i j 】。 3 向动态可重构技术的方向发展 随着数字逻辑系统功能复杂化的需求,单片系统的芯片正朝着超大规模、 高密度的方向发展。在一个超大规模的数字时序系统芯片工作时,从时间轴上 来看,并不是每一个瞬间系统的各个部分都在工作,而是系统各个局部模块功 能在时间链上的总成。同时,基于s r a m 编程的f p g a 可以在外部逻辑的控制 下,通过存储与存储器中不同的目标系统数据的重新下载,来实现芯片逻辑功 能的改变。正是基于这个称之为静态系统重构的技术,有人设想,能不能利用 芯片的这种分时复用特性,用较小规模的f p g a 芯片来实现更大规模的数字时 序系统。系统可重构是指可编程a s i c 在置入用户系统后仍具有改变内部功能 的能力,但在尝试过程中,发现常规的s r a m 的f p g a 只能实现静态系统重构。 这是因为芯片功能的重新配置需要数毫秒到数十毫秒级的时间;而在重新配置 数据的过程中,旧的逻辑功能失去,新的逻辑功能尚未建立,电路逻辑在时间 轴上断裂,系统功能无法实现动态连接。但是要实现高速的动态重构,要求芯 片功能的重新配置时间缩短到纳秒量级,这就需要对f p g a 的结构进行革新。 可以预见,一旦实现f p g a 的动态重构,则将引发数字系统的设计思想的巨大 转变【1 2 1 。 4 1 p 库的发展 各个厂家开始推出自己的i p ( 知识产权) 内核,这些核心库都是预定的、 经过测试和验证的、优化的、可保证正确的功能。设计者可以利用这些现成的 口库资源,即缩短了开发时间,又节省了版图的空间,给现在复杂的电子系统 设计带来了很大的方便。典型的p 核心库有x i l i n x 公司提供的l o g i c o r e 和 a l l i a n c 宅c o r e 1 3 1 。 5 向片上可编程系绕( s o p c 的方向发展 当前半导体工艺已达到了深亚微米,正向1 0 0n m 以下发展,芯片的集成 5 河南大学微龟子专业2 0 0 4 级硕士学位论文 速度己达到千兆位,时钟频率也正在向千兆以上发展,数据传输位数达到每秒 几十亿次,即3 g 时代口9 】。随着现场可编程逻辑器件越来越高的集成度,加上 对不断出现的f o 标准、嵌入功能、高级时钟管理的支持,使得设计人员开始 利用现场可编程逻辑器件进行系统级的片上设计。由于连接延迟时间的缩短, 片上可编程系统( s o p c ) 能够提供增强的性能,而且由于封装体积的减小,产 品尺寸也大大减少。可编程片上系统芯片不仅使设计的电子产品达到小型 化、集成化和高可靠性,而且器件具有用户可编程的特性,大大缩短了设计周 期,减少了设计费用,降低了设计风险1 1 4 1 。 f p g a 一般有逻辑功能模块,f o 模块和可编程连线三部分组成【4 2 】。目前 f p g a 已在下述领域得到了广泛的的应用。 * ,。 , 、一 通信领域。现代通信系统也正朝着功能更强、体积更小,速度更快、功耗 更低的方向发展,而f p g a 在集成度、功能和速度上的优势正好满足通信系统 的要求,已广泛应用于民用的移动电话、程控交换机、集群电台、广播发射机 和调制解调器,军用的雷达设备、图象处理仪器、遥控遥测设备、加密通信机 中 1 5 】。 数字信号处理( d s p ) 领域。f p g a 能够在集成度、速度和系统功能方面 满足d s p 应用的需要,现在不少的的f p g a ( 如l a t t i c e 的i s p m a c h 4 0 0 0 和 i s p m a c h 5 0 0 0 系统、a c t e l 的p r o a s i cf p g a 系列、x i l i n x 的v i r t e x 系列、a l t e m 的f l e x l k 和a p e x 系列芯片等) 内部提供的r a m 、双端口r a m 和f 巧o r a m 等存储结构可以满足d s p 中存储数据的需型1 6 1 。由于可编程逻辑器件和 开发工具的灵活性,利用f p g a 设计d s p 系统,同时具备d s p 处理器的灵活 性和固定功能的d s p 芯片的实时性;已成功应用于许多d s p 领域,如雷达信 号处理、数据压缩、图象处理、保密通信、数字电视及声像设备等。 消费电子领域。未来十年消费电子成为全球芯片产生的增长引擎,3 c 融合、 无线连接、家庭娱乐等趋势对f p g a 芯片而言存在很大的发展空间。如光盘控 6 第l 章绪论 制器与媒体处理器,无线远程控制,数字电视,h 2 6 4 的视频编码器,汽车电 子领域切。f p g a 包括了自定义的硬件定时和同步、高度可靠性、数字信号 处理和分析等。这些优势为快速增长的汽车电子测试技术提供了灵活的低成本 解决方案。基于f p g a 技术的汽车电子应用主要包括车载数据采集和对电子控 制单元的硬件在线仿真【堋。 1 4 课题的主要工作以及论文的组织 1 2 c 串行总线是一种简单的二线双向制通信总线,国际上有超过5 0 家半导 体公司的2 0 0 0 多种器件上都集成了1 2 c 接口,在现代数字系统中i 2 c 器件几乎 无所不在。i n t e l 公司的p x a 系列的3 2 位m p u ( m i c r o - p r o c e s s o ru n i t ) 中也 集成了1 2 c 接口。但是在当前市场流行的种8 位微处理器中,具有1 2 c 接口的 还很少,一般情况下都是通过通用的i o 口与1 2 c 芯片直接连接,采用软件编 程的方式实现1 2 c ,这样做不但扩展的接口有限,而且将占用c p u 的处理时间, 使整个系统的工作效率严重下降。 随着可编程器件的飞速发展,用f p g a 器件实现1 2 c 接口可以带来很多方 面的便利。不但能够增加系统的扩展能力,面且控制方式极其灵活。f 标准 使用非常广泛,目前已有p l d 器件实现1 2 c 接口的案例【1 9 - 2 4 。本文主要通过是 用v c r i l o gh d l 语言在f p g a 上实现1 2 c 总线控制器,它主要用于微控制器和 1 2 c 器件的通讯。研究内容主要包括以下方面: 1 深入研究1 2 c 协议规范。 2 设计基于f p g a 的1 2 c 总线控制器,包括数据传输时序、传输命令、传 输格式。做至4 数据传输能够有序,有效地进行。 3 用m a x p l u s 2 软件对每一个模块进行编译生成单个电路模块 4 在q u a r t u s l i 平台上,对设计进行分析、综合,功能和时序仿真。 5 深入研究f p g a 芯片的设计流程,并根据以上结果选择芯片,并配置到 7 河南大学微电子专业2 0 0 4 级硕士学位论文 f p g a 上,验证设计结果。 论文的组织为:本章介绍课题研究的背景,意义与论文内容,第二章主要 研究1 2 c 总线规范,第三章介绍设计环境和设计方法,第四章介绍了设计过程 及v e r i l o gh d l 的实现,第五章给出了设计的仿真结果,第六章对全文做了简 要的总结。 第2 章1 2 c 总线技术的研究 第2 章i2 c 总线技术的研究 2 11 2 c 总线的概念 r c ( i n t e r - - i n t e g r a t e dc i r c u i t ) 总线是p h i l i p 公司开发的用于芯片连接之间的 总线它支持任何i c 生产过程( 包括c m o s 、n m o s 、双极性) 。用两根信号 线进行数据传输一串行数据线( s d a ) 和串行时钟线( s c l ) 【2 5 】。每个器件 都有唯一的地址( 无论是微处理器、l c d 控制器、存储器或键盘接口) ,而且 都可以作为一个发送器或接收器( 由器件的功能确定) 。除了发送器和接收器外, 器件在执行数据传输时也可以被看作是主机或者从机。主机是初始化总线的数 据传输并产生允许传输时钟信号的器件,此刻任何被寻址的器件都是从机。 表2 - i1 2 c 总线术语的定义 术语描述 发送器 接收器 主机 从机 多主机 仲裁 同步 发送数据到总线的器件 从总线接收数据的器件 初始化发送,产生时钟信号和终止发送的器件 被主机寻址的器件 同时有多于一个的主机尝试控制总线,但不破坏报文 是一个在多个主机同时尝试控制总线,但只允许其中一个 控制总线并使报文不被破坏的过程 两个或多个器件同步时钟信号的过程 1 2 c 总线是一个多主机的总线,这就是说可以连接多于一个能控制总线的 器件连接到总线,主机通常是微控制器,在1 2 c 总线上产生时钟信号通常是主 机器件的责任,当在总线上传输数据时,每个主枫产生自己的的时钟信号。主 9 河南大学微电子专业2 0 0 4 缬硕士学位论文 机发出的总线时钟信号只有在以下的情况下才能发生改变:慢速的从机器件控 制时钟线并延长时钟信号,或者在发生仲裁时被另一个主机改变。 2 21 2 c 总线的信号线和接口电路 f c 总线只需要由两根信号线组成,一根是串行数据线s d a ,另一根是串 行时钟线s c l 。在系统中,1 2 c 总线的典型接法如图2 1 所示,注意连接时需 要共地。 图2 1i z c 总线信号连接示意图 s d a 和s c l 都是双向线路,都通过一个电流源或上拉电阻连接到正电源 电压( 图2 1 ) 。当总线空阙时,这两条线路都是高电平。连接到总线的器件输 出级必须是漏极开路或集电极开路才能执行线与的功能。因此实际使用时,s d a 和s c l 信号线都必须要加上拉电阻r _ p ( p u l l - u pr e s i s t o r ) ,上拉电阻一般取 值3 1 0k q 。开漏结构的好处是: 1 当总线空闲时,这两条信号线都保持高电平,不会消耗电流。 2 电气兼容性好。上拉电阻接5 v 电源就能与5 v 逻辑器件接口,上拉电 阻接3 v 电源又能与3 v 逻辑器件接口。 1 0 第2 章x 2 c 总线技术的研究 3 因为是开漏结构,所以不同器件的s d a 与s d a 之间、s c l 与s c l 之 间可以直接相连,不需要额外的转换电路。 ,撇 戤l 孛魁 ” s o -i ll :圈垫髫畦l 篮出l面茜l :到墼剖 图2 2f z c 接口电路结构 f c 总线上数据的传输速率在标准模式下可达1 0 0k b i 洮,在快速模式下可 达4 0 0k b i t s ,在高速模式下可达3 4m b i t s 。连接到总线的接口数量只由总线 最大电容4 0 0p f 的限制决定。 2 31 2 c 总线的位传输 由于i 2 c 总线的器件有不同种类的工艺( c m o s 、n m o s 、双极性) ,逻辑 0 ( 低) 和i ( 高) 的电平不是固定的在i 2 c 总线每传输一位数据就有一 个时钟脉冲相对应,其逻辑“0 ”或“1 ”的信号电平取决于该节点的正端电源 v d d 的电压。 2 3 1 数据的有效性 s d a 线上的数据必须在时钟线s c l 的高电平期间保持稳定。当高电平时, 表示数据1 ,低电平时表示数据0 。只有在s c l 线的时钟信号是低电平时, 数据线s d a 的高或低电平状态才能改变( 见图2 3 ) 。 2 3 21 2 c 总线数据传送的开始和停止 i 2 c 总线数据传送有两种时序状态分别定义为开始信号和停止信号。开始 河南大学微电子专业2 0 0 4 级硕士学位论文 信号和停止信号由主控制器件产生。 一 二:二lz :。l 上:l 虬l = 州广l 数据线稳定允许数据 数据有效_ 改魏 。: 图2 3i 2 c 总线的数据位传输 开始信号( s t a r t ) :当时钟线s c l 保持高电平期间,s d a 由高电平向低 电平切换,表示开始传送数据; 停止信号( s t o p ) :当时钟线s c l 保持高电平期间,s d a 由低电平向高电 平切换,表示停止传送数据。 图2 4 开始和停止条件 第2 章i 2 c 总线技术的研究 2 3 3 总线信号的时序 为了保证1 2 c 总线数据的可靠传送,对总线上的信号时序做了严格的规定, 下面各图中对主要信号时序做了定义。 图2 5 主机向从机发送一个字节的时序 图2 6 主机向从机接收1 个字节数据的时序 图2 5 所表示的是主机向从机发送一个字节的时序,主机向传送一个7 位 的地址,第8 位是读写位在第9 个时钟时,从机发出一个响应信号,接着传 河南大学微电子专业2 0 0 4 级硕士学位论文 输8 位的数据,相应地从机继续发送一个响应位,然后主机在时钟线保持高电 平期间,拉高数据线,数据传输停止。 图2 6 所表示的主机向从杌接收一个字节的时序,前面8 个时钟周期与发 送时序相同,不同的是在传输8 位数据后,由主机发送响应信号,然后启动停 l e 信号。 s a 一 厂、八八八八一八八厂、。八厂、厂 珊。和 和知扣8 知】p和 9 i 停止p i 蚤仁二! ! ! 厂d _ j 飞二7 门 a a d d 6 - a d d o p 幽纽1 和蜘a l 肌d a t a ,和曲垃0 j : ,_ 主机一 l 幽 甜燃 。;_ 、厂_ 、厂、一厂j 从舢 , i 图2 7 主机向从机连续发送多个字节的时序 f 一j s 口,一: ; : 。 厂、厂一八八八八一八八八一八八厂| 开始p扣和8 ,和 瓢”1 p8 9 p 停止, 卜仁义一二兀一广_ _ 戈虱1 a a d d a d 甜 , 主机p ; : d a t a l ,和d a t a 0 蜘t a 2 和d a t a 20 1 :弼渺: s j ,一 二x - 二r 弋:x 二厂1 从机p ; l 一一 图2 8 主机向从机连续接收多个字节数据的时序 第2 章砰c 总线技术的研究 图2 7 所示的是主机向从机连续发送多个字节数据的时序: 主机先发送地址,从机响应一个响应信号,接着主机继续发送多个字节,每 传输完一个字节,都要求接收器发出一个响应信号。最后有主机发出停止命令。 图2 8 所示的是主机向从机连续接收多个字节数据的时序: 主机发送地址,在从机发送响应信号之后,由从机向主机发送数据,这个时 序中是由主机发送响应信号,因为主机是接收器。 2 41 2 c 总线的数据传输 2 4 1 总线传输的字节格式 1 2 c 总线传送的字节都必须是8 位的,每次传输发送的字节数量可以不受 限制,但是每个字节后必须跟一个响应位。首先传输的是数据的最高位( m s b ) , 没有时钟信号时,数据传输将停止进行,接口的线与特征将使s c l 在低电平时 箝住总线。如果从机要完成一些其他功能( 例如执行一个内部中断服务程序) 才能接收或发送下一个数据字节,则从机可以使s c l 维持低电位,迫使主机进 入等待状态。从机准备好接收或发送下一个数据字节时,释放s c l ,数据传输 继续。在全部数据传输结束后由主控制器发送终止信号。 2 4 2 总线的响应( a c k n o w l e d g e ) 数据的传输必须有响应,相关的响应脉冲是由主机产生的。而响应位的数 据状态遵循“谁接收谁产生”的原则,即总是由接收器产生响应信号。在主机 响应的时钟脉冲期间,发送器释放s d a 线( 高) ,接收器必须将s d a 线拉低, 使它在这个时钟脉冲的高电平期间保持稳定的低电平( 见图2 9 ) ,当然必须满 足建立和保持时间。 当从机一接收器不能响应从机地址时,从机必须使数据线保持高电平。主 机然后产生一个停止条件终止传输或者产生重复起始条件开始新的传输。 如果从机一接收器响应了从机地址但是在传输了一段时间后不能接收更多 河南大学微电子专业2 0 0 4 级硕士学位论文 数据字节,主机必须再一次终止传输。这个情况用从机在第一个字节后没有产 生响应来表示。 f 。j 发送嚣帅了、 二义二: :汇二 一f ii _ 搀技器“!; - - 一 l , i t i 晌应的。 时钟脉冲p 图2 9i 2 c 总线的响应信号 2 4 3 总线的数据传输格式 总线传输数据时必须遵循规定的数据格式 图2 1 0 所示的是一个完整的数据传输格式。按照规定,在起始条件( s ) 之 后,发送一个7 位的从机地址。紧跟着的第8 位是数据方向位( r w ) ,数据方 向表明主控器和被控器的数据传输方向。一一0 表示主控器发送数据( 写) , 1 表示请求接收数据( 读) 。数据传输一般由主机产生停止位( p ) 终止。 在这种传输中,也可以有不同的读写格式相结合下面介绍3 种传输格式: 1 主控制器写操作 主机一发送器向从机发送n 个数据字节,方向不变。 第2 章1 2 c 总线技术的研究 y 乳:二m : d “:如踯 ;归二噼删 注l 一7 是地址位,8 位是读写位,第9 位是响应位 图2 1 0 完整的数据传输 隧溯a男a 易 牌 殇 l r 胁t r = m c 衙枷 f r o mm a s t e rt os b v e 一 口一- 胁m 妇e t o 二一 a 患c 】谢岫甄s d a l o w ) p 酗啕o t a d m o 谢e d 酲a h 4 出p 鼯s n 岷tc o p d 蛐 i m t o p c a l d 丑i 训: 图2 i i 控制器写格式 2 主控制器读操作 在第一个字节后,主控制器立即读从控制器。在第一饮响应后,主控制器 一发送器变成了主控制器一接收器,从控制器一接收器变成了从控制器一发送 器。第一次响应仍由从控制器产生。之前发送了一个不响应信号( a ) 的主机 产生停止条件。 1 7 河南大学微电子专业2 0 0 4 级硕士学位论文 隧黝a慨囫缓笏 i 7 _d a t al t a n s f e a - e d o 图2 1 2 控制器的读格式 3 主控制器的读写操作 在数据传输过程中需要改变传输方向操作,这时,起始条件和从控制器地址都 会被重复,但r w 位取反。如图2 1 3 所示,图中未标注数据字节的传输方向, 它的方向由寻址字节的方向位决定。如果主控制器接收器发送一个重复起始条 件,它之前应该发送一个不响应的信号a ,每个字节后都跟着一个响应位,在 序列中用a 或a 模块表示。寻址字节只表明器件地址及传送方向,器件内部的 n 个数据地址可以在i 2 c 总线数据操作格式中用第一个数据字节指定。1 2 c 总线 被控制器在接收到起始信号后都必须复位他们n , g 线逻辑,以便对将要开始的 被控制器地址的传送进行预处理。 图2 1 3 控制器的读写格式 鳓娌c h a n c ea t t h i s p o i n w 第2 章i 2 c 总线技术的研究 2 5 重复起始条件 主机与从机进行通信时,有时需要切换数据的收发方向。例如,访问某一 具有1 2 c 总线接口的e e p r o m 存储器时,主机先向存储器输入存储单元的地 址信息( 发送数据) ,然后再读取其中的存储内容( 接收数据) 。在切换数据的 传输方向时,可以不必先产生停止条件再开始下次传输,而是直接再一次产生 开始条件。f c 总线在已经处于忙的状态下,再次直接产生起始条件的情况 被称为重复起始条件。重复起始条件常常简记为s r o 正常的起始条件和重复起 始条件在物理波形上并没有什么不同,区别仅仅是在逻辑方面。在进行多字节 数据传输过程中,只要数据的收发方向发生了切换,就要用到重复起始条件。 2 6 子地址 带有1 2 c 总线的器件除了有从机地址( s l a v ea d d r e s s ) 外,还可能有子地 址【2 6 】。从机地址是指该器件在i 2 c 总线上被主机寻址的地址,而予地址是指该 器件内部不同部件或存储单元的编址。例如,带i 2 c 总线接口的e e p r o m 就 是拥有子地址器件的典型代表。 某些器件( 只占少数) 内部结构比较简单,可能没有子地址,只有必须的 从机地址,子地址与从机地址一样,子地址实际上也是像普通数据那样进行传 输的,传输格式仍然是与数据相统一的,区分传输的到底是地址还是数据要靠 收发双方具体的逻辑约定。子地址的长度必须由整数个字节组成,可能是单字 节( 8 位子地址) ,也可能是双字节( 1 6 位子地址) ,还可能是3 字节以上, 这要看具体器件的规定。 1 9 河南大学微电子专业2 0 0 4 级硕士学位论文 第3 章设计环境和设计方法 3 1 设计环境 本文中i 2 c 总线控制器的设计是利用a r e r a 公司的设计软件q u a r t u si i ,用 v e r i l o gt i d l 语言编程实现的。 q u a r t u si i 软件是a l t e r a 提供的完整的多平台设计环境,可以轻易地满足 特定地设计需求,是s o p c 设计的综合性环境,它拥有f p g a c p l d 设计的所 有阶段的解决方案。允许用户在设计流程的每个阶段使用软件提供的软件图形 用户界面、e d at 具界面或命令行方式。其图形用户界面的功能分为:设计输 入、综合、布局布线、时序分析、仿真、编程、系统设计、软件开发、基于块 的设计、e d a 界面、时序收敛、调试、工程更改管理等【朔。在本文中主要运 用到前面几个功能,下面给予简单地介绍: 设计输入是使用q u a r t u s 软件的模块输入方式、文本输入方式、c o r e 输入 方式和e d a 设计输入工具等表达用户的电路构思,同时使用分配编辑器 ( a s s i g n m e n te d i t o r ) 设定初始设计约束条件。 综合是将h d l 语言、原理图等设计输入翻译成由与、或、非门,r a m , 触发器等基本逻辑单元组成的逻辑链接( 网表) ,并根据目标与要求( 约束条件) 优化所生成的逻辑连接,输出e d f 或v q m 等标准格式的网表文件,供布局布线 器进行实现。除了可以用q u a r t u s l i 软件的综合工具外,也可以使用第三方综合 工具,生成与q u a r t u s l i 软件配合使用的e d f 网表文件或v q m 文件。 布局布线的输入文件是综合后的网表文件,q u a r t u s l i 软件中布局布线包含 分析布局布线结果、优化布局布线、增量布局布线和通过反标保留分配等叨。 时序分析是允许用户分析设计中所有逻辑的时序性能,并协助引导布局布线满 足设计中的时序分析要求。它观察和报告时序信息,如建立时间、保持时间、 第3 章设计环境和设计方法 时钟至输出延时、最大时钟频率以及设计的其他时序特性,可以使用时序分析 生成的信息来分析、调试、和验证设计的时序性能。 仿真分为功能仿真和时序仿真。功能仿真主要是验证电路功能是否符合设计 要求,它可以在不同的层次进行,它可以对基本单元仿真也可以对几个基本单元 构成的单元进行仿真,直至系统级的仿真;时序仿真包含了延时信息,它能较好 的反映芯片的设计工作情况。可以使用q u a r t u s i i 集成的仿真工具仿真,也可以 使用第三方工具对设计进行仿真,如m o d e l s i m 。 编程和配置是在全编译成功后,对a t t e r a 器件进行编程或配置,它包括 a s s e m b l e ( 生成编程文件) 、p r o g r a m m e r ( 建立包含设计所用器件名称和选项的 链式文件) 、转换编程文件等。 e d a 界面中的e d an e t l i s tw r i t e r 是生成时序仿真所需要的包含延迟信 息的文件,如v o 、s d o 文件等。 除了上述工具外,q u a r t u s u 软件还提供第三方工具的连接。如综合工具 s y n p l i f y 、s y n p l i f y p r o 、l e o n a r d o ,仿真工具m o d e l s i m 、a l d e ei - i d l 等这些业 内公认的专业综合、仿真工具。 3 2 设计方法 本设计采用v e r i l o gh d l h i g hs p e e di n t e g r a t e dc i r c u i th a r d w a r ed e s i g n v e r i l o g ) 语言,v e r i l o gh d l 是硬件描述语言的一种,距今有几十年的发展历史, 并已成功地运用到逻辑设计,仿真验证,时序分析和逻辑综合的各个方面嘲。 虽然于1 9 9 5 年,v e r i l o gi - i d l 才正式成为i e e e 标准,但v e r i l o gh d l 是从 一个普通的民间公司的私有财产转化而来的,基于它的优越性,才成为i e e e 标准,因而具有更强的生命力。目前它是应用最为广泛的硬件描述语言,得到 众多e d a 公司的支持。 v e r i l o gh d l 作为硬件设计语言,其特点是能形式化地抽象表示电路的结构 河南大学微电子专业2 0 0 4 级硕士学位论文 和功能,支持逻辑设计中层次与领域的描述,可借助高级语言的精巧结构来简 化电路的描述,具有电路仿真与验证机制以保证电路设计的正确性,支持电路 由高层到低层的综合转化,硬件描述与工艺无关,便于文档管理,易于理解和 设计重用。它与其它描述语言相比,最大的优点是:非常容易掌握的硬件描述 语言,与c 语言非常相似。 它支持自项向下( t o pd o w n ) 和基于库( l i b r a r yb a s e d ) 的设计方法。在 传统的电路设计中,一

温馨提示

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

评论

0/150

提交评论