this post was submitted on 27 Nov 2024
7 points (100.0% liked)

Ask Electronics

3335 readers
12 users here now

For questions about component-level electronic circuits, tools and equipment.

Rules

1: Be nice.

2: Be on-topic (eg: Electronic, not electrical).

3: No commercial stuff, buying, selling or valuations.

4: Be safe.


founded 1 year ago
MODERATORS
 

I’m working on driving a very finicky lcd. I have it working now with an FPGA dev kit. I had to use an FPGA because some of the timing requirements are in the tens of nanoseconds.

At the end of the day, I wrote a block for a one shot/continuous clock with a programmable duty cycle and initial delay. This block was repeated six times for the various clocks with their specific values.

Moving to the final product, this feels like overkill. In the past, I’ve managed to make this kind of thing work with a Rube Goldberg collection of on-board timer/counters on the microcontroller.

I’d like to avoid that mess this time around. If I can generate the clocks externally, I can have the host MCU send the data quickly using DMA.

An FPGA works great, but they’re expensive and there’s the issue of licensing for FPGA and and CPLD software.

I’ve seen this problem solved with a lookup table, but there aren’t a lot of cheap/small rom/ram options for what I’m trying to do.

Basically, what I’m asking is is there a component that can be easily programmed to generate a number of clocks, doesn’t need any costly software licensing, and comes in a very small package? (Like wlcsp)

you are viewing a single comment's thread
view the rest of the comments
[–] vk6flab@lemmy.radio 7 points 18 hours ago (1 children)

Can you use a crystal oscillator and multiply or divide the signal as required, rather than use software, or do you need the flexibility that software provides?

[–] ch00f@lemmy.world 1 points 11 hours ago

It’s far too fast to do it in software. Thus the FPGA.

But yes, it needs a very specific set of six clock signals. Not something easy to achieve with discrete logic if that’s what you’re suggesting. data sheet