康宾 周玉娟
【摘 要】 I2C、SPI、SMI(MDC、MDIO)、SMBus等接口受时钟频率的限制,相对于高速运行的CPU芯片来说接口运行速度较慢。但并不是所有CPU芯片都支持这些串行接口,在很多系统中需要解决CPU芯片与串行接口芯片的互联问题。本文提出三种CPU芯片与串行接口互联方案,其中方案一使用CPU芯片的GPIO接口与串行接口芯片互联,方案二CPU芯片通过FPGA芯片与串行接口芯片间接互联,方案三FPGA的SOPC技术代替CPU芯片与串行接口芯片互联。
【关键词】 I2C SPI SMI(MDC、MDIO) SMBus FPGA SOPC
【Abstract】 I2C, SPI, SMI(MDC、MDIO)and SMBus limited by the interface clock frequency, relative to the CPU chip for high-speed operation of the interface to run slower; But not all CPU chips support these serial interfaces, in many systems interconnected issues need to be resolved with the CPU chip and serial interface chip; This paper proposes three CPU chip interconnect solutions with serial interface,Which program to use a CPU chip GPIO interface with serial interface chip interconnect, Option II CPU chip FPGA chip by indirect interconnection with serial interface chip, Option III FPGA SOPC technology instead of the CPU chip interconnect with a serial interface chip.
【Key words】 I2C SPI SMI SMBus FPGA SOPC
为了减小芯片的体积,减小布线的复杂度,提高系统的可靠性以及集成度,越来越多的芯片采用串行I2C接口、SPI接口、SMI(MDC、MDIO)接口、SMBus接口等;例如EEPROM、FLASH、以太网PHY芯片,锁相环芯片,温度测量芯片、光电转换模块等。
串行接口使用简单,用2到4根信号就可以完成芯片初始化、配置、运行状态查询等操作。但在各种系统中,串行接口运行速率较慢,串行接口芯片与高速的CPU芯片如何互联是一个亟待解决的问题。
1 I2C、SPI、SMI、SMBus串行接口简介
I2C接口也就是通常所说的I2C串行总线,一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有I2C设备串行数据SDA都接到总线SDA上,各设备时钟线SCL接到总线SCL上。
SPI接口的全称是“Serial Peripheral Interface”,是一种高速、全双工、同步的通信总线。SPI接口信号主要包括SDO(主设备数据输出,从设备数据输入)、SDI(主设备数据输入,从设备数据输出),SCLK(时钟信号,由主设备产生)、CS(从设备使能信号,由主设备控制)等信号。
SMI(MDC、MDIO)接口在以太网PHY芯片上比较常见,主要由MDC、MDIO两个信号组成。CUP或以太网MAC芯片通过该接口可以完成以太网PHY芯片初始化、以太网接口配置、以太网接口状态查询等操作。……