Nyomásmérés MS5803-05BA-val

 

Bokumentációja (PDF): MS5803_05BA.pdf 
Ismertető és linkek: https://www.amsys.info/products/ms5803.htm 
Vákumra: MS5803-01BA

Másik típusú érzékelő (vákum és nyomás´:  https://static.rapidonline.com/pdf/502400_da_en_01.pdf 

Nyomásmérők összefoglaló: http://products.avnet.com/wps/wcm/connect/f65ac69d-5eda-4d03-9cba-9958bd6361a3/Digital_Sensors_Overview.pdf?MOD=AJPERES&CVID=lfPBQTT&CVID=lfPBQTT  

Program (C) : https://www.amsys-sensor.eu/sheets/amsys.fr.an520_e.pdf 

Léteznek MS56xx (Pld. MS5605-02BA Micro Barometer Module ) változatok is.

 

JELLEMZŐK
  • Nagyfelbontású modul, 30 cm magas (víz) folyadékoszlop
  • Gyors konverzió 1 ms-ig
  • Alacsony teljesítmény, 1 µA (készenlét <0,15 µA)
  • Beépített digitális nyomásérzékelő (24 bites ΔΣ ADC)
  • 1.8 - 3.6 V tápfeszültség
  • Működési tartomány: 0 - 5 bar, -40 - +85 ° C
  • I2C és SPI interfész (0, 3 mód)
  • Nincs külső alkatrész (belső oszcillátor)
  • Kiváló hosszú távú stabilitás
  • Hermetikusan zárható kültéri eszközökhöz
FEATURES
  • High resolution module, 30cm
  • Fast conversion down to 1 ms
  • Low power, 1 µA (standby < 0.15 µA)
  • Integrated digital pressure sensor (24 bit ΔΣ ADC)
  • Supply voltage 1.8 to 3.6 V
  • Operating range: 0 to 5bar, -40 to +85 °C
  •  I2C and SPI interface (Mode 0, 3)
  • No external components (Internal oscillator)
  • Excellent long term stability
  • Hermetically sealable for outdoor devices 
Az MS5803-05BA az új generációs nagyfelbontású magasságmérő érzékelők a TE Connectivity-től SPI és I2C busz interfésszel. A mélységmérőkre és a magasságmérőkre optimalizált, 30 cm magassági felbontással. Az érzékelő modul tartalmaz egy nagy linearitású nyomásérzékelőt és egy ultra alacsony teljesítményű 24 bites ΔΣ ADC-t, belső gyári kalibrált együtthatókkal. Pontos, digitális 24 bites nyomás- és hőmérsékletértéket és különböző működési módokat biztosít, amelyek lehetővé teszik a felhasználó számára az átalakítási sebesség és az áramfogyasztás optimalizálását. A nagy felbontású hőmérséklet-kimenet lehetővé teszi egy magasságmérő / hőmérő funkció bevezetését további érzékelő nélkül. Az MS5803-05BA szinte bármilyen mikrovezérlőhöz csatlakoztatható. A kommunikációs protokoll egyszerű, nincs szükség belső nyilvántartások programozására a készülékben. A gélvédelem és a rozsdamentes rozsdamentes acél kupak 100 m vízálló órákban használható. Ez az új érzékelőmodul-generáció a vezető MEMS technológián alapul, és a legfrissebb előnyök a TE bizonyított tapasztalatából és know-how-jából állnak a magasságmérő modulok nagy volumenű gyártásában, amelyeket széles körben használnak több mint egy évtizede. Az alkalmazott érzékelési elv nagyon alacsony hiszterézishez és a nyomás és a hőmérséklet jel magas stabilitásához vezet. The MS5803-05BA is a new generation of high resolution altimeter sensors from TE Connectivity with SPI and I2C bus interface. It is optimized for depth meters and altimeters with an altitude resolution of 30 cm. The sensor module includes a high linearity pressure sensor and an ultra-low power 24 bit ΔΣ ADC with internal factory calibrated coefficients. It provides a precise digital 24 Bit pressure and temperature value and different operation modes that allow the user to optimize for conversion speed and current consumption. A high resolution temperature output allows the implementation of an altimeter/thermometer function without any additional sensor. The MS5803-05BA can be interfaced to virtually any microcontroller. The communication protocol is simple, without the need of programming internal registers in the device. The gel protection and antimagnetic stainless steel cap allows the use in 100m waterproof watches. This new sensor module generation is based on leading MEMS technology and latest benefits from TE proven experience and know-how in high volume manufacturing of altimeter modules, which have been widely used for over a decade. The sensing principle employed leads to very low hysteresis and high stability of both pressure and temperature signal.

ÁLTALÁNOS JELLEMZŐK

Az MS5803-05BA egy piezo-rezisztív érzékelőből és egy IC érzékelő interfészből áll. Az MS5803-05BA fő funkciója a kompenzálatlan analóg kimeneti feszültség átalakítása a piezo-rezisztív nyomásérzékelőről egy 24 bites digitális értékre, valamint az érzékelő hőmérsékletének 24 bites digitális értéke.

GENERAL

The MS5803-05BA consists of a piezo-resistive sensor and a sensor interface IC. The main function of the MS5803-05BA is to convert the uncompensated analogue output voltage from the piezo-resistive pressure sensor to a 24 bit digital value, as well as providing a 24-bit digital value for the temperature of the sensor. 

GYÁRI KALIBRÁLÁS ???

Minden modul külön-külön gyárilag két hőmérsékleten és két nyomáson van kalibrálva. Ennek eredményeképpen a modulok 128 bites PROM-jében kiszámítjuk és tároljuk a folyamatváltozások és a hőmérséklet-változások kompenzálásához szükséges 6 együtthatót. Ezeket a biteket (a W1-től W6-ig terjedő 6 együtthatóra osztva) a mikrokontroller szoftvernek el kell olvasnia, és a programban a D1 és D2 átalakítására kompenzált nyomás- és hőmérsékletértékekre kell használni. A W0 és W7 2 együttható gyári beállításra és CRC-re van beállítva.

FACTORY CALIBRATION

Every module is individually factory calibrated at two temperatures and two pressures. As a result, 6 coefficients necessary to compensate for process variations and temperature variations are calculated and stored in the 128-bit PROM of each module. These bits (partitioned into 6 coefficients W1 to W6) must be read by the microcontroller software and used in the program converting D1 and D2 into compensated pressure and temperature values. The 2 coefficients W0 and W7 are for factory configuration and CRC. 

SOROS INTERFÉSZ

Az MS5803-05BA két soros interfészből áll: SPI és I2C. A Protokoll kiválasztása a PS-el történik. Alacsony szinten az SPI-protokollt, és a PS-t magas szinter húzva az I2C protokollt válszthattjuk.
 
Láb (6/8) PS Kivezetések felhasználása
Magas I2C SDA, SCL, CSB
Alacsony SPI SDI, SDO, SCLK, CSB

SERIAL INTERFACE

The MS5803-05BA has built in two types of serial interfaces: SPI and I2C. Pulling the Protocol Select pin PS to low selects the SPI protocol, pulling PS to high activates the I2C bus protocol.
 
Pin PS Mode Pins used
High I2C SDA, SCL, CSB
Low SPI SDI, SDO, SCLK, CSB

SPI KOMMUNIKÁCIÓS ÜZEMMÓD

A külső mikrokontroller által szolgáltatott szinkronjel a bemeneti SCLK (Serial CLocK) kivezetésen, az  adatok pedig az SDI (Serial Data In) kivezetésen jutnak be az eszközbe. Az SPI módban a modul mind a 0, mind a 3 módot elfogadhatja a szinkronjel polaritásának és a fázisnak meghatározására.
Az érzékelő válaszol az SDO kimenetre (Serial Data Out). A CSB (Chip Select) kivezetés használatával engedélyezhető / letiltható az interfész, így más eszközök ugyanazon az SPI-buszon tudnak kommunikálbi. A parancs elküldése után vagy a parancs végrehajtásának befejezése után (például az átalakítás vége után) a CSB kivezetés magas szintre vált. A modul legjobb zajteljesítményét akkor érik el, ha az SPI busz csendes, és nem kommunikál más eszközökkel a folyamatban lévő ADC átalakítás során.

SPI MODE

The external microcontroller clocks in the data through the input SCLK (Serial CLocK) and SDI (Serial Data In). In the SPI mode module can accept both mode 0 and mode 3 for the clock polarity and phase. The sensor responds on the output SDO (Serial Data Out). The pin CSB (Chip Select) is used to enable/disable the interface, so that other devices can talk on the same SPI bus. The CSB pin can be pulled high after the command is sent or after the end of the command execution (for example end of conversion). The best noise performance from the module is obtained when the SPI bus is quiet and without communication to other devices during the ADC conversion in progress.  

I2C KOMMUNIKÁCIÓS ÜZEMMÓD

A külső mikrokontroller által szolgáltatott szinkronjel a bemeneti SCLK (Serial CLocK) kivezetésen, az  adatok pedig az SDI (Serial Data In) kivezetésen jutnak be az eszközbe. Az érzékelő ugyanazon az SDA kivezetésen válaszol, amelyiket a kétirányú az I2C busz is használ interfészként . Tehát ez az interfésztípus csak 2 jelvezetéket használ, és nem igényel chip kiválasztást, amely kedvező lehet a takarékossági szempontoknak. Az I2C üzemmódban a komplement kivezetés CSB (Chip Select) bit választja ki a két lehetséges címből az egyiket az LSB I2C címnek. Igy lehetőség van két érzékelő használatára két különböző címmel az I2C buszon. A CSB csapot a VDD-hez vagy a GND-hez kell csatlakoztatni, ne hagyja a kivezetést szabadon!.
 
CSB kivezetés (3/8) Cím (7 bit)
Magas 0x76 (1110110 b)
Alacsony 0x77 (1110111 b)

I2C MODE

The external microcontroller clocks in the data through the input SCLK (Serial CLocK) and SDA (Serial DAta). The sensor responds on the same pin SDA which is bidirectional for the I2C bus interface. So this interface type uses only 2 signal lines and does not require a chip select, which can be favourable to reduce board space. In I2C-Mode the complement of the pin CSB (Chip Select) represents the LSB of the I2C address. It is possible to use two sensors with two different addresses on the I2C bus. The pin CSB shall be connected to VDD or GND (do not leave unconnected!).
 
Pin CSB Address (7 bits)
High 0x76 (1110110 b)
Low 0x77 (1110111 b)

PARANCSOK

Az MS5803-05BA csak öt alapvető parancsot használ:
1. Reset (alapállapotba állítás)
2. Megadja a PROM-ot (128 bites kalibrációs adatok)
3. D1 konverzió (D1 és D2: az egyik a hőfok, a másik a nyomás)
4. D2 konverzió (D1 és D2: az egyik a hőfok, a másik a nyomás)
5. Olvassa el az ADC eredményt (24 bites nyomás / hőmérséklet)


Az egyes parancsok mérete 1 bájt (8 bit) mértűek az alábbi táblázatban leírtak szerint. Az ADC olvasási parancsok után az eszköz 24 bites eredményt kap, valamint a PROM olvasása után 16 bit eredményt kap. A PROM címe be van ágyazva a PROM olvasási parancsba az a2, a1 és a0 bitek használatával.
Minden I2C kommunikációs üzenet a START feltételekkel kezdődik, és leáll a STOP feltétellel. Az MS5803-05BA cím 111011Cx, ahol C a CSB bit meghatározó értéke. Mivel az IC nem rendelkezik mikrokontroller funkcióval, az I2C és SPI parancsok meglehetősen hasonlóak.
COMMANDS

The MS5803-05BA has only five basic commands:
1. Reset
2. Read PROM (128 bit of calibration words)
3. D1 conversion
4. D2 conversion
5. Read ADC result (24 bit pressure / temperature) 


Size of each command is 1 byte (8 bits) as described in the table below. After ADC read commands the device will return 24 bit result and after the PROM read 16bit result. The address of the PROM is embedded inside of the PROM read command using the a2, a1 and a0 bits.
Each I2C communication message starts with the start condition and it is ended with the stop condition. The MS5803-05BA address is 111011Cx, where C is the complementary value of the pin CSB. Since the IC does not have a microcontroller inside, the commands for I2C and SPI are quite similar. 

 

  Command byte Hex value
Bit number 0 1 2 3 4 5 6 7  
Bit name PR
M
COV Typ Ad2/
Os2
Ad1/
Os1
Ad0/
Os0
Stop  
Command                  
Reset 0 0 0 1 1 1 1 0 0x1E
Convert D1 (OSR=256) 0 1 0 0 0 0 0 0 0x40
Convert D1 (OSR=512) 0 1 0 0 0 0 1 0 0x42
Convert D1 (OSR=1024) 0 1 0 0 0 1 0 0 0x44
Convert D1 (OSR=2048) 0 1 0 0 0 1 1 0 0x46
Convert D1 (OSR=4096) 0 1 0 0 1 0 0 0 0x48
Convert D2 (OSR=256) 0 1 0 1 0 0 0 0 0x50
Convert D2 (OSR=512) 0 1 0 1 0 0 1 0 0x52
Convert D2 (OSR=1024) 0 1 0 1 0 1 0 0 0x54
Convert D2 (OSR=2048) 0 1 0 1 0 1 1 0 0x56
Convert D2 (OSR=4096) 0 1 0 1 1 0 0 0 0x58
ADC Read 0 0 0 0 0 0 0 0 0x00
PROM Read 1 0 1 0 Ad2 Ad1 Ad0 0 0xA0 to0 xAE

Figure 2: Command structure

Megj.: D1 - nyomás,  D2 - hőmérséklet


RESET ELJÁRÁS

A reset utasítást el lehet küldeni bármikor. Abban az esetben, ha a visszaállítás sikertelen, akkor azt az okozhatja, hogy az SDA blokkolja a modult a nyugtázási állapotban. Az egyetlen módja annak, hogy az MS5803-05BA-t működésbe hozzuk, hogy több SCLK-t (szinkronjelet) kell küldeni, amelyet egy reset-szekvencia követ, vagy ismételten meg kell ismételni a resetet (visszaállítást).

Megj.: A CSB bit az SPI vagy I2C kummunikáció kiválasztására szolgál.

RESET SEQUENCE

The reset can be sent at any time. In the event that there is not a successful power on reset this may be caused by the SDA being blocked by the module in the acknowledge state. The only way to get the MS5803-05BA to function is to send several SCLKs followed by a reset sequence or to repeat power on reset.    

AZ ÁTALAKÍTÁSI (KONVERZIÓS) ELJÁRÁS

A konverziót el lehet indítani a parancs MS5803-05BA-hoz történő elküldésével. Amikor a mester (pld. mikrokontroller) a parancsot elküldi az eszköznek, a szolga eszköz addig marad elfoglalva, amíg az átalakítás meg nem történik. Ha az átalakítás befejeződött, az adatok olvasási parancs elküldésével érhetők el, amikor az MS5803-05BA-ból egy nyugtázás jelenik meg, 24 SCLK ciklus szinkronjel küldésével az összes adatbit (eredmény bit) fogadása megvalósulhat. Minden 8 bitben az eszköz egy nyugtázó jelet vár az adatokat fogadó mestertől.

Megjegyzem, hogy a fenli leírás mind a hőmérséklet és mind a nyomás adatok elérésére (külön-külön) érvényesek. Gondolom, hogy amelyiknek kiadjuk a konverziós parancsot, az annak megfeleő adatokat fogjuk majd megkapni. 
Fontosnak tartom, hogy a mester eszköz megfelelő hosszúságú időt adjon a szolga eszköznek a konverzió elvégzésére, amit a nyújtott idejú ACK lehetőséggel lehet elérni.

Megj.: A CSB bit az SPI vagy I2C kummunikáció kiválasztására szolgál.

CONVERSION SEQUENCE

A conversion can be started by sending the command to MS5803-05BA. When command is sent to the system it stays busy until conversion is done. When conversion is finished, the data can be accessed by sending a Read command, when an acknowledge appears from the MS5803-05BA, 24 SCLK cycles may be sent to receive all result bits. Every 8 bit the system waits for an acknowledge signal. 

PROM READ ELJÁRÁS

A PROM Read parancs két részből áll. Az első parancs a rendszert PROM olvasási módba állítja. A második rész megkapja az adatokat a rendszerből.

PROM READ SEQUENCE

The PROM Read command consists of two parts. First command sets up the system into PROM read mode. The second part gets the data from the system. 
KEZDETI (INDULÁSI EGYSZERI) RESET ELJÁRÁS

A Reset utasítást a bekapcsolás után egyszer kell elküldeni annak biztosítása érdekében, hogy a kalibrációs PROM betöltődjön az MS5803-05BA eszköz belső regiszterébe, vagyis hogy  ROM-jából átmásolódjonak az eszközbe, hogy azok is érvényesülhessenek.

Megj.: Bekapcsoláskor RESET-el kell kezdeni a gyári kompenzációs adatok automatikus betöltődése vegett.
RESET SEQUENCE

The Reset sequence shall be sent once after power-on to make sure that the calibration PROM gets loaded into the internal register. It can be also used to reset the device ROM from an unknown condition 

ÁTALAKÍTÁSI ELJÁRÁS DIGITÁLIS JELEKKÉ

Az átalakítási parancs a kompenzálatlan nyomás (D1) vagy a kompenzálatlan hőmérséklet (D2) konverzió kezdeményezésére szolgál. A chip kiválasztása ebben az időben kikapcsolható a többi eszközzel való kommunikációhoz. Az átalakítás után az ADC olvasási paranccsal az eredményt először az MSB-vel kell kivenni. Ha az átalakítást nem hajtják végre, mielőtt az ADC olvasási parancsot, vagy az ADC olvasási parancsot megismétlik, akkor a kimeneti eredményként 0 lesz. Ha az átalakítás során az ADC olvasási parancsot elküldjük, az eredmény 0 lesz, a konverzió nem áll meg, és a végeredmény rossz lesz. A már elindított konverziós folyamat során elküldött konverziós sorrend hibás lesz
eredmény is.

CONVERSION SEQUENCE

The conversion command is used to initiate uncompensated pressure (D1) or uncompensated temperature (D2) conversion. The chip select can be disabled during this time to communicate with other devices. After the conversion, using ADC read command the result is clocked out with the MSB first. If the conversion is not executed before the ADC read command, or the ADC read command is repeated, it will give 0 as the output result. If the ADC read command is sent during conversion the result will be 0, the conversion will not stop and the finalresult will be wrong. Conversion sequence sent during the already started conversion process will yield incorrect
result as well. 

PROM READ SEQUENCE

A PROM olvasási parancsát a felhasználó a visszaállítás után egyszer kell végrehajtani a kalibrációs PROM tartalmának elolvasásához és a kalibrációs együtthatók kiszámításához. Összesen 8 cím van, ami összesen 128 bites memóriát eredményez. A 0 cím gyári adatokat és a beállítást tartalmaz, az 1-6 kalibrációs együtthatókat és a 7. cím tartalmazza a soros kódot és a CRC-t. A parancssor 8 bit hosszú, egy 16 bites eredmény, amely először az MSB-vel van órajelezve.

PROM READ SEQUENCE

The read command for PROM shall be executed once after reset by the user to read the content of the calibration PROM and to calculate the calibration coefficients. There are in total 8 addresses resulting in a total memory of 128 bit. Address 0 contains factory data and the setup, addresses 1-6 calibration coefficients and address 7 contains the serial code and CRC. The command sequence is 8 bits long with a 16 bit result which is clocked with the MSB first.

CIKLIKUS VÁLTOZÁSI ELLENŐRZÉS (CRC)

Az MS5803-05BA tartalmaz egy PROM memóriát ami 128 bites. 4-bites CRC van alkalmazva az adatok érvényességének ellenőrzésére a memóriában. Az AN520 (Link: https://www.amsys-sensor.eu/sheets/amsys.fr.an520_e.pdf) alkalmazási jegyzet részletesen leírja a használt CRC-4 kódokat.

CYCLIC REDUNDANCY CHECK (CRC)

MS5803-05BA contains a PROM memory with 128-Bit. A 4-bit CRC has been implemented to check the data validity in memory. The application note AN520 describes in detail CRC-4 code used. 
Add DB15 DB14 DB13 DB12 DB11 DB10 DB9 DB8 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 16 bit reserved for manufacturer
1 Coefficient 1 (16 bit unsigned)
2 Coefficient 2 (16 bit unsigned)
3 Coefficient 3 (16 bit unsigned)
4 Coefficient 4 (16 bit unsigned)
6 Coefficient 5 (16 bit unsigned)
6 Coefficient 6 (16 bit unsigned)
7                         CRC