基于STM32的IIC总线设计

基于STM32的IIC总线设计

ID:38711686

大小:127.50 KB

页数:12页

时间:2019-06-18

基于STM32的IIC总线设计_第1页
基于STM32的IIC总线设计_第2页
基于STM32的IIC总线设计_第3页
基于STM32的IIC总线设计_第4页
基于STM32的IIC总线设计_第5页
资源描述:

《基于STM32的IIC总线设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于STM32的IIC总线设计摘要:在需要远距离传输数据,而且布线不方便的情况下使用IIC总线能解决这个问题。本文通过IIC总线将从机AD采样的数据存储到EEPROM芯片里面,同时,通过IIC总线将存储的数据给其他单片机使用,并用STM32开发板进行了实验仿真。关键词:IIC总线EEPROMARM单片机1引言随着大规模集成电路技术的发展,把CPU和一个单独工作系统所必需的ROM、RAM、I/O端口、A/D、D/A等外围电路集成在一个单片内而制成的单片机或微控制器愈来愈方便。目前,世界上许多公司生产单片机,品

2、种很多。其中包括各种字长的CPU,各种容量的ROM、RAM以及功能各异的I/O接口电路等等,但是,单片机的品种规格仍然有限,所以只能选用某种单片机来进行扩展。扩展的方法有两种:一种是并行总线,另一种是串行总线[1]。由于串行总线的连线少,结构简单,往往不用专门的母板和插座而直接用导线连接各个设备。因此,采用串行线可大大简化系统的硬件设计。PHILIPS公司早在十几年前就推出了I2C串行总线,利用该总线可实现多主机系统所需的裁决和高低速设备同步等功能。IIC即Inter-IntegratedCircuit(集

3、成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS),IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源[2]。这种方式简化了信号传输总线接口。AD采样AD采样2方案设计EEPROMARM单片机ARM单片机ARM单片机IIC总线图一方案原理图通过AD采样将我们收集到的数据输入给单片机,经过单片机处理后经IIC总线把数据存储到芯片里面,方便给其他单片机使用。由于使用的是IIC总线,只需要两根线,大大节

4、约了成本,而且方便布线。3工作原理物理结构上,IIC系统由一条串行数据线SDA和一条串行时钟线SCL组成。主机按一定的通信协议向从机寻址和进行信息传输。在数据传输时,由主机初始化一次数据传输,主机使数据在SDA线上传输的同时还通过SCL线传输时钟。信息传输的对象和方向以及信息传输的开始和终止均由主机决定。每个器件都有一个唯一的地址,而且可以是单接收的器件或者可以接收也可以发送的器件。发送器或接收器可以在主模式或从模式下操作,这取决于芯片是否必须启动数据的传输还是仅仅被寻址。一般情况下,一个标准的IIC通信由

5、四部分组成:开始信号、从机地址传输、数据传输、停止信号。由主机发送一个开始信号,启动一次IIC通信;在主机对从机寻址后,再在总线上传输数据。IIC总线上传送的每一个字节均为8位,首先发送的数据位为最高位,每传送一个字节后都必须跟随一个应答位,每次通信的数据字节数是没有限制的;在全部数据传送结束后,由主机发送停止信号,结束通信。4硬件设计需要用到的硬件有STM32芯片,本次设计仿真所用的是STM32F103RCT6,同时还需要EEPROM存储芯片,选择的是24C02这款芯片,为了显示是否发送成功增加量LCD显

6、示屏,仿真平台为miniSTM32开发版。其中,硬件连接图见图2。图二STM32与24C02连接图A0、A1、A2为器件的地址选择,GND接地,VCC工作电压-1.8V-6V,WP为写保护,5、6引脚即IIC总线的时钟线和数据线[4]。5程序设计5.1ADC初始化图三ADC初始化流程图ADC初始化流程图如图三所示。本文采用了定时采样,为了方便设置为10微秒,由于stm32的采样时间没有刚好等于10微秒的,所以用了71.5的采样周期加上固定的12.5个周期,选用72M6分频得到采样时间为7微秒,再延时3微秒实

7、现要求值。5.2存储与读取数据首先,IIC工作前需要驱动代码。其中包括IIC初始化、IIC开始、IIC结束、ACK、IIC读写等功能。主函数工作之前需要初始化的有延时、串口、IIC等,通过按键来切换选择读取还是写入,其具体代码见附录。读取和存储数据流程图见图四:准备初始化监测总线等待地址信号NY产生应答接受数据存储数据结束信号结束图四读写和存储数据流程图6总结特点:1)IIC总线只要求两条总线线路,一条串行数据线SDA,一条串行时钟线SCL。布线方便2)每个连接到总线的器件都可以通过设定唯一的地址进行数据交

8、换。3)传输距离远,适合于远距离布线。缺点:1)从机的数量收到限制。2)总线上主机过多会导致数据冲突效率不高。改进:1)如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁防止数据被破坏。2)可以和智能仪表相连构建现场IIC总线系统。3)将单纯的单片机改变成智能单片机实现智能化。4)多种总线接口联合在一起再和英特网相连实现工业物联网系统[5]。7参考文献[1]陈光建,贾金玲,基于单片机12C总线系统设计[J

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。