99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

菊花鏈?zhǔn)絊PI器件

星星科技指導(dǎo)員 ? 來源:ADI ? 作者:ADI ? 2023-02-27 14:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在具有一個(gè)主站和多個(gè)從站的典型SPI系統(tǒng)中,專用的片選信號(hào)用于尋址單個(gè)從站。隨著從站數(shù)量的增加,芯片選擇線路的數(shù)量也會(huì)增加。在這種情況下,系統(tǒng)的電路板布局可能會(huì)成為一個(gè)相當(dāng)大的挑戰(zhàn)。

一種布局替代方案是菊花鏈。本文解釋了菊花鏈SPI系統(tǒng)的細(xì)節(jié),并展示了如何使用軟件通過一串從站傳播命令。

標(biāo)準(zhǔn)SPI?/QSPI/? MICROWIRE?兼容微控制器通過3線或4線串行接口與其從器件通信。典型接口包括片選信號(hào)(/CS)、串行時(shí)鐘(SCLK)、數(shù)據(jù)輸入信號(hào)(DIN),偶爾還包括數(shù)據(jù)輸出信號(hào)(DOUT)。與I2C系統(tǒng)中通常一樣,可單獨(dú)尋址的設(shè)備與總線上的單個(gè)設(shè)備輕松通信。

基本串行通信接口

許多SPI器件無法單獨(dú)尋址。因此,這些設(shè)備與總線上的單個(gè)設(shè)備之間的通信需要額外的硬件或軟件組織。圖1顯示了一個(gè)微控制器與多個(gè)從設(shè)備通信的系統(tǒng)。

poYBAGP8VIqAD83AAAA5VwHdSTc278.png

圖1.具有獨(dú)立芯片的微控制器為多個(gè)從設(shè)備選擇。

在上述系統(tǒng)中,微控制器使用一個(gè)串行時(shí)鐘輸出(SCK)和一個(gè)主輸出/從輸入線路(MOSI)來命令所有從機(jī)。微控制器為每個(gè)從設(shè)備分配一個(gè)獨(dú)立的從機(jī)選擇信號(hào)(/SS_),以便可以單獨(dú)對(duì)它們進(jìn)行尋址。由于所有從機(jī)共享單個(gè)時(shí)鐘和數(shù)據(jù)線,因此只有/CS輸入置位為低電平的從機(jī)才會(huì)確認(rèn)并響應(yīng)串行時(shí)鐘和數(shù)據(jù)線上的活動(dòng)。當(dāng)系統(tǒng)中的從設(shè)備很少時(shí),該系統(tǒng)易于實(shí)現(xiàn)。在具有許多從器件的系統(tǒng)中,微控制器需要的/SS_輸出與從器件數(shù)量一樣多。此體系結(jié)構(gòu)增加了硬件和布局的復(fù)雜性。

菊花鏈替代品

硬件約束會(huì)使圖 1 中的方法變得不切實(shí)際且難以實(shí)現(xiàn)。串行接口應(yīng)用的另一種方法是菊花鏈,它通過串聯(lián)的設(shè)備傳播命令。圖 2 顯示了采用菊花鏈配置的 N 器件系統(tǒng)。

poYBAGP8SkuANo7aAAAU--e5a10901.gif

圖2.具有多個(gè)菊花鏈從器件的微控制器。

單個(gè)/SS(或/CS)信號(hào)控制所有從機(jī)的/CS輸入;所有從站接收相同的時(shí)鐘信號(hào)。只有鏈中的第一個(gè)從站(SLAVE 1)直接從微控制器接收命令數(shù)據(jù)。網(wǎng)絡(luò)中每隔一個(gè)從站從鏈中前一個(gè)從站的DOUT輸出接收其DIN數(shù)據(jù)。

為了使菊花鏈成功工作,從機(jī)必須能夠在給定的命令周期內(nèi)在DIN上輸入命令(由一個(gè)命令中時(shí)鐘所需的時(shí)鐘脈沖數(shù)定義),并在隨后的命令周期內(nèi)在DOUT上輸出相同的命令。簡(jiǎn)單地說,有一個(gè)命令周期的 DIN 到 DOUT 延遲。此外,從機(jī)必須只執(zhí)行在/CS的上升沿寫入它的命令。這意味著只要/CS保持低電平,從機(jī)就會(huì)忽略該命令,并在下一個(gè)命令周期的DOUT上輸出該命令。如果/CS在給定的命令周期后變?yōu)楦唠娖?,則所有從站執(zhí)行剛剛寫入其各自DIN輸入的命令。如果/CS變?yōu)楦唠娖?,則數(shù)據(jù)不會(huì)在DOUT輸出。此過程使鏈中的每個(gè)從站都可以執(zhí)行不同的命令。只要滿足這些菊花鏈要求,微控制器只需要三個(gè)信號(hào)(/SS、SCK和MOSI)來控制網(wǎng)絡(luò)中的所有從站。

