Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2017:hart-sensor

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
2017:hart-sensor [2018/01/14 13:17]
Tomáš Řežucha
2017:hart-sensor [2018/01/14 17:31] (aktuální)
Tomáš Řežucha
Řádek 12: Řádek 12:
  
 ===== Úvod ===== ===== Úvod =====
 +
 +WirelessHART je bezdrátová nadstavba průmyslového standardu HART, který je v současnosti nejrozšířenější standard pro senzory a aktuátory.
 +
 +WirelessHART je senzorová síť typu //mesh// pracujíci v pásmu ISM 2,4GHz podle dopručení IEEE802.15.4;​ vyznačuje se vysokou latencí, nízkou rychlostí ale naopak vyniká svojí robustností a nízou energetickou náročností.
 +
 +V tomto projektu je kladen důraz na firmware aplikačního MCU, který řídí celý senzorový přístupový bod. Blokové schema takovéhoto obvodu je na obrázku 1.
  
 {{ 2017:​hart-sensor:​wh_blockdiagram.png?​600 }} \\ {{ 2017:​hart-sensor:​wh_blockdiagram.png?​600 }} \\
Řádek 17: Řádek 23:
  
 ===== Řešení ===== ===== Řešení =====
 +
 +ADuCM4050 je mikrokontrolér založený na jádře ARM Cortex-M4F a je zaměřen na aplikace s extémně nízkou spotřebou. Z široké nabídky použitých perferií jsou použity tyto:
  
 Použité periferie mikrokontroléru ADuCM4050: Použité periferie mikrokontroléru ADuCM4050:
Řádek 24: Řádek 32:
 |  I2C     ​| ​ Komunikace s Coulomb počítadlem LTC3335 (v budoucnu) ​  | |  I2C     ​| ​ Komunikace s Coulomb počítadlem LTC3335 (v budoucnu) ​  |
 |  2x SPI      |  Připojení externích senzorů nebo ADC   | |  2x SPI      |  Připojení externích senzorů nebo ADC   |
-|  Flexi RTC    |  SensorStrobe ​  |+|  Flexi RTC    |  SensorStrobe ​- sběr dat z ADXL363 ​  ​
 +|  RTC    |  Scheduler  ​|
 |  FPU     ​| ​ Operace s plovoucí desetinnou čárkou ​  ​| ​ |  FPU     ​| ​ Operace s plovoucí desetinnou čárkou ​  ​| ​
  
Řádek 30: Řádek 39:
 Zdrojové kódy v adresáři //ADI// jsou upravené verze těchto ovladačů (periferie RTC a akceleromter ADXL363) aby lépe vyhovovali požadavkům této aplikace. \\ Zdrojové kódy v adresáři //ADI// jsou upravené verze těchto ovladačů (periferie RTC a akceleromter ADXL363) aby lépe vyhovovali požadavkům této aplikace. \\
 **Nejsem autorem zdrojových kódů v adresáři //ADI//.** **Nejsem autorem zdrojových kódů v adresáři //ADI//.**
 +
 +==== Analog Devices AD5700-1 ====
 +
 +AD5700-1 je jednoduchý FSK modulátor a demodulátor splňujíci specifikace HART pro drátové FSK rozhraní. Připojuje se k MCU ADuCM4050 pomocí UART s baudrate 1200 Baud. Kontrola toku se využíva pro přepínáním mezi modulátorem a demodulátorm - HART je poloduplexní protokol.
  
 ==== Linear Technology LPT5901-WHM ==== ==== Linear Technology LPT5901-WHM ====
Řádek 53: Řádek 66:
  
 ==== Ukončování HART commandů ==== ==== Ukončování HART commandů ====
 +
 Specifkace HART ver. 7 rozšiřuje klasický HART o bezdrátovou nadstavbu WirelessHART a přináší velké množství commandů k řízení síťové vrstvy (Network Helth Report, Neighbour Report...). Všechny tyto příkazy ukončuje (tzn. vykonává nebo generuje odpověď) System on Chip LTC5800. Původní HART commandy, ke řízení aplikační vrstvy (kalibrace měření, nastavování Burstů...),​ ukončuje aplikační procesor ADuCM4050. Oba typy příkazů musí být akceptováný ze drátového i bezdrátového rozhraní, viz obrázek 4. Specifkace HART ver. 7 rozšiřuje klasický HART o bezdrátovou nadstavbu WirelessHART a přináší velké množství commandů k řízení síťové vrstvy (Network Helth Report, Neighbour Report...). Všechny tyto příkazy ukončuje (tzn. vykonává nebo generuje odpověď) System on Chip LTC5800. Původní HART commandy, ke řízení aplikační vrstvy (kalibrace měření, nastavování Burstů...),​ ukončuje aplikační procesor ADuCM4050. Oba typy příkazů musí být akceptováný ze drátového i bezdrátového rozhraní, viz obrázek 4.
  
