Autor Tema: Velocidad máxima real de sn74hc595-ep y 25LC1024  (Leído 5990 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5425
Re: Velocidad máxima real de sn74hc595-ep y 25LC1024
« Respuesta #30 en: 13 de Septiembre de 2014, 10:08:08 »
y yo creo que como siempre te largas a opinar sin siquiera leer de lo que se esta hablando.

http://www.todopic.com.ar/foros/index.php?topic=43384.msg359424#msg359424

sds.


Y yo creo que como siempre, te largas a opinar sin siquiera leer de lo que estoy hablando.

En cuanto a lo que dices, no es cierto. He leído lo que se comenta en el hilo y otros relacionados.


Usando el SPI a 1Mhz por interrupciones, da tiempo de sobra para enviar los 64 bits (8 bytes) en 100us.


El tamaño del POV (25cm) y la velocidad de rotación (1300rpm = 136 rad/s) producen una aceleración en la punta de 4624 m/s^2, es decir 472 veces la aceleración de la gravedad.
Una pieza de 10g pasará a pesar como si tuviese 4.72 kilogramos, moviéndose a una velocidad de 122 kilómetros por hora.
Eso puede llegar a ser peligroso, sobre todo si hay niños por el medio.


La memoria necesaria para el dibujo es de 64bits x 480posiciones = 30720 bits = 3840 bytes.
Eso no hace falta guardarlo en una memoria externa. Basta y sobra con la ram de un buen micro de 8 bits, o con la flash si va a ser un dibujo fijo.

Saludos.



Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: Velocidad máxima real de sn74hc595-ep y 25LC1024
« Respuesta #31 en: 13 de Septiembre de 2014, 10:31:39 »
y yo creo que como siempre te largas a opinar sin siquiera leer de lo que se esta hablando.

http://www.todopic.com.ar/foros/index.php?topic=43384.msg359424#msg359424

sds.


Y yo creo que como siempre, te largas a opinar sin siquiera leer de lo que estoy hablando.

En cuanto a lo que dices, no es cierto. He leído lo que se comenta en el hilo y otros relacionados.


Usando el SPI a 1Mhz por interrupciones, da tiempo de sobra para enviar los 64 bits (8 bytes) en 100us.


El tamaño del POV (25cm) y la velocidad de rotación (1300rpm = 136 rad/s) producen una aceleración en la punta de 4624 m/s^2, es decir 472 veces la aceleración de la gravedad.
Una pieza de 10g pasará a pesar como si tuviese 4.72 kilogramos, moviéndose a una velocidad de 122 kilómetros por hora.
Eso puede llegar a ser peligroso, sobre todo si hay niños por el medio.


La memoria necesaria para el dibujo es de 64bits x 480posiciones = 30720 bits = 3840 bytes.
Eso no hace falta guardarlo en una memoria externa. Basta y sobra con la ram de un buen micro de 8 bits, o con la flash si va a ser un dibujo fijo.

Saludos.




si lo huvieses leído no huvieses preguntado por la velocidad de rotacion ni nada de lo que preguntaste.

en el post original expliqué porque quiero llegar a 10MHz. Tambien hicimos los calculos a 5MHz. También expliqué que todos los años vamos mejorando el sistema y la idea de este año es tener una plataforma de hardware que permita obtener mejores resultados el año que viene.

No te preocupes por la seguridad, el año pasado el mismo POV giraba a 2400RPM (podes ver la foto del dibujo feo del reloj que obtuvimos) y no se desprendió ningun componente. De todos modos, no creo que sea más peligroso que un ventilador de pié o un ventilador de techo... Si lo tocas te corta, ovbio, pero en el colegio los chicos saben eso.

La memoria necesesaria ya la calculamos, sabemos hacer una multiplicacion.

El uso de una memoria más grande es para poder almacenar varias imágenes y hacer una especie de video.

Saludos y gracias por los consejos!
-
Leonardo Garberoglio

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5425
Re: Velocidad máxima real de sn74hc595-ep y 25LC1024
« Respuesta #32 en: 13 de Septiembre de 2014, 10:53:29 »
Leyendo tu hilo me he animado a incluir en mi lista de proyectos un POV. Es bastante interesante.

El tema de la seguridad es para mí fundamental y las cifras asustan bastante, de manera que me alegro de que sea seguro.

En cuanto al micro a utilizar, desde luego para hacer vídeo un micro de 8 bits no da lo suficiente.
En cualquier caso, para ir paso a paso, creo que utilizar un arduino nano para controlar el POV con imagen estática sería muy didáctico, antes de dar el paso al video.

Mucha suerte y ánimo con el proyecto.

Saludos.

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: Velocidad máxima real de sn74hc595-ep y 25LC1024
« Respuesta #33 en: 13 de Septiembre de 2014, 11:53:39 »
Leyendo tu hilo me he animado a incluir en mi lista de proyectos un POV. Es bastante interesante.

El tema de la seguridad es para mí fundamental y las cifras asustan bastante, de manera que me alegro de que sea seguro.

En cuanto al micro a utilizar, desde luego para hacer vídeo un micro de 8 bits no da lo suficiente.
En cualquier caso, para ir paso a paso, creo que utilizar un arduino nano para controlar el POV con imagen estática sería muy didáctico, antes de dar el paso al video.

Mucha suerte y ánimo con el proyecto.

Saludos.

este tono de mensajes me resulta mucho mas agradable.

Los sistemas POV son muy interesantes y llamativos. Dan para un monton de cosas, como optimizacion de hardware y software, hay mucho de sistemas mecánicos, hay cálculos muy interesantes y que, en mi caso, los alumnos pueden entender.

El primer POV que hicimos hace 2 años era con un pequeño motor de DC y un 16F628. El POV del año pasado fue con un 16F883 manejando 40 LED con registros de desplazamiento a, aprox 1MHz. Sin optimizar el código nos costaba bastante conseguir los tiempos necesarios para obtener una buena resolucion. No puedo hacer demasiada optimizacion en el código porque los alumnos dejan de entender lo que estamos haciendo. No me gusta Arduino, por eso planteamos los proyectos con PIC, aunque los alumnos pierden algunas cosas en cuanto a la programacion y algunos detalles puntuales.

La idea de hacer "video" surge de este video que me mostraron en el post del POV:
En ese caso si bien son led RGB no tienen PWM en cada color así que obtienen 8 colores. Estimo que el RGB podría ser el paso siguiente para el año que viene.

saludos
-
Leonardo Garberoglio

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5425
Re: Velocidad máxima real de sn74hc595-ep y 25LC1024
« Respuesta #34 en: 13 de Septiembre de 2014, 13:48:41 »
Lo bueno de los Atmega en este tipo de problema es que tienen memoria lineal y sus punteros son muy efectivos. Son más rápidos que los PIC en esta tarea.

Creo que la mejor forma de separar la parte del programa difícil y crítica en el tiempo, del resto de gestiones es por interrupciones y utilizando una "memoria de vídeo".

Por ejemplo se me ocurre este para montar yo:

Especificaciones del POV:
Motor de 1500 rpm (25 rps)
192 puntos por vuelta
Frecuencia de muestreo 192 * 25 = 4800 Hz

40 puntos por fila
40 * 196 = 7680 bits por imagen (960 bytes)

Separación entre leds de 3mm. Radio total del POV = 3mm * 40 led = 120mm

Control con Atmega328P  (2kbytes ram)


Rutina de interrupciones:
1.- Se configura un timer para que llame a las interrupciones 28800 veces por segundo (34.7us)  (28800 = 6 * 25 * 192)
2.- En cada interrupción se envía un dato por SPI y se apunta al siguiente byte de la "memoria de video"
     Como pasa suficiente tiempo entre una llamada y otra, no hace falta comprobar que el dato ha sido enviado por el SPI (ahorra tiempo)
3.- Después de enviar 5 bytes (40 leds) se envía una señal para actualizar los latch en la sexta interrupción.
4.- Los datos se toman de la memoria ram de forma consecutiva. Una vez llegado al final de la memoria de video, se vuelve a comenzar otra vez.

Frecuencia SPI = 500khz
Tiempo de ciclo SPI = 2us
Tiempo para enviar un byte = 16us, que es menor de 34.7us de la interrupción

Tiempo estimado de tratamiento de la interrupción < 4us   (12% del tiempo total)


Rutina de usuario:
Para el usuario, el proceso de enviar la imagen a los leds es completamente transparente. Son las interrupciones las que se encargan de realizarlo.
El tiempo restante que queda para el usuario, puede utilizarlo para modificar las imágenes sobre la memoria.
Como esto es difícil, se utiliza una librería de dibujo que permita dibujar líneas rectas, puntos, círculos o bitmaps pequeños.
Los alumnos/usuarios sólo se preocupan de llamar a la librería de dibujo para trazar sus dibujos en coordenadas rectangulares.


Librería de dibujo:
Como el 88% del tiempo está disponible para el usuario, el microcontrolador puede fabricar sus propias imágenes con alguna librería de dibujo, adaptando alguna de las existentes para Arduino.
El mayor problema consiste en traducir las posiciones cartesianas (x, y) en coordenadas polares (módulo y ángulo)

La librería se maneja todo el tiempo en coordenadas rectangulares, hasta el momento de escribir en memoria.
El mayor problema, traducir coordenadas rectangulares a polares, se soluciona con las fórmulas:

   x = posición horizontal del punto a visualizar (en unidades de 3 milímetros)
   y = posición vertical del punto a visualizar (en unidades de 3 milímetros)

   Led (bit) = sqrt(x*x + y*y)
   Angulo = atan(y/x)

Se puede acelerar mucho, pero con coma flotante de 24 bits puede ser suficientemente rápido para representar letras, líneas, puntos, círculos, etc.  en tiempo real


Como hay suficiente memoria, también se puede construir una imagen en la memoria libre y luego volcar rápidamente esa imagen a la zona de "memoria de video".


Librería gráfica de Adafruit (hay que adaptarla):
https://learn.adafruit.com/adafruit-gfx-graphics-library/overview

Saludos.
« Última modificación: 13 de Septiembre de 2014, 14:01:18 por Picuino »

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: Velocidad máxima real de sn74hc595-ep y 25LC1024
« Respuesta #35 en: 13 de Septiembre de 2014, 17:14:05 »
Estaría bueno que pongas todo esto en un post como Proyecto para que quede como referencia del resto.

Ten en cuenta una cosa, la velocidad de rotacion muchas veces no es estable, por lo que generalmente se coloca un sensor para medir la velocidad de giro y de paso sincronizar el micro para que la imagen quede bien orientada. Entonces el tiempo entre cada interrupcion del timer se determina en runtime en funcion de la velocidad de giro.

Creo, no lo he pensado bien aún, pero creo que el tiempo dentro de la interrupcion sería 2*8*4 = 64uSeg ya que tenes que enviar los 4 bytes dentro de la int antes de salir.
Tendrías que probar bien, pero realizarlo todo por interrupcion cunado queres manejar tiempos de pocos useg no sé si es lo mejor. Digo, porque cada llamado a interrupcion mas verificacion de bandera de int, etc te va a comer unos cuantos ciclos. Ya me paso algo de eso en alguna oportunidad. A lo mejor sería dentro de la interrupcion enviar los 5 bytes. en mi caso lo he tenido que hacer así quizá por no optimizar bien el código.

En cuanto a realizar gráficos en runtime es muy interesante, estaría bueno poder implementarlo, aunque no será mi caso...

Saludos y esperamos ver ese proyecto materializarse!


-
Leonardo Garberoglio

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Velocidad máxima real de sn74hc595-ep y 25LC1024
« Respuesta #36 en: 14 de Septiembre de 2014, 01:42:05 »
Hola elgarbe, señor, usted si que le gusta complicarse la vida, para el POV usted usa un sencillo y muy común motor asíncrono, pero lo que se usa para estas funciones son motores brushless, donde usted puede controlar las RPM de manera muy exacta, casi con la exactitud de un cuarzo.

De esta manera se consigue una estabilidad de imagen muy superior y una simplificación considerable del software necesario, por supuesto a cambio de una leve elevación en la complejidad del circuito electrónico, pero sí que vale la pena el cambio.

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: Velocidad máxima real de sn74hc595-ep y 25LC1024
« Respuesta #37 en: 14 de Septiembre de 2014, 09:30:30 »
Hola elgarbe, señor, usted si que le gusta complicarse la vida, para el POV usted usa un sencillo y muy común motor asíncrono, pero lo que se usa para estas funciones son motores brushless, donde usted puede controlar las RPM de manera muy exacta, casi con la exactitud de un cuarzo.

De esta manera se consigue una estabilidad de imagen muy superior y una simplificación considerable del software necesario, por supuesto a cambio de una leve elevación en la complejidad del circuito electrónico, pero sí que vale la pena el cambio.

Un saludo.

Atte. CARLOS.



Carlos, amigo, no creo que sea tan así, usar un motor asincronico funciona muy bien. De echo la tecnica de ajustar los tiempos en funcion de las variaciones de rpm la tome del maestro Manolo en este extenso post, http://www.todopic.com.ar/foros/index.php?topic=18345.msg179142#msg179142 cuando arranque me tome el trabajo de leerlo completo y la gran mayoria utilizó motores de dc o motores asincronicos.
No voy a negar que con un brushless las cosas mejorarian mucho, pero lamentablemente no tenemos ese tipo de motores en nuestra pila de chatarra.
Creo que en la escuela hay una vieja fotocopiadora para desarme. Puede ser que en ella halla este tipo de motores? Creo haber visto uno que biene con placa incluida. Tendran fuerza esos motores? Entiendo que bien balanceado no es mucha la que se requiere.... lo anoto en mi ToDo list para chequear aunque este año ya lo veo complicado, ya tenemos el motor montado en su base esperando la placa!

Saludos y gracias una vez mas por el consejo!
-
Leonardo Garberoglio

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Velocidad máxima real de sn74hc595-ep y 25LC1024
« Respuesta #38 en: 14 de Septiembre de 2014, 14:15:59 »
Hola elgarbe, puedes usar esa memoria para velocidades de hasta 20 MHz sin mayores problemas que los que tendrás en realizar la rutina para el micro,

Te parece? he sacado mal las cuentas? Si el micro corre a 72MHz la cada instruccion toma 4/72 = 0.055useg. Si tengo que leer la memoria SPI (64bits) almacenarlas en un buffer en el micro y luego tomar ese buffer y pasarlo al otro SPI y para todo eso (y alguna que otra cosita más) tengo 100useg (1800 instrucciones) creo que debería poder conseguirlo sin problemas, a no ser que esté haciendo algún calculo mal.

Leo, los ARM no son como el PIC de gama baja/media.  El tiempo de ejecución de una instrucción es de 1/72uSeg = aprox. 14 nanoSegundos. Un problema de las altas velocidades de los periféricos es que es como trabajan con un divisor basado en el oscilador principal, por ejemplo, 72 Mhz, enseguida la menor frecuencia obtenible en un periférico debajo de la de 72Mhz es 36 Mhz (DIV2), luego 24Mhz (DIV3), luego 18Mhz (DIV4), y luego se va haciendo un poco más fácil obtener frecuencias más variadas pero a alta velocidad, como podrás ver, hay pocas opciones y grandes saltos de frecuencias seleccionables.

pero también puedes usar memorias tipo RAM FLASH (las usadas en las BIOS de las PC ;-)) que son mucho más rápidas, con comunicación paralela, tienen más capacidad, más fáciles de usar y no pierden los datos (y si buscas mother viejas en desuso son regaladas  :D). PIÉNSALO....
Eso es muy interesante, pero me estas hablando de las viejas memorias PROM que se borran con UV y se programan electricamente? digo, este chip:
http://hardwaremovile.com/imagenes/bios2.jpg
o hay algo mas nuevo? realmente no conozco como son las bios hoy en día, me quedé con las bios del 486 / pentium etc.  :oops:

Puede que la SST25VF016B (16MBit) o similar sea una solución moderna y correcta. Compré un par hace unos años pero no las usé nunca. Veo que en HIGH READ SPEED alcanzan 80Mhz y son por SPI. Ese modelo además en Elemon es económico (sólo un par de dólares para 2 MBytes de memoria FLASH, nada mal).

Con respecto a los registros, yo no usaría seriales, si no que usaría paralelos, mucho más rápidos que los seriales y más fácil su uso y menos exigencia para el microcontrolador. Un buen ejemplo sería el 74ALS573.

Esta idea es buena pero no me gusta tanto como la otra. Rutear el bus de 8bits en 2 layer y sin PTH (es lo que podemos hacer en el colegio) me parece que me resultaría complicado....



Con los 74HC595 hace más de una década que trabajo. Creo que los problemas comienzan a partir de los 2.5Mhz de clock con 50cm de cable entre medio. Las pruebas más exigentes de clock las hice con un LPC1768 en su momento, que tenía que alimentar LEDs RGB multiplexados. A alta velocidad todo influye en la calida de la señal. Hay que intentar mantener las distancias cortas, evitar cambios de impedancia o materiales, y de ser necesario intercalar integrados Schmitt_trigger de alta velocidad para recomponer la señal si se ve debilitada por la carga de los integrados seriales o distancia recorrida. Destaco que si usás Schmitt_trigger, acordate de someter a las 3 líneas seriales (DATA, CLOCK y STROBE) al filtrado, porque sino las señales se te van a ir desfazando en tiempo debido a demoras internas de los filtros.

Con los integrados que te cito arriba, si bien el diseño de la PCB se complica un poco al usar buses paralelos, el beneficio es poder usar un PIC al estilo 16F877 y conseguir mucha más resolución que el diseño que tu deseas realizar. Ni hablar si pretendes usar un micro como el que tú mencionas en post anteriores.
Un saludo.
Atte. CARLOS.

La idea en conjunto es muy buena y debo reconocer que no la habia pensado. Voy a estudiar un poco mas a ver que puedo hacer de una forma u otra.

Saludos y gracias por las ideas!

Si tenés en cuenta un par de reglas de diseño básico, creo que podés obtener sin problemas 10Mhz de los registros seriales en cascada. Sino siempre podés optar por registros paralelos como dice Carlos. Personalmente prefiero los seriales y mi caballito de batalla ha sido siempre el 74HC595.

Saludos!
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Velocidad máxima real de sn74hc595-ep y 25LC1024
« Respuesta #39 en: 14 de Septiembre de 2014, 15:16:01 »
Aclaro que no había visto que tenía página 2 este hilo al momento de mi respuesta previa. Perdón por eso.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: Velocidad máxima real de sn74hc595-ep y 25LC1024
« Respuesta #40 en: 14 de Septiembre de 2014, 15:34:49 »
Leo, los ARM no son como el PIC de gama baja/media.  El tiempo de ejecución de una instrucción es de 1/72uSeg = aprox. 14 nanoSegundos. Un problema de las altas velocidades de los periféricos es que es como trabajan con un divisor basado en el oscilador principal, por ejemplo, 72 Mhz, enseguida la menor frecuencia obtenible en un periférico debajo de la de 72Mhz es 36 Mhz (DIV2), luego 24Mhz (DIV3), luego 18Mhz (DIV4), y luego se va haciendo un poco más fácil obtener frecuencias más variadas pero a alta velocidad, como podrás ver, hay pocas opciones y grandes saltos de frecuencias seleccionables.

