TotiPWM Inserito: 1 marzo 2005 Segnala Share Inserito: 1 marzo 2005 Salve, ho un proplema con un dispositivo il quale trasmetta 5 byte da 8 bites e un bit di start con una trasmissione di tipo PWM.La trasmissione si ottiene modulando l’alimentazione della linea dati del dispositivo tra il massimo livello +12Vdc e il minimo livello +1Vdc.Lo start della trasmissione dei dati si ottiene mettendo giù la linea per un predeterminato tempo chiamato (T-Start), questo consente a tutti i dispositivi connessi alla linea dati di intercettare l’inizio della trasmissione.La trasmissione dei dati comincia dopo il tempo (T-Start). La fine della trasmissione dei dati si ottiene tenendo al massimo livello la linea dati +12Vdc per un tempo compreso tra 300ms e 500ms.I Bit sono trasmessi con la tecnica del PWM (Pulse Width Modulation), la stringa dei dati è trasmessa senza soluzione di continuità e senza interruzione tra i vari bytes.Il Bit start si ottiene con il fronte di risalita (il livello cambia da +1Vdc a +12Vdc), mentre il rapporto tra il tempo del livello alto (VH) e quello basso (VL) indica se si riceve un bit “0” o “1” , con il metodo seguente:Se il tempo del livello alto (VH) è = a 2/3 di T.Bit si riceve un bit “0”Se il tempo del livello basso (VH) è = a 1/3 di T.Bit si riceve un bit “1”.Il problema consiste nel codificare il segnale PWM del dispositivo in un segnale digitale per essere processato da un software scritto in VB6. spero di essere stato chiaro ringrazio tutti coloro che mi daranno una soluzione.PS ho già costruito l'interfaccia tra il dispositivo e la com del pc. Link al commento Condividi su altri siti More sharing options...
rguaresc Inserita: 1 marzo 2005 Segnala Share Inserita: 1 marzo 2005 (modificato) Leggerei "Se il tempo del livello alto (VH) è = a 1/3 di T.Bit si riceve un bit “1”."Questa trasmissione per ogni bit ti manda un fronte di salita sia per dato 0 che per dato 1. Lo puoi usare per sincronizzare la lettura. Il margine di errore nel timing asincrono è dato dalla differenza tra 0,5 TBit e 1/3 Tbit cioè circa 0,16 TBit. 0 Attendi l'inizio della trasmissione....inizia!1 Fai 40 volte le due righe sotto2 Attendi 0,5 TBit: leggi tensione se 12 V dato:=0 altrimenti dato:=1; salva dato con indice Contatore3 Attendi il prossimo fronte di salita poi vai alla riga 2Se la trasmissione si completa non ci sono problemi, altrimenti devi mettere un tempo massimo alla riga 3.PS ho già costruito l'interfaccia tra il dispositivo e la com del pc. Modificato: 1 marzo 2005 da rguaresc Link al commento Condividi su altri siti More sharing options...
ifachsoftware Inserita: 2 marzo 2005 Segnala Share Inserita: 2 marzo 2005 Scusa la domanda , ma il dispositivo che invia in PWM e' un dispositivo gia' fatto che devi interfacciare o e' una tua apparecchiatura con cui vuoi trasmettere in PWM ?Perche' se puoi modificare l'apparecchiatura sicuramente ti conviene andare in seriale , invece che incasinarti con il PWM.Nel secondo caso data la difficolta' nell'interfacciare tale apparecchio con l'RS232 di un PC ti consiglio di crearti un adattatore (per esempio con un PIC) che da un lato legge i dati dal PWM su interrupt , decodifica il comando e le lo gira in RS232.Ciao Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora