Hobbi Elektronika. A digitális elektronika alapjai: Újrakonfigurálható logikai 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

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Dr. Oniga István

Dr. Oniga István DIGITÁLIS TECHNIKA 8

Dr. Oniga István DIGITÁLIS TECHNIKA 9

Előadó: Nagy István (A65)

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

LOGIKAI TERVEZÉS. Előadó: Dr. Oniga István Egytemi docens

Hardver leíró nyelvek (HDL)

Digitális elektronika gyakorlat

Újrakonfigurálható eszközök

10. EGYSZERŰ HÁLÓZATOK TERVEZÉSE A FEJLESZTŐLAPON Ennél a tervezésnél egy olyan hardvert hozunk létre, amely a Basys2 fejlesztőlap két bemeneti

Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István

LOGSYS LOGSYS SPARTAN-3E FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ szeptember 19. Verzió

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

Újrakonfigurálható eszközök

Újrakonfigurálható eszközök

DIGITÁLIS TECHNIKA 7. Előadó: Dr. Oniga István

PAL és s GAL áramkörök

Hobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 3. rész

Kombinációs áramkörök modelezése Laborgyakorlat. Dr. Oniga István

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

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

1. DIGITÁLIS TERVEZÉS PROGRAMOZHATÓ LOGIKAI ÁRAMKÖRÖKKEL (PLD)

Rendszertervezés FPGA eszközökkel

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

Bevezetés a mikrovezérlők programozásába: Ismerkedés az Arduino fejlesztői környezettel

PROGRAMOZHATÓ LOGIKAI ESZKÖZÖK. Elıadó: Dr. Oniga István Egytemi docens

DIGITÁLIS TECHNIKA I

A Xilinx FPGA-k. A programozható logikákr. Az FPGA fejlesztés s menete. BMF KVK MAI, Molnár Zsolt, 2008.

14. TARTALOM FUTTATÁSA A FEJLESZTŐLAP HÉTSZEGMENSES KIJELZŐJÉN

Hobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 2. rész

11. KÓDÁTALAKÍTÓ TERVEZÉSE HÉTSZEGMENSES KIJELZŐHÖZ A FEJLESZTŐLAPON

DIGITÁLIS TECHNIKA. Szabó Tamás Dr. Lovassy Rita - Tompos Péter. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar LABÓRATÓRIUMI ÚTMUTATÓ

Joint Test Action Group (JTAG)

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

Digitális technika (VIMIAA02) Laboratórium 3

Hobbi Elektronika. A digitális elektronika alapjai: További logikai műveletek

LOGSYS LOGSYS ECP2 FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ szeptember 18. Verzió

Digitális technika (VIMIAA02) Laboratórium 3

Digitális technika II. (vimia111) 5. gyakorlat: Mikroprocesszoros tervezés, egyszerű feladatok HW és SW megvalósítása gépi szintű programozással

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Újrakonfigurálható eszközök

Ismerkedés az MSP430 mikrovezérlőkkel

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Dr. Oniga István

Tervezési módszerek programozható logikai eszközökkel

Hobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 1. rész

Mérési jegyzőkönyv. az ötödik méréshez

Nagy Gergely április 4.

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

12. NYOMÓGOMBOK ÉS KAPCSOLÓK PERGÉSMENTESÍTÉSE A FEJLESZTŐLAPON

Újrakonfigurálható eszközök

Digitális technika (VIMIAA01) Laboratórium 4

MSP430 programozás Energia környezetben. Az I/O portok kezelése

7.hét: A sorrendi hálózatok elemei II.

Programozási segédlet DS89C450 Fejlesztőpanelhez

Programozás és digitális technika II. Logikai áramkörök. Pógár István Debrecen, 2016

A tervfeladat sorszáma: 1 A tervfeladat címe: ALU egység 8 regiszterrel és 8 utasítással

PAL és GAL áramkörök. Programozható logikai áramkörök. Előadó: Nagy István

Hobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 4. rész

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

Digitális technika (VIMIAA02) Laboratórium 4

Arduino bevezető Szenzorhálózatok és alkalmazásaik