Teniendo en cuenta eso, quizá el 1114 habría sido una buena opcion tambien, a 50MHz tendría 20nseg de ciclo de instruccion!


Puede que la SST25VF016B (16MBit) o similar sea una solución moderna y correcta. Compré un par hace unos años pero no las usé nunca. Veo que en HIGH READ SPEED alcanzan 80Mhz y son por SPI. Ese modelo además en Elemon es económico (sólo un par de dólares para 2 MBytes de memoria FLASH, nada mal).

Lo que es desconocer sobre un tema!!!! Estuve buscando en elemon y no encontré mas que las de microchip 25LC1024 a USD8!!!! la que vos me indicas cuesta la mitad, funciona al doble de frecuencia y tiene 16 veces la capcidad de la otra.

Con los 74HC595 hace más de una década que trabajo. Creo que los problemas comienzan a partir de los 2.5Mhz de clock con 50cm de cable entre medio. Las pruebas más exigentes de clock las hice con un LPC1768 en su momento, que tenía que alimentar LEDs RGB multiplexados. A alta velocidad todo influye en la calida de la señal. Hay que intentar mantener las distancias cortas, evitar cambios de impedancia o materiales, y de ser necesario intercalar integrados Schmitt_trigger de alta velocidad para recomponer la señal si se ve debilitada por la carga de los integrados seriales o distancia recorrida. Destaco que si usás Schmitt_trigger, acordate de someter a las 3 líneas seriales (DATA, CLOCK y STROBE) al filtrado, porque sino las señales se te van a ir desfazando en tiempo debido a demoras internas de los filtros.

