Software para crear diagramas de tiempos

33

En mi vida profesional, a veces necesito crear diagramas de tiempo para protocolos: UART , SPI , etc. Sin embargo, no puedo encontrar ningún buen programa disponible. ¿Qué programas se pueden recomendar para esto y cuál es la experiencia al usarlos?

Seidleroni
fuente
1
Aquí hay una pregunta similar sobre el desbordamiento de pila stackoverflow.com/questions/1524244/…
Ross Rogers
3
¿Podría aceptar uno, por favor? Ayudaría a otros a encontrar esta pregunta.
Brian Carlton el

Respuestas:

13

Una búsqueda rápida en la web muestra Drawtiming . Nunca lo usé, pero parece que funcionaría muy bien para ejemplos breves de unas pocas docenas de ciclos de reloj.

Si desea hacer sus dibujos en un conjunto de herramientas similar a Office, pruebe OpenOffice.org , específicamente el programa Draw . Si quieres generar los mejores gráficos (y no te importa si lleva un tiempo), prueba Inkscape como lo sugiere digikata. Hojas de datos profesionales, probablemente estarán mejor atendidos por el paquete de TikZ-tiempo una según lo sugerido por jluciani, o el más viejo (pero menos complejo) timing.sty , ambos con (La) TeX (Prueba Lyx para una curva de aprendizaje más corta, si estás nuevo en TeX. Tenga en cuenta que es una curva empinada, pase lo que pase, ¡pero vale la pena!)

También puede intentar simular en GTKWave (o cualquier otro simulador de circuitos con un analizador lógico): (fuente: bec-systems.com )Captura de pantalla de ejemplo de GTK Wave

pero eso está más orientado hacia la simulación de Verilog / VHDL / esquemas, en lugar de solo dibujar formas de onda.

Kevin Vermeer
fuente
¿Puedes editar tu publicación para explicar lo que has utilizado con éxito para implementar diagramas de forma de onda? No está claro cuáles de las recomendaciones anteriores tiene y con las que no ha tenido experiencia.
John Lopez
He usado OpenOffice e Inkscape, así como un simulador específico del proveedor como GTKWave (pero inútil sin su hardware, no pensé que fuera útil). He usado LaTeX para importar imágenes creadas en Inkscape, pero eso es porque no estaba al tanto de los paquetes de tiempo en ese momento. Como dije en mi publicación, no había usado Drawtiming.
Kevin Vermeer
1
He usado Drawtiming para diagramas de temporización autogenerados en un flujo de compilación paralelo con gran efecto. Lo recomiendo.
Ross Rogers
12

La herramienta que he marcado es: http://www.timingtool.com/menu/tour/ttmain.php. No lo he probado ni le he echado un vistazo.

Si está utilizando TeX y sus amigos, hay un paquete de temporización para el entorno de imagen tikz (consulte CTAN). A veces, con las herramientas TeX, puede encontrar scripts de envoltura o GUI que pueden crear imágenes independientes.

La documentación sobre el paquete tikz-timing está en http://www.tug.org/texmf-dist/doc/latex/tikz-timing/tikz-timing.pdf

jluciani
fuente
11

WaveDrom es un motor de representación de diagrama de temporización digital en línea gratuito y de código abierto que utiliza JavaScript , HTML5 y SVG para convertir la descripción del texto de entrada WaveJSON en gráficos vectoriales SVG.

drom
fuente
6

Inkscape

El primer diagrama puede ser un poco de trabajo, pero después de configurar algunas plantillas es bastante rápido.

Veo que ahora hay un complemento llamado Timink para Inkscape para generar formas de onda de diagrama de temporización.

Digikata
fuente
5

Microsoft Excel es el programa CAD 2D del pobre y me ha funcionado bien. Resalte todas las celdas, luego arrastre los bordes de la fila y la columna hasta que el recuento de píxeles coincida; esto le da celdas cuadradas. Luego use la barra de herramientas Dibujo para agregar líneas y formas. La opción Ajustar a la cuadrícula también debe estar activada.

Edite para agregar alguna explicación adicional, para los votantes negativos en los comentarios a continuación:

Blockquote Microsoft Excel no es un programa CAD (es una hoja de cálculo).

MS Excel tiene muchas características, incluido un paquete de dibujo decente. Si usa y explora el software, encontrará cosas que nunca pensó que haría. Por ejemplo, ¿diría que Excel es una interfaz de programación y una interfaz de usuario para hardware de adquisición de datos, o un front-end de informes para bases de datos? La respuesta es que se puede usar para esto, y lo sé por implementar personalmente este tipo de aplicaciones. Al igual que yo personalmente implementé Excel para hacer dibujos en 2D, formas de onda y más (cables, planos, etc.).

... ni un programa para un hombre pobre ...

Esto se entiende en el sentido de un coloquialismo: definición aquí . Y me sorprendería que alguien que estaba haciendo dibujos de formas de onda en su vida profesional no tuviera una copia de Office proporcionada por su empleador.

Al dibujar como sugiere en Excel, no puede visualizar transiciones de borde que no sean líneas verticales ...

Lamento ser franco, pero eso es completamente incorrecto. Aquí hay una explicación más detallada que puede probar usted mismo. Comenzando como describí anteriormente, considere el cuadrado ABCD, con coordenadas que comienzan en el sentido de las agujas del reloj desde la esquina superior izquierda del cuadrado. Si dibujara una línea a través de los puntos DABC en secuencia, tendría la primera mitad de una onda cuadrada. Sin embargo, si dibuja una línea a través de DB, tiene un ángulo ascendente de 45 grados. La opción Ajustar a la cuadrícula se ajusta a los puntos de la cuadrícula, pero no impone restricciones angulares. Obviamente, esto puede extenderse para hacer otros ángulos eligiendo otras coordenadas, usando una cuadrícula de celdas 2x2 ya que su base ofrece más opciones angulares, y así sucesivamente. Por ejemplo, he usado esto para dibujar formas de onda trapezoidales y señales Manchester automáticas controladas en pendiente, no solo el 50% del ciclo de trabajo.

Tenga en cuenta también que no está limitado a líneas rectas: las curvas son muy simples. Copiar y pegar (CTRL-C, CTRL-V) y la capacidad de rotar y agrupar objetos facilitan las formas más complejas. Otro ejemplo de mi experiencia: si puede dibujar un solo hemisferio, puede convertirlo en la doble hélice de un par trenzado blindado en un esquema de cable en muy poco tiempo (casi literalmente: tomé un concepto ondulado a mano en un PDF copia de un dibujo, en 45 minutos, incluido el tiempo dedicado a enviar solicitudes de cotización en línea a proveedores de cable). Para las formas de onda, lo mismo podría hacer una onda sinusoidal o una señal de amplitud modulada.

Si necesita algo realmente complejo, desactive la opción Ajustar a la cuadrícula, dibuje su cosita, luego vuelva a encenderla y arrastre la cosita a su lugar. No olvide que también puede cambiar el tamaño de los objetos dibujados.

John Lopez
fuente
3
Microsoft Excel no es un programa CAD (es una hoja de cálculo) ni un programa para un hombre pobre (cuesta $ 150, de acuerdo con office.microsoft.com) Al dibujar como sugiere en Excel, no puede visualizar transiciones de borde que no sean líneas verticales, lo cual es inaceptable para un diagrama de tiempo profesional.
Kevin Vermeer
66
por 200 $ al año puedes tener todos los productos de microsoft. En realidad, la mayoría de las compañías en las que he estado también tienen Excel disponible. Cuando miraba las herramientas UML para hacer mejores dibujos, eran 5 o más grandes por asiento. Para algunos diagramas de tiempo muy simples, tuve que usar Excel.
Kortuk
1
@Kortuk Sí, entiendo que la mayoría de las empresas tienen Office * AND * Internet Explorer 6 disponible. No fomentes la práctica. Además, no estoy seguro de lo que estaba buscando para las herramientas UML, más de la mitad de las herramientas enumeradas en en.wikipedia.org/wiki/… son gratuitas y de código abierto.
Kevin Vermeer
1
Con esfuerzo, tiempo e imaginación, Excel puede dibujar mucho de lo que uno necesita.
Dr. Watson
Increíble que esto obtenga 7 (!) Votos a favor. ¡Obviamente, algunas personas nunca han visto / creado un diagrama de tiempo real!
Federico Russo
4

¿Puedo sugerirle que utilice cualquier forma de diagrama PERT o programa de programación? Si no es compatible con EE. UU. O NS, simplemente pretenda que los "días" son equivalentes.

Taniwha
fuente
2

La primera sugerencia que vi aquí fue Inkscape. Un programa de dibujo! Entonces pensé, ¿por qué no Excel, puedes dibujar con eso también? ¡Parece que alguien realmente sugirió eso! ¡Y a 7 personas les pareció una sugerencia útil! Creo que tengo que acostarme por un minuto.
La razón por la que existe un software tan diferente es que cada tarea tiene sus propios requisitos, y cada software intenta responder a las demandas de una tarea en particular. Si está utilizando Excel para dibujar diagramas de tiempo, puede pensar "ver, esto también funciona", pero en realidad hará menos que lápiz y papel. Al menos con el lápiz puede manejar la función más básica de los diseñadores de temporización: dependencias de señal.

De todos modos, ahora que tengo esta carga fuera de mi mente, sugeriría echar un vistazo a TimingDesigner , aunque no estoy muy familiarizado con la última versión. De ninguna manera es barato, y no lo habría sugerido si no fuera para uso profesional.

stevenvh
fuente
No conozco Timingdesigner, pero +1 para "la herramienta adecuada para el trabajo correcto". Convino en que el lápiz es más versátil que Excell.
Federico Russo
2

Hago muchas de estas cosas usando PostScript , moveto, lineto, lineto, moveto, etc. Desde allí puedes convertirlo en casi cualquier cosa: JPEG, PNG , etc., o incrustarlo directamente en un documento PostScript que luego puede convertirse en un PDF .

PostScript permite todas las herramientas gratuitas y es independiente del sistema operativo, por lo que no tiene que comprar Office o Excel . Ghostscript y Ghostview son tus amigos.

SVG es probablemente otro formato / idioma que también puede usar. Es gratis, abierto y se convierte a cualquier cosa.

viejo contador de tiempo
fuente
Yo también hago esto. Escribiré la generación de este tipo de documentos usando Perl + TeX + METAPOST (u otras herramientas de línea de comandos). Cuando los datos cambian, escribo "make" y los cambios se propagan.
jluciani
1

TimeGen es menos de $ 100 US (Lite), $ 500 (Pro). No lo he usado.

Brian Carlton
fuente
1

He estado buscando algo en los últimos días y probé varias sugerencias aquí, ninguna de las cuales funcionó satisfactoriamente (o en algunos casos) para mí, o no dibujó las flechas de tiempo.

Finalmente encontré esto:

https://waveme.weebly.com/

Lo que puedo recomendar. Es razonablemente intuitivo y hay tutoriales en video decentes en el sitio web. Se ejecuta en Windows y Linux bajo Wine.

DiBosco
fuente
0

Dos herramientas que he usado son:

  1. Synapticad Timing diagrammer pro es costoso pero tiene tantas funciones que un amigo mío diseñó un chip usando el modo de estímulo Verilog

  2. Analizador de tiempo : gratis, en continuo desarrollo, el autor responde a los cambios y está basado en Java, por lo que es portátil.

marcador de posición
fuente
0

Visio siempre funciona bien para mí y fue uno de los principales medios de documentación tanto para FPGA (sincronización y bloques) como para diagramas de sistemas en uno de mis lugares de trabajo.

Lo mejor de visio es que puede generar plantillas y formas que le permiten crear diagramas de temporización uniformes.

Pico de voltaje
fuente