Řádek 188: Řádek 202:
 </​code>​ </​code>​
  
 +==== Debugging zprávy ====
  
 +Protože všechny dostupné periferie UART jsou obsazené a Keil nepodporuje //​semihosting//​ bylo využito možnosti posílat debuggovací zprávý zkrze programátor J-Link.\\
 +Na straně PC lze tyto zprávy číst pomocí programu //J-Link RTT Viewer//.\\
 +**Nejsem autorem zdrojových kódů v adresáři //RTT//** kromě souborů //debug.c a debug.h//​.\\
 +
 +Ukázka debuggovacích zpráv po startu mikrokontroléru je zobrazena na obrázku 5.
 +
 +===== Ukázka =====
 +
 +{{ 2017:​hart-sensor:​rtt_viewer.png?​400 }} \\
 +Obrázek 5: Datalog ze startu mikrokontroléru
 +
 +Klíčové eventy v zobrazeném datalogu:\\
 +//Uvítací zpráva// - MCU se korektně zaplo\\
 +//Reset a Event: BOOT// - Rádiový modul byl vyresetován a zaslal BOOT notifikaci\\
 +//FSM JOINING// - Byly provedeny všechny potřebné startovací rutiny a je zapnut Autojoin\\
 +//Join// - LTC5800 dostal příkaz na pokusení se o připojení do sítě\\
 +//Event: OPERATIONAL//​ - Zařízení je připojeno do sítě a má vyhrazené základní rádiové prostředky\\
 +
 +{{ 2017:​hart-sensor:​data_notif.png?​300 }} \\
 +Obrázek 6: Přijetí WirelessHART packetu s příkazem číslo 0 - Get Unique Identifier a odeslání odpovědi.
 +
 +Pro demonstraci funkčnosti bylo vytvořeno GUI, které dokáže generovat WirelessHART zprávy a odeslat je přes manager, dále také přijímá a zobrazuje jejich odpovědi.\\
 +Na následujíci videoukázce se ze seznamu připojených zařízení vybere to správné a odesílají se příkazy číslo 20 - Get Long Tag a číslo 72 - Squawk (audiovizuální identifikace,​ v tomto případě zapnutí/​vypnutí LED).
 +
 +{{ youtube>​V_VXArqP7-o?​medium }} 
 + 
 ===== Závěr ===== ===== Závěr =====
 +
 +V rámci projektu byl sestaven prototypový hardware, který umožňoval evaluaci komunikačních rozhraní pro drátavé FSK i bezdrátové rozhraní podle protokolu HART.
 +
 +Po úspěšném ověření funkce komunikačních rozhraní, byla vytvořena aplikační vrstva podle oficiálních HART specifikací,​ tak aby se výsledné zařízení úspěšně připojilo do bezdrátové sítě WirelessHART a správně zpracovalo vybrané příkazy pro zběr dat z akcelerometru ADXL363 připojeného pomocí rozhraní SPI.
 +
 +Pro generaci HART signalizačních zpráv byl použit jednoduchý USB <-> HART konvertor.
 +Pro generaci WirelessHART zpráv a demonstraci klíčových funkcí byl vytvořen program pro obsluhu WirelessHART manageru v jazyce //Python// (není součástí tohoto projektu).
  
 ===== Použitá literatura ===== ===== Použitá literatura =====
 +
 [1] Analog Devices Inc., ADuCM4050 Datasheet, 2017. Link: http://​www.analog.com/​media/​en/​technical-documentation/​data-sheets/​ADuCM4050.pdf \\ [1] Analog Devices Inc., ADuCM4050 Datasheet, 2017. Link: http://​www.analog.com/​media/​en/​technical-documentation/​data-sheets/​ADuCM4050.pdf \\
 [2] Linear Technology, „SmartMesh WirelessHART Application Notes,“ 2017. Link: http://​cds.linear.com/​docs/​en/​application-note/​SmartMesh_WirelessHART_Application_Notes.pdf \\ [2] Linear Technology, „SmartMesh WirelessHART Application Notes,“ 2017. Link: http://​cds.linear.com/​docs/​en/​application-note/​SmartMesh_WirelessHART_Application_Notes.pdf \\
2017/hart-sensor.1515932248.txt.gz · Poslední úprava: 2018/01/14 13:17 autor: Tomáš Řežucha