Electronics > Projects, Designs, and Technical Stuff
16 bit to 4 digit 7 segment decoder
edavid:
I think the PROM approach looks pretty good sort of OK compared to GALs:
GAL: 2X 22V10 (SDIP24) + MOSFETS + clock
PROM: AT29C020 or equivalent (DIP32) + 74HC4060 (DIP16)
PROM: AT29C020 or equivalent (DIP32) + 74HC4060 (DIP16) + 74HC138 (DIP16)
oPossum:
--- Quote from: edavid on December 22, 2019, 03:32:49 am ---PROM: AT29C020 or equivalent (DIP32) + 74HC4060 (DIP16)
--- End quote ---
How would the cathodes be driven?
edavid:
--- Quote from: oPossum on December 22, 2019, 06:18:36 am ---
--- Quote from: edavid on December 22, 2019, 03:32:49 am ---PROM: AT29C020 or equivalent (DIP32) + 74HC4060 (DIP16)
--- End quote ---
How would the cathodes be driven?
--- End quote ---
Oops, what was I thinking |O
You would also need a 74HC138 or similar.
(Or 29F400 + 74HC04 + 74HC74, but I don't like that as much.)
SiliconWizard:
--- Quote from: obiwanjacobi on December 19, 2019, 06:43:19 pm ---
--- Quote from: SiliconWizard on December 19, 2019, 05:47:26 pm ---You can actually do the same with a larger EEPROM/Flash: a 128Kx16 (I saw you can find Flash parallel 128Kx16 chips for about $1 from Microchip for instance), driving 2 digits at a time instead of one. Then the multiplexing signal would need to be only one bit as above, and you can implement the multiplexing the exact same way with just one additional chip.
Sure, unless you're very against using an MCU, this will be your simplest bet here. Don't bother using extra interface chips IMO. You can easily find MCUs with enough IOs for very cheap (and you could actually add additional interfaces in it apart from the parallel data for reusing it in other settings...)
--- End quote ---
The display unit has its segments connected across the 4 digits, so I cannot use a 16-bit lookup table output. I need to multiplex its common cathodes for each digit.
--- End quote ---
Then the following arrangement would do it:
* Use the same 128Kx16 Flash chip (eg.: SST39LF200A-55-4C-EKE, ~ $1) Use a 256Kx16 Flash/EPROM/EEPROM chip (eg.: SST39LF400A-55-4C-EKE, ~ $1.50);
* Same address input: your 16 data bits, plus 2 bits for the digit index;
* Use the data output as such: 7 bits for the segments, 4 bits for the digit select (others bits can be ignored);
* Use an additional 4060 as an oscillator for the multiplexing + use two of its counter output for the digit index (to the Flash address).
Done?
The only thing is if you need to latch the input data, I think you'll need an additional chip...?
(Clearly the MCU approach or small FPGA such as iCE40 would be more flexible and would require just one chip, but if you want to go the more "discrete" path...)
PA0PBZ:
--- Quote from: SiliconWizard on December 22, 2019, 05:55:31 pm ---* Use the same 128Kx16 Flash chip (eg.: SST39LF200A-55-4C-EKE, ~ $1);
* Same address input: your 16 data bits, plus 2 bits for the digit index;
* Use the data output as such: 7 bits for the segments, 4 bits for the digit select (others bits can be ignored);
* Use an additional 4060 as an oscillator for the multiplexing + use two of its counter output for the digit index (to the Flash address).
--- End quote ---
Since you already have the digit index why do you need a digit select output? That way you only need an 8 bit chip.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version