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

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

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

支持用于電力系統(tǒng)管理的固件開發(fā)的Linduino PSM

星星科技指導(dǎo)員 ? 來(lái)源:ADI ? 作者:Michael Jones ? 2023-04-21 11:19 ? 次閱讀

雖然許多工程師使用加密狗和工具通過(guò)PMBus配置電源系統(tǒng)管理設(shè)備,但越來(lái)越多的設(shè)計(jì)正在添加電路板管理控制器,或?qū)⑵銹MBus連接到現(xiàn)有的微控制器或應(yīng)用處理器。在LTC中,加密狗/工具選項(xiàng)由DC1613和LTpowerPlay組成,Linduino支持用于電力系統(tǒng)管理的固件開發(fā),又名“Linduino PSM”。

Linduino平臺(tái)是一個(gè)獨(dú)立的Arduino兼容板(DC2026),適用于不同設(shè)備的代碼庫(kù)和草圖。直到最近,人們的注意力還是在我身上。2C 和 SPI。現(xiàn)在支持PMBus器件,包括DC2294擴(kuò)展板,它允許工程師將Linduino連接到PSM演示板,并連接到全相位小獵犬以監(jiān)視總線。

Linduino PSM的目標(biāo)與Linduino的目標(biāo)相同,即提供工作示例代碼,以便工程師可以學(xué)習(xí),原型和借用自己的設(shè)計(jì)工作代碼。

poYBAGRCALGAPAT8AALKrR6-bsA872.png

圖1.DC2294 屏蔽 DC2026 林杜伊諾

Linduino PSM PMBus Stack

Linduino PSM提供的PMBus庫(kù)的分層方式很像網(wǎng)絡(luò)API。層允許替換和替換。例如,驅(qū)動(dòng)程序?qū)涌梢葬槍?duì)工程師的最終解決方案進(jìn)行返工,以便其頂部的層無(wú)需修改即可重復(fù)使用。

pYYBAGRCALKAHAUkAAAp5W28e9Q513.png

圖2.PMBus 庫(kù)堆棧

TWI 和電線層

底部是雙線接口,它是Arduino TWI和LT_Wire庫(kù)的修改副本。修改很小,但解決了塊命令的問(wèn)題。

SMBus 1.3 規(guī)范定義了兩個(gè)塊命令:塊寫入和塊讀取。

poYBAGRCALOATtzAAAJdFY_3FGU359.png

圖3.塊寫入

poYBAGRCDL-AWj_IAABiDU7nUPc129.png

圖4.阻止讀取

允許字節(jié)計(jì)數(shù)的范圍為 0 到 255 字節(jié)。TWI和Wire的Arduino版本只允許32字節(jié)。為了支持 255 字節(jié)事務(wù),必須解決三個(gè)問(wèn)題:

小緩沖

內(nèi)存使用情況

應(yīng)用程序接口

緩沖區(qū)最多可容納 255 個(gè)字節(jié)(原始緩沖區(qū)為 32 個(gè)),但大緩沖區(qū)將使用處理器內(nèi)存的 1/8,即使從未使用塊調(diào)用也是如此。修改后的庫(kù)將緩沖區(qū)從應(yīng)用程序傳遞到 API。如果應(yīng)用程序分配內(nèi)存,則只需在需要時(shí)使用內(nèi)存,并且可以在不使用時(shí)釋放內(nèi)存。修改后的 API 可以傳遞大于 255 的值以傳輸超過(guò) 255 個(gè)字節(jié),因?yàn)?count 參數(shù)已從字節(jié)更改為單詞。

LTC_I2控制層

The LTC_I2CBus 層提供 I2C 事務(wù)接口。最初的林杜伊諾圖書館附帶了另一個(gè) I2名為 LT_I 的 C 庫(kù)2C. 但是,它針對(duì)不同的字節(jié)順序以及DAC、ADC等進(jìn)行了優(yōu)化。通過(guò)提供 I2專門用于PMBus的C層,可以維護(hù)新層,而無(wú)需更新舊草圖或擔(dān)心破壞其他非PSM草圖。

LTC_SMBus圖層

LTC_SMBus層為 SMBus 提供標(biāo)準(zhǔn)事務(wù),這是 PMBus 的基礎(chǔ)。例如:

發(fā)送字節(jié)

寫/讀字節(jié)

寫/讀字

寫/讀塊

此層可用于與任何 SMBus 設(shè)備通信,或使用 PMBus 命令代碼與 PMBus 設(shè)備通信。

LTC_PMBus層

LTC_PMBus層提供基于 PMBus 命令集的高級(jí)事務(wù)。這允許工程師使用高級(jí)功能進(jìn)行編程,例如:

設(shè)置頁(yè)面

讀取當(dāng)前

讀取電壓

順序向上/向下

