secuenciales en gal16v8

primero que nada hola a todos
Nesesito realizar un circuito para controlar un inversor multinivel trifasico con capacitores para ello tengo que hacer tres secuenciales que trabajen con el mismo clock y realizar diferentes conmutaciones con los capacitores, el diseño con flip-flop queda muy extenso y quisiera saber si alguien me puede proporcionar un tutorial o manual para realizar secuenciales en un gal cualquier ayuda o consejo que me puedan dar me sera de mucha utilidad.
 
Que tal te dejo este codigo en Wincupl, es usando una maquina de estado, una es con condicionante y otra sin ellas

Solo te queda cambiar el dispositivo por g16v8


Es un contador
Código:
Name     CONTADOR_DEC ;
PartNo   00 ;
Date     15/12/2009 ;
Revision 01 ;
Designer Jaime ;
Company  ceti ;
Assembly None ;
Location  ;
Device   g22v10 ;

/* *************** INPUT PINS *********************/
PIN   1  = CLK                        ; /*                                 */ 

/* *************** OUTPUT PINS *********************/
PIN  20   =         S0                ; /*                                 */ 
PIN  21   =         S1                ; /*                                 */ 
PIN  22   =         S2                ; /*                                 */ 
PIN  23   =         S3                ; /*                                 */ 


field cuenta=[S0,S1,S2,S3];



$define S0 'b'0000
$define S1 'b'0001
$define S2 'b'0010
$define S3 'b'0011
$define S4 'b'0100
$define S5 'b'0101
$define S6 'b'0110
$define S7 'b'0111
$define S8 'b'1000
$define S9 'b'1001


sequence cuenta{
present S0 next S1;
present S1 next S2;
present S2 next S3;
present S3 next S4;
present S4 next S5;
present S5 next S6;
present S6 next S7;
present S7 next S8;
present S8 next S9;
present S9 next S0;

}

Para el control de motores
Código:
Name     FULL_STEP ;
PartNo   00 ;
Date     23/03/2010 ;
Revision 01 ;
Designer Jaime ;
Company  CETI ;
Assembly None ;
Location  ;
Device   g22v10 ;


/* *************** INPUT PINS *********************/
PIN   1  = CLK                        ; /*                                 */ 
PIN   2  = AD                         ; /*        ASC O DESC               */ 

/* *************** OUTPUT PINS *********************/
PIN  20   =         S0                ; /*   bobina 1                              */ 
PIN  21   =         S1                ; /*   bobina 1                              */ 
PIN  22   =         S2                ; /*   bobina 2                              */ 
PIN  23   =         S3                ; /*   bobina 2                              */ 

field maquina=[S0,S1,S2,S3];

$define SA 'b' 0000
$define S0 'b' 0101
$define S1 'b' 1001
$define S2 'b' 1010
$define S3 'b' 0110

sequence maquina{
present SA
next S0;
present S0
if AD  next S1;
if !AD next S3;
present S1
if AD  next S2;
if !AD next S0; 
present S2 
if AD  next S3;
if !AD next S1;
present S3 
if AD  next S0;
if !AD next S2;
}
 
Atrás
Arriba