Újrakonfigurálható eszközök

Hasonló dokumentumok
Újrakonfigurálható eszközök

Újrakonfigurálható eszközök

Újrakonfigurálható eszközök

Újrakonfigurálható eszközök

Újrakonfigurálható eszközök

Újrakonfigurálható eszközök

Újrakonfigurálható eszközök

Újrakonfigurálható eszközök

Hobbi Elektronika. A digitális elektronika alapjai: Újrakonfigurálható logikai eszközök

A Memory Interface Generator (MIG) beállítása a Logsys Kintex-7 FPGA kártyához

I. C8051Fxxx mikrovezérlők hardverfelépítése, működése. II. C8051Fxxx mikrovezérlők programozása. III. Digitális perifériák

Újrakonfigurálható eszközök

Újrakonfigurálható eszközök

MSP430 programozás Energia környezetben. Kitekintés, további lehetőségek

Digitális technika (VIMIAA01) Laboratórium 9

T2-CNCUSB vezérlő család hardver segédlet

A/D és D/A konverterek vezérlése számítógéppel

MSP430 programozás Energia környezetben. Szervó motorok vezérlése

Ismerkedés az MSP430 mikrovezérlőkkel

Digitális technika (VIMIAA01) Laboratórium 9

Perifériák hozzáadása a rendszerhez

Mechatronika és mikroszámítógépek. 2016/2017 I. félév. Analóg-digitális átalakítás ADC, DAC

Jelfeldolgozás a közlekedésben. 2017/2018 II. félév. Analóg-digitális átalakítás ADC, DAC

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, Minden jog fenntartva

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, Minden jog fenntartva

The modular mitmót system. 433, 868MHz-es ISM sávú rádiós kártya

Analóg-digitális átalakítás. Rencz Márta/ Ress S. Elektronikus Eszközök Tanszék

Hordozható adatgyűjtő

Iványi László ARM programozás. Szabó Béla 6. Óra ADC és DAC elmélete és használata

Laboratóriumi műszerek megvalósítása ARM alapú mikrovezérlővel és Linux-szal

1. Visszacsatolás nélküli kapcsolások

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

BMF, Kandó Kálmán Villamosmérnöki Kar, Híradástechnika Intézet. Aktív Szűrő Mérése - Mérési Útmutató

A/D és D/A átalakítók gyakorlat

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

Programozási segédlet DS89C450 Fejlesztőpanelhez

Villamos jelek mintavételezése, feldolgozása. LabVIEW 7.1

Bevezetés a mikrovezérlők programozásába: Az Arduino, mint logikai analizátor

Analóg-digitál átalakítók (A/D konverterek)

Mintavételezés tanulmányozása. AD - konverzió. Soros kommunikáció

Vegyes témakörök. A KAT120B kijelző vezérlése Arduinoval

2. rész PC alapú mérőrendszer esetén hogyan történhet az adatok kezelése? Írjon pár 2-2 jellemző is az egyes esetekhez.

OPERÁCIÓS RENDSZEREK. Elmélet

I 2 C, SPI, I 2 S, USB, PWM, UART, IrDA

* Egyes méréstartományon belül, a megengedett maximális érték túllépését a műszer a 3 legkisebb helyi értékű számjegy eltűnésével jelzi a kijelzőn.

WLAN router telepítési segédlete

Multi-20 modul. Felhasználói dokumentáció 1.1. Készítette: Parrag László. Jóváhagyta: Rubin Informatikai Zrt.

Az interrupt Benesóczky Zoltán 2004

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

0 0 1 Dekódolás. Az órajel hatására a beolvasott utasítás kód tárolódik az IC regiszterben, valamint a PC értéke növekszik.

Az MSP430 mikrovezérlők digitális I/O programozása

Bevezetés az elektronikába

Mérés és adatgyűjtés

Hobbi Elektronika. 1. Témakörök, célkitűzés, hozzávalók

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Yottacontrol I/O modulok beállítási segédlet

Step/Dir Interface. STDIF_1c. StepDirIFxmega_1c

Az AVR programozás alapjai. Előadja: Both Tamás

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Villamos jelek mintavételezése, feldolgozása. LabVIEW előadás

MaxiCont. MOM690 Mikroohm mérő

Szimmetrikus bemenetű erősítők működésének tanulmányozása, áramköri paramétereinek vizsgálata.

Elosztott I/O. XFL521, 522, 523 ÉS 524 Modulok JELLEMZŐK LEÍRÁS ÁLTALÁNOS KATALÓGOSLAP TERMÉKLEÍRÁS

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Beágyazott és Ambiens Rendszerek

WLAN router telepítési segédlete

Járműfedélzeti rendszerek I. 5. előadás Dr. Bécsi Tamás

LOGSYS LOGSYS SZTEREÓ CODEC MODUL FELHASZNÁLÓI ÚTMUTATÓ szeptember 16. Verzió

Műveleti erősítők. Előzetes kérdések: Milyen tápfeszültség szükséges a műveleti erősítő működtetéséhez?

ÖNÁLLÓ LABOR Mérésadatgyűjtő rendszer tervezése és implementációja

Mikrorendszerek tervezése

Logaritmikus erősítő tanulmányozása

10.1. ANALÓG JELEK ILLESZTÉSE DIGITÁLIS ESZKÖZÖKHÖZ

Mikrovezérlők Alkalmazástechnikája

Programmable Chip. System on a Chip. Lazányi János. Tartalom. A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban?

Kaméleon K860. IAS Automatika Kft

Érzékelők és beavatkozók

Műveleti erősítők. 1. Felépítése. a. Rajzjele. b. Belső felépítés (tömbvázlat) c. Differenciálerősítő

LPT_4DM_2a. Bekötési utasítás

PCS-1000I Szigetelt kimenetű nagy pontosságú áram sönt mérő

Programozás és Digitális technika I. Pógár István eng.unideb.hu/pogari

Villamos jelek mintavételezése, feldolgozása. Mérésadatgyűjtés, jelfeldolgozás 9. előadás

Beágyazott rendszerek fejlesztése laboratórium DSP fejlesztési technológiák

WLAN router telepítési segédlete

ATMEL ATMEGA MIKROVEZÉRLŐ-CSALÁD

Újrakonfigurálható eszközök

The modular mitmót system. 433, 868MHz-es ISM sávú rádiós kártya

WLAN router telepítési segédlete

PMU Kezdı lépések. 6-0 Csatlakozás LG GLOFA-GM és SAMSUNG PLC-hez. 6-1 Kommunikáció LG PMU és LG GLOFA-GM7 / GM6 / GM4 között

Programozó- készülék Kezelőkozol RT óra (pl. PC) Digitális bemenetek ROM memória Digitális kimenetek RAM memória Analóg bemenet Analóg kimenet

TxBlock-USB Érzékelőfejbe építhető hőmérséklet távadó

A LOGSYS rendszer ismertetése

Elektronika laboratóriumi mérőpanel elab panel NEM VÉGLEGES VÁLTOZAT! Óbudai Egyetem

USB I/O kártya. 12 relés kimeneti csatornával, 8 digitális bemenettel (TTL) és 8 választható bemenettel, mely analóg illetve TTL módban használható.

Channel Expander 1.xx Használati útmutató

X. ANALÓG JELEK ILLESZTÉSE DIGITÁLIS ESZKÖZÖKHÖZ

ALPHA és ALPHA XL műszaki leírás

Átírás:

Újrakonfigurálható eszközök 15. Cypress PSOC 5LP DMA adatátvitel Hobbielektronika csoport 2017/2018 1 Debreceni Megtestesülés Plébánia

Felhasznált irodalom és segédanyagok Cypress: CY8C58LP FamilyDatasheet Cypress: PSOC 5LP Architecture Technical Reference Manual) Cypress: CY8CKIT-059 Prototyping Kit Guide Cypress: AN777759: Geting Started with PSoC 5LP Cypress: PSoC Creator User Guide Cypress: PSoC 5LP Registers TRM Yuri Magda:::: Cypress PSoC 5LP Prototyping Kit Measurement Electronics Cserny István: PSOC 5LP Mikrokontrollerek programozása Cypress: AN527705 PSOC 3 and PSOC 5 LP Geting Started with DMA Hobbielektronika csoport 2017/2018 2 Debreceni Megtestesülés Plébánia

DMA közvetlen memória hozzáférés A DMA átvitel lényege az, hogy CPU független adatátvitelt valósít meg két periféria, vagy periféria és memória közöt Az adatátvitel központja a periféria HUB (a HUB kerékagyat jelent) amelyhez 8 db küllő (adatbusz) kapcsolódik A buszvezérlők a CPU és a DMA vezérlője (DMAC) lehetnek A buszvezérlők egyszerre is működhetnek, ha különböző küllőket kezelnek Hobbielektronika csoport 2017/2018 3 Debreceni Megtestesülés Plébánia

DMA csatornák A 24 db. DMA csatorna egymástól függetlenül működik Minden csatornához tartozik egy tranzakció leíró (TD) lánc Összesen legfeljebb 128 db. tranzakció leíró lehet Minden csatorna saját átviteli kérelem bemenetel rendelkezik Hobbielektronika csoport 2017/2018 4 Debreceni Megtestesülés Plébánia

DMA konfiguráció A DMA átvitelt a csatorna és a tranzakciós leíró regiszterei konfgurálják A csatornához egy vagy több leíró láncolata csatlakozik Csatorna konfiguráció Forráscím felső 16 bitje Cél cím felső 16 bitje Adag mérete Kérelem adagonként? Első leíró sorszáma Tranzakció leíró konfiguráció Forráscím alsó 16 bitje Cél cím alsó 16 bitje Tranzakciók száma Leíró tulajdonsága következő leíró sorszáma Leíró megőrzés? Hobbielektronika csoport 2017/2018 5 Debreceni Megtestesülés Plébánia

A DMA csatorna konfigurálása A PSOC Creator a DMA komponenshez API függvényeket generál, ezekkel konfguráljuk a DMA csatornát az alábbi lépésekben: 1) A DMA csatorna inicializálása Channel_Handle = DMA_DmaInitialize(DMA_BYTES_PER_BURST, DMA_REQUEST_PER_BURST, HI16(Source Address), HI16(Destination Address)) 2) Tranzakció leíró(k) példányosítása TD_Handle = CyDmaTdAllocate(); 3) A tranzakció leíró(k) konfgurálása CyDmaTdSetConfiguration(TD_Handle,Transfer_Count,Next_TD,TD_Property); 4) Címek konfgurálása a tranzakció leíró(k)ban CyDmaTdSetAddress(TD_Handle, LO16(Source Address), LO16(Destination Address)) 5) A csatorna kezdő tranzakció leírójának megadása CyDmaChSetInitialTd(Channel_Handle, TD_Handle) 6) A DMA csatorna engedélyezése CyDmaChEnable(Channel_Handle, preserve_td) Hobbielektronika csoport 2017/2018 6 Debreceni Megtestesülés Plébánia

1. példa: periféria periféria átvitel Egyszerű példa gyanánt egy periféria periféria átvitelt mutatunk be: az ADC által konvertált 8 bites adatokat egy DAC-nak adjuk át Az átvitelt az ADC konverzió vége jele indítja Hobbielektronika csoport 2017/2018 7 Debreceni Megtestesülés Plébánia

Eg1_ADC_DMA_DAC projekt Ebben a projektben a Delta-Sigma ADC-t 8 bites módba, 0-1 V közöti bemenő feszültségre konfguráltuk A projektet a CY8CKIT-059 fejlesztői kártyára adaptáltuk Minden ADC konverzió után (375 000 mintavétel/s) a 8 bites eredményt átíratjuk a feszültségkimenetű VDAC8 eszközre A P0[0] bemenetre függvénygenerátort, a P0[6] kimenetre oszcilloszkópot csatlakoztatva ellenőrizhetjük az eredményt P0[0] P0[6] Az ADC 0 1,024 V közötti bemenő feszültséget fogad, úgy konfiguráltuk! Hobbielektronika csoport 2017/2018 8 Debreceni Megtestesülés Plébánia

Az ADC-t Single ended módba konfguráljuk Folytonos mintavételezést állítunk be, 8 bites felbontással A mintavételezési frekvencia 375 000 Hz A belső referenciát szűréssel (P0[3]-on át) használjuk A bemeneti tartomány 0 1,024 V, szinteltolásos bufer móddal Az ADC konfigurálása Hobbielektronika csoport 2017/2018 9 Debreceni Megtestesülés Plébánia

0 1, 020 V tartomány Nagy sebesség CPU vagy DMA írja Alaphelyzet 400 mv A DAC konfigurálása Hobbielektronika csoport 2017/2018 10 Debreceni Megtestesülés Plébánia

A DMA konfigurálása A DMA alaktrész opcionális bemenetei közül most csak a DMA átviteli kérelmet használjuk, amelyhez az ADC konverzió vége kimenőjele csatlakozik Az átvitel megszakítására való TRQ (terminate request) bemenetre most nincs szükségünk, ezért letiltjuk (Disabled) Hobbielektronika csoport 2017/2018 11 Debreceni Megtestesülés Plébánia

main.c #include <device.h> uint8 DMA_Chan; uint8 DMA_TD[1]; int main(void) { #define DMA_BYTES_PER_BURST 1 #define DMA_REQUEST_PER_BURST 1 #define DMA_SRC_BASE (CYDEV_PERIPH_BASE) #define DMA_DST_BASE (CYDEV_PERIPH_BASE) /* Step 1: DmaInitialize - Initialize the DMA channel */ DMA_Chan = DMA_DmaInitialize(DMA_BYTES_PER_BURST, DMA_REQUEST_PER_BURST, HI16(DMA_SRC_BASE), HI16(DMA_DST_BASE)); DMA_TD[0] = CyDmaTdAllocate(); // Step 2: Allocate TD */ CyDmaTdSetConfiguration(DMA_TD[0],1,DMA_TD[0],0); // Step 3: Configure transfer count, next TD, property /* Step 4: Configure source and destination addresses */ CyDmaTdSetAddress(DMA_TD[0],LO16((uint32)ADC_DelSig_DEC_SAMP_PTR), LO16((uint32)VDAC8_Data_PTR)); CyDmaChSetInitialTd(DMA_Chan,DMA_TD[0]); // Step 5: Map the TD to the DMA Channel CyDmaChEnable(DMA_Chan, 1); // Step 6: Enable the channel ADC_DelSig_Start(); // Start ADC and DAC VDAC8_Start(); ADC_DelSig_StartConvert(); // Start ADC Conversion } for(;;) { } Hobbielektronika csoport 2017/2018 12 Debreceni Megtestesülés Plébánia

2. példa: átvitel perifériáról memóriába Ebben a példában az ADC-vel mért adatokat egy 16 bites tömbbe tároljuk el a DMA segítségével Hobbielektronika csoport 2017/2018 13 Debreceni Megtestesülés Plébánia

Eg2_ADC_DMA_Mem projekt Az SW1 gomb lenyomásakor engedélyezzük a DMA átvitelt Minden ADC konverzió végén elmentésre kerül a 16 bites adat Az előírt számú adatmentés után a DMA átvitel véget ér, s egy megszakítás keletkezik, ahol értesíthetjük a főprogramot, hogy dolgozza fel az adatokat Hobbielektronika csoport 2017/2018 14 Debreceni Megtestesülés Plébánia

ADC és DMAC Konfigurálás Hobbielektronika csoport 2017/2018 15 Debreceni Megtestesülés Plébánia

A DMA csatorna konfigurálása A DMA csatorna és a tranzakció leíró konfgurációja az alábbi táblázatokban található Most 16 bites (két bájtos) adatokat viszünk át, azért az adag (burst) mérete 2 (bájt) A tranzakció jellemzői: cél címének léptetése, befejezési értesítés Hobbielektronika csoport 2017/2018 16 Debreceni Megtestesülés Plébánia