菊花鏈?zhǔn)侨绾螌?shí)現(xiàn)的

在菊花鏈系統(tǒng)中(圖 2),SLAVE 1 直接從微控制器接收數(shù)據(jù)。該數(shù)據(jù)被時(shí)鐘輸入SLAVE 1的內(nèi)部移位寄存器。只要/CS(或/SS)保持低電平,該數(shù)據(jù)就會(huì)傳播到SLAVE 1的DOUT輸出。SLAVE 1 的 DOUT 進(jìn)入 SLAVE 2 的 DIN,因此當(dāng)數(shù)據(jù)出現(xiàn)在 SLAVE 2 的 DOUT 輸出上時(shí),數(shù)據(jù)將時(shí)鐘輸入 SLAVE 1 的內(nèi)部移位寄存器。正如SLAVE 2從SLAVE 1接收數(shù)據(jù)一樣,微控制器可以同時(shí)向SLAVE 1發(fā)送另一個(gè)命令。此新命令將覆蓋 SLAVE 1 的移位寄存器中的先前數(shù)據(jù)。只要/CS保持低電平,數(shù)據(jù)就會(huì)在整個(gè)菊花鏈中傳播,直到每個(gè)從設(shè)備收到適當(dāng)?shù)拿睢<虞d到每個(gè)從站移位寄存器的命令在/CS的上升沿執(zhí)行。以下示例使用MAX5233和MAX5290演示菊花鏈。

示例電路 #1

圖3所示為三個(gè)MAX5233 IC,采用菊花鏈結(jié)構(gòu)連接。MAX5233為雙通道、10位DAC(包含兩個(gè)DAC通道A和B)。RSTV 連接到 VDD,模擬輸出功率可達(dá)中間電平。

pYYBAGP8Sk2ADo2XAABBkYgeWgg313.gif

圖3.菊花鏈電路 #1。

圖4顯示了將IC1(A1和B1)、IC2(A2和B2)和IC3(A3和B3)輸出分別設(shè)置為零、中和滿量程的命令序列。對(duì)于此示例,使用以下命令:

0x7FF8—用滿量程數(shù)據(jù)加載IC3 DAC寄存器,并將兩個(gè)輸出(A3、B3)設(shè)置為滿量程

0x7000—用中間電平數(shù)據(jù)加載IC2 DAC寄存器,并將兩個(gè)輸出(A2、B2)設(shè)置為中間電平

0x6000—用零電平數(shù)據(jù)加載IC1 DAC寄存器,并將兩個(gè)輸出(A1、B1)設(shè)置為零電平

poYBAGP8VLOAS8uDAABaHWcQ_xU631.png

圖4.電路 #1 — 命令序列 A。

在第一個(gè)命令周期(一組16個(gè)SCLK脈沖)中,0x7FF8被加載到IC1的移位寄存器中。當(dāng)/CS保持低電平時(shí),該數(shù)據(jù)通過IC1傳播,并在DOUT輸出1在下一個(gè)命令周期中。在第二個(gè)命令周期中,來自 DOUT 的數(shù)據(jù)1直接移動(dòng)到 DIN2,0x7FF8被加載到IC2的移位寄存器中。同時(shí),一個(gè)新命令0x7000被加載到IC1的移位寄存器中,從而覆蓋其先前的命令。

在第三個(gè)命令周期中,第一個(gè)命令0x7FF8加載到IC3的移位寄存器中。第二個(gè)命令 0x7000 加載到 IC2 中,IC1 接收新命令 0x6000。所有三個(gè)IC現(xiàn)在都有一個(gè)命令,它們通過移位寄存器中的菊花鏈接收該命令。當(dāng)/CS變?yōu)楦唠娖綍r(shí),加載的命令將執(zhí)行;A1 和 B1 設(shè)置為零電平,A2 和 B2 設(shè)置為中間電平,A3 和 B3 設(shè)置為滿量程。

圖 5 演示了一個(gè)更復(fù)雜的命令序列。使用以下命令(更多信息參見MAX5233數(shù)據(jù)資料):

0x3FF8—加載輸入寄存器A,滿量程數(shù)據(jù),DAC寄存器和輸出保持不變

0x3000—加載具有中間量程數(shù)據(jù)的輸入寄存器A,DAC寄存器和輸出保持不變