Los 595 los adopté despues de una charla que tuve con vos y nunca los cambie. Por lo que me decis, intuyo que no debería tener problemas a 5MHz con 25cm de largo en PCB (FR4)...

Si tenés en cuenta un par de reglas de diseño básico, creo que podés obtener sin problemas 10Mhz de los registros seriales en cascada. Sino siempre podés optar por registros paralelos como dice Carlos. Personalmente prefiero los seriales y mi caballito de batalla ha sido siempre el 74HC595.

Saludos!

Ok, me quedo más tranquilo entonces.

Saludos y gracias nuevamente!
-
Leonardo Garberoglio

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5425
Re: Velocidad máxima real de sn74hc595-ep y 25LC1024
« Respuesta #41 en: 14 de Septiembre de 2014, 16:14:41 »
Esos micros tienen interrupciones separadas para cada periférico, de manera que no hace falta hacer pooling.
El cambio de contexto también suele ser muy rápido en los micros potentes, porque tienen un juego de registros alternativo que se carga por hardware (eso hay que mirarlo para cada modelo)

En total la atención a la interrupción no llevará más de 70 instrucciones = 1us   cada bloque de datos de 16 bits.

Como el flujo de datos es de 4 bloques de 16bits * 360 posiciones/vuelta * 22 vueltas/segundo = 31680 bloques SPI/segundo

El tiempo entre interrupciones es de 31.5 us, da de sobra para atender el SPI por interrupciones ocupando el 3% del tiempo como mucho.

Con ese tiempo entre interrupciones, es suficiente con mantener la frecuencia del SPI un poco por encima de los 500kHz.

Así se evitan problemas por altas velocidades.


Saludos.

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: Velocidad máxima real de sn74hc595-ep y 25LC1024
« Respuesta #42 en: 14 de Septiembre de 2014, 17:56:48 »
Si, si, seguro que es posible manejar todo por interrupcion, pero a veces es mucho más claro e intuitivo no usar interrupcion para todo.

Como el FIFO del SPP es de 8 frames se pueden escribir los 64 bits a enviar uno tras otro sin problemas.
Este micro no tiene interrupcion por dato enviado ni por fifo vacío. Tiene interrupcion por FIFO "medio vacío" que podría usarse igual (ya que son 4 frames los que necesitamos cargar).

Si no me equivoco ni siquiera habria que hacer poolling, simplemente se escriben los 4 datos en el DATA register uno tras otro sin más ( se puede hacer verificaciones por las dudas) y estos se irán al FIFO. Al momneto de llegar la interrupcion por el timer (indicando que ha pasado 1° de giro) se activan los latch, se desactivan y salimos.

Evidentemente la cosa es bien simple y parece que no va a hacer falta grandes velocidades... aunque para ponerle la firma a esto espero a las pruebas...

De todos modos, si queda tiempo libre podremos aprovechar para generar pequeñas animaciones (mover un objeto por ejemplo) en memoria... o hasta se podría pensar en cargar las imágenes directamente sin procesarlas y dejar que el micro las procese en runtime...

En fin, si 5MHz no trae complicaciones, seguramente arrancaremos con esa velocidad.

Saludos y muchas gracias por los consejos/cálculos!
-
Leonardo Garberoglio

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Velocidad máxima real de sn74hc595-ep y 25LC1024
« Respuesta #43 en: 14 de Septiembre de 2014, 18:01:26 »
Acordate que podes aprovechar y usar tramas de 16 bits en lugar de tramas de 8, logrando 128 bits en una sola carga de Fifo vacía
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: Velocidad máxima real de sn74hc595-ep y 25LC1024
« Respuesta #44 en: 14 de Septiembre de 2014, 18:35:37 »
Acordate que podes aprovechar y usar tramas de 16 bits en lugar de tramas de 8, logrando 128 bits en una sola carga de Fifo vacía

Claro, la idea es 4 tramas de 16bits (ya que tengo que enviar 64 bits)... si cargo 8 tramas de 16bits se me salen datos por la otra punta   :D
-
Leonardo Garberoglio