正在进行安全检测...

发布时间:2023-10-05 08:58:47   来源:文档文库   
字号:
基于NiosIIC总线接口的实现0引言C(Inter-IntegratedCircuit总线是一种由Phil-ips公司开发的两线式串行总线,用于连接微控制器及其外围设备。由于C总线仅用两根信号线,并支持多主控工作方式,所以C线在电子产品设备中应用非常普遍。文献[1]使用NiosⅡ的PIO接口模拟C时序完成对接口芯片的读写,而目前基于NiosⅡ的IP核越发丰富。基于此,本文使用免费的IP--I²C-MasterCore,实现了对C接口芯片的读写操作,扩充了一种新的设计方法。本文首先介绍了C总线结构和工作原理,然后详细说明了基于NiosⅡ的C-MasterCore的使用方法,最后给出了C语言的编程代码。1I²C总线基本原理C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被IC之间、进行双向传送,最高传送速度100kbitsC总线在传送数据的过程中共有4种基本类型信号,分别是:开始信号、数据传输信号、应答信号和结束信号。a开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。所有的命令都必须在开始条件以后进行。b结束信号:SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据。所有的操作都必须在停止条件以前结束。总线开始和停止数据传送的时序如图1所示。c数据传输信号:在开始条件以后,时钟信号SCL的高电平周期期问,当数据线稳定时,数据线SDA的状态表示数据有效,即数据可以被读走,开始进行读操作。在时钟信号SCL的低电平周期期间,数据线上数据才允许改变。每位数据需要一个时钟脉冲。C总线的数据位传送时序如图2所示。1
d应答信号:接收数据的从器件收到8bit数据后,向发送数据的主控器件发出特定的低电平脉冲,表示已收到数据。这要求主器件必须产生一个与确认位相应的额外时钟脉冲(9个脉冲。若主控器件确认失败,主控器件必须发送一个数据结束信号给从器件。这时从器件必须使SDA线保持高电平,使主控器件能产生停止条件。总线的应答信号时序见图32I²C接口芯片AT24C0102工作原理AT24CXX系列芯片是采用C总线标准的常用的串行EEROM芯片。本文以AT24C02例介绍。AT24C02具有256×8(2kbit的存储容量,即总共32页,每页有8字节的容量。每次写入数据是从主器件发送来的片内选择地址开始写人,如果写到页末尾,主器件还在继续发送的话,不会自动转到下一页,而是从该页的头地址开始继续写入,覆盖该页的原有数据,而造成数据丢失。AT24C02工作于从器件方式,它的地址由外围的3个引脚A2A1A0决定,如图4所示。在C总线上总共可以连接8AT24C02接口芯片,每个器件硬件地址与控制寄存器的地址内容保持一致,就能够自由地与主控器件进行数据传输。1器件字节写操作在字节写模式下,发送器件写控制字,控制字包括4位固定器件码,3位片选码,以及一位低电平的写控制位。主器件在收到从器件产生应答信号后,主器件发送一个8位字节地址2

本文来源:https://www.2haoxitong.net/k/doc/bd62c8c69ec3d5bbfd0a7462.html

《正在进行安全检测....doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式