Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2015:plc-st7580

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
2015:plc-st7580 [2016/01/18 00:01]
Ján Sláčik
2015:plc-st7580 [2016/01/20 16:52] (aktuální)
Ján Sláčik [Rozbor zadání]
Řádek 1: Řádek 1:
 ====== Rozbor zadání ====== ====== Rozbor zadání ======
-Úkolem tohoto projektu je demonstrovat datový tok po silovém vedení a to ve standardní napájecí síti 230 VAC/50 Hz. Zvolený komunikační kmitočet spadá do kategorie úzkopásmových technologií,​ tedy frekvenční rozsah je 3-500 kb/s. Pro realizaci byl vybrán vhodný integrovaný obvod ST7580 v pozici PLC modemu, s programovatelnou nosnou frekvencí do 250 kHz. Obvod mimo jiné odpovídá Evropské normě CENELEC (EN 50065), tedy tento obvod je možné nasadit i do veřejných napájecích sítí. ​ Čip vyžaduje obsluhu externím hostitelem přes rozhraní UART. Do této pozice byl vybrán mikrokontrolér architektury ARM, typu STM32 řady F0. V rámci projektu byl vytvořen obslužný software základních funkcí obvodu ST7580, které umožňují funkční přenos po uvedeném silovém vedení. +Úkolem tohoto projektu je demonstrovat datový tok po silovém vedení a to ve standardní napájecí síti 230 VAC/50 Hz. Zvolený komunikační kmitočet spadá do kategorie úzkopásmových technologií,​ tedy frekvenční rozsah je 3-500 kHz. Pro realizaci byl vybrán vhodný integrovaný obvod ST7580 v pozici PLC modemu, s programovatelnou nosnou frekvencí do 250 kHz. Obvod mimo jiné odpovídá Evropské normě CENELEC (EN 50065), tedy tento obvod je možné nasadit i do veřejných napájecích sítí. ​ Čip vyžaduje obsluhu externím hostitelem přes rozhraní UART. Do této pozice byl vybrán mikrokontrolér architektury ARM, typu STM32 řady F0. V rámci projektu byl vytvořen obslužný software základních funkcí obvodu ST7580, které umožňují funkční přenos po uvedeném silovém vedení. 
-\\ ====== Princip řešení ====== +\\ 
-Je vytvořená komunikační síť, ​kterou ​tvoří jednotky master a  ​1x ​slave, podle obrázku níže. ​+ ====== Princip řešení ====== 
 +Je vytvořená ​jednoduchá ​komunikační síť s dvěma uzlykteré ​tvoří jednotky master a slave, podle obrázku níže. ​
 {{ :​2015:​plc-st7580:​blockdiag.png?​750 |}} {{ :​2015:​plc-st7580:​blockdiag.png?​750 |}}
 Konkrétní obvodové zapojení jednotky master je tvořeno vývojovým kitem EVALKITST7580-1 jako PLC modem a kitem STM32F0Discovery jako jednotka hostitele. Toto zapojení je totožné i pro slave. Konkrétní obvodové zapojení jednotky master je tvořeno vývojovým kitem EVALKITST7580-1 jako PLC modem a kitem STM32F0Discovery jako jednotka hostitele. Toto zapojení je totožné i pro slave.
Řádek 167: Řádek 168:
 #define ST7580_MODEM_CONFIG_BASE (0x00) #define ST7580_MODEM_CONFIG_BASE (0x00)
 #define ST7580_MODEM_CONFIG_LEN ​ (0x02) #define ST7580_MODEM_CONFIG_LEN ​ (0x02)
-    uint8_t modemConfigIndex; ​     /​*Index ​where this structure is to be loaded*/ +    uint8_t modemConfigIndex; ​     /​*Index ​of the MIB object (0x00)*/ 
-    uint8_t modemConfig; ​        /​*Actual ​configuration*/+    uint8_t modemConfig; ​        /​*Actual ​value of the MIB object*/
 }ST7580modemConfigTypedef;​ }ST7580modemConfigTypedef;​
  
Řádek 175: Řádek 176:
 #define ST7580_PHY_CONFIG_BASE (0x01) #define ST7580_PHY_CONFIG_BASE (0x01)
 #define ST7580_PHY_CONFIG_LEN ​ (0x0F) #define ST7580_PHY_CONFIG_LEN ​ (0x0F)
-    uint8_t phyConfigIndex; ​     /​*Index ​where this structure is to be loaded*/+    uint8_t phyConfigIndex; ​     /* Index of the MIB object (0x01) ​*/
     uint8_t DlFreqPair[6]; ​      /* Frequency Pair Byte 0 - 5*/     uint8_t DlFreqPair[6]; ​      /* Frequency Pair Byte 0 - 5*/
     uint8_t DlRXControl; ​        /*RX Control Byte 6 */     uint8_t DlRXControl; ​        /*RX Control Byte 6 */
Řádek 195: Řádek 196:
         .phyConfigIndex = ST7580_PHY_CONFIG_BASE,​         .phyConfigIndex = ST7580_PHY_CONFIG_BASE,​
         .DlFreqPair = {0x01, 0x4F, 0xF0, 0x01, 0x19, 0x40},         .DlFreqPair = {0x01, 0x4F, 0xF0, 0x01, 0x19, 0x40},
-        .DlRXControl = 0x0E, //master has 0E slave 0F+        .DlRXControl = 0x0E,
         .Gain = 0x15,         .Gain = 0x15,
         .DlZeroCrossing = {0x00, 0x00},         .DlZeroCrossing = {0x00, 0x00},
Řádek 235: Řádek 236:
                        ​MIB_ReadRequest,​                        ​MIB_ReadRequest,​
                        &​readAddr,​                        &​readAddr,​
-                       ​ST7580_PHY_CONFIG_LEN-1,​ +                       ​ST7580_PHY_CONFIG_LEN-1, ​                      
-                       ​/* start at the beginning of the actual object */+
                        &​rxPhyCfg.DlFreqPair[0], ​                        &​rxPhyCfg.DlFreqPair[0], ​
                        ​NULL);​                        ​NULL);​
Řádek 449: Řádek 449:
                         {                         {
                             temp = sensitivityTable[j].pfuncWrite(AppCmdRegisters + i, remaining);                             temp = sensitivityTable[j].pfuncWrite(AppCmdRegisters + i, remaining);
-                            if(!temp) temp = 1; // safety - cannot return 0+                            if(!temp) temp = 1;
                             i += temp;                             i += temp;
                             remaining -= temp;                             remaining -= temp;
Řádek 543: Řádek 543:
 ====== Videoukázka ====== ====== Videoukázka ======
  
-V následujícím videu je pouze zachyceno řízení výstupního členu uživatelským tlačítkem na Discovery kitu jednotky master.+V následujícím videu je zachyceno řízení výstupního členu ​jednotky slave, ​uživatelským tlačítkem na Discovery kitu jednotky master.
  
 {{ youtube>​PO7Exa0Xi2o?​900x500 |}} {{ youtube>​PO7Exa0Xi2o?​900x500 |}}
2015/plc-st7580.1453071710.txt.gz · Poslední úprava: 2016/01/18 00:01 autor: Ján Sláčik