《课件:微控制器输入输出接口》.ppt
*************************************SPI应用实例:与EEPROM通信硬件连接以25系列SPIEEPROM为例,连接需要4根信号线:SCK:连接到微控制器的SPI时钟引脚SI/MOSI:连接到微控制器的MOSI引脚SO/MISO:连接到微控制器的MISO引脚CS/SS:连接到微控制器的GPIO引脚还需连接电源和地线,必要时加入旁路电容提高信号稳定性。写入操作向EEPROM写入数据的步骤:发送写使能指令(WREN,0x06)发送写指令(WRITE,0x02)发送目标地址(通常2字节)连续发送数据字节拉高CS结束传输等待写入完成(轮询状态寄存器)读取操作从EEPROM读取数据的步骤:发送读指令(READ,0x03)发送起始地址(通常2字节)连续读取数据字节(每读取一字节发送一个空字节)拉高CS结束传输代码示例//读取EEPROM数据uint8_tEEPROM_Read(uint16_taddr,uint8_t*buf,uint16_tlen){CS_LOW();//激活片选SPI_Send(0x03);//读取指令SPI_Send((addr8)0xFF);//地址高字节SPI_Send(addr0xFF);//地址低字节for(uint16_ti=0;ilen;i++){buf[i]=SPI_SendReceive(0xFF);//读取数据}CS_HIGH();//释放片选return0;}串行通信接口:I2C双线式总线I2C(Inter-IntegratedCircuit)是飞利浦开发的串行通信总线,仅使用两根信号线:SDA(串行数据线)和SCL(串行时钟线)。这种极简的物理接口使其特别适合板内设备互连,减少PCB布线复杂度和引脚占用。多主多从架构I2C支持多主设备和多从设备共享同一总线,最多可连接128个设备(标准7位地址模式)。设备通过唯一地址标识,主设备可以选择性地与任一从设备通信。这种架构为系统扩展提供了极大灵活性。灵活的速率配置I2C支持多种传输速率:标准模式(100kbps)、快速模式(400kbps)、高速模式(3.4Mbps)等。系统可根据需求选择合适的速率,平衡传输效率与信号完整性。不同设备可在同一总线上以不同速率通信。内置应答机制I2C协议内置了应答机制,接收方在接收每个字节后发送应答位(ACK/NACK),提供可靠的数据传输保障。这一特性使错误检测和恢复变得简单,无需额外的校验机制。I2C的工作原理起始条件通信开始于起始条件(START):当SCL为高电平时,SDA从高变为低。这个特殊的时序模式通知所有设备有新的通信即将开始。任何主设备都可以产生起始条件,从而成为本次通信的控制者。地址传输起始条件后,主设备发送7位从设备地址和1位读/写标志(R/W)。总线上所有设备都接收并比较这个地址,只有地址匹配的从设备会响应,其他设备保持静默。这种寻址机制支持选择性通信,无需额外片选线。数据传输地址确认后,开始数据传输。数据位在SCL高电平时必须稳定,只能在SCL低电平时改变。每传输8位数据后,接收方发送1位应答信号(ACK)。数据传输可以持续多个字节,直到主设备决定结束通信。停止条件通信结束于停止条件(STOP):当SCL为高电平时,SDA从低变为高。停止条件释放总线,允许其他主设备接管通信。主设备也可以发送重复起始条件(RepeatedSTART)而不是停止条件,直接开始新的通信周期。I2C的地址和数据传输设备寻址I2C采用地址寻址方式,每个从设备都有唯一地址:标准寻址:7位地址空间,支持最多128个设备扩展寻址:10位地址空间,支持最多1024个设备地址分配方式:固定地址:由硬件设计决定,无法更改可配置地址:通过外部引脚设置部分地址位软件可编程:通过特殊命令配置设备地址地址冲突是I2C系统设计中的常见问题,需谨慎规划。数据传输模式I2C支持四种基本传输模式:1.主发送模式(写操作):主设备发送起始条件发送从设备地址+写位(0)等待从设备应答连续发送数据字节,每字节后等待应答发送停止条件结束传输2.主接收模式(读操作):主设备发送起始条件发送从设备地址+读位(1)等待从设备应答接收数据字节,除最后一字节外主设备都应答接收最后一字节后不应答,发送停止条件特殊情况下还可能使用组合模式,如写后