Pagina 1 di 1

Generatore di codici (Esercizio)

MessaggioInviato: 12 lug 2013, 17:19
da pedra31
Salve , sono di nuovo qui , alle prese con un progettino , l'ho svolto ed ho cercato di svilupparlo con fidocad , ma perdonate la mia ignoranza a riguardo :-P ! Allego il testo , svolgimento e considerazioni .
Progettare un generatore di codici a 4 bit nel modo che segue
- pigiando il tasto A si ottiene la parola 1000;
- pigiando il tasto B si ottiene la parola 1100;
- pigiando il tasto C si ottiene la parola 1110;

Poiché il bit più significativo e il meno significativo saranno rispettivamente 1 e 0 nel caso in cui venga pigiato un solo tasto , ho codificato "solo" i bit intermedi .
pigiando contemporaneamente i tre tasti si ottiene la parola 1111. Inoltre, se i tasti vengono premuti per più di un secondo, la parola
selezionata viene ripetuta ciclicamente sino a quando i tasti non vengono rilasciati.Si dispone di un clock di tipo TTL a frequenza pari a 10 kHz.

Ho implementato un contatore mod 10000 che fa da divisore di frequenza del Clock di 10kHz , cosi quando la pressione è 1 s la parola viene ripetuta ciclicamente . E' sommariamente corretto ? . Non è un compito da consegnare ma un esercizio che dovevo fare ai tempi del corso :oops: .


Re: Generatore di codici (Esercizio)

MessaggioInviato: 13 lug 2013, 2:14
da claudiocedrone
:-| Premetto che di queste cose non capisco un'acca... ma dove sarebbe lo svolgimento ?
Avrai dovuto sviluppare una macchina a stati o qualche altra diavoleria del genere :? ... O_/

Re: Generatore di codici (Esercizio)

MessaggioInviato: 13 lug 2013, 9:42
da pedra31
claudiocedrone ha scritto::-| Premetto che di queste cose non capisco un'acca... ma dove sarebbe lo svolgimento ?
Avrai dovuto sviluppare una macchina a stati o qualche altra diavoleria del genere :? ... O_/

Al massimo lo schema a blocchi , lo allego nella speranza di ottenere un chiarimento ...

Re: Generatore di codici (Esercizio)

MessaggioInviato: 13 lug 2013, 10:11
da g.schgor
E questa sarebbe la spiegazione del circuito?
Suggerirei di partire dal PISO per "costruire" il codice
relativo a ciascun pulsante, stabilendo anche
il clock per l'emissione del codice in forma seriale.

Re: Generatore di codici (Esercizio)

MessaggioInviato: 13 lug 2013, 10:45
da pedra31
g.schgor ha scritto:E questa sarebbe la spiegazione del circuito?
Suggerirei di partire dal PISO per "costruire" il codice
relativo a ciascun pulsante, stabilendo anche
il clock per l'emissione del codice in forma seriale.

Perché dal PISO ? #-o
Sono nel panico ! Cerco di spiegare come ho interpretato questo progetto .
-Fase di codifica :
Ho una tastiera con 3 tasti : A , B, C . A=1000 , B=1100 , C=1110 .Se vengono premuti contemporaneamente tutti e 3 i tasti avrò la combinazione ABC =1111
. Quindi utilizzo un Encoder TTL 74148 , codificatore a priorità da 8 a 3 linee . Ad esempio se l'utente preme il tasto A , la sua linea passa al livello alto e viene attivata la linea 0 dell'encoder , se preme B o C verranno invece attivate rispettivamente le linee 2,3. Quando preme contemporaneamente i 3 tasti ABC , invece verra attivata la linea 7 .
L'encoder mi darà in uscita il codice binario corrispondente , ho notato che ho fatto un errore nello schema elettronico , ho considerato 4 uscite dall' encoder mentre ne ha solamente 3 !
Ma questo non dovrebbe rappresentare un problema perché per codificare A,B,C "singolarmente" mi bastano 2 bit , il più significativo (3° bit) verrà attivato solo quando vengono pigiati tutti e tre i tasti ABC.
-Fase di scrittura e lettura dei dati codificati :
I dati codificati devono essere salvati all'interno di un PISO , il quale viene abilitato alla scrittura dall'impulso di clock che arriva dopo la pressione di uno dei tasti o di tutti e 3 . Mentre la fase di lettura l'ho impostata seriale perché così era suggerito nel testo (se l'ho interpretato in modo corretto ). L'enable del Clock viene inoltre attivata anche nel caso in cui la pressione del tasto dura più di 1 s.
-Fase pressione per piu di 1s ripetizione ciclica del codice da parte del generatore :
(Pensavo di sbagliare solo qui :oops: )
Il clock si attiva quando viene premuto un tasto , o tutti e 3 , inoltre ogni qual volta viene attivato , attiva il contatore per 10000 , che nella mia ipotesi funziona come un divisore di frequenza . Ho pensato (la sparerò grossa >ò< ) se ho un clock da 10Khz (10.000 impulsi al secondo) utilizzando un contatore modulo 10.000 come divisore di frequenza otterrò 1s prendendo le uscite corrispondenti a questa combinazione mettendole in una nand avrò l'uscita a livello alto (...una and mi avrebbe dato sempre 0 in uscita per tale combinazione... ) mettendo in and questa uscita con l'uscita della or di attivazione di un tasto avrò 1 in uscita quando il tasto è premuto per più di 1 s , riattivando il clock per tale evento ottengo la ripetizione ciclica .

Re: Generatore di codici (Esercizio)

MessaggioInviato: 13 lug 2013, 12:07
da g.schgor
Ma PISO è la sigla di uno shift-register con funzionamento
Parallel-In-Serial-Out, quindi ne ho interpretato l'uso per
produrre il codice in forma seriale (la forma parallela è già
data dal codificatore).
Mi sembra questo un punto da chiarire.

Re: Generatore di codici (Esercizio)

MessaggioInviato: 13 lug 2013, 12:15
da pedra31
g.schgor ha scritto:Ma PISO è la sigla di uno shift-register con funzionamento
Parallel-In-Serial-Out, quindi ne ho interpretato l'uso per
produrre il codice in forma seriale (la forma parallela è già
data dal codificatore).
Mi sembra questo un punto da chiarire.

Mi illumini.. :cry:

Re: Generatore di codici (Esercizio)

MessaggioInviato: 13 lug 2013, 16:35
da g.schgor
Guardando lo schema a blocchi vedo principalmente
il blocco dei tasti, quello del codificatore e quello del PISO.
Quest'ultimo sembra dunque ricevere dal codificatore
i 3 bit più significativi (il bit meno significativo è a 0).
Con il Clock, il codice generato può essere quindi
trasmesso serialmente.

Se è così, bisogna stabilire le condizioni del Clock e la
variante con i 3 tasti premuti.