基于I2C的USB设计研讨.ppt
文本预览下载声明
基于I2C总线的USB设计 于熙宁 内容介绍 开发环境 1 背景介绍 2 硬件电路设计 3 总结 4 最后在将其转换为USB接口的硬件电路设计方案。 本文是介绍基于STM32, I2C 接口 USB 接口 软件模拟 硬件转换 开发环境 运用软件模拟的方 式,将普通GPIO口转换为I2C接口, 背景介绍 USB I2C总线 STM32 最为常见的PC接口 支持热插拔、可最大连接127个设备、提供最大5V电压、500mA的电流 I2C占用管脚较少,而USB接口较为通用,因此基于STM32的I2C转USB是有很大实用意义的 双向二线制同步串行总线 只需串行时钟线(SCL)和串行数据线(SDA) 即可在连接于总线上的器件之间传送信息 ST公司的32位微控制器 基于Cortex-M3内核,时钟频率72MHz,低功耗(3.3V,500μA/MIPS),集成了定时器、ADC、WDT和DMA控制器等多功能模块 硬件电路设计 GPIO模拟I2C总线 该部分利用软件编程的方式,来将STM32上的两个GPIO口模拟I2C总线协议。 I2C转USB接口 拟将采用Philips公司的带I2C接口的USB接口芯片PDIUSBD11进行USB接口开发。 本部分的设计主要包含如下4个部分 完成I2C的起始信号,终止信号,应答信号等基础时序信号要求。 根据I2C的数据传输格式,实现字节的接受与发送功能。 在?和?的基础上完成数据链的发送与接受。 必要的故障报警和提示功能。 虽然STM32上已拥有2个I2C接口,但是仍无法满足实际的使用数量的要求,故需根据I2C的总线规范和时序要求将STM32上两个GPIO接口模拟为I2C接口(即SDA和SCK)。 GPIO模拟I2C接口 I2C转USB接口 PDIUSBD11是一款性价比很高的USB器件,他通常用作微控制器系统中,实现与微控制器进行通信的高速通用的I2C接口。这种实现USB接口的标准组件使得设计者可以在各种不同类型微控制器中选择出最合适的微控制器。 硬件连接图 使用单片机外加USB接口芯片开发USB接口 ,适用于为现有产品开发USB接口,能尽量避免对原有电路及程序的修改,降低了开发成本和风险。在对速度要求不太高的情况下 ,可采用 Philips公司的USB接口芯片PDIUSBD11,他特有的IC接口设计可以减少与单片机的引脚连接,简化外围电路设计。虽然只有2根数据线负责数据的双向传输,但仍保证了较高的传输速率,能满足一般的对速度要求不太高的设备的需要。 总结
显示全部