main.c #include <device.h> #define NO_OF_SAMPLES 200 volatile uint8 switch_flag; volatile uint8 DMADone_flag; uint8 DMA_Chan; uint8 DMA_TD[1]; int main() { uint16 adc_samplearray[no_of_samples] = {0}; #define DMA_BYTES_PER_BURST 2 #define DMA_REQUEST_PER_BURST 1 #define DMA_SRC_BASE (CYDEV_PERIPH_BASE) #define DMA_DST_BASE (CYDEV_SRAM_BASE) } CYGlobalIntEnable; // Enable global interrupt ISR_Switch_Start(); ISR_DMA_Done_Start(); DMA_Chan = DMA_DmaInitialize(DMA_BYTES_PER_BURST, DMA_REQUEST_PER_BURST, HI16(DMA_SRC_BASE), HI16(DMA_DST_BASE)); DMA_TD[0] = CyDmaTdAllocate(); CyDmaTdSetConfiguration(DMA_TD[0], (2 * NO_OF_SAMPLES), DMA_DISABLE_TD, DMA TD_TERMOUT_EN TD_INC_DST_ADR); CyDmaTdSetAddress(DMA_TD[0],LO16((uint32)ADC_DelSig_DEC_SAMP_PTR),LO16((uint32)adc_sampleArray)); CyDmaChSetInitialTd(DMA_Chan, DMA_TD[0]); ADC_DelSig_Start(); ADC_DelSig_IRQ_Disable(); ADC_DelSig_StartConvert(); for(;;) { if(switch_flag) { CyDmaChEnable(DMA_Chan, 1); switch_flag = 0; } if(dmadone_flag) { DMADone_flag = 0; } } CY_ISR(ISR_DMA_Done_Interrupt){ DMADone_flag = 1; } CY_ISR(ISR_Switch_Interrupt){ switch_flag = 1; Pin_Switch_ClearInterrupt(); } // Start ADC // Disable the ADC ISR as it is not required // Start ADC conversion Ha itt elhelyezünk egy töréspontot, akkor nyomkövető módban ellenőrizhetjük az eredményt az adc_samplearray() tömbben Hobbielektronika csoport 2017/2018 17 Debreceni Megtestesülés Plébánia

A program kipróbálása A programot az alábbi egyszerű kapcsolás segítségével próbáltuk ki Egy SB160 Schotky diódát egy 1 kω-os ellenálláson keresztül kapcsoljunk a CYBCKIT-059 kártya tápfeszültségére (kb. 4.7 V) A diódán keresztülfolyó, kb 4.5 ma nyitóirányú áram hatására nagyjából 225 mv feszültség esik, ezt mérjük az ADC segítségével Hobbielektronika csoport 2017/2018 18 Debreceni Megtestesülés Plébánia

A program ellenőrzése nyomkövetéssel A program elején a tömb elemei csupa nullát tartalmaznak Ha a DMADone_ffg bebillenésekor megnézzük az fdc_sfmplearrfy() tömb tartalmát, akkor láthatjuk az eredményeket. A 7184 körüli érték 224,5 mv-nak felel meg U = 7184 * 2048 mv/ 65 536 = 224,5 mv Hobbielektronika csoport 2017/2018 19 Debreceni Megtestesülés Plébánia

CY8CKIT-059 fejlesztői kártya USB csatlakozás a PC-hez KitProg programozó és hibavadász USB UART Kivezetések C8C5868LTI-LP039 PSOC 5LP Target áramkör A tápellátás történhet a programozó felől (5V), Az alkalmazói USB csatlakozóról (5V), vagy a VDD csatlakozáson keresztül (3,3 5 V). LED1 (2.1 kivezetés) SW1 (2.2 kivezetés) CY8C5888LTI-LP097 JTAG csatlakozás Utóbbi esetben a D1 és D2 diódákat el kell távolítani az USB-re csatlakozás előtt! RESET gomb helye USB alkalmazói csatl. Hobbielektronika csoport 2017/2018 20 Debreceni Megtestesülés Plébánia

A céláramkör kapcsolási rajza Hobbielektronika csoport 2017/2018 21 Debreceni Megtestesülés Plébánia