# Transmisor serie de datos 8 bits



## sofialmau (Ago 29, 2007)

Buenas a todos;

Quisiera plantear esta duda a ver si algún alma caritativa me explica como funciona este circuito porque tengo el programa en ABEL y el diagrama de estados, pero la última parte en la sección de *equatios* cuando quiero dar la salida DOUT, no entiendo como irian los biestables conectados unos con otros y porque DOUT es combinacional, en resumen que no veo como irian conectados los 12 flip flpos. Enitendo que necesito 8 para registrar el dato DIN una vez que ha pasado el ciclo de reloj , pero no veo como se envia en serie para que puedan salir por DOUT;

Os describo el problema y os dejo el diseño en abel por si os ayuda. 

*Tengo un PLD en el que quiero implementar transmisor serie de datos 8 bits. La salida DOUT esta en alto normalente. Cuando la entrada ENVIA  se pone en alto, la salida DOUT se pone en bajo durante un ciclo de reloj, y acontinuación, la palabra de 8 bits presente en DIN, se envia en serie por la salida DOUT. Cada bit se transfiere  de forma sincrona con CLK  se mantiene en la línea de salida un ciclo de reloj. Suponiendo que la señal ENVIA sólo permanece activa durante un ciclo de reloj y que el dato a enviar solo permanece estable en DIN durante ese ciclo. La señal de RST es asincrona. Dibuja el circuito y decríbelo en ABEL*

El abel es el siguiente( o eso creo);

Module Enviar

CLK,RST,D7,...,D0,ENVIA pin;
DOUT pin istype ´com´;
R7,.....,RO pin istype ´reg´;
E7,.....,EO pin istype ´reg´;

DIN=[D7,...,DO];
R=[R7,...,RO];
EST=[E7,...,EO];
"Codificcion de estados"
REPOSO=[0,0,0,0]
INIZ=[0,0,0,1];
EN7=[0,0,1,0];

EN0=[1,0,0,1];

state_diagram EST
state REPOSO : if ENVIA  then INIZ 
                          else REPOSO
state INIZ:  gotto EN7
state EN7:  gotto EN6


state EN0:  gotto REPOSO

equations
"Registro de DIN"
when ENVIA then R:= DIN
   eslse R:=R
*"Ecuacion de salida!!!!ESTO NO LO ENTIENDO!!!"*

when ESTADO==REPOSO then DOUT = 1
  else when ESTADO==INIZ then DOUT = 0
  else when ESTADO==D7 then DOUT = R7


  else when ESTADO==D1 then DOUT = R1
  else DOUT= R0

R.re= RST;
ESTADO.re=RST;
R.clk= CLK;
ESTADO.clk=CLK;

end;

Le agradezco a cualquiera 1000! que me ayude porque tengo la cabeza un poco dura para esto del digital y me estoy desesperando.  

Saludos y de nuevo gracias a todo aquel que se preste a ayudarme

Sofía


----------



## fitocondria (Sep 12, 2007)

si puedes poner el programa abel, para descargarlo te lo agradecería, yo lo use hace tiempo, talvez te pueda ayudar.


----------



## sofialmau (Sep 12, 2007)

Hola;

Gracias por todo pero al final saqué la duda que tenia.
Ya tengo claro como funciona y para  que utilizo cada una de las variables, pero de todas formas gracias por el ofrecimiento.

Sofía


----------



## fitocondria (Sep 12, 2007)

Hola Sofía:

 Que bueno que tengas claro como funciona. Sabes te agradecería si pudieras proporcionarme el programa, ya que no lo encuentro en la red. Y el cd que venía con el libro y que incluía el programa abel se me a perdido en la mudanza.

 De antemano... gracias.


----------



## javierrbo (Mar 1, 2009)

que tal

una duda soy un principiante en esto de la electronica digital y continuamene necesito programas plds
(gal22v10d y gal16v8) ago el codigo con un programa llamado opal funciona bien pero alparecer ya es algo antiguo en libros y la web he visto mucho nombrar ABEL, pero no me queda claro quer es, si es un lenguaje o si es un software (programa) que asi se llama 

porfavor alguien que sepa de esto y me pueda proporcionar información.


----------



## viceh (Jun 4, 2010)

Mi estimado javierrbo
Te dejo un par de links donde vas a encontrar todo lo referente a ABEL que quiere decir (Advanced Boolean Equation Language)
Lenguaje Avanzado de Expresiones Booleanas, si no me equivoco

http://www.latticesemi.com/lit/docs/manuals/abel_ref.pdf
http://www.latticesemi.com/lit/docs/manuals/abel.pdf

lo malo es que está en ingles,
VHLD es otro lenguaje un poco mas complejo pero puedes describir funciones de mayor complejidad, 

aqui dejo las instrucciones para bajar un compilador que lanza LATTICE, la marca que fabrica los GAL, entre muchos otros PLDs CPLD y etc...

Descarga ispLEVER Classic 1.3 directamente del sitio de Lattice:
1. Accede a la siguiente liga:
http://www.latticesemi.com/products/designsoftware/isplever/ispleverclassic/index.cfm?source=sidebar
2. Selecciona solo ispLEVER-Classic Base Module.
3. Para descargarlo tendrás que registrarte como usuario en el sitio de Lattice. Se te solicitara hacerlo al momento de habilitar la descarga. Con una conexión rápida, te tardaras hasta 10 minutos para completar el proceso.
4. La versión instalada ocupara 764 MB aproximadamente, por lo que debes considerar el espacio útil en tu disco duro.
Por omisión, la ruta recomendada para la instalación es c:\ispLEVER_Classic1_3. Este proceso toma otros 10 o 15 minutos, dependiendo de las características de la computadora. Es necesario reiniciar la PC antes de abrir por primera vez ispLEVER.
5. Presiona el acceso directo a ispLEVER Project Navigator. Debido a que no se ha instalado una licencia, será necesario generarla a través de la aplicación Support Licensing o bien, accediendo directamente a https://www.latticesemi.com/account/login.cfm. Recuerda que el producto es ispLEVER Classic.
Se te solicitara tu usuario y password de Lattice, así como una dirección física (no es una IP).
Para obtener este número debes entrar a modo dos y desde c:/ escribir ipconfig/all. Las instrucciones están detalladas en la misma página de la solicitud de la licencia.
6. Una vez que se te envíe por correo la licencia, guárdala siguiendo las instrucciones que ispLEVER te dará. Por lo general se copia a c:\ispLEVER_Classic1_3\License.
7. Al acceder nuevamente a ispLEVER Project Navigator, la aplicación se abrirá sin problema.
8. Recuerda que la licencia que se te da tiene una vigencia por 6 meses, la cual puedes nuevamente renovarla.
9. La licencia es por máquina, por lo que si necesitas instalarla en otra máquina es necesario que esté conectada a internet para que puedas dar la dirección física de la máquina a donde desea instalar el software.


Suerte!!! espero que te sirva y si tienes alguna pregunta no dudes en hacerla, aqui siempre se encuentra una respuesta.


Gracias a quien lanzó este foro.


----------



## amnaranjo (Dic 2, 2010)

buenas tardes...
viejo me podes ayudar...
me toca hacer un programa en isplever para una gal16v8c la cual tiene q cumplir las mismas funciones q una alu (74ls181) de 4 bits.
para ver si me podes colaborar con eso.


----------



## 0rland0 (Feb 13, 2011)

hola, tengo unas dudas con respecto al isplever classic. Para escribir mi programa en ABEL abro el text editor? y con que extension lo tengo que guardar? Despues de tener ese archivo como genero el JEDEC?

Llevo unos dias leyendo el tutorial de la parte schematics porque lo vi mas facil. Para probarlo hice un contador asincrono modulo 8, pero me da un error a la hora de generar el JEDEC


----------