Budapesti Műszaki és Gazdaságtudományi Egyetem. A Verilog HDL II. Nagy Gergely. Elektronikus Eszközök Tanszéke (BME) szeptember 26.

2008. október 9. Verzió

Autóipari beágyazott rendszerek CAN hardver

A Texas Instruments MSP430 mikrovezérlőcsalád

Hobbi Elektronika. A digitális elektronika alapjai: Kombinációs logikai hálózatok 1. rész

SYS700-A Digitális szabályozó és vezérlõ modul DDC rendszerelemek, DIALOG-III család. Terméktámogatás:

A Picoblaze Core implementálása FPGA-ba

Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk

Digitális technika (VIMIAA02) Laboratórium 4

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

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

Hobbi Elektronika. A digitális elektronika alapjai: Kombinációs logikai hálózatok 2. rész

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

PROTOTÍPUSKÉSZÍTÉS. Előadó: Dr. Oniga István

Egyszerű RISC CPU tervezése

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

1. Kombinációs hálózatok mérési gyakorlatai

Újrakonfigurálható eszközök

LOGSYS EGYSZERŰ ALKALMAZÁS KÉSZÍTÉSE A LOGSYS KINTEX-7 FPGA KÁRTYÁRA A XILINX VIVADO FEJLESZTŐI KÖRNYEZET HASZNÁLATÁVAL június 16. Verzió 1.

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

KINCO PLC és HMI, frekvenciaváltó árlista

Digitális elektronika gyakorlat

Digitális rendszerek tervezése FPGA áramkörökkel

Hobbi Elektronika. Bevezetés az elektronikába: Logikai kapuáramkörök

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

Végh János Bevezetés a Verilog hardver leíró nyelvbe INCK??? előadási segédlet

ISE makró (saját alkatrész) készítése

6. hét: A sorrendi hálózatok elemei és tervezése

Digitális technika (VIMIAA02) Laboratórium 5

2. Elméleti összefoglaló

Digitális technika (VIMIAA02) Laboratórium 5

Dr. Oniga István DIGITÁLIS TECHNIKA 9

Átírás:

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

Programozható logikai eszközök Programozható logikai áramkörök (Programmable Logic Devices) a kombinációs logikai hálózatok és sorrendi hálózatok tervezésére használhatjuk. A hagyományos logikai hálózatok dedikált összeköttetésekkel, illetve kötött funkcióval (kimeneti függvény) rendelkeznek. A programozható logikai eszközökben pontosan ezek változtathatók: A felhasználó által egyszer programozható/konfigurálható logikai eszközök (OTP: One Time Programmable), amelynél a gyártás során nem definiált funkció egyszer még megváltoztatható (ilyenek pl. a korai PAL, PLA eszközök) Többször, akár tetszőleges módon programozható (újrakonfigurálható) logikai eszközök (ilyenek pl. a korábbi GAL, vagy a mai modern CPLD és FPGA eszközök) CPLD Complex Programmable Logical Devices FPGA Field Programmable Gate Array 2

PAL, PLA, CPLD 3

ALTERA MAX II CPLD család Az EPM240C100T5N CPLD IC az ALTERA MAX II termékcsaládba tartozik. Főbb jellemzői: 240 db. logikai egység, kis fogyasztású, olcsó CPLD, 50 MHz órajel, max. 3,3 V tápfesz és jelszint, busz-barát ki- és bemenetek, Schmitt-triggeres bemenet, JTAG újrakonfigurálhatóság (tipikusan 100-szor), 8kbit felhasználói FLASH memória (UFM). Logikai tömb (LAB) 10 logikai elemből áll EPM240 6x4x10 db logikai elem (LE) Konfigurációs flash (CFM) UFM 4

LUT: Lookup table Egy logikai elem szerkezete A regiszter konfigurálható D, T, JK, vagy SR módba. 5

A logikai elemek üzemmódjai Az ALTERA MAX II logikai elemei kétféle módban működhetnek: Normál mód (általános logikai alkalmazásokhoz, kombinációs hálózatokhoz) Dinamikus aritmetikai mód (összeadó, számláló, akkumulátor, komparátor, stb) Normál mód: 1 db 4-bemenetű LUT LUT: Lookup table 6

A logikai elemek üzemmódjai Dinamikus Aritmetikai mód: 4 db 2-bemenetű LUT 7

A Carry Select lánc használata A Carry-select lánc segítségével a gyors átvitelképzés megoldható 8

Az I/O modulok felépítése 9

ALTERA QUARTUS Prime (Lite) Tervezési lehetőségek: Kapcsolási rajz Verilog HDL VHDL Rajz: Egyszerű kombinációs logika Verilog: module LED_NOT_KEY ( A, F ); input KEY_IN; output LED_OUT; assign LED_OUT = ~KEY_IN; endmodule VHDL: entity LED_NOT_KEY is port ( key_in : in std_logic ; led_out : out std_logic ); end LED_NOT_KEY; architecture key_led_arch of LED_NOT_KEY is begin led_out <= not key_in; end architecture; 10

Kivezetés tervező A tervezésben szereplő ki- és bemeneteket az IC konkrét lábaihoz kell rendelni. 11

C-M240 fejlesztői kártya Gyártó: Shenzhen 21EDA Electronic Technology CPLD: Altera MAX II EPM240T100C5N Órajel: 50 MHz VDD: 3,3 V Perifériák: 8-digit kijelző, 8 LED, 4 +1 nyomógomb, 1 csipogó 12

10_key_digital_tube_display module key_led(clk_50m,key,segment,digit); input clk_50m; // system clock 50MHz input from pin 17 input. input [3:0] key; // key1 key2 key3 key4 is the value of the input key code output [3:0] digit; // digital control bit selection output [7:0] segment; // digital tube segment code ABCDEFGH reg [7:0] segment; reg [3:0] digit; reg [3:0] key_temp; // set a register always@ (posedge clk_50m) begin key_temp<=key; // assign the value of the key to the register case (key_temp) 4'b1110:segment<=8'b1111_1001; // segment code // KEY1 press to show 1 4'b1101:segment<=8'b1010_0100; // segment code // KEY1 press to show 2 4'b1011:segment<=8'b1011_0000; // segment code // KEY1 press to show 3 4'b0111:segment<=8'b1001_1001; // segment code // KEY1 press to show 4 endcase end always@ (posedge clk_50m) begin case(key_temp) // bit selected signal 4'b0111:digit<=4'b0111; // press KEY4 4th digit display 4'b1011:digit<=4'b1011; // press KEY3 3th digit display 4'b1101:digit<=4'b1101; // press KEY2 2th digit display endcase end endmodule 4'b1110:digit<=4'b1110; // press KEY1 1th digit display Ez a mintaprojekt a lenyomott gomb sorszámát írja ki a 7-szegmenses kijelzőkön 13

15_fdiv_LED: LED villogtatás Ebben a Verilog mintapéldában az 50 MHz-es órajelet 1 Hz-re osztjuk le, s egy LED-et villogtatunk vele. module ledwater (clk_50m, led_out); input clk_50m; // system clock input 50M input pin17 // means every second to change 50,000,000 Hz output led_out; // flash every second reg [24:0] count; // Counter counts up to 25,000,000 reg div_clk; // Frequency divider output (1 Hz) reg led_out; // LED port status // Divide the counter. Get a second frequency always @ (posedge clk_50m) begin if (count == 25000000) begin // clock changes 50,000,000 HZ every second // We now use the count counter to add it to 25,000,000HZ div_clk <= ~ div_clk; // here we get a 0.5 second change signal. // so a cycle is 1Hz is one second. count <= 0; end else count <= count + 1; led_out <= div_clk; end endmodule // clear the counter. // counter from the increase. // use the divided frequency to blink a LED (1 Hz) // In the LED lights above the show. 14

Cypress PSOC mikrovezérlők PSOC = Programozható System-on-chip (CPLD + mikrovezérlő) AZ évek során több változatot fejlesztettek ki: PSoC 1: M8C (8-bites) PSoC 3: 8051 (8-bites) PSoC 4: ARM Cortex-M0 (32-bites) - BLE változatban is! PSoC 5LP: ARM Cortex-M3 (32-bites) PSOC 6: ARM Cortex M4F + M0+ + BLE (32 bites) Fejlesztői környezet: PSOC Designer csak PSOC 1-hez PSOC Creator PSOC 3, 4, 5, 6-hoz A számtalan fix funkciós periféria mellett az univerzális digitális blokkokból egyedi perifériákat, vagy kiegészítő logikai áramköröket is kialakíthatunk. Bennünket most mindez elsősorban a CPLD miatt érdekel A PSOC4 és PSOC5 mikrovezérlők 3,3 V-os és 5 V-os tápfeszültségen is működhetnek! 15

Univerzális digitális blokkok Az Univerzális Digitális Blokkokból a CY8C4245 PSOC 4 mikrovezérlők 4 db-ot, A CYC8C5868, illetve CYC8C5888 PSOC 5LP mikrovezérlők 24 db-ot tartalmaznak. 16

Egy UDB felépítése 17

Egy 12C4 PLD blokk felépítése PLD blokk jellemzők: 12 bemenet 8 szorzat tag (product term) 4 makrocella kimenet TC = True vagy Complement AND = logikai ÉS kapuk OR = logika VAGY kapuk MC = makrocella 18

Makrocella felépítése 19

Adatút (Data path) 20

PSOC 4 fejlesztőeszközök CY8CKIT-042 PSoC 4 Pioneer Kit CY8CKIT-049 PSoC 4 Prototyping Kits CY8C4245AXI-483 (44 pin TQFP) 48 MHz, 32k/4k, 4 UDB, 12-bit ADC 21

Programletöltés JTAG eszközzel 22

Programletöltés bootloaderrel 23

A lélegző LED esete két PWM modullal Két PWM egységet konfigurálunk, egymáshoz közeli frekvenciával (98 és 98.4 Hz) és 40 % körüli kitöltéssel. Ha a kimeneteket ÉS kapcsolatba hozzuk, akkor az eredő jel kitöltése az egymáshoz közeli frekvenciák összelebegésének megfelelően periodikusan változik, 0.4 Hz-es frekvenciával. Ha ezt a jelet vezetjük a LED4-hez kapcsolódó kimenetre, akkor a LED fényereje periodikusan változik. A LED villogásának elkerülésére a PWM frekvenciát 100 Hz körülire kell megválasztani. 8-bites PWM esetén ehhez 25 khz-es bemenő órajelet kell definiálni. 24

A lélegző LED esete két PWM modullal Lokális órajel 25 khz PWM1 (UDB) Periódus: 255 Comp: 150 Mód: Konstans logikai szint PWM2 Periódus: 254 Comp: 150 Mód: Digitális kimenet HW vezérléssel P0_6 lábon (28SSOP) P3_0 lábon (44TQFP) 25

A PWM_1 modul konfigurálása PWM_2 beállítása hasonlóan történik, de a periódus ennél 254 legyen! 26

PSoC I/O hozzárendelés Ha a Lock opció nincs bejelölve, szintetizálásnál automatikus lábkiosztás lesz! 27

PSOC 5 fejlesztőeszközök CY8CKIT-050 PSoC 5LP Development Kit CY8C5868AXI-LP035 (100 pin TQFP) USB/DMA/12-bit SAR és 20-bit delta-sigma ADC 24 UDB (digitális blokk), 4 analóg blokk CY8CKIT-059 PSoC 5LP Prototyping Kit CY8C5888LTI-LP097 (68 pin QFN) USB/DMA/12-bit SAR és 20-bit delta-sigma ADC 24 UDB (digitális blokk), 4 analóg blokk 28

LCD oszcilloszkóp projekt Hullámforma generálás táblázatból, VDAC-kal Oszlopdiagram formájú megjelenítés Bejövő jel digitalizálása 29

LCD oszcilloszkóp projekt 1. Csatlakoztassuk a P2 portra az LCD kijelzőt! 2. Kössük össze a P0_2 és P0_3 kivezetéseket! 3. Programozáshoz dugjuk a J1 csatlakozóba az USB kábelt! 4. A program indítása után ellenőrizzük, hogy az alábbi videón láthatóhoz hasonló képet látunk a kijelzőn! 30