Cómo almacenar correctamente grandes valores en paralelo SRAM

2

Para un proyecto necesito determinar la frecuencia y el cambio de fase de hasta 16 canales. El rango de frecuencia es 0 a 3 kHz y la forma de la señal es cuadrada.

Mi primera idea fue usar el siguiente circuito para guardar las señales en una memoria IC (SRAM):

(CTR=Contadordedireccionesde16bits,TMR=21/32Temporizadordebits)

LoscanalesdeentradaINsemuestreanencadacicloCLKpositivo.Siseproduceunborde,elcontadordedireccionesseincrementayseestableceelbitWR(Habilitarescritura).

Luego,enelcicloCLKnegativo,laSRAMestaráactivayguardarálosdatossiseestablecióelbitWR.

EltemporizadorTMRsiempreseincrementaencadacicloCLKpositivo.

Lafrecuenciademuestreo(CLK)debeser20Mhzyelperíododemediciónes100ms:

Daunmáximode2'000'000.valorparaeltemporizador:Necesitoalmenos21bitsparaalmacenarelvalordeltemporizador:

21bits(temporizador)+16bits(canales)=37bits

PeroelbusdedatosdelaSRAMtienesolounanchode32,porloquenecesitoalmenosdosciclosdeescriturapararealizarmitarea.Noquierodisminuirlafrecuenciademuestreodebidoalaprecisiónnecesaria.Asíqueesanoesunaopción.

Noestoyexactamentesegurodecómopuedolograrlosdosciclosdeescritura,exceptoparaaumentarlafrecuenciadeescrituradelaSRAMaalgoridículocomo80MHz.OtraideamíafuesimplementeusardosSRAMenlugardeuna,peroestopareceterriblementeineficiente.

Asíquetodosereducealassiguientesdospreguntas:

  • ¿UnCPLDescapazdehacertallógicadealtavelocidad?(80MHzymás)TengoeltemordeexperimentarunsesgoderelojdentrodelCPLD:nopuedoprobarunCPLDporquenotengoelequipoadecuadoparagenerartalesseñalesdealtavelocidad.

  • ¿Estecircuito/ideaesinclusofactibleoyaesdemasiado"complejo"? ¿Hay soluciones más fáciles para mi problema?

pregunta d3L

0 respuestas

Lea otras preguntas en las etiquetas