Decodificador HEX para indicador LED de 2 dígitos y 7 segmentos en un (!) GAL16V8

Aquellos a los que les gusta la retrocomputación en el campo del autoensamblaje de computadoras basadas en procesadores de 8 bits (i8080 / i8085 / z80 / z180 / 6502/6809, etc.) o microcontroladores, generalmente enfrentan la necesidad de mostrar durante la depuración y / o "operación" cualquier información (contenido de buses de direcciones, datos, etc.) en pantallas de 7 segmentos en representación hexadecimal.





En principio, la tarea de mostrar dígitos hexadecimales se resuelve fácilmente mediante el número requerido de indicadores TIL311 "inteligentes"  . Desarrollados por Texas Instruments mucho antes de que se extinguieran los dinosaurios, estos conocidos indicadores todavía están en producción y se pueden encontrar en  Aliexpress .





A pesar de la facilidad de uso, estos indicadores también tienen importantes inconvenientes, a saber:





  • Costo relativamente alto: incluso en Aliexpress, estos indicadores no son baratos en absoluto (en comparación con los indicadores convencionales de 7 segmentos) y no los comprará para uso futuro según el principio de "tal vez sean útiles";





  • Falta de distancia para caminar: deben ordenarse y esperarse especialmente, es decir, no es en absoluto el caso cuando necesitas simular algo para una mano rápida;





  • — , .





, , 7- LED-  . , , (. GAL16V8) — , ( ) , , .





1 GAL16V8 1- 16- ,   16-    GAL16V8 ( ).






1: ?

/ 7- LED-   — A , D , , — . 





, ( )   , 4- — ƒ(A,B,C,D):





    .   MS Excel, «» , ( ).





, ,  a     3 (, ) 4 ( '═══', '───',   '−−−' - '−∙−∙').





    , .. () . , ( ), . 





:





a-g — F(A,B,C,D),

*  — '' ( , ),

+ — '' ( , ), 

\ — '' ( )





GAL16V8   7- .   7-    GAL16V8 . ?





« GAL16V8?» , 2- , , . , .






?

—  ?





. 'e'.

, 10 16- — 0  2  6  8 A  B  C  D  E  F.





, 0000  0010  0110  1000  1010  1011  1100  1101  1110  1111.









e(A, B, C, D) = \A*\B*\C*\D + \A*\B*C*\D + \A*B*C*\D + A*\B*\C*\D +

A*\B*C*\D + A*\B*C*D + A*B*\C*\D + A*B*\C*D + A*B*C*\D + A*B*C*D





(.. ,  )  .    .   (). , 10,  4 :





e(A, B, C, D) = \B*\D + C*\D +  A*B + A*C*D





   GAL4V1 ( , GAL-, , — ): 





Dispositivo simplificado de microcircuitos GAL en el ejemplo de un hipotético microcircuito GAL4V1
GAL GAL4V1

GAL4V1 :





  • ,     'X' '\X';





  • , ( 5 ) , '';





  • , '';





  • , ' ' (eXclusive OR - XOR) .





, , .   , -  e (A, B, C, D) (. ).





, , GAL4V1?  (4), (1) (5), —  , , 4- 5-.





 e(A, B, C, D) , «» , 'a' (7 ).

, ... 





))





GAL-

GAL- GAL4V1? — , GAL- / :





  • , .. , ( 8 GAL16V8 GAL20V8, 10 GAL18V10 GAL22V10, 12 GAL26V12 GAL26CV12);





  • (7-8 GAL16V8 GAL20V8, 8-10 GAL18V10, 8-16 GAL22V10 GAL26v12, 8-12 GAL26CV12);





  • , .. , ( 16 GAL16V8, 18 GAL18V10, 20 GAL20V8, 22 GAL22V10 26 GAL26V12 GAL26V12);





  • ( ) « », «-» «» ( );





  • .





GAL 1- (D-), / (GAL16V8 GAL20V8) - (GAL18V10, GAL22V10 GAL26V12/GAL26CV12). 





GAL- , , .





1- , GAL- " " (OLMC — Output Logic MacroCell).





GAL4V1

Y A (.. ). 1 :





Y(A) = A





Y A ,    B   :





Y(A, B) = A * \B





2- , 1 .





— Y A , B   , C   :





Y(A, B, C) = A * B * \C





, , .





  C , Y A,    C , Y B:





Y(A, B, C) = A * \C + B * C





. 3- , ,   2-   2 () , 1- . ? , — « ».





?

(/) 7- . 7+7=14 ( , , 16). 





, GAL, .





, 2- 7- , , — (.. ) .





GAL16V8?

 GAL16V8 , (.. , 1- ) 3- , .. Registered, Complex Simple. , .





 Simple  ( 8) GAL4V1,  8  — 10. .





 Complex  Simple,  Output Enable (\OE), .  7 . — 10.





 Registered  ( ) XOR- 1- (D-), CLK, 1 . \OE, 11 . — 8. , Complex 7 . — 8.





?

GAL16V8 , .. 4 ( 'e') 7 ( 'a') .





, .. 7- GAL16V8, , 7 ( 'a'), 2- 2 .





, ,   , 7- ,  7- GAL16V8.





  7- GAL16V8






2: - !

(.. ) , .. Simple Registered, 8 . 





, , GAL16V8 16-    4- . ? 





, 1-   , .. , .





,   ? , - , , ( ) , . 





,     , «» , «» , .





. «»     , ('\' '/'). , «» : 





, 7- \a(A,B,C,D), \b(A,B,C,D), ..., \g(A,B,C,D) 4-, !





, , GAL4V1, ;)





.





GAL16V8D

— 2 DIP- :





— 555 ( ). — PNP 100 . — 7-  .





. ,    , «»    , «». 





XOR- GAL16V8 LED-  , GAL16V8D , :





 GAL16VP8  - ( 64 ), . (  ).





2- LED- ( 200- 4- , ):





GAL16V8 WinCUPL, :





( , WinCUPL ), ...





, EN_L , . ,  -





— , (.. , ), , 2-, ( )  EN_i  ,  EN_j, :





, / , EN_L EN_H GAL16V8, «EN_L  =  ! EN_H» : 





EN_L, , ( ) ( LED1/LED2 ). 





GAL16V8D JED- ( ) MiniPro TL866A.





— , , —  GAL16V8   7- :






En el proceso de creación de este artículo, me encontré con una buena publicación sobre Habré - PAL, GAL y un viaje al retro digital / Habr (habr.com) y pensé que mi caso podría ser de interés para aquellos que quieran entender cómo funciona. realmente funciona y quién no cree que los rollos crezcan en la tienda, el agua viene del grifo y la electricidad del tomacorriente.








All Articles