单片机,IIc总线.doc

上传人:新** 文档编号:560884245 上传时间:2024-01-01 格式:DOC 页数:13 大小:426.35KB
返回 下载 相关 举报
单片机,IIc总线.doc_第1页
第1页 / 共13页
单片机,IIc总线.doc_第2页
第2页 / 共13页
单片机,IIc总线.doc_第3页
第3页 / 共13页
单片机,IIc总线.doc_第4页
第4页 / 共13页
单片机,IIc总线.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《单片机,IIc总线.doc》由会员分享,可在线阅读,更多相关《单片机,IIc总线.doc(13页珍藏版)》请在金锄头文库上搜索。

1、微控制器技术课程设计报告设计题目:IIC总线驱动 21 专业: 班级: 学号: 姓名: 指导教师: 设计时间: 题目:I2C总线驱动一、 设计目的1、 理解IIC总线协议的内容。2、 根据IIC协议编制驱动程序,使用LED数码管显示24LC02某地址存储的数据。3、 有按键,可设置存储的数据。二、设计要求1、根据IIC协议编制驱动程序,使用LED数码管显示24LC02某地址存储的数据。2、有按键,可设置存储的数据。 三、方案设计与论证 IIC即I2C,是一种总线结构。是作为英特尔IC的互补,这种总线类型是由菲利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS) ,IIC是一种

2、多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实施数据传输的控制源。这种方式简化了信号传输总线。例如:内存中的SPD信息,通过IIC,与BX芯片组联系,IIC 存在于英特尔PIIX4结构体系中。随着大规模集成电路技术的发展,把CPU和一个单独工作系统所必需的ROM、RAM、I/O端口、A/D、D/A等外围电路集成在一个单片内而制成的单片机或微控制器愈来愈方便。目前,世界上许多公司生产单片机,品种很多。其中包括各种字长的CPU,各种容量的ROM、RAM以及功能各异的I/O接口电路等等,但是,单片机的品种规格仍然有限,所以只能选用某种单片机来进行扩展。扩展的方法有两

3、种:一种是并行总线,另一种是串行总线。由于串行总线的连线少,结构简单,往往不用专门的母板和插座而直接用导线连接各个设备。因此,采用串行线可大大简化系统的硬件设计。PHILIPS公司早在十几年前就推出了I2C串行总线,利用该总线可实现多主机系统所需的裁决和高低速设备同步等功能。因此,这是一种高性能的串行总线。I2C总线是各种总线中使用信号线最少,并具有自动寻址、多主机时钟同步和仲裁等功能的总线。因此,使用I2C总线设计计算机系统十分方便灵活,体积也小,因而在各类实际应用中得到广泛应用。 飞利浦电子公司日前推出新型二选一I2C主选择器,可以使两个I2C主设备中的任何一个与共享资源连接,广泛适用于从

4、MP3播放器到服务器等计算、通信和网络应用领域,从而使制造商和终端用户从中获益。PCA9541可以使两个I2C主设备在互不连接的情况下与同一个从设备相连接,从而简化了设计的复杂性。此外,新产品以单器件替代了I2C多个主设备应用中的多个芯片,有效节省了系统成本。Microwire和Microwire/PLUS总线:美国国家半导体(NS)公司推出的三线同步串行总线。由一根数据输出线(SO)、一根数据输入线(SI)和一根时钟线(SK)组成(但每个器件还要接一根片选线)。原始的Microwire总线上只能连接一片单片机作为主机,总线上的其它设备都是从机。NS公司推出的8位COP800单片机系列,总线接

5、口改成既可由自身发出时钟,也可由外部输入时钟信号。为了区别于原有的Microwire总线,称为增强型的Microwire/PLUS总线。增强型允许连接多片单片机和外围器件,具有灵活性和可变性,适用于分布式、多处理器的单片机测控系统。术语功能描述发送器发送数据到总线的器件接收器从总线接收数据的器件主机: 初始化发送产生时钟信号和终止发送的器件从机被主机寻址的器件多主机同时有多于一个主机尝试控制总线但不破坏传输仲裁多个主机同时尝试控制总线时,只允许其中一个主机控制总线并使传输不被破坏的过程同步两个或多个器件同步时钟信号的过程 I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线

6、SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。 I2C总线由一根串行数据线和一根串行时钟线组成,是双向数据传输线,核心是主控CPU,被控器的SDA,SCL要相应地接到I2C总线的SDA,SCL上,可以方便地构成多机系统和外围器件扩展系统。I2C总线采用了器件地址的硬件设置方法,从而使硬件系统具有简单而灵活的扩展方法。按照I2C总线的规定,其SDA、SCL各要通过上拉电阻接到电源VCC上。 每个接到I2C总线上的器件都有唯一的地址。主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即为发送器。由总线上接收数据的器件则

7、为接收器。在多主机系统中,可能同时有几个主机企图启动总线传送数据。为了避免混乱, I2C总线要通过总线仲裁,以决定由哪一台主机控制总线。I2C总线传输时序。 SDA和SCL都是双向线路,都通过一个电流源或上拉电阻连接到正的电源电压,当总线空闲时这两条线路都是高电平,连接到总线器件的输出级必须是漏极开路或集电极开路才能执行线与的功能,I2C总线上数据的传输速率在标准模式下可达100kbit/S ,在快速模式下可达400kbit/S ,在高速模式下可达3.4Mbit/S ,连接到总线的接口数量只由总线电容是400pF的限制决定。输一个数据位就产生一个时钟脉冲。并且SDA 线上的数据必须在时钟的高电

8、平周期保持稳定,数据线的高或低电平状态只有在SCL线的时钟信号是低电平时才能改变。I2C总线的位传输 连到I2C总线的器件工艺不同(CMOS、NMOS、 双极性),逻辑0和1的电平不固定,每传输一个数据位就产生一个时钟脉冲。并且SDA 线上的数据必须在时钟的高电平周期保持稳定,数据线的高或低电平状态只有在SCL线的时钟信号是低电平时才能改变。I2C总线在传送数据过程中信号类型开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。应答信号起始和终止信号都是由主机发出的,在起始信号产生后,总线就处于被占用的状态;

9、在终止信号产生后,总线就处于空闲状态。接收器件收到一个完整的数据字节后,有可能需要完成一些其它工作,如处理内部中断服务等,可能无法立刻接收下一个字节,这时接收器件可以将SCL线拉成低电平,从而使主机处于等待状态。直到接收器件准备好接收下一个字节时,再释放SCL线使之为高电平,从而使数据传送可以继续进行。I2C总线的数据传输 每一个字节必须保证是8位长度,每次传输可发送的字节数量不受限制 。数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(即一帧共有9位)。 每一个字节必须保证是8位长度,每次传输可发送的字节数量不受限制 。数据传送时,先传送最高位(MSB),每一个

10、被传送的字节后面都必须跟随一位应答位(即一帧共有9位)。 主机不带I2C总线接口的单片机,如AT89C2051、 80C51等,利用软件实现I2C总线的数据传送,即软硬结合的信号模拟。典型信号模拟:为了保证数据传送的可靠性,标准的I2C总线的数据传送有严格的时序要求。I2C总线的起始信号、终止信号、发送“0”及发送“1”的模拟时序 : I2C总线驱动 I2C 总线驱动主要包括I2C 适配器结构i2c_adapter和 I2C 适配器的 algorithm数据结构。 通过 I2C 总线驱动的代码,可控制I2C 适配器以主控方式产生开始位、停止位、读写周期,以及以从设备方式被读写、产生ACK 等。

11、 I2C设备驱动 I2C 设备驱动是对I2C 设备端的实现,设备一般挂接在受CPU控制的 I2C适配器上,通过I2C 适配器与CPU交换数据。I2C 设备驱动主要包括数据结构i2c_driver和 i2c_client。 主要数据结构内核中对于 I2C 定义了 4种结构: 1)i2c_adapterI2C 总线适配器。 即为 CPU中的 I2C 总线控制器。 2)i2c_algorithmI2C 总线通信传输算法,管理I2C 总线控制器,实现 I2C 总线上数据的发送和接收等操作。 3)i2c_client挂载在 I2C 总线上的具体 I2C 设备的驱动程序。 4)i2c_driver用于管理

12、I2C 的驱动程序,它对应I2C 的设备节点。 四、设计原理和电路图如下五、元件清单原件序号型号主要参数原件序号型号主要参数原件序号型号R2金属膜,0.25w10KR6金属膜,0.25w10KSBCT-4620R3金属膜,0.25w10KR7金属膜,0.25w10KAT89C5116qiR4金属膜,0.25w10KR8金属膜,0.25w10KLEDR5金属膜,0.25w10KR9金属膜,0.25w10KPOWERvcc六、硬件制作与调试由于某种原因从机不对主机寻址信号应答时(如从机正在进行实时性的处理工作而无法接收总线上的数据),它必须将数据线置于高电平,而由主机产生一个终止信号以结束总线的数

13、据传送。如果从机对主机进行了应答,但在数据传送一段时间后无法继续接收更多的数据时,从机可以通过对无法接收的第一个数据字节的“非应答”通知主机,主机则应发出终止信号以结束数据的继续传送。当主机接收数据时,它收到最后一个数据字节后,必须向从机发出一个结束传送的信号。这个信号是由对从机的“非应答”来实现的。然后,从机释放SDA线,以允许主机产生终止信号。七、 设计总结 I2C核心提供了I2C 总线驱动和设备驱动的注册、注销方法,I2C 通信方法(即“algorithm”),与具体适配器无关的代码以及探测设备、检测设备地址等。I2c-core.c中的核心驱动程序可管理多个I2C 总线适配器(控制器)和多个I2从设备。每个I2C 从设备驱动都能找到和它相连的I2C 总线适配器。 八、参考文献1 邓立新,单片机原理及应用c51语言 ,清华大学出版社 2 黎旺星,项目驱动式单片机应用教程, 北京航空航天大学出版社3 谭浩强,c语言程序设计,清华大学出版社 附录2-

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号