# Kurssi: Digitaalitekniikka, pidettiin torstaisin ajalla 2.3.2017–24.5.2018

**URL:** https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540
**Category:** Helsinki
**Created:** [January 13, 2017, 1:44pm UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540 "2017-01-13T13:44:30Z")
**Posts on this page:** 20
**Page:** 2

<div class="post-metadata">

### Author: ![suovula](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/suovula/32/757_2.png) [@suovula](https://discourse.hacklab.fi/u/suovula)
#### Post date: [June 8, 2017, 8:01pm UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/21 "2017-06-08T20:01:52Z")

</div>

Mielestäni kevään tavoite saavutettiin hyvin, vaikka emme AXI4-Lite -modulistamme täysiveristä IP-lohkoa vielä paketoineetkaan. Tämmöisenä RTL-modulinakin se toimii hyvin ja näin lohkojen kehittäminen kannattaakin aloittaa.

Runko omien I/O-laitteiden tekemiseen löytyy [kolmannesta tutoriaalista](https://github.com/HelsinkiHacklab/digitaalitekniikka/tree/master/tutorials/3-axilite). Projektin luomiseen tulee vielä ohjeet myöhemmin jos ei mene vielä rutiinilla.

Kaikkien jäsenten olisi pitänyt saada kutsu labin Slackiin, mailaa hallitukselle jos et ole saanut. Siellä kanavalla #digitaalitekniikka tai täällä voi kysellä kesän aikana jos tulee ongelmia.

---

<div class="post-metadata">

### Author: ![jari](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/jari/32/267_2.png) [@jari](https://discourse.hacklab.fi/u/jari)
#### Post date: [June 10, 2017, 7:52am UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/22 "2017-06-10T07:52:50Z")

</div>

Viime kerralla (8.6.) esittelemäni yksinkertainen wav-soitin löytyy yleisön pyynnöstä nyt täältä: [https://github.com/JKN0/player\_r2r](https://github.com/JKN0/player_r2r).

---

<div class="post-metadata">

### Author: ![suovula](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/suovula/32/757_2.png) [@suovula](https://discourse.hacklab.fi/u/suovula)
#### Post date: [August 25, 2017, 7:15am UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/23 "2017-08-25T07:15:42Z")

</div>

Kurssi jatkuu taas torstaisin ja tässä alustavaa agendaa:

**31.8.**

- kertaamme Verilogin kombinaatio- ja sekvenssilogiikan
- kertaamme AXI-protokollan peruskättelyn
- aloitamme oman Ubuntu-pohjaisen käyttöjärjestelmä rakentamisen Zynqille

**7.9.**

- harjoituksena teemme yksinkertaisen AXI-Full Master lohkon joka ACP-rajapinnan kautta kirjoittaa ja lukee DDR-muistia

**14.9.**

- oman Linuxin kernel modulin (‘_ajurin_’) kääntäminen joka huolehtii AXI-rajapinnat ja keskeytykset ilman `/dev/mem` -mappauksia

Tämän jälkeen kokonaisuuden pitäisi olla siinä vaiheessa, että pääsemme täysipainotteisesti tekemään varsinaisia projekteja kehityslautojen sensoreilla ja niille käyttöliittymia Linuxilla.

- Red Pitayan nopeiden AD/DA-muuntimien signaalin käsittelyä
- framepuskuri Linuxiin ja HDMI-kuvanmuodostus
- äänikortti Linuxiin FPGA:lla tehdyillä 1-bit AD/DA-muuntimilla
- HTTP-palvelimella käyttöliittymä omalle projektille

Saatamme myös jättää SystemVerilogin väliin ja hypätä käyttämään Vivadon High-Level Synteesiä monimutkaisemmille lohkoille.

---

<div class="post-metadata">

### Author: ![suovula](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/suovula/32/757_2.png) [@suovula](https://discourse.hacklab.fi/u/suovula)
#### Post date: [August 28, 2017, 8:25pm UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/24 "2017-08-28T20:25:23Z")

</div>

Torstaina mukaan kannattaa ottaa tyhjä min. 8 GB microSD-kortti, niin ei tarvitse vielä edellistä käyttistä jyrätä. Myöskin tämä kurssin oma Zybuntu on vielä mallia v0.0.1 ja tulee moneen kertaan jyrätyksi syksyn aikana.

---

<div class="post-metadata">

### Author: ![suovula](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/suovula/32/757_2.png) [@suovula](https://discourse.hacklab.fi/u/suovula)
#### Post date: [September 17, 2017, 8:36pm UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/25 "2017-09-17T20:36:51Z")

</div>

Ensimmäinen varsinainen projekti kurssilla tulee olemaan yksinkertaisen signaalinkäsittelyn tekeminen AXI4-Stream -lohkoilla. Teemme omia ja sotkemme väliin myös Xilinxin Vivadon mukana tarjoamia.

Lähdemme liikkeelle audio-taajuuksista ja generoimme alkuun signaalin suoraan I/O-pinnistä 3.5mm plugiin (labin hyllyista löytyvistä osista kasattuja), mutta jotta välttyisimme kurssilla täydelliseltä kakofonialta, kannattaa ottaa mukaan nappikuulokkeet.

Esimerkiksi nämä on hyväksi havaittu: [http://www.clasohlson.com/fi/Kuulokemikrofoni/38-7281-4](http://www.clasohlson.com/fi/Kuulokemikrofoni/38-7281-4)

---

<div class="post-metadata">

### Author: ![suovula](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/suovula/32/757_2.png) [@suovula](https://discourse.hacklab.fi/u/suovula)
#### Post date: [September 23, 2017, 12:41pm UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/26 "2017-09-23T12:41:51Z")

</div>

Aloittelimme Stream-lohkoilla leikkimisen, mutta koska tämä on niin tärkeä aihe ja muutenkin on saattanut jäädä rästiin, niin pidän tiistaina labilla vielä parin tunnin kertauksen. Tiistaisin on tietysti labilla härdelliä muutenkin, mutta eiköhän me johonkin nurkkaan mahduta.

Kello 18-20 voisi olla hyvä rako.

---

<div class="post-metadata">

### Author: ![suovula](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/suovula/32/757_2.png) [@suovula](https://discourse.hacklab.fi/u/suovula)
#### Post date: [October 12, 2017, 6:02pm UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/27 "2017-10-12T18:02:48Z")

</div>

Ensi viikolla pidetään syyslomaa, eli 19.10. ei kurssia.

---

<div class="post-metadata">

### Author: ![Tom](https://discourse.hacklab.fi/letter_avatar_proxy/v4/letter/t/3d9bf3/32.png) [@Tom](https://discourse.hacklab.fi/u/Tom)
#### Post date: [November 6, 2017, 6:22pm UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/28 "2017-11-06T18:22:15Z")

</div>

Alkaako uusi kurssi milloin seuraavaksi?

Tai onko mahdollista liittyä vielä mukaan, FPGA-kokemusta ei ole, muuten digiperusteita on jonkin verran.

Vielä jos löytyy joku, joka ei ehkä olekaan ehtinyt enää olla mukana, ja löytyisi lainaksi FPGA-lautaa kurssikäyttöön, olisin kiinnostunut ja mahdollisuus myös ehkä ostaa lauta pois…

---

<div class="post-metadata">

### Author: ![suovula](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/suovula/32/757_2.png) [@suovula](https://discourse.hacklab.fi/u/suovula)
#### Post date: [November 7, 2017, 2:19pm UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/29 "2017-11-07T14:19:18Z")

</div>

Tämän kurssin perään olisi tarkoitus keväällä pitää Epäteoreettista signaalinkäsittelyä, mahdollisesti samoilla laudoilla, mutta ilman että tarvitsee niiden sielunelämästä sen kummemmin ymmärtää.

Digitaalitekniikkaa mahdollisesti taas alkeista sen jälkeen, eli joskus huhtikuussa. Se varmaan etenisi vähän nopeammin ja järjestelmällisemmin kun on kertaalleen noilla laudoilla jo harjoiteltu.

Mutta jos on digitaalitekniikka jotenkin tuttua, eikä pelota se että alussa varmasti tulee infoähky, niin kurssille mukaan vaan. Alkuun ainakin saa multa torstaisin devauslaudan lainaan.

---

<div class="post-metadata">

### Author: ![Tom](https://discourse.hacklab.fi/letter_avatar_proxy/v4/letter/t/3d9bf3/32.png) [@Tom](https://discourse.hacklab.fi/u/Tom)
#### Post date: [November 7, 2017, 2:31pm UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/30 "2017-11-07T14:31:00Z")

</div>

Koppi! Eli nyt vaan jäseneksi hacklabiin, laitatko mulle privana tai tähän vielä laudan tiedot, ja jos joku muu pläjäys, käytän huomisen ympäristön ihmettelyyn ja tulen paikalle 🙂

Asennanko mä ton Vivadon, vai jotain muuta?

---

<div class="post-metadata">

### Author: ![suovula](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/suovula/32/757_2.png) [@suovula](https://discourse.hacklab.fi/u/suovula)
#### Post date: [November 13, 2017, 7:28am UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/31 "2017-11-13T07:28:30Z")

</div>

Tämän viikon kurssi peruttu kun labilla siivotaan vesivahingon jälkeen tehtyjä löytöjä.

---

<div class="post-metadata">

### Author: ![suovula](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/suovula/32/757_2.png) [@suovula](https://discourse.hacklab.fi/u/suovula)
#### Post date: [December 4, 2017, 6:41am UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/32 "2017-12-04T06:41:41Z")

</div>

Nyt 7. päivä jää kurssi väliin kun olen matkoilla. Vuoden viimeinen kurssikerta on siis 14. päivä ja sitten pidämme kahden viikon joululoman. Syksy on mennyt vähän suunniteltua hitaammin, niin näillä näkymin jakamme sitä helmikuun lopulle.

Viimeksi ratkesi XADC:n epälineaarisuus, se siis toimii oikein, mutta ne 3.3V -\> 1V vastusjaot häiritsevät potikan käyttämistä suoraan, väliin pitäisi laittaa esimerkiksi opari puskuriksi. Sitten taas ne HALL-anturit kyllä jaksavat ajaa sitä suoraan.

Aloitimme myös HDMI:n perusteisuun tutustumisen ja demoamisen. Aika samalla tyylillä pystyisi myös ajamaan LVDS-väylällä olevia näyttöjä, Sharpin LQ104S1LG81 800x600 TFT  
-näyttöjä saattaisi olla jaossa jos vaan saadaan ensin yksi kytkettyä testaukseen.

---

<div class="post-metadata">

### Author: ![Tom](https://discourse.hacklab.fi/letter_avatar_proxy/v4/letter/t/3d9bf3/32.png) [@Tom](https://discourse.hacklab.fi/u/Tom)
#### Post date: [December 9, 2017, 11:31am UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/33 "2017-12-09T11:31:21Z")

</div>

Hei,

Voisitko laittaa vähän ranskiksia, mitä pitäisi tsekata ensi torstaiksi, kun en ollut viimeksi.

---

<div class="post-metadata">

### Author: ![suovula](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/suovula/32/757_2.png) [@suovula](https://discourse.hacklab.fi/u/suovula)
#### Post date: [December 13, 2017, 6:28pm UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/34 "2017-12-13T18:28:32Z")

</div>

Käsittelemme huomenna nopeiden digitaalisten differentiaalisignaalien generoimista. Esimerkkinä käytämme varsinkin vanhemmissa LCD-näytöissä käytettyä FPD-Linkkiä sekä HDMI/DVI ja DisplayPort-liityntöjä. Samoja periaatteita voi sitten soveltaa muidenkin nopeiden väylien kanssa ja näin harrastajalle nämä ovat hyviä koska ‘mittalaitteena’ toimii näyttö josta helposti näkee kuinka hyvin signaali menee perille.

Tässä kokoelma linkkejä refeenssiksi, saa selata etukäteen kunhan varoo informaatioähkyä:

#### [VGA-signaalin ajoituksista](http://lucidscience.com/pro-vga%20video%20generator-5.aspx)

- edelleen digitaalisissakin järjestelmissä kuva lähtetään riveittääin pikseli kerrallaan vasemmalta oikealle ja ylhäältä alas, rivien ja ruutujen välissä tyhjää jota ennen tarvittiin kuvaputken eletronisuihkun palauttamiseen, nykyään näissä tyjissä väleillä sitten siirretään audiota ja muuta dataa

#### [FPD-Link](https://en.wikipedia.org/wiki/FPD-Link)

- sähköisesti 2.5V [LVDS](https://en.wikipedia.org/wiki/Low-voltage_differential_signaling) ([DC-coupled](http://www.ti.com/lit/an/scaa062/scaa062.pdf))
- neljä lanea, yksi pikselikellolle ja kolmeen koodattu dataa 7-bittiä jolloin yhdellä pikselikellolla lähtettään 21-bittiä joista 3x6-bit RGB ja 3-bitillä syncit ja display enable

#### [HDMI/DVI](https://en.wikipedia.org/wiki/Digital_Visual_Interface)

- sähköisesti 3.3V [CML](https://en.wikipedia.org/wiki/Current-mode_logic) ([DC-coupled](http://www.ti.com/lit/an/scaa062/scaa062.pdf))
- [TMDS](https://en.wikipedia.org/wiki/Transition-minimized_differential_signaling), neljä lanea, yksi pikselikellolle, kolmeen koodattu 10-bittisenä (oma 8b/10b enkoodaus) 24-bittiä, neljällä ylimääräisellä 10-bit koodilla välitetään syncit ja display enable

#### [DisplayPort](https://en.wikipedia.org/wiki/DisplayPort)

- sähköisesti 2.5V [LVDS](https://en.wikipedia.org/wiki/Low-voltage_differential_signaling) ([AC-coupled](http://www.ti.com/lit/an/scaa059c/scaa059c.pdf))
- 1, 2 tai 4 lanea, pakettipohjainen, käytää standardia [8b/10b](https://en.wikipedia.org/wiki/8b/10b_encoding) enkoodausta

Kurssilla olevissa kehityslaudoissa ei ole suoraan 2.5V bank-jännitettä saatavilla, jolloin `LVDS_25` I/O-standardia ei virallisesti saa ulos, mutta tähän on muutamia ratkaisuja joita käydään huomenna läpi. HDMI/DVI:n `TMDS_33` taas onnistuukin suoraan.

Rohkeimmat voivat näitä vähän kurkkia, ne ovat 3- ja 6-sarjalaisille, mutta niistä näkee raudan evoluutiota ja 7-sarjalaisessa on vielä tehokkaampi `OSERDES` jolloin homma vielä vähän yksinkertaistuu.

- [Video Connectivity Using TMDS I/O in Spartan-3A FPGAs](https://www.xilinx.com/support/documentation/application_notes/xapp460.pdf)
- [Implementing a TMDS Video Interface in the Spartan-6 FPGA](https://www.xilinx.com/support/documentation/application_notes/xapp495_S6TMDS_Video_Interface.pdf)

---

<div class="post-metadata">

### Author: ![suovula](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/suovula/32/757_2.png) [@suovula](https://discourse.hacklab.fi/u/suovula)
#### Post date: [December 15, 2017, 10:06pm UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/35 "2017-12-15T22:06:29Z")

</div>

Sharpin LQ104S1LG81 FPD LVDS näyttö lähti toimimaan 2.5V bankkijännitteellä:  
[https://dl.dropboxusercontent.com/s/3vydr1t6vqc1jx7/FPD-LVDS-2V5-Sharp-LQ104S1LG81.jpg?dl=0](https://dl.dropboxusercontent.com/s/3vydr1t6vqc1jx7/FPD-LVDS-2V5-Sharp-LQ104S1LG81.jpg?dl=0)  
Mutta vaikka datasheettiä voisi tulkita että vähän yli 3.3V olisi sallittu, niin ei se hyväksynyt 3.3V TMDS-signaalia, eli väliin on pakko laittaa jotain.

---

<div class="post-metadata">

### Author: ![suovula](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/suovula/32/757_2.png) [@suovula](https://discourse.hacklab.fi/u/suovula)
#### Post date: [December 21, 2017, 3:20pm UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/36 "2017-12-21T15:20:25Z")

</div>

Kurssi siis nyt joulutauolla ja palaamme taas zynqistelemään torstaina 4.1.2018.

---

<div class="post-metadata">

### Author: ![suovula](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/suovula/32/757_2.png) [@suovula](https://discourse.hacklab.fi/u/suovula)
#### Post date: [January 11, 2018, 8:11pm UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/37 "2018-01-11T20:11:11Z")

</div>

Tänään teimme 400x300x6-bit framepuskurin joka juuri mahtui BRAMeihin helposti ja ajoimme HDMI-kuvaa ulos 800x600 resoluutiolla [paukkulankojen läpi](https://www.flickr.com/photos/helsinkihacklab/27858320509/). Sitten teimme yksinkertaisen videosoittimen joka kopsii [raakavideota](https://www.flickr.com/photos/helsinkihacklab/24768038377/) USB-tikulta näytölle.

Ensi kerralla jatkamme ja yritämme siirtää videomuistin DRAMiin jotta saamme kunnon resoluutiot käyttöön.

---

<div class="post-metadata">

### Author: ![karpio](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/karpio/32/914_2.png) [@karpio](https://discourse.hacklab.fi/u/karpio)
#### Post date: [January 17, 2018, 4:39pm UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/38 "2018-01-17T16:39:15Z")

</div>

Voisko projektista saada pdf-kuvan githubiin?

---

<div class="post-metadata">

### Author: ![suovula](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/suovula/32/757_2.png) [@suovula](https://discourse.hacklab.fi/u/suovula)
#### Post date: [January 17, 2018, 4:58pm UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/39 "2018-01-17T16:58:12Z")

</div>

Tässä ruudunkaappaus block designistä:

 ![20-hdmi-blockdesign](https://discourse.hacklab.fi/uploads/default/original/1X/97a43c3309bdcecf4617af59602d03a29518b538.png)

Ja Clocking Wizardiin

- Clocking Options -tabilta: MMCM, Freq.synth+Phase.align
- Output Clocks -tabilta: clk\_out1 = 40MHz, clk\_out2 = 200MHz, molempien toiseksi viimenen sarake, Drives = No buffer ja sivun alhaalta pois kaikki Enable Optional Inputs/ Outputs

Mutta näillä tiedoilla ei välttämättä vielä saa tyhjästä luotua toimivaa projektia. Mutta kunhan tästä saadaan parin viikon sisällä joku hyvä standalone demo aikaiseksi, teen tarkat ohjeet kuinka projekti rakennetaan millekin laudalle.

---

<div class="post-metadata">

### Author: ![suovula](https://discourse.hacklab.fi/user_avatar/discourse.hacklab.fi/suovula/32/757_2.png) [@suovula](https://discourse.hacklab.fi/u/suovula)
#### Post date: [January 30, 2018, 2:33pm UTC](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540/40 "2018-01-30T14:33:12Z")

</div>

Labin lattioita rempataan ja maalataan torstaina, eli pidetään nyt hiitolomaa tämä viikko.

**Kurssia ei siis torstaina 1.2.2018.**

[Previous page](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540.md?page=1)

[Next page](https://discourse.hacklab.fi/t/kurssi-digitaalitekniikka-pidettiin-torstaisin-ajalla-2-3-2017-24-5-2018/540.md?page=3)