0x2000—加載輸入寄存器A,具有零電平數(shù)據(jù),DAC寄存器和輸出保持不變

0xBFF8—加載輸入寄存器B,滿量程數(shù)據(jù),DAC寄存器和輸出保持不變

0xB000—加載輸入寄存器B,其中量程數(shù)據(jù)、DAC寄存器和輸出保持不變

0xA000—用零電平數(shù)據(jù)加載輸入寄存器B,DAC寄存器和輸出保持不變

0x0000 - 無操作

pYYBAGP8VKCAXmI4AADbIYzBxxg074.png

圖5.電路 #1 — 命令序列 B。

在前三個(gè)命令周期中,菊花鏈中的三個(gè)IC中的每一個(gè)都在其移位寄存器中接收一個(gè)命令。IC1、IC2 和 IC3 的命令分別為0xB000、0xBFF8和0xBFF8。這些命令在/CS的上升沿執(zhí)行(第一次執(zhí)行)。首次執(zhí)行后,IC1、IC2和IC3的輸入寄存器B分別加載中間量程、滿量程和滿量程數(shù)據(jù)。此時(shí),B1、B2、B3保持不變,因?yàn)槊總€(gè)IC的DAC寄存器B保持不變。

在接下來的三個(gè)命令周期中,僅加載輸入寄存器A的命令將寫入每個(gè)IC的移位寄存器。DAC寄存器A及其輸出保持不變。在/CS的上升沿,IC1、IC2和IC3的輸入寄存器A分別加載滿量程、零電平和中間電平數(shù)據(jù)。此時(shí),A1、A2和A3保持不變,因?yàn)閮H更新了輸入寄存器A,而不是DAC寄存器A。

第二次執(zhí)行后的硬件/LDAC命令(驅(qū)動(dòng)/LDAC低電平有效)加載所有DAC寄存器及其各自輸入寄存器中的數(shù)據(jù)。DAC輸出使用來自其相應(yīng)DAC寄存器的數(shù)據(jù)進(jìn)行更新。A1、B2 和 B3 進(jìn)入滿量程。A2 降至零電平,A3 保持在中電平。

在第三系列命令周期中,IC2和IC3被賦予NO-OP命令(0x0000),而IC1接收0xA000命令,以加載其輸入寄存器B的零電平數(shù)據(jù)。第三次執(zhí)行后,所有輸出保持不變。

在第四個(gè)命令周期系列中,IC1和IC2接收NO-OP命令,而IC3接收0x3FF8。第四次執(zhí)行后,IC3的輸入寄存器A加載滿量程數(shù)據(jù)。另一個(gè)硬件/LDAC命令使用輸入寄存器中的數(shù)據(jù)加載DAC寄存器。這會(huì)導(dǎo)致 B1 從中間量程變?yōu)榱汶娖?,A3 從中間量程變?yōu)闈M量程。所有其他輸出保持不變。

模擬輸出名稱 輸出狀態(tài)
上電后(RSTV = VDD) 首款硬件低電平有效LDAC 第二個(gè)硬件低電平有效LDAC
IC1 A1 中檔 滿量程 滿量程
B1 中檔 中檔 零刻度
IC2 A2 中檔 零刻度 零刻度
B2 中檔 滿量程 滿量程
IC3 A3 中檔 中檔 滿量程
B3 中檔 滿量程 滿量程

示例電路 #2

圖6所示為三個(gè)采用菊花鏈配置的MAX5290雙通道、12位DAC。PU 連接到 DVDD,模擬輸出通電至滿量程。MAX5290沒有用于菊花鏈的專用數(shù)字輸出。相反,兩個(gè)UPIO(用戶可編程輸入/輸出)引腳中的一個(gè)必須由串行接口編程才能DOUTDC_模式。詳見MAX5290數(shù)據(jù)資料。

pYYBAGP8SlCAMRdEAABHmYiQDUI150.gif

圖6.菊花鏈電路 #2。

圖7給出了命令序列示例,使用了以下命令(更多信息參見MAX5290數(shù)據(jù)資料)。

0xDFFF—用滿量程數(shù)據(jù)加載所有輸入和DAC寄存器,DAC A和B輸出更新

0xD800—使用中間量程數(shù)據(jù)加載所有輸入和DAC寄存器,DAC A和B輸出更新

0xD000—用零電平數(shù)據(jù)加載所有輸入和DAC寄存器,DAC A和B輸出更新

0xE400 — 將 DAC A 和 DAC B 置于關(guān)斷模式

0xE40F—使DAC A和DAC B退出關(guān)斷模式

0xFFFF - 無操作

poYBAGP8SlGAWIueAAA1NqBXRlI717.gif

圖7.電路 #2 示例命令序列。

加載到每個(gè)器件移位寄存器的命令在/CS的上升沿執(zhí)行。在第一次執(zhí)行時(shí),所有DAC輸出都會(huì)更新。IC1的DAC輸出變?yōu)榱汶娖?,IC2的DAC輸出變?yōu)橹虚g電平,IC3的DAC輸出變?yōu)闈M量程。

在第二個(gè)命令周期中,IC2的DAC A和B都處于關(guān)斷模式,命令0xE400。無操作命令使IC1和IC3不受影響。在第三個(gè)命令周期之后,IC1的輸出變?yōu)闈M量程,IC3的輸出變?yōu)榱汶娖?。?dāng)IC2的輸出保持關(guān)斷狀態(tài)時(shí),數(shù)據(jù)在內(nèi)部輸入和DAC寄存器中更新。IC2在最后一個(gè)命令周期內(nèi)恢復(fù)到正常工作模式,輸出進(jìn)入滿量程。

模擬輸出名稱 輸出狀態(tài)
上電后(PU = VDD) 首次執(zhí)行后 第二次執(zhí)行后 第三次執(zhí)行后 第四次執(zhí)行后
IC1 A1 滿量程 零刻度 零刻度 滿量程 滿量程
B1 滿量程 零刻度 零刻度 滿量程 滿量程
IC2 A2 滿量程 中量程 關(guān)閉 關(guān)閉 滿量程
B2 滿量程 中量程 關(guān)閉 關(guān)閉 滿量程
IC3 A3 滿量程 滿量程 滿量程 零刻度 零刻度
B3 滿量程 滿量程 滿量程 零刻度 零刻度

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7936

    瀏覽量

    154268
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5432

    瀏覽量

    124049
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1793

    瀏覽量

    95373
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    RT-Thread SPI鏈?zhǔn)?/b>傳輸非法訪問?揭秘致命陷阱!

    structrt_spi_message的next指針。由于next未賦值為RT_NULL,鏈?zhǔn)?/b>傳輸時(shí)觸發(fā)非法內(nèi)存訪問(next指向不可控地址)。修復(fù)方案:將next顯式置空后,
    的頭像 發(fā)表于 06-24 19:38 ?806次閱讀
    RT-Thread <b class='flag-5'>SPI</b><b class='flag-5'>鏈?zhǔn)?/b>傳輸非法訪問?揭秘致命陷阱!

    【分享】EasyGo 鏈?zhǔn)?/b>SVG系統(tǒng)的實(shí)時(shí)仿真應(yīng)用

    一、鏈?zhǔn)?/b>SVG簡(jiǎn)介電力系統(tǒng)中的無功步長(zhǎng)裝置發(fā)展到今天,從早期的電容器,同步調(diào)相機(jī),到靜止無功步長(zhǎng)裝置SVC,以及現(xiàn)在的靜止無功發(fā)生器SVG. SVG又稱為STATCOM, 是一種基于大功率逆變器
    發(fā)表于 02-21 17:31

    如何讀取ADS1299菊花鏈數(shù)據(jù)?

    ,菊花鏈必須統(tǒng)一使用外部時(shí)鐘。級(jí)聯(lián)模式可以分別配置不同ADS1299。 5.多片bias引腳連接如下圖(將BIASINV連接在一起,并且只留一個(gè)bias放大器電源,其他電源全部關(guān)閉。): 6. SPI
    發(fā)表于 12-04 06:56

    ADS8866菊花鏈的程序有嗎?

    ADS8866 菊花鏈的程序有嗎 最好是基于linux的,我接5個(gè)adc設(shè)備,讀數(shù)據(jù)是要一次性讀完嗎?菊花鏈支持標(biāo)準(zhǔn)的spi驅(qū)動(dòng)嗎?
    發(fā)表于 12-06 06:57

    如何用ADS1271的SPI接口模式與STM32進(jìn)行通信?

    現(xiàn)在用ADS1271EVM,該模塊是用兩個(gè)DAS1271以菊花鏈?zhǔn)?/b>連接的,我打算用STM32F446的SPI來連接該模塊。我查了手冊(cè)得知ADS1271進(jìn)行SPI接口模式配置后,最后在
    發(fā)表于 12-31 08:08

    如何讓SPI額外發(fā)出一個(gè)時(shí)鐘?

    現(xiàn)將2個(gè)ADC芯片進(jìn)行菊花鏈?zhǔn)?/b>連接,手冊(cè)上給的時(shí)序圖中,兩個(gè)芯片讀數(shù)中間需要額外插入一個(gè)時(shí)鐘時(shí)序,要怎樣控制SPI輸出單個(gè)時(shí)鐘。還是說只能去用IO口模擬時(shí)序。IO口模擬的話速率又不如SPI
    發(fā)表于 06-13 07:30

    STM32 與ads1271的SPI通信問題

    現(xiàn)在用ADS1271EVM,該模塊是24位的adc,該模上有兩個(gè)DAS1271以菊花鏈?zhǔn)?/b>連接的,我打算用STM32F446的SPI來連接該模塊。我查了手冊(cè)得知ADS1271進(jìn)行SPI
    發(fā)表于 10-28 09:24

    可實(shí)現(xiàn)工業(yè)級(jí)精度和分辨率菊花鏈溫度傳感器包括BOM及原理圖

    ? SMAART WIRE? 接口:最多可使用 UART 接口支持 32 個(gè)菊花鏈?zhǔn)?/b>器件? 溫度范圍:-55°C 至 +125°C? 精度:±0.4°C(-20°C 至 +70°C)? 分辨率:14 位
    發(fā)表于 08-29 09:21

    解決了合并單元對(duì)前端需求的模擬前端 (AFE)設(shè)計(jì)

    描述此解決方案解決了合并單元對(duì)前端的需求,它們需要多個(gè)電流和電壓測(cè)量通道。該模塊化實(shí)施在 TI 的 SAR ADC 中采用 SPI 菊花鏈?zhǔn)?/b>特性,從而實(shí)現(xiàn)了通道的輕松擴(kuò)展,同時(shí)保持通道與處理器的連接
    發(fā)表于 10-08 09:00

    數(shù)據(jù)結(jié)構(gòu)之鏈?zhǔn)?/b>棧介紹

    數(shù)據(jù)結(jié)構(gòu)之鏈?zhǔn)?/b>棧鏈?zhǔn)?/b>棧鏈?zhǔn)?/b>棧的定義鏈?zhǔn)?/b>棧操作的實(shí)現(xiàn)鏈?zhǔn)?/b>棧初始化鏈?zhǔn)?/b>棧入棧
    發(fā)表于 12-17 08:11

    什么是菊花鏈模式 星型模式

    什么是菊花鏈模式 星型模式 菊花鏈模式   菊花鏈模式是簡(jiǎn)化的級(jí)聯(lián)模式,主要的優(yōu)點(diǎn)是提供集中管理的擴(kuò)展端口,對(duì)于
    發(fā)表于 12-05 09:00 ?8738次閱讀

    DDR3_菊花鏈連接

    DDR3_菊花鏈連接,高速PCB設(shè)計(jì)理論基礎(chǔ),菊花鏈設(shè)計(jì)的要求與規(guī)范。
    發(fā)表于 05-25 10:01 ?0次下載

    8片菊花鏈?zhǔn)?/b>WS2812B 8x8 RGB LED矩陣開源

    電子發(fā)燒友網(wǎng)站提供《8片菊花鏈?zhǔn)?/b>WS2812B 8x8 RGB LED矩陣開源.zip》資料免費(fèi)下載
    發(fā)表于 10-21 14:59 ?12次下載
    8片<b class='flag-5'>菊花</b><b class='flag-5'>鏈?zhǔn)?/b>WS2812B 8x8 RGB LED矩陣開源

    TIDA-010076-通過單對(duì)以太網(wǎng) (T1) 實(shí)現(xiàn)菊花鏈?zhǔn)?/b>電源和數(shù)據(jù)傳輸?shù)腜CB layout 設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《TIDA-010076-通過單對(duì)以太網(wǎng) (T1) 實(shí)現(xiàn)菊花鏈?zhǔn)?/b>電源和數(shù)據(jù)傳輸?shù)腜CB layout 設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 05-19 10:42 ?2次下載
    TIDA-010076-通過單對(duì)以太網(wǎng) (T1) 實(shí)現(xiàn)<b class='flag-5'>菊花</b><b class='flag-5'>鏈?zhǔn)?/b>電源和數(shù)據(jù)傳輸?shù)腜CB layout 設(shè)計(jì)

    BQ79600(UART/SPI菊花鏈網(wǎng)橋IC)的安全手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《BQ79600(UART/SPI菊花鏈網(wǎng)橋IC)的安全手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 08-30 11:35 ?2次下載
    BQ79600(UART/<b class='flag-5'>SPI</b>至<b class='flag-5'>菊花</b>鏈網(wǎng)橋IC)的安全手冊(cè)