Bifase Mark e decodifica

Buongiorno a tutti, ho necessità di reperire informazioni sul sistema Bifase Mark. In particolare dovrei decodificare uno stream (bifase mark) attraverso un PIC o anche uno Z80. Ho scovato qualche datasheet in rete, e scartando le applicazioni "hardware" con pll e integrati dedicati, ho trovato solo qualche flowchart abbastanza scarno e del tutto incomprensibile. La mia domanda: ho ricavato dal flowchart e dai diagrammi temporali che bisogna campionare l'ingresso dati ad un intervallo di tempo preciso, e tramite operazione di xor ricavare il dato da immagazzinare in buffer. Però prima si necessita di sincronizzare. Quello che non riesco a capire è il metodo con cui sincronizzarmi, e il modo con cui calcolare l'intervallo di campionamento. Grazie a tutti per l'attenzione. Ciao. MrX

Reply to
Gurz
Loading thread data ...

Il campionamento deve essere ad un multiplo del bitrate (oversampling). Tipicamente 4 o 16 volte. Quando il campione letto cambia stato ((New xor Old) != 0) si azzera il contatore di oversampling. Quando il contatore di oversampling raggiunge metà valore di oversampling si tiene buono il valore letto come bit di dato.

Che stream è?

Ciao.

lucky

--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
Reply to
lucky

Ciao Feci tempo fa la decodifica delle telescriventi a 50 baud in assembler su 286 . Non e' la stessa cosa ,ma assomiglia. Non usavo sincronismo,salvo trovare i bit di start e di stop poi uno shift per parallelare i 5 bit e una semplice conversione codice / letter o numeri. Se ti serve la routine in assembler, ricordami TTY50B.asm

Ciao Giorgio

Reply to
Giorgio Montaguti

Bifase

Il bit rate e' fisso o variabile e ti devi adattare alla velocita' di volta in volta? Di che ordine di grandezza? Cosi' per capire se e' fattibile via software. Per caso e' il segnale di un transponder? Se il bit rate e' fisso e non troppo veloce, fino a qualche Kb/s, e' abbastanza elementare farlo in software.

Reply to
Valeria Dal Monte

Grazie per la risposta, lo stream proviene da un nastro magnetico. Ciao.

Reply to
Gurz

No è fisso.

1.95 kbit/s

No, ma ci assomiglia molto.

Pendo dalle tue labbra :-) Per adesso con i vostri dati e quelli in mio possesso ho riassunto che, devo sincronizzarmi in questo modo: I segnali sono Fo (stato logico 1) 2Fo (stato logico 0). Attendo due fronti in modo da trovare nello stream il 2Fo, dopodiche campiono, attendo un periodo di oversampling e campiono ancora. Eseguo la Xor tra i due campioni e finalmente ho il mio dato 1 o 0 da memorizzare. Il ciclo si ripete per il numero di bit che devo memorizzare. E' corretto ?

Reply to
Gurz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.