Ericsson’s config file format and loading method for...

17
©2017 System Management Interface Forum Ericsson’s config file format and loading method for PMBus devices Björn Olsson Ericsson APEC 2017

Transcript of Ericsson’s config file format and loading method for...

Page 1: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum

Ericsson’s config file format and loading method for PMBus devices

Björn Olsson

Ericsson

APEC 2017

Page 2: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum2

• Device configuration.- Set of parameters that determine device behavior.

• Parameter setup by HW.- Default values. - Pin-programmed (e.g. by R or C).

• Parameter setup by bus programming- Stored in Non-volatile memory. - Configured directly by bus (volatile).

• Can be combined- Precedence order as per PMBus standard.

PMBus device setup

Page 3: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum3

Bus programming use cases

Device mfrsetup tool

Productionprogrammer

PMBus deviceOn-boardprogrammer

Customprogrammer

PMBusConfig file

Pre-processor

Device manufacturer

Device user

Standard tool (3rd party)

Page 4: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum4

• Bus programming is desired for flexibility, BUT…- Requires extra step in production.

• And…- Programming procedure is not standardized.- Programming data format is not standardized.

Result is a new production procedure for every different device! (more or less)

Problem

Page 5: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum5

• Non-volatile store using manufacturer specific commands.- Instead of using the standard STORE-commands.

• Extra procedural steps, e.g.:- Unlocking areas.- Switching between write areas.- Switching on the non-volatile memory HW.- Reading data, modifying it and writing it back.

Complications

Page 6: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum6

• Busy indication- Time for storing to Non-volatile memory can exceed bus timeout.- “Busy”-bit only states that device was too busy to respond properly.- No standard way of indicating STORE-operation in progress.

• Fault indication- No specific indicator that a STORE-operation failed.- No specific indicator that the configuration is corrupt.

• Verification- Read back is complicated if the device truncates the data.

Other challenges

Page 7: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum7

• I2C bus transfer is just a sequence of bytes,starting with an Address byte.

• SMBus builds on I2C, but specifies“SMBus transactions”.- One byte designated as “Command”.- Specified allowed byte lengths- Read transactions are composite.- Adds Packet Error Check capability (CRC-8)

• PMBus uses SMBus transactions, but specifies content.- Application profiles adds interoperability.

Bus evolution

I2C

SMBus

PMBus

Page 8: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum8

I2C bus transfer

Data byte 1Address RW Data byte 2 Data byte NS PAA AA

Data byte 1 A Data byte 2 NA PAddress RWS A A Data byte N

Data byte 1Address RWS A A Data byte N A Address RWSr A Data byte 1 A NA PData byte M

Write (to slave):

Read (from slave):

Combined format:

Payload (not specified)

SDA

SCL

S A

Note: Shaded indicates slave transmitting, S=Start, P=Stop, A=Acknowledge, NA=Not acknowledge

Page 9: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum9

SMBus transactions

ACommandAddress RW Data low A Data highS NA PA Address RWSr A

CommandAddress RW Data low Data highS PAA AA

SMBus Write word:

SMBus Read word:Command (not specified) Command argument (word size)

Example, word transactions:

0x21Address RW 0x00 0x06S PAA AA

PMBus uses SMBus-transactions, but define Command and data format.

Example, PMBus output voltage adjustment (VOUT_COMMAND):

0x0600 = 1.5V (LIN16-format, exp = -10)

Page 10: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum10

• Lowest common denominator: PMBus uses SMBus transactions on the bus.

• Standard commands: STORE_USER_ALLSTORE_DEFAULT_ALL

• Status command STATUS_CML has memory fault bit.- STATUS_CML NACKs if STORE-operation is busy (not supported in all devices).- Will then reflect if STORE-operation succeeded or failed.

Inferring a procedure

Page 11: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum11

Example procedure flow

Device POR released, k=0

Write PMBus transaction [k]

Write STORE_DEFAULT_ALL or STORE_USER_

ALL

Device ready for operation

Configuration complete ?

Yes

No

k=k+1

Read STATUS_CML

ACK?

No

Yes

Write RESTORE_DEFAULT_ALL or RESTORE_USER

_ALL

Read STATUS_CML

ACK?

No

Yes

Verification option selected?

Yes

No

Read PMBus transaction and

compare [k]

Verification complete ? No

k=k+1

Yes

Write config dataBusy?

Success?

Page 12: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum12

• Is a list of SMBus transactions in the order they are to be transferred plus control commands- ”Command”-byte + transaction type + data bytes

• Control commands:- ”SET” : sets address for subsequent commands- ”DELAY” : delays execution by specified number of ms

• Command options:- ”expect” : expected data when reading- ”expect_mask” : binary mask for the expected data.

Example file format

Page 13: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum13

SET address=2402 READ_BYTE expect=17 expect_mask=1F # ON_OFF_CONFIG20 READ_BYTE expect=14 # VOUT_MODE

21 READ_WORD expect=CD10 # VOUT_COMMAND 1.05 V33 READ_WORD expect=5802 # FREQUENCY_SWITCH 600 kHz40 READ_WORD expect=5213 # VOUT_OV_FAULT_LIMIT 1.2075 V

44 READ_WORD expect=480E # VOUT_UV_FAULT_LIMIT 0.89258 V46 READ_WORD expect=00DA # IOUT_OC_FAULT_LIMIT 16 A

60 READ_WORD expect=C0D3 # TON_DELAY 15 ms

61 READ_WORD expect=00C3 # TON_RISE 3 ms

File format example

Configuration

Verification

SET address=2402 WRITE_BYTE 17 # ON_OFF_CONFIG

21 WRITE_WORD CD10 # VOUT_COMMAND 1.05 V33 WRITE_WORD 5802 # FREQUENCY_SWITCH 600 kHz

DELAY 540 WRITE_WORD 5213 # VOUT_OV_FAULT_LIMIT 1.2075 V44 WRITE_WORD 480E # VOUT_UV_FAULT_LIMIT 0.89258 V

46 WRITE_WORD 00DA # IOUT_OC_FAULT_LIMIT 16 A60 WRITE_WORD C0D3 # TON_DELAY 15 ms

61 WRITE_WORD 00C3 # TON_RISE 3 ms

15 SEND_BYTE # STORE_USER_ALL

Page 14: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum14

• Flexibility- Based on transactions eliminates need ”know” what data does.- Not limited to PMBus, but also SMBus devices.

• Simplicity- Allows programming to be executed on resource limited HW.- Limits risk in the transfer/programming stage.- Complexity is handled by the generating tool (e.g. setup GUI)

• Extensible- Subset of larger set functions.- Extension will increase complexity. What is really necessary?

Advantages

Page 15: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum15

• Requires a separate file for verification- Currently no defined delimiter between configuration and verification parts.

• Only a single data type- Verbosity by comments only.- Comments only help interpretation, not modification.

• No support for modifying existing data, e.g.- Adding to existing value (or any other arithmetic operation).- Setting/resetting a single bit (or few bits).

• No support for configuration flow control e.g.- ”if – then - else”

Limitations

Page 16: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum16

• Work is ongoing in the PMBus Specification Workgroup Committee.

• Focus is on the configuration file format.- Based on bus transactions.- XML-based.- Procedure is not currently in the scope.- Will support all existing devices.

PMBus configuration file format standardization

Page 17: Ericsson’s config file format and loading method for …pmbus.org/Assets/Present/2017_APEC_PMBus_Config_File.pdf · Ericsson’s config file format and loading method for PMBus

©2017 System Management Interface Forum17

Thank you!Questions?