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)

  • Onno (VK6FLAB)@lemmy.radio
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 month ago

    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.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      30 days 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