亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        I2C,SPI,SMI,SMBus串行接口實現(xiàn)方法

        2014-12-13 02:39:04康賓周玉娟
        中國科技縱橫 2014年4期
        關(guān)鍵詞:信號設備

        康賓 周玉娟

        (中國電子科技集團公司第五十四研究所,河北石家莊 050081)

        I2C,SPI,SMI,SMBus串行接口實現(xiàn)方法

        康賓 周玉娟

        (中國電子科技集團公司第五十四研究所,河北石家莊 050081)

        I2C、SPI、SMI(MDC、MDIO)、SMBus等接口受時鐘頻率的限制,相對于高速運行的CPU芯片來說接口運行速度較慢。但并不是所有CPU芯片都支持這些串行接口,在很多系統(tǒng)中需要解決CPU芯片與串行接口芯片的互聯(lián)問題。本文提出三種CPU芯片與串行接口互聯(lián)方案,其中方案一使用CPU芯片的GPIO接口與串行接口芯片互聯(lián),方案二CPU芯片通過FPGA芯片與串行接口芯片間接互聯(lián),方案三FPGA的SOPC技術(shù)代替CPU芯片與串行接口芯片互聯(lián)。

        I2C SPI SMI(MDC、MDIO) SMBus FPGA SOPC

        為了減小芯片的體積,減小布線的復雜度,提高系統(tǒng)的可靠性以及集成度,越來越多的芯片采用串行I2C接口、SPI接口、SMI

        (MDC、MDIO)接口、SMBus接口等;例如EEPROM、FLASH、以太網(wǎng)PHY芯片,鎖相環(huán)芯片,溫度測量芯片、光電轉(zhuǎn)換模塊等。

        串行接口使用簡單,用2到4根信號就可以完成芯片初始化、配置、運行狀態(tài)查詢等操作。但在各種系統(tǒng)中,串行接口運行速率較慢,串行接口芯片與高速的CPU芯片如何互聯(lián)是一個亟待解決的問題。

        1 I2C、SPI、SMI、SMBus串行接口簡介

        I2C接口也就是通常所說的I2C串行總線,一般有兩根信號線,一根是雙向的數(shù)據(jù)線SDA,另一根是時鐘線SCL。所有I2C設備串行數(shù)據(jù)SDA都接到總線SDA上,各設備時鐘線SCL接到總線SCL上。

        圖1 串行接口框圖

        圖2 GPIO模擬SPI接口原理框圖

        SPI接口的全稱是“Serial Peripheral Interface”,是一種高速、全雙工、同步的通信總線。SPI接口信號主要包括SDO(主設備數(shù)據(jù)輸出,從設備數(shù)據(jù)輸入)、SDI(主設備數(shù)據(jù)輸入,從設備數(shù)據(jù)輸出),SCLK(時鐘信號,由主設備產(chǎn)生)、CS(從設備使能信號,由主設備控制)等信號。

        SMI(MDC、MDIO)接口在以太網(wǎng)PHY芯片上比較常見,主要由MDC、MDIO兩個信號組成。CUP或以太網(wǎng)MAC芯片通過該接口可以完成以太網(wǎng)PHY芯片初始化、以太網(wǎng)接口配置、以太網(wǎng)接口狀態(tài)查詢等操作。SMI(MDC、MDIO)接口還可以提供中斷信號MDINT(由以太網(wǎng)PHY芯片產(chǎn)生的中斷)。

        SMBus是System Management Bus的縮寫,由Intel于1995年提出,是一種二線制串行總線,信號主要包括SMBus_DATA(數(shù)據(jù)輸入輸出)、SMBus_CLK(時鐘信號,由主設備產(chǎn)生)。

        接口原理框圖以及信號方向,如圖1所示:

        2 串行接口互聯(lián)方案

        CPU芯片可以直接支持I2C接口、SPI接口、SMI(MDC、MDIO)接口、SMBus接口其中一種接口或者兩種接口,硬件電路實現(xiàn)比較簡單。CPU芯片相應使能管腳和串行接口芯片相應管腳直接向連,然后根據(jù)相應電氣特性匹配上下拉電阻;但也有一些CPU不支持這些接口,在這樣情況下,有三種方案可以解決CPU芯片與串行接口芯片互聯(lián)問題。

        圖3 FPGA串并接口轉(zhuǎn)換

        圖4 MDIO、MDC接口原理框圖

        圖5 SOPC串行接口原理框圖

        2.1 使用CPU的GPIO管腳互聯(lián)

        CPU一般都有一些GPIO管腳,可以使用CPU的GPIO管腳模擬串行接口信號以及接口時序,從而解決CPU芯片與串行接口芯片互聯(lián)問題,以SPI接口為例說明其互聯(lián)原理,其框圖如圖2所示:

        CPU作為主端,發(fā)起SPI讀寫操作,外圍芯片作為從端,接收CPU讀寫指令。SPI接口CS(從設備使能信號,由主設備控制)信號,可以由CPU空閑CS管腳或GPIO管腳來模擬實現(xiàn),當CPU發(fā)起SPI讀寫操作時:

        (1)首先CS信號有效,才開始后續(xù)讀寫操作,作為CS信號CPU的GPIO管腳在整個SPI讀寫操作過程中保持‘0’電平。

        (2)SCLK(時鐘信號,由主設備產(chǎn)生),由CPU的GPIO管腳經(jīng)過一定時間后反轉(zhuǎn)其管腳電平模擬實現(xiàn)SPI接口時鐘,輸出到SPI從設備。

        (3)SDO(主設備數(shù)據(jù)輸出,從設備數(shù)據(jù)輸入)信號由CPU的GPIO管腳作為輸出管腳,在同步于SCLK的情況下,輸出相應‘0’、‘1’電平實現(xiàn)相應讀寫命令以及數(shù)據(jù)輸出。

        (4)當進行讀操作時SDI有效,SDI(主設備數(shù)據(jù)輸入,從設備數(shù)據(jù)輸出)由CPU的GPIO管腳作為輸入管腳,同步于SCLK的情況下把其管腳輸入按位存儲到CPU內(nèi)存空間實現(xiàn)相應數(shù)據(jù)的輸入。

        I2C接口,SMI(MDC、MDIO)接口,SMBus接口等串行接口也可以采用類似的方法來實現(xiàn)。

        從上述可以看出,此方案CPU需要全程參與串行接口的讀寫操作,讀寫操作過程不能被打斷,而且需要復雜的程序模擬串行接口時序,特別是對I2C,SMBus等接口在讀寫過程中需要ACK或NCK回應的時序,程序設計顯得捉襟見肘。此方案缺點:CPU訪問串行接口芯片時,CPU會被完全占用,CPU無法處理其他工作,程序設計較復雜;優(yōu)點:CPU與串行接口芯片之間互聯(lián),不占用系統(tǒng)其它資源。

        2.2 FPGA間接訪問串行接口

        一般情況下,CPU芯片都有并行CPU接口,CPU芯片通過CPU接口與FPGA相連,由FPGA芯片來模擬串行接口時序;FPGA與相應的串行接口芯片相連,代替CPU芯片完成串行接口芯片的讀寫訪問。原理框圖如圖3所示:

        CPU芯片通過并行的CPU接口對FPGA的內(nèi)存空間進行讀寫操作;FPGA根據(jù)其內(nèi)存中內(nèi)容模擬串行接口讀寫時序,完成由CPU芯片并行接口到串行接口的轉(zhuǎn)換。

        以SMI(MDC、MDIO)接口為例來說明此方案具體實現(xiàn)方法。CPU芯片或以太網(wǎng)MAC芯片通過此SMI(MDC、MDIO)接口完成以太網(wǎng)PHY芯片初始化、以太網(wǎng)接口配置以及以太網(wǎng)接口狀態(tài)查詢等工作。其原理框圖如圖4所示:

        SMI(MDC、MDIO)接口寫操作:

        (1)CPU芯片通過并行CPU接口把以太網(wǎng)PHY芯片地址,以太網(wǎng)PHY芯片寄存器地址,以及要寫入到以太網(wǎng)PHY芯片的數(shù)據(jù),寫命令等寫入到FPGA內(nèi)存空間;

        (2)然后再由FPGA把內(nèi)存中的數(shù)據(jù)按照SMI(MDC、MDIO)接口的寫時序?qū)懭氲揭蕴W(wǎng)PHY芯片,在此過程中由FPGA程序狀態(tài)機來負責寫開始、寫結(jié)束、是否空閑等狀態(tài)控制,接口時序完成由FPGA負責完成。

        以太網(wǎng)PHY芯片的單次寫過操作完全可以交由FPGA完成;以太網(wǎng)PHY芯片多次寫操作,采用在FPGA里加入FIFO緩存CPU多次寫操作數(shù)據(jù),然后再由FPGA依次發(fā)起寫過程;在多次寫過程,F(xiàn)PGA也完全可以代替CPU芯片或以太網(wǎng)MAC芯片完成SMI(MDC/MDIO)接口寫操作。

        SMI(MDC、MDIO)接口讀操作:(1)CPU芯片通過并行CPU接口把以太網(wǎng)PHY芯片地址,以太網(wǎng)PHY芯片寄存器地址,讀命令等寫入到FPGA的內(nèi)存空間;(2)然后再由FPGA模擬出SMI(MDC/MDIO)接口讀命令,通過MDIO信號把讀命令傳遞給以太網(wǎng)PHY芯;(3)以太網(wǎng)PHY芯片使用MDIO信號輸出相應數(shù)據(jù),F(xiàn)PGA利用MDC的時鐘延把MDIO信號數(shù)據(jù)按bit存儲到FPGA內(nèi)存。

        SMI(MDC/MDIO)接口讀操作,完全可以把讀出的數(shù)據(jù)暫存到FPGA、CPLD內(nèi)存中,CPU空閑時再讀入到CPU芯片;或者結(jié)合MDINT中斷信號,以太網(wǎng)PHY芯片狀態(tài)發(fā)生變化MDINT產(chǎn)生中斷時,CPU響應中斷后再開始SMI(MDC/MDIO)接口讀操作。

        此方案中串行接口芯片讀寫操作時序交由FPGA的狀態(tài)機完成,F(xiàn)PGA分擔CPU的時序模擬工作,CPU從大量模擬時序工作中解脫出來,節(jié)省CPU資源,CPU程序得到簡化,提高CPU運行效率;缺點是需要FPGA的支持,以及足夠的FPGA資源。

        2.3 SOPC技術(shù)訪問串行接口

        采用FPGA的SOPC技術(shù)單獨完成對串行接口芯片的初始化、模式配置、狀態(tài)查詢等工作;SOPC作為次CPU獨立的完成串行接口芯片的讀寫操作,主CPU需要進行串行接口讀寫操作時,直接與SOPC進行交互。采用此方案的系統(tǒng)中,SOPC完全可以代替主CPU完成系統(tǒng)中所有串行接口的讀寫訪問工作,原理框圖如圖5所示:

        以Altera的FPGA為例說明具體實現(xiàn)方法:(1)使用Altera公司的SOPC BUILDER工具搭建NIOS系統(tǒng),配置NIOS嵌入式CPU,選擇相應的Memory控制器,選擇相應的串行接口IPcore,以及定時器等;

        (2)完成相應的初始化程序,狀態(tài)查詢程序編寫;(3)完成程序調(diào)試后,啟動NIOS系統(tǒng)完成程序初始化,以及完成定時輪詢串行接口芯片狀態(tài)等工作。(4)把各串行接口芯片狀態(tài)存儲在NIOS系統(tǒng)的內(nèi)存空間;

        (5)主CPU需要串行接口芯片狀態(tài)時,NIOS系統(tǒng)通過其與主CPU之間的高速接口把串行接口芯片的狀態(tài)傳遞給主CPU。

        SOPC模塊作為系統(tǒng)的次CPU,可以獨立完成系統(tǒng)中所有的串行接口芯片初始化、狀態(tài)采集、配置等工作;主CPU與SOPC次CPU之間通過高速接口交互消息。主CPU完全從繁瑣的串行接口芯片讀寫時序操作中解脫出來,優(yōu)點不言而喻。但此方案的整體系統(tǒng)相對來說比較復雜。

        3 結(jié)語

        三種方案都可以用來解決串行接口的互聯(lián)問題,有著各自的特點,應用于不同的系統(tǒng)。CPU的GPIO管腳互聯(lián)方案,串行接口訪問過程中需要CPU芯片全程參與,所有的工作都由CPU負責,此方案可以應用在較為簡單,CPU比較空閑的系統(tǒng)中;FPGA間接訪問串行接口方案,CPU從串行接口讀寫訪問部分解脫出來,由FPGA模擬串行接口時序,以及完成串行接口讀寫狀態(tài)控制,此方案可以應用在FPGA資源充足的系統(tǒng)中;SOPC技術(shù)訪問串行接口方案,CPU從串行接口訪問過程完全解脫出來,由SOPC預先對串行接口進行讀寫訪問,此方案可以同時檢查較多的串行接口芯片,其可以應用在可靠性要求較高,實時性要求較高的系統(tǒng)中。

        [1]The I2C-Bus Specification.VERSION 2.1,2000-01.

        [2]System Management Bus (SMBus) Specification Version 2.0,2000-03.

        [3]The Freescale SPI Bus Specification.VERSION 4.01,2004-09.

        [4]IEEE802.3u標準.

        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.

        I2C SPI SMI SMBus FPGA SOPC

        康賓,男,(1981—),中國電子科技集團公司第五十四研究所工程師,主要研究方向:通信系統(tǒng),路由與交換設備。

        猜你喜歡
        信號設備
        諧響應分析在設備減振中的應用
        信號
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        孩子停止長個的信號
        基于VB6.0+Access2010開發(fā)的設備管理信息系統(tǒng)
        基于MPU6050簡單控制設備
        電子制作(2018年11期)2018-08-04 03:26:08
        500kV輸變電設備運行維護探討
        基于LabVIEW的力加載信號采集與PID控制
        一種基于極大似然估計的信號盲抽取算法
        如何在設備采購中節(jié)省成本
        国产真人无遮挡免费视频| 国产成人无码a区在线观看导航| 国产69精品久久久久777| 免费夜色污私人影院在线观看| 久久99中文字幕久久| 91久久大香伊蕉在人线国产| 亚洲中国精品精华液| 久青草久青草视频在线观看| 亚洲an日韩专区在线| 亚洲人妻av综合久久| 人人澡人人妻人人爽人人蜜桃麻豆| 饥渴的熟妇张开腿呻吟视频| 国精品无码一区二区三区在线看| 日韩一区二区中文字幕| 尹人香蕉久久99天天拍| 伊人久久五月丁香综合中文亚洲 | 国产人妖赵恩静在线视频| 亚洲精品岛国av一区二区| 真实国产精品vr专区| 少妇的丰满3中文字幕| 日本护士一区二区三区高清热线| 中文字幕影片免费人妻少妇| 国产在线观看无码免费视频| 亚洲丁香婷婷综合久久小说| 日韩乱码精品中文字幕不卡| 我和隔壁的少妇人妻hd| 中文字幕乱伦视频| 中日韩欧美成人免费播放| 国产毛片精品av一区二区| 亚洲精品第一国产综合精品| 女人被做到高潮免费视频| 日本一区二区三区的免费视频观看| 成人偷拍自拍视频在线观看 | 久久午夜精品人妻一区二区三区 | 国产实拍日韩精品av在线| 国产一区二区女内射| 国产精品亚洲A∨天堂不卡| 国产精品自产拍av在线| 十八禁无遮挡99精品国产| 亚洲尺码电影av久久| 久草久热这里只有精品|