SmartFusion:利用I2C接口连接OLED
设计实例简述
本文引用地址:https://www.eepw.com.cn/article/116951.htm本设计实例展示了如何使用SmartFusion开发工具套件和SmartFusion评测工具套件上的I2C OLED模块。这两个工具套件都带有一个OLED模块— RiTdisplay PMO13701,而二者都是与I2C_0连接。图1所示为本设计实例中采用的顶层接口信号。MSS中的URAT作为用于超级终端(HyperTerminal)显示选项的用户接口。
SmartFusion微控制器子系统(MSS)
主PC
MAINXIN
MSS_RESET
UART_0_RXD
UART_0_TXD
I2C_0_SDA
I2C_0_SCL
OLED模块
设计实例描述
MSS可配置为使用一个I2C 接口 (I2C_0) 和一个UART 接口 (UART_0)。I2C_0 和 UART_0由 APB bus 0上的PCLK0 提供时钟。PCLK0则是由MSS中的时钟调节电路(CCC)生成的 80 MHz 频率时钟产生出来。
MSS中的I2C 外设可配置为工作在快速模式下的主设备。APB总线时钟(PCLK0) 分频器设置为256,产生312.5 KHz 的串行时钟频率(I2C_0_SCL)。
当总线空闲时,I2C主设备就通过发送一个START位(bit)发起一个写入事务(write transaction)。紧跟着START位的是从设备的7位串行地址以及write位。而从设备通过一个应答(acknowledge)位来告知地址接收情况。本设计实例采用96x16 OLED 模块作为从设备,其串行地址设置为0x78。
本设计实例把UART作为用户接口用于HyperTerminal的OLED显示选项。用户可以进入通过HyperTerminal在OLED面板上显示的下列选项。
1. 纯文本显示。
2. 垂直滚动。
3. 水平滚动 。
4. 正弦波。
本设计实例附带的设计文件里提供有Verilog和VHDL Libero项目及SoftConsole项目。
接口描述
表1 所示为顶层接口信号描述
评论