欢迎来到天天文库
浏览记录
ID:26804947
大小:1.66 MB
页数:25页
时间:2018-11-29
《毕勇强easyarm1138基础实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、IIC总线控制原理EasyARM1138基础实验汇报人:毕勇强主要内容一、EasyARM1138简介二、IIC总线控制功能三、实验目的四、功能实现的程序说明EasyARM1138的简介●EasyARM1138是一款基于ARMCortex™-M3先进内核的高性能开发板。它的核心MCU是美国LuminaryMicro公司的Stellaris®(群星)系列ARM之LM3S1138。●功能特点◆强大的MCU内核—基于32位ARMCortex™-M3内核(ARMv7M架构);兼容Thumb的Thumb-2指令集,提高代码密度25%以上;内置系统节拍定时器(
2、SysTick),方便操作系统移植等。EasyARM1138的简介◆丰富的外设资源7组GPIO,可配置为输入、输出、开漏、弱上拉等模式;3路全双工UART,位速率高达3.125Mbps,16单元接收FIFO和发送FIFO,支持串行红外协议(IrDASIR);2路I2C,支持100kbps标准模式、400kbps快速模式等。◆内嵌USB接口的下载仿真器仅需插入一根USB电缆就能5V供电、程序下载与在线仿真、UART串行通信“三合一”功能。◆简明的外围电路设计调试时无需任何连线和跳线,操作极为方便EasyARM1138的简介◆在软件上采用“C语言+驱
3、动库”的开发模式提供《Stellaris外设驱动库》快速安装方法及C语言源代码。◆从基础实验到课题设计GPIO实验:LED闪烁发光、GPIO中断、按键控制Timer实验:定时/计数、脉冲捕获、PWM方波串行通信:UART、I2C、SSI(兼容SPI)、RS-485模拟功能:模拟比较器信号检测,10位ADC数据采集片内温度传感器实验支持各类电机实验:直流电机、步进电机、三相电机等EasyARM1138的简介IIC总线控制功能简介本次实验使用的实验板的ARM采用的是ARMCortexM3,该芯片有两组IIC硬件接口。分别为34/35引脚对应的(PA6
4、/IICSCL)/(PA7/IICSDA)以及70/71引脚对应的(PB2/IIC0SCL)/(PB3/IICO0SDA)。本次实验有两种方式1、硬件IIC;2、软件IIC。IIC总线简介IIC是一种简单的双线两线制串行通信总线方式。这两根线一根为串行时钟线SCL,一根为串行数据线SDA。硬件IIC是指CPU产生时序并发送到SCL,编程时不需要控制SCL和SDA。软件IIC是指SCL和SDA接普通的IO口,程序员需要通过控制这两根线的高低电平状态来模拟时序,发送数据。IIC总线简介如图所示,在IIC总线上,只需要两条线—串行数据SDA线和串行时钟
5、SCL线,它们用于总线上器件之间的信息传递。SDA和SCL都是双向的。每个器件都有一个唯一的地址以供识别,而且各器件都可以作为一个发送器或接收器(由器件的功能决定)。IIC总线有如下操作模式:主发送模式、主接收模式、从发送模式、从接收模式。IIC总线接口电路结构图硬件IIC本实验主机与温度传感器的硬件I2C的通信采用中断控制方式。系统通信在以下情况下会产生中断:主机传输完成、主机传输时出现错误、从机接受到数据以及从机传输时收到主机请求。发送数据的过程主要如下:数据发送程序流程图IIC主模块初始化初始化包括:CPU主频设置、各使用部分的使能。本次试
6、验CPU采用不分频方式主振荡器为OSC外接6MHZ晶振作为系统的时钟源。各使用部分的使能包括以下几点:IIC管脚使能、中断使能。6MHz主频,设置I2C主机速率为15kbpsIIC总线的数据传送首先传输的是数据的最高位(MSB)。如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟SCL保持低电平迫使主机进入等待状态。当从机准备好接收下一个数据字节并释放时钟线SCL后,数据传输继续。如图IIC总线数据传输所示。图IIC总线的数据传送过程S为起始条件、P为停止条件、SLA+W为从机地址加写操作、SL
7、A+R为从机地址加读操作、data为传输的有效数据、Sr为重复起始条件中断服务当产生中断,软件判断IIC线上的工作状态,如果是空闲状态则清中断标志不理会。如果接收到一字节有效数据则重新接收地址接收否者重新接收地址并等待应答接收。软件IIC软件IIC是指编程时要自己来模拟时序,发送数据。软件实现IIC通信主要要完成以下几点:IIC启动、发送数据、通讯结束。软件IIC启动当IIC接口处于从模式时,要想数据传输,必须检测SDA线上的启动信号,启动信号由主器件产生。在SCL信号为高时,SDA产生一个由高变低的电平变化,即产生一个启动信号。时序图如下:在时
8、钟SCL的高电平期间,SDA线上的数据必须保持稳定。SDA仅可在时钟SCL为低电平时改变。即在SCL由低电平向高电平跳变的时候读取SDA
此文档下载收益归作者所有