VHDL - hloupe otazky

balu@home balu na k-net.fr
Čtvrtek Leden 2 00:45:04 CET 2014


myslim ze to co som vam posielal je velmi podobne tomu co chcete urobit. 
Sekvencer bude este generovat adresy pre zapis.
b.



On 02/01/2014 00:43, hw na itherm.cz wrote:
> S blokem na spi pocitam, to je mi jasne.
>
> Cteni bude stale stejne, jedna se o pullovani dat I/O modulu, tzn zapsat
> 3byte, prijmout 16byte dat.
> Udelam to tedy stavovym automatem, tady bude jednoduchy.
>
> Dekuju, bal jsem se hlavne ze jsem neco prehledl a chci to delat zbytecne
> slozite.
>
> Pavel
>
>
> -----Original Message-----
> From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of balu na home
> Sent: 2. ledna 2014 0:36
> To: HW-news
> Subject: Re: VHDL - hloupe otazky
>
> hlupe otazky nie su :-)
>
> Ako pisal kolega David, klucove slovo je stavovy automat, alebo anglicky
> state machine.
>
> Napiste si genericky blok SPI interface (tiez je to s velkou
> pravdepodobnostou stavovy automat), ktory sa spusti pulzom start a po
> ukonceni cinnosti zase vygeneruje pulz hotovo.
> Pri spusteni si precita vstupne data a pri ukonceni citania zase na vystup
> vypluje precitane data.
>
> Potom si pripravte druhy stavovy automat, ktory bude pripravovat data a
> spustat vysielanie, resp. zbierat prijate data. Presne tak ako to robite v
> programe.
>
> Sekvencia moze vyzerat nasledovne
>
> - priprav byte 1 na odoslanie a posli start pulz
> - cakaj na hotovo
> - priprav byte 2 na odoslanie a posli start pulz
> - cakaj na hotovo
> - priprav byte 3 na odoslanie a posli start pulz
> - cakaj na hotovo
> - spusti citaciu sekvenciu, priprav na zbernicu adresu kam sa zapise prvy
> bajt
> - ked pride hotovo zapis data do pamate
> - spusti citaciu sekvenciu, priprav na zbernicu adresu kam sa zapise druhy
> bajt .
> .
> .
> - spusti citanie 16. bajtu
>
>
> Zhodou okolnosti som nieco podobne asi pred rokom robil. Male CPLD cita
> 16 kanalovy AD prevodnik po SPI a data posiela po seriovej linke von.
> http://dvaluch.web.cern.ch/dvaluch/temp/sequencer/
> (je to klikatelne, prejdite si cely kod) Blok channelsequencer pripravuje
> cislo nasledujuceho kanala ktory sa ma navzorkovat. Ma vystupy
> startconversion a next channel.
> Tieto sa pouziju ako vstup do bloku ADCsequencer, ktory nie je nic iny ako
> SPI interface. Po spusteni prejde 16 bitov a vyhodi pulz valid a odmerane
> data.
> Tieto potom sluzia na spustenie serioveho prenosu po optickom vlakne z bloku
> link_seq a zaroven povedia channel sequenceru ze moze ziadat o dalsi kanal.
> Linkseq je modifikovane SPI, posiela po jednom vlakne clock a po druhom
> vlakne na nabeznej hrane data a na padajucej hrane /CS signal.
> Multiplexer init sluzi na inicializaciu ad prevodnika. Muselo sa to cele
> zmestit do 256 makroceloveho cpld takze je to robene 'dirty' ale s ohladom
> na optimalizaciu pouzitej logiky.
>
> b.
>
>
>
>
> On 01/01/2014 23:45, hw na itherm.cz wrote:
>> Zdravim konferu,
>>
>> Po otazkach na signed/unsigned mam dalsi hloupy dotaz na VHDL.
>>
>> Chtel bych vycitat nejaka data pomoci SPI.
>>
>> Jsem schopny udelat odesilani bajtu po spi a prijde mi to celkem ok.
>>
>> Jak se ale pak dela napriklad situace kdy potrebuju zapsat 3 byte,
>> precist jich 16 a prijata data zapsat do ruznych registru.
>>
>> V klasickem programovacim jazyku si udelam funkci na zapis/cteni byte
>> po spi, a tu budu pravidelne volat.
>>
>> Jak se ale podobne veci resi ve vhdl.
>>
>> Napada me udelat si process s citacem do 19 a pomoci CASE a WHEN pro
>> jednotlive byte vzdy udelat spravnou udalost (povolit prijem, zapsat
>> do registru, zvysit citac o 1)
>>
>> Je toto spravny postup?
>>
>> Diy za rady
>>
>> Pavel
>>
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>


Další informace o konferenci Hw-list