新聞中心

        EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 理解ATE SPI (串行外設(shè)接口)

        理解ATE SPI (串行外設(shè)接口)

        作者: 時(shí)間:2011-11-22 來源:網(wǎng)絡(luò) 收藏

        理解 (接口)

        大多數(shù)Maxim? 設(shè)計(jì)都采用了一個(gè)串行接口,以便從外部控制器件。這種串行接口正在成為一種重要且非常有用的功能,但也可能是較難理解的部分之一。本應(yīng)用筆記介紹了Maxim ?接口,并闡述了系統(tǒng)架構(gòu)設(shè)計(jì)方法。從時(shí)序圖可以看出如何對該接口進(jìn)行編程。

        接口()的基礎(chǔ)

        SPI是一種同步數(shù)據(jù)鏈路協(xié)議,其構(gòu)想最初由Motorola?提出。按照主/從模式進(jìn)行通信,其中主控設(shè)備啟動(dòng)與一個(gè)或多個(gè)從設(shè)備之間的通信,在器件之間交換數(shù)據(jù)。SPI接口已經(jīng)演化出了許多不同結(jié)構(gòu),但它們都采用公用的一組控制信號(hào)和輸出。最簡單的方法是基于移位寄存器的3線設(shè)計(jì),如圖1所示。信號(hào)定義如下:

        • SCLK:時(shí)鐘信號(hào),將DIN (數(shù)據(jù))按時(shí)序移入移位寄存器
        • DIN:移入移位寄存器的數(shù)據(jù)
        • DOUT:移出移位寄存器的數(shù)據(jù)

        理解ATE SPI (串行外設(shè)接口)
        圖1. 8位SPI接口簡圖

        SPI接口(圖1)的基本工作原理是將數(shù)據(jù)(DIN)移入移位寄存器,由SCLK的上升沿或下降沿控制數(shù)據(jù)移位。一旦數(shù)據(jù)移入寄存器,移位寄存器的輸出即可作為設(shè)計(jì)中的控制信號(hào)。在時(shí)鐘控制下,數(shù)據(jù)通過DOUT引腳移出,允許以菊花鏈形式連接多個(gè)接口,控制多個(gè)從器件。

        Maxim ATE串行接口架構(gòu)

        Maxim的ATE方案在圖1所示最簡方案的基礎(chǔ)上進(jìn)行擴(kuò)展,增加了另外三個(gè)信號(hào):片選(CS*)、裝載(LD*)和復(fù)位(RST*)。另外,拓?fù)涓臑殡p緩存結(jié)構(gòu)。緩存1代表增加的第一級(jí)鎖存器;緩存2代表第二級(jí)鎖存器。這種雙緩存結(jié)構(gòu)能夠在兩級(jí)之間靈活地傳遞和鎖存數(shù)據(jù)。我們將探討這種架構(gòu)的實(shí)現(xiàn)和時(shí)序圖(分別參見圖2圖3),說明單通道、8位字SPI的工作原理。

        單元和信號(hào)

        8位移位寄存器

        圖2所示為標(biāo)準(zhǔn)移位寄存器,它具有8個(gè)寄存器位(SRBIT0至SRBIT7)。數(shù)據(jù)(DIN)在SCLK的上升沿移入,移入所有8位數(shù)據(jù)需要8個(gè)時(shí)鐘信號(hào)。數(shù)據(jù)在第8個(gè)時(shí)鐘周期的下降沿移出(DOUT)。CS也是移位寄存器單元的一個(gè)輸入。

        控制信號(hào)譯碼

        控制信號(hào)譯碼電路是一個(gè)用戶邏輯單元,對SCLKCS以及數(shù)據(jù)字中的控制位進(jìn)行譯碼,使得第1級(jí)鎖存器可以保持?jǐn)?shù)據(jù)或?qū)?shù)據(jù)傳遞至第2級(jí)鎖存器。該單元可以設(shè)計(jì)控制多路第1級(jí)鎖存器,MAX9979數(shù)據(jù)資料給出了一個(gè)示例,其中第1級(jí)輸入寄存器和通道選擇寄存器都由用戶邏輯單元控制。該8位示例中沒有控制位,移位寄存器的所有8位傳遞至第1級(jí)鎖存器。

        8位鎖存器

        提供兩級(jí)或兩組完全相同的鎖存器。該示例采用8位鎖存器(SRBIT0至SRBIT7)。鎖存器為透明傳輸,在鎖存時(shí)鐘輸入的下降沿將輸入數(shù)據(jù)傳遞至輸出。鎖存器輸出在鎖存時(shí)鐘的上升沿保持或鎖存數(shù)據(jù)。輸出保持鎖存狀態(tài),直到鎖存器時(shí)鐘輸入變?yōu)榈碗娖健5?級(jí)鎖存器的時(shí)鐘信號(hào)為SCLKCS和控制位的譯碼信號(hào)。第2級(jí)鎖存器的時(shí)鐘信號(hào)為LD信號(hào)。

        控制信號(hào)線

        控制信號(hào)線為第2級(jí)鎖存器輸出。它們作為數(shù)字控制信號(hào)控制器件的內(nèi)部功能或工作模式。

        “低電平有效”

        信號(hào)CSLDRST為“低電平有效”控制信號(hào)。“低電平有效”表示信號(hào)只有為邏輯低電平時(shí)才有效。

        理解ATE SPI (串行外設(shè)接口)
        圖2. 8位字、雙緩存SPI接口的簡單示例

        理解ATE SPI (串行外設(shè)接口)
        圖3. 8位字SPI示例的詳細(xì)時(shí)序圖

        工作原理

        下文所示時(shí)序?qū)?yīng)于圖2和圖3所示的SPI示例。該設(shè)計(jì)中,選擇在時(shí)鐘的上升沿將信號(hào)移入器件,也可以使用下降沿。數(shù)據(jù)按照從MSB (最高有效位)至LSB (最低有效位)的順序移入,也可以從LSB至MSB移入,如本應(yīng)用所示。

        • SCLK的上升沿將數(shù)據(jù)移入移位寄存器。
        • DIN數(shù)據(jù)經(jīng)過8?個(gè)時(shí)鐘周期后,在SCLK的下降沿從接口(通過DOUT)移出。
        • CSSCLK觸發(fā)控制。在低電平有效的CS下降沿將數(shù)據(jù)傳遞至第1級(jí)鎖存器,并在CS的上升沿鎖存至第1級(jí)。如果CS保持為高電平,數(shù)據(jù)僅傳送至DOUT,不會(huì)出現(xiàn)在第1級(jí)鎖存器。
        • LD控制信號(hào)異步加載第2級(jí)鎖存器。如果LD保持為邏輯高電平,則第1級(jí)緩存輸出不會(huì)傳遞到第2級(jí)緩存輸出。若LD保持為低電平,第1級(jí)緩存輸出將直接通過第2級(jí)鎖存器。在LD控制信號(hào)的上升沿鎖存第2級(jí)輸出。
        • RST將把串行接口控制信號(hào)復(fù)位到默認(rèn)狀態(tài)。
        • 圖3所示為所有串行接口輸入、輸出的詳細(xì)時(shí)序。

        SPI接口只有符合具體的時(shí)序指標(biāo)要求才能正常工作。這些指標(biāo)在器件數(shù)據(jù)資料中列出。表1定義了圖3相應(yīng)的技術(shù)指標(biāo),并給出了一些典型值以供參考。

        表1. SPI時(shí)序要求、定義及典型值

        Specifications
        ParameterSymbolMinTypMaxUnits
        Serial clock frequencyfSCLK50MHz
        SCLK pulse width hightCH12ns
        SCLK pulse width lowtCL12ns
        SCLK fall to DOUTvalidtDO22ns
        CS-bar low to SCLK high setuptCSS010ns
        SCLK high to CS-bar high holdtCSH122ns
        SCLK high to CS-bar low holdtCSH00ns
        CS-bar high to SCLK high setuptCSS15ns
        DIN to SCLK high setuptDS10ns
        DIN to SCLK high holdtDH0ns
        CS-bar pulse width hightCSWH10ns
        CS-bar high to LD-bar low setuptCLL22ns
        LD-bar pulse width lowtLDW20ns
        RST-bar low pulse widthtRST10ns

        SPI接口的主/從配置

        有三種方法實(shí)現(xiàn)主/從配置:

        1. 一主一從,如圖4所示。
        2. 一主多從,采用菊花鏈拓?fù)浣Y(jié)構(gòu),如圖5所示。
          該方法的優(yōu)勢在于:
          1. 主器件僅需要一個(gè)片選引腳。
          2. 以菊花鏈形式將DOUT引腳連接至下一個(gè)從器件的DIN;最后一個(gè)從器件的DOUT返回至主器件DIN端口進(jìn)行讀取。
          該方法的缺點(diǎn)是:
          1. 每個(gè)從器件沒有獨(dú)立控制信號(hào)。
          2. DATA字較長。
          3. 由于必須在觸發(fā)片選信號(hào)之前更新所有從器件,所以更新速度較慢。
        3. 一主多從,每片從器件都有其各自的片選引腳,如圖6所示。
          該方法的優(yōu)勢在于:
          1. 每個(gè)從器件均可獨(dú)立控制。
          2. 工作速率較快。
          缺點(diǎn)是:
          1. 主器件需要更多的I/O控制引腳。
          2. 如果DOUT不能處于高阻態(tài),則不能回讀數(shù)據(jù)。

        理解ATE SPI (串行外設(shè)接口)
        圖4. 單個(gè)主/從SPI接口

        理解ATE SPI (串行外設(shè)接口)
        圖5. 一主多從—菊花鏈結(jié)構(gòu),一個(gè)片選信號(hào)控制所有從器件。

        理解ATE SPI (串行外設(shè)接口)
        圖6. 一主多從—每個(gè)從器件都有獨(dú)立的片選信號(hào)。

        常見的SPI錯(cuò)誤

        根據(jù)數(shù)據(jù)資料確定數(shù)據(jù)是在時(shí)鐘的正向上升沿還是負(fù)向下降沿移入。請注意不要混淆具有不同時(shí)鐘沿要求的從器件。如果存在不同的時(shí)鐘要求,請務(wù)必在軟件或硬件中完成正確的轉(zhuǎn)換。

        圖7.

        根據(jù)數(shù)據(jù)資料確定是MSB在前還是LSB在前移入數(shù)據(jù)。

        圖8.

        確保CS在相對于時(shí)鐘沿的數(shù)據(jù)字附近正確控制。

        如果字長不是8位或單字節(jié)的倍數(shù),請務(wù)必在字開頭或結(jié)尾處添加零,以確保以字節(jié)的整數(shù)倍移入。有些控制器或主器件,一次只能輸出1個(gè)字節(jié)。如果是這種情況,需確保不會(huì)將實(shí)際數(shù)據(jù)從從器件中移出。若要控制指定從器件,需確保從器件擁有完整數(shù)據(jù)。

        請不要將多個(gè)DOUT連接在一起,除非它們具有高阻態(tài)選項(xiàng)。

        請仔細(xì)閱讀數(shù)據(jù)資料,確定已經(jīng)理解、掌握從器件的使用細(xì)節(jié)。“字”可以包含數(shù)據(jù)、地址和控制位。

        請注意,以菊花鏈連接多個(gè)器件可能導(dǎo)致更新速度緩慢。

        SCLK信號(hào)為高速信號(hào)并送至多個(gè)位置。確保該信號(hào)經(jīng)過適當(dāng)緩沖以驅(qū)動(dòng)多個(gè)電路,從而避免時(shí)序誤差。所有驅(qū)動(dòng)多個(gè)電路的信號(hào)都應(yīng)該具有足夠的驅(qū)動(dòng)能力。

        總結(jié)

        從6個(gè)基本信號(hào)的角度介紹了Maxim ATE SPI串行接口的基本工作原理和時(shí)序,它們分別為:SCLKCSDINRSTLDDOUTRSTLD可選。即使不同電路之間的結(jié)構(gòu)會(huì)有所調(diào)整,但這6個(gè)信號(hào)的時(shí)序定義了SPI接口的外部工作特性。本文結(jié)合6個(gè)基本信號(hào),以8位字、雙緩存接口為例介紹了SPI的工作原理。該接口是Maxim ATE產(chǎn)品遵循的拓?fù)浣Y(jié)構(gòu)。查看每個(gè)器件的數(shù)據(jù)資料可以了解不同接口的差異和增強(qiáng)功能,但所有接口都遵循本文所述時(shí)序。充分理解本文給出的示例有助于您解讀、理解Maxim的許多ATE串行接口。

        *注:后綴“” (例如:CS、LD、RST)表示這些引腳為低電平有效。



        關(guān)鍵詞: ATE SPI 串行外設(shè)

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 晴隆县| 蚌埠市| 桐庐县| 康定县| 松溪县| 丰都县| 临江市| 珠海市| 紫阳县| 科技| 泊头市| 黑水县| 内江市| 伊吾县| 汾西县| 平定县| 定州市| 榆社县| 泾源县| 客服| 清涧县| 腾冲县| 茶陵县| 南漳县| 金乡县| 北票市| 庄浪县| 泰安市| 镇宁| 广丰县| 城固县| 凤城市| 景洪市| 抚顺县| 师宗县| 石柱| 西乌珠穆沁旗| 星座| 西吉县| 万全县| 涿鹿县|