使用更高層的命令使代碼更具可讀性,工程師不必在規(guī)范中查找命令。某些命令是聚合的,例如“設(shè)置第 N 頁(yè)的電壓”或“設(shè)置電壓并保持邊距相同百分比”。

如果缺少命令,通常的做法是先使用LTC_SMBus層對(duì)其進(jìn)行編碼,然后將代碼遷移到LTC_PMBus層。

LTC_PMBusMath

PMBus使用的數(shù)據(jù)格式(L11 / L16),這些格式不是IEEE 754浮點(diǎn)標(biāo)準(zhǔn)等行業(yè)標(biāo)準(zhǔn),但工程師更喜歡IEEE標(biāo)準(zhǔn),因?yàn)镃 / C++使用此標(biāo)準(zhǔn)。Linduino PSM 庫(kù)包括與 IEEE 浮點(diǎn)和 PMBus 格式之間的轉(zhuǎn)換例程。LTC_PMBus層接受并返回 IEEE 浮點(diǎn)數(shù),并使用LTC_PMBusMath例程管理層內(nèi)的轉(zhuǎn)換。但是,可以將數(shù)學(xué)例程與LTC_SMBus層一起使用。

注意:PMBus 1.3 定義了 IEEE 754 格式,但在業(yè)界根據(jù)此標(biāo)準(zhǔn)實(shí)現(xiàn)設(shè)備之前,數(shù)學(xué)庫(kù)中的轉(zhuǎn)換例程將是必需的。也總會(huì)有舊設(shè)備需要支持。

林杜伊諾素描

Linduino/Arduino Sketches只不過(guò)是小應(yīng)用程序。對(duì)于 PSM,這些是演示設(shè)備功能的簡(jiǎn)單文本菜單應(yīng)用程序,例如:

讀取遙測(cè)數(shù)據(jù)

讀取狀態(tài)

排序上/下

探測(cè)總線

轉(zhuǎn)儲(chǔ)故障日志

poYBAGRCDN2ARfaFAAD0tn4kmIU236.png

圖5.命令界面

它們背后的代碼使用LT_PMBus層,因此代碼易于閱讀。下面的代碼只是在頁(yè)面上循環(huán),讀取電壓,并以十進(jìn)制格式打印。讀出中的值以浮點(diǎn)數(shù)形式返回,即 IEEE 754 值;與數(shù)學(xué)庫(kù)的轉(zhuǎn)換發(fā)生在讀取 V 中外功能。

無(wú)效 print_all_voltages()
{

浮動(dòng)電壓;
uint8_t頁(yè);

for (page = 0;page < 2;page++)
{

pmbus->setPage(ltc3880_i2c_address, page);
電壓 = pmbus->readVout(ltc3880_i2c_address, false);
電壓 = pmbus->readVout(ltc3880_i2c_address, false);
Serial.println(電壓,DEC);
}
}

PEC 在幕后處理。在主菜單上,可以打開和關(guān)閉PEC。由于命令是 pmbus-> 編寫的,因此可以更改指針。

poYBAGRCDNiARW8AAADYnyBT5ik437.png

圖6.主菜單

案例2:
pmbus->enablePec(ltc3880_i2c_address);
pmbus->enablePec(ltc2974_i2c_address);
pmbus->enablePec(ltc2977_i2c_address);
刪除SMBus;
刪除 PMBus;
smbus = new LT_SMBusPec();
pmbus = new LT_PMBus(smbus);
破;

情況3:
pmbus->禁用Pec(ltc3880_i2c_address);
pmbus->disablePec(ltc2974_i2c_address);
pmbus->disablePec(ltc2977_i2c_address);
刪除SMBus;
刪除 PMBus;
SMBs = 新LT_SMBusNoPec();
pmbus = new LT_PMBus(smbus);
破;

嗯,差不多。設(shè)備還必須處于正確的模式?;静呗允牵?/p>

更改設(shè)備模式

刪除 smbus 和 pmbus 對(duì)象

使用正確的模式重新實(shí)例化對(duì)象

使用 smbus-> 和 pmbus-> 指針的代碼不必更改。

其他庫(kù)(非 Linduino)傳遞一個(gè)值來(lái)控制 PEC 或配置全局變量。Linduino方法使用C++類。但是,代碼保持非常簡(jiǎn)單,因此如果禁止工程師使用C++,它可以非??焖俚剞D(zhuǎn)換為純 C。大多數(shù)嵌入式系統(tǒng)都支持 C 和 C++ 編譯器,但如果一個(gè)大型系統(tǒng)是純 C,工程師可能不想為C++名稱重整或使用 C++ 編譯器編譯 C 的效果而煩惱。

成型

原型設(shè)計(jì)只是將草圖復(fù)制到具有新名稱的文件并進(jìn)行修改的問(wèn)題。原型完成后,工程師必須決定如何將代碼遷移到最終應(yīng)用程序。

如果不涉及遺留代碼,最簡(jiǎn)單的情況是重寫LTC_I2CBus 或LTC_SMBus圖層并重用其上方的圖層。如果有很多遺留代碼,最好復(fù)制原型設(shè)計(jì)并重新編碼。最主要的是工程師可以在更簡(jiǎn)單的環(huán)境中進(jìn)行原型設(shè)計(jì)。

硬件也可以重復(fù)使用。當(dāng)然,可以將Atmega328放入設(shè)計(jì)中并直接使用Linduino PSM代碼?;蛘邔?duì)TWI / LTC_I進(jìn)行一些調(diào)整2CBus工程師可以使用更大的Arduino平臺(tái)之一。LTC將這些移植到伽利略作為實(shí)驗(yàn),花了不到一天的時(shí)間。

對(duì)于從屬硬件,Linduino可以連接到任何PSM演示板。但是,大多數(shù)產(chǎn)品設(shè)計(jì)都有用于DC1613加密狗的連接器,因此Linduino可以使用DC2294擴(kuò)展板直接連接到終端設(shè)計(jì)。這是在將資源投入到新產(chǎn)品之前對(duì)完整設(shè)計(jì)進(jìn)行原型設(shè)計(jì)的好方法??梢詾?a target="_blank">操作系統(tǒng)開發(fā)算法,以確定需要多少計(jì)算能力和內(nèi)存空間,并證明它將提供投資回報(bào)。

工具制造

Linduino是構(gòu)建專業(yè)最終用途工具的良好平臺(tái)。通過(guò)將Linduino,DC2294和現(xiàn)成的擴(kuò)展板相結(jié)合,可以創(chuàng)建獨(dú)立的工具。例如,下面的工具是一個(gè)編程工具,用于配置手持插座中設(shè)備的非易失性存儲(chǔ)器。向上/向下按鈕選擇文件,選擇按鈕對(duì)設(shè)備進(jìn)行編程。

pYYBAGRCALeAKTlPAAPExiTuuZ0169.png

圖7.示例工具

教育用途

Linduino PSM的最后一個(gè)常見用途是學(xué)習(xí)。如果不熟悉SMBus/PMBus標(biāo)準(zhǔn),一個(gè)好的學(xué)習(xí)方法是連接全相位小獵犬,在DC1962上運(yùn)行一些草圖,并使用全相位數(shù)據(jù)中心軟件觀察總線。請(qǐng)注意,還有另一種選擇,其中LTpowerPlay可以與Beagle一起使用。LTpowerPlay的優(yōu)點(diǎn)是寄存器語(yǔ)法內(nèi)置于工具中,因此GUI中的任何值都可以顯示為SMBus/PMBus事務(wù)。

總結(jié)

Linduino PSM是用于PMBus代碼開發(fā)的原型設(shè)計(jì),工具構(gòu)建和學(xué)習(xí)環(huán)境。Linduino與DC2294結(jié)合使用,可連接到任何PSM演示板或產(chǎn)品。有一個(gè)完整的工作SMBus / PMBus庫(kù)以及數(shù)學(xué)轉(zhuǎn)換,與Arduino編碼環(huán)境兼容。

審核編輯:郭婷

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

    關(guān)注

    48

    文章

    7552

    瀏覽量

    151423
  • 電源
    +關(guān)注

    關(guān)注

    184

    文章

    17718

    瀏覽量

    250170
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19286

    瀏覽量

    229842
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    移動(dòng)車載3G無(wú)線視頻監(jiān)控有效提高電力系統(tǒng)管理效率

    `移動(dòng)車載3G無(wú)線視頻監(jiān)控系統(tǒng)有效提高電力系統(tǒng)管理效率目前,電力建設(shè)單位通過(guò)架設(shè)臨時(shí)桿塔或在塔吊安裝固定移動(dòng)車載3G無(wú)線視頻監(jiān)控系統(tǒng),通過(guò)該監(jiān)控系統(tǒng)
    發(fā)表于 01-05 16:35

    一周推薦:Analog Devices數(shù)字電源系統(tǒng)管理 (PSM) 器件

    、時(shí)序、裕度調(diào)整和黑盒故障日志數(shù)據(jù)進(jìn)行控制和監(jiān)控。這款業(yè)界領(lǐng)先、具有圖形用戶界面 (GUI) 的開發(fā)軟件經(jīng)驗(yàn)證可支持多達(dá)256個(gè)電壓軌。數(shù)字電源系統(tǒng)管理PSM產(chǎn)品類型電源
    發(fā)表于 08-21 10:20

    電力系統(tǒng)管理

    電力系統(tǒng)管理
    發(fā)表于 04-16 11:02 ?3次下載
    <b class='flag-5'>電力系統(tǒng)管理</b>

    AN170-磨練電力系統(tǒng)管理控制器的可調(diào)補(bǔ)償功能

    AN170-磨練電力系統(tǒng)管理控制器的可調(diào)補(bǔ)償功能
    發(fā)表于 04-18 19:40 ?0次下載
    AN170-磨練<b class='flag-5'>電力系統(tǒng)管理</b>控制器的可調(diào)補(bǔ)償功能

    AN168-利用電力系統(tǒng)管理控制器實(shí)現(xiàn)快速遙測(cè)

    AN168-利用電力系統(tǒng)管理控制器實(shí)現(xiàn)快速遙測(cè)
    發(fā)表于 04-18 20:54 ?0次下載
    AN168-利用<b class='flag-5'>電力系統(tǒng)管理</b>控制器實(shí)現(xiàn)快速遙測(cè)

    具有電力系統(tǒng)管理功能的PMBus DC/DC變換器

    具有電力系統(tǒng)管理功能的PMBus DC/DC變換器
    發(fā)表于 04-28 12:49 ?5次下載
    具有<b class='flag-5'>電力系統(tǒng)管理</b>功能的PMBus DC/DC變換器

    數(shù)字電力系統(tǒng)管理

    數(shù)字電力系統(tǒng)管理
    發(fā)表于 05-09 12:00 ?1次下載
    數(shù)字<b class='flag-5'>電力系統(tǒng)管理</b>

    LTC3870-1:用于數(shù)字電力系統(tǒng)管理的多相降壓從控制器數(shù)據(jù)表

    LTC3870-1:用于數(shù)字電力系統(tǒng)管理的多相降壓從控制器數(shù)據(jù)表
    發(fā)表于 05-18 13:41 ?0次下載
    LTC3870-1:<b class='flag-5'>用于</b>數(shù)字<b class='flag-5'>電力系統(tǒng)管理</b>的多相降壓從控制器數(shù)據(jù)表

    LTC3884:亞百萬(wàn)歐姆DCR傳感雙輸出多相降壓控制器和數(shù)字電力系統(tǒng)管理數(shù)據(jù)表

    LTC3884:亞百萬(wàn)歐姆DCR傳感雙輸出多相降壓控制器和數(shù)字電力系統(tǒng)管理數(shù)據(jù)表
    發(fā)表于 05-19 15:50 ?0次下載
    LTC3884:亞百萬(wàn)歐姆DCR傳感雙輸出多相降壓控制器和數(shù)字<b class='flag-5'>電力系統(tǒng)管理</b>數(shù)據(jù)表

    LTC3889:60V雙輸出降壓控制器,帶數(shù)字電力系統(tǒng)管理數(shù)據(jù)表

    LTC3889:60V雙輸出降壓控制器,帶數(shù)字電力系統(tǒng)管理數(shù)據(jù)表
    發(fā)表于 05-24 14:50 ?7次下載
    LTC3889:60V雙輸出降壓控制器,帶數(shù)字<b class='flag-5'>電力系統(tǒng)管理</b>數(shù)據(jù)表

    LTM4664:48VIN,單片機(jī)50A微機(jī)調(diào)節(jié)器,數(shù)字電力系統(tǒng)管理用戶指南

    LTM4664:48VIN,單片機(jī)50A微機(jī)調(diào)節(jié)器,數(shù)字電力系統(tǒng)管理用戶指南
    發(fā)表于 05-26 18:23 ?9次下載
    LTM4664:48VIN,單片機(jī)50A微機(jī)調(diào)節(jié)器,數(shù)字<b class='flag-5'>電力系統(tǒng)管理</b>用戶指南

    AN-152電力系統(tǒng)管理培訓(xùn)

    AN-152電力系統(tǒng)管理培訓(xùn)
    發(fā)表于 05-31 12:24 ?23次下載
    AN-152<b class='flag-5'>電力系統(tǒng)管理</b>培訓(xùn)

    電力系統(tǒng)管理協(xié)議規(guī)范之通用要求傳輸和電氣接口

    電力系統(tǒng)管理協(xié)議規(guī)范之通用要求傳輸和電氣接口
    發(fā)表于 08-03 16:29 ?3次下載

    電力系統(tǒng)管理協(xié)議規(guī)范之命令語(yǔ)言

    電力系統(tǒng)管理協(xié)議規(guī)范之命令語(yǔ)言
    發(fā)表于 08-03 16:31 ?5次下載

    用于電源系統(tǒng)管理Linduino

    電子發(fā)燒友網(wǎng)站提供《用于電源系統(tǒng)管理Linduino.pdf》資料免費(fèi)下載
    發(fā)表于 11-24 11:49 ?0次下載
    <b class='flag-5'>用于</b>電源<b class='flag-5'>系統(tǒng)管理</b>的<b class='flag-5'>Linduino</b>