




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、I2CIIC本身是为板级通讯设计,没有考虑远距离通讯.UART通讯编程简单,通讯速度远比IIC快,可以直接使用RS485延伸通讯距离达到1km,通讯速度很容易做高。UART是一个并行输入成为串行输出的芯片.有一点要注意的是,它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信. I2C(InterIntegrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高
2、等优点。发送器:发送数据到总线的器件;接收器:从总线接收数据的器件;主机:初始化发送产生时钟信号和终止发送的器件;从机:被主机寻址的器件;多主机:同时有多于一个主机尝试控制总线但不破坏传输;仲裁:是一个在有多个主机同时尝试控制总线但只允许其中一个控制总线并使传输不被破坏的过程;同步:两个或多个器件同步时钟信号的过程 。 两条总线线路:一条串行数据线SDA,一条串行时钟线SCL;SDA 线上的数据必须在时钟的高电平周期保持稳定。数据线的高或低电平状态只 有在SCL 线的时钟信号是低电平时才能改变。SCL 线是高电平时,SDA 线从高电平向低电平切换,这个情况表示起始条件;SCL 线是高电平时,S
3、DA 线由低电平向高电平切换,这个情况表示停止条件。 发送到SDA 线上的每个字节必须为8 位,每次传输可以发送的字节数量不受限制。每个字节后必须跟一个响应位。首先传输的是数据的最高位(MSB),如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟线SCL 保持低电平,迫使主机进入等待状态,当从机准备好接收下一个数据字节并释放时钟线SCL 后数据传输继续。 数据传输必须带响应,相关的响应时钟脉冲由主机产生。在响应的时钟脉冲期间发送器释放SDA 线(高)。在响应的时钟脉冲期间,接收器必须将SDA 线拉低,使它在这个时钟脉冲的高电平期间保持稳定的低
4、电平。 写操作 写操作分为字节写和页面写两种操作,对于页面写根据芯片的一次装载的字节不同有所不同。 读操作 读操作有三种基本操作:当前地址读、随机读和顺序读。图4给出的是顺序读的时序图。应当注意的是:最后一个读操作的第9个时钟周期不是“不关心”。为了结束读操作,主机必须在第9个周期间发出停止条件或者在第9个时钟周期内保持SDA为高电平、然后发出停止条件。 I2C的读操作与写操作: I2C与UART不同的地方首先在于先传高位,后传送低位。主机写数据时,每发送一个字节,接收机需要回复一个应答位“0”,通过应答位来判断从机是否接收成功。主机读数据时,接收一个字节结束后,主机也需要发送一应答位“0”,
5、但是当接收最后一个字节结束后,则需发送一个非应答位“1”,发完了1后,再发一个停止信号,最终结束通信。I2C写数据流程首先I2C起始信号,然后发送首字节,即器件(EEPROM)地址。并且在读写方向位上选择“写操作”方向。(0xa0)第二个字节,发送数据的存储地址,就是要读取的数据所存储在EEPROM中的位置。第三个字节,发送要存储的数据第一个字节,第二个字节注意:在写数据的过程中,都要等待EEPROM返回一个“应答位”。write_eeprom:void write_e2prom(uint8 addr,uint8 databyte)I2CStart();I2CSend(0xa0);/起始信号后
6、写入器件地址,写操作I2CSend(addr);/写入发送数据的存储地址I2CSend(databyte)/发送存储的数据I2CStop;void I2CSend(uint8 byte)uint8 mask=0x80; /数据由高位依次传输 int i;for(i=0;i<8;i+) SCL=0;Delay();If(mask&byte) SDA=1; ElseSDA=0;Mask>>=1;Delay();/SDA延迟一个高电平SCL=1; /下一个时序,Delay();/SCL延迟一个低电平,保证时序的完整性/一个字节的数据传输完成之后,要等待应答位SCL=0;/接
7、着上一个时序,保证完整性SDA=1;/主机释放SDA,拉高SDA,观察应答位Delay();/延迟一个时序,等待应答位j=SDA;/取出从机返回的应答位进行判断,低电平的时候有效Delay();/延迟一个时序SCL=1;/拉高SCL,等待下次传输 UART通信UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用来与PC进行通信,包括与监控调试器和其它器件,如EEPROM通信。UART首先将接收到的并行数据转换成串行数据来传输。消息帧从一个低位起始位开始,后面是58个数据位,一个可用的奇偶位和一个或几个高位停止位。接收器发现开始位时它
8、就知道数据准备发送,并尝试与发送器时钟频率同步。如果选择了奇偶,UART就在数据位后面加上奇偶位。奇偶位可用来帮助错误校验。在接收过程中,UART从消息帧中去掉起始位和结束位,对进来的字节进行奇偶校验,并将数据字节从串行转换成并行。UART也产生额外的信号来指示发送和接收的状态。例如,如果产生一个奇偶错误,UART就置位奇偶标志。异步串口通信协议作为UART的一种,工作原理是将传输数据的每个字符一位接一位地传输。其中各位的意义如下:起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。资料位:紧接着起始位之后。资料位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。奇偶校验位:资料位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。 由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国服饰辅料市场调查研究报告
- 1.6函数的连续性基础课部07课件
- 2025年中国新生儿棉裤数据监测报告
- 2025年中国数字车用万用表市场调查研究报告
- 2025-2030年中国乳膏行业前景趋势展望及投资发展方向研究报告
- 肇庆市实验中学高中生物二:杂交育种与诱变育种导学案
- 肇庆市实验中学高中历史三:第课现代世界的科学技术高效课堂教学设计
- 2025-2030年中国LNG行业发展现状及前景趋势研究报告
- 新疆莎车县重点名校2025届高中毕业班教学质量检查英语试题含答案
- 新疆乌鲁木齐市第八十七中学2025年高中第一次统考英语试题含答案
- 市场营销培训课件
- 隧道应急救援培训
- 省级啤酒代理权合同
- DB11T 1609-2018 预拌喷射混凝土应用技术规程
- 荧光-光谱完整版本
- 全过程工程咨询服务投标方案(技术方案)
- 2024至2030年中国传染病医院产业发展动态及未来前景展望报告
- 2024年新人教版七年级上册历史教学课件 第10课 秦末农民大起义
- 扶济复新获奖课件
- 2024年甘肃高考地理试卷(真题+答案)
- 工业机器人的发展历史
评论
0/150
提交评论