¿Cómo documenta sus decisiones de diseño de hardware?


43

¿Cómo documenta sus decisiones de hardware en la fase de diseño? ¿Cómo evitas tener que hacerte las siguientes preguntas mientras revisas un diseño de hardware que hiciste en el pasado:

  • ¿Por qué eligió este componente?
  • ¿Por qué / cómo elegí estos parámetros particulares para este componente?
  • ¿Qué hace esta parte del circuito?
  • ¿Cuál es la disipación de potencia a través de este componente?
  • ¿Cuál es el consumo total de energía de este circuito?
  • ¿Puedo reemplazar este componente con este otro? ¿Hay algún componente equivalente a este componente? etc.

¿Cuál es una buena manera de documentar sus decisiones y cálculos durante la fase de diseño de un circuito? ¿Cómo obtengo respuestas a las preguntas anteriores sin pasar nuevamente por cientos de páginas de hoja de datos?

Una forma en que podría pensar es agregar notas en los archivos de esquemas (si su EDA lo admite), pero no quisiera saturar el esquema con demasiada información.


1
¿Quién va a ver estos detalles? ¿Son solo para su referencia o serán vistos por otros?
stanri

@Stacey La documentación está destinada tanto para mí como para otros diseñadores a leer. Me gustaría que la mayoría de mis futuros diseños sean de código abierto y es muy importante que estén debidamente documentados.
m.Alin

99
@ Stacey Pero realmente ... ¿cuál es la diferencia? Después de un tiempo verás tu propio diseño como si fuera la primera vez que lo ves ..
m.Alin

2
La diferencia está en la forma en que se presenta la información. Un documento formal que explique cada decisión que tomaste en un tono profesional será mucho más trabajo que apuntar rápidamente una fórmula y anotar los valores que elegiste. Además, si alguien más va a ver las notas, es importante que sean digitales.
stanri

44
Dios mío, me encanta esta pregunta. (lo siento, sé que realmente no está ayudando, pero esto es algo en lo que estoy trabajando en este momento, así que esto es genial). Continua.
efox29

Respuestas:


15

Yo personalmente voy por la ruta pasada de moda: tengo un cuaderno de diseño donde escribo absolutamente todo sobre las decisiones de diseño que tomo. Especialmente opciones de componentes y valores, cálculos actuales, cálculos de suministro de energía, todo. También documento decisiones de software / firmware y notas sobre el tiempo y el uso de recursos.

Cada computadora portátil tiene una página de contenido para hacer referencia a una parte específica del diseño (fuente de alimentación, etc.) y todas las páginas están numeradas.

He pensado en digitalizar varias veces, pero es bueno tener mi computadora portátil delante de mí mientras trabajo y encuentro que escribir fórmulas digitalmente es bastante incómodo. Es mucho más fácil escribir cálculos a mano.

Cuando preparo una especificación o documentación formal para el diseño de un tablero, generalmente me refiero a mi cuaderno como un recordatorio de lo que hice (o escribo la documentación digital al mismo tiempo). Aunque parezca que estoy haciendo lo mismo dos veces, encuentro que mis cuadernos son básicamente cálculos y explicaciones para mí, donde la documentación es mucho menos detallada y mucho más formal y explicativa para los demás. Como tal, a menudo no encuentro que estoy escribiendo lo mismo dos veces.


Estoy completamente de acuerdo con el tema de las fórmulas, pero dejé de usar notas en papel hace unos 5 años. Escribir es mucho más fácil que escribir, y tiene todos los beneficios habituales de texto electrónico: búsqueda, envío, respaldo, etc.
markt

2
Algunos de los cuadernos de diseño más impresionantes / importantes de nuestro tiempo: computerhistory.org/collections/fairchild . Una ventaja significativa de un cuaderno de bitácora / cuaderno de papel es el dibujo. Se necesita mucho más esfuerzo para dibujar / dibujar cosas en mi computadora portátil (aunque es más fácil en un iPad; mi esposa, por ejemplo, guarda sus notas de diseño en su ipad). Tiendo a pensar gráficamente, así que hago mucho diseño diseñando diagramas de bloques.
slebetman

11

Puede regresar y actualizar las especificaciones de diseño con esta información. O tome la especificación y cree una especificación de nivel inferior donde describa con más detalle lo que va a hacer y por qué, idealmente antes de comenzar los esquemas :). Luego actualice a medida que avanza y archive con los esquemas.


Responde las preguntas a continuación: Bueno, lo que solemos hacer es comenzar con los requisitos de marketing, luego tal vez una respuesta formal de ingeniería o simplemente una discusión informal. Esto es seguido por un MRD (documento de requisitos de marketing), en palabras, utilizando nuestra plantilla. Eso incluye los requisitos, el análisis competitivo, el tamaño del mercado, la oportunidad, el costo de desarrollo estimado, etc. Por lo general, esto es escrito por una persona de marketing (o alguien por encima de mi nivel salarial).

Esto es seguido por el PRD (documento de requisitos del producto) escrito generalmente por ingeniería, también en una plantilla de Word. Esto describe con más detalle técnico qué hará el producto, qué piezas se requieren y, en un alto nivel, cómo funcionará cada una de ellas. A menudo incluiremos aquí el rendimiento objetivo, el precio, la potencia, el tamaño y otras métricas.

Esto es seguido por especificaciones funcionales detalladas para cada una de las secciones. Algunos trabajos de diseño se realizan aquí mucho antes de que se incluyan en el esquema. Por ejemplo, se calculará la potencia, se seleccionarán las partes y se realizará mucha investigación. Este es el lugar donde documentaríamos cualquier decisión de diseño no obvia.

Finalmente llegaremos a los esquemas, que es la parte fácil en este punto porque gran parte del trabajo de diseño duro se realizó en la etapa de especificación. Donde debería hacerse en mi opinión :) Si algo cambia durante la etapa esquemática, por ejemplo, descubrimos que algo no funcionará o una persona de marketing viene corriendo por el pasillo diciendo que debe ser rojo ahora en lugar de azul, entonces volverá y actualizará las especificaciones.

Todas las especificaciones, PRD, MRD se mantienen en SVN con enlaces a los documentos en un wiki interno. Un cambio en las especificaciones dará como resultado una actualización de SVN y una notificación a las partes interesadas. Por supuesto, podría mantenerlo manualmente en una carpeta compartida en algún lugar.

Ese es más o menos mi proceso, siento que es posible que desee documentar cada pequeña decisión tomada sobre un diseño y definitivamente no hacemos eso. Sin decir que no deberías, pude ver dónde sería útil. Supongo que generalmente documentamos el cómo y no el por qué todo el tiempo.


Ok, tal vez también debería haber abordado cada pregunta :)

Si está haciendo cálculos, ¿en Excel quizás? O en papel y cree que los resultados y el método son importantes para la comprensión y el diseño de su circuito, entonces debe incluirlos en la sección correspondiente de la especificación de diseño. Incluso si eso significa tomar una foto de tu dibujo a mano :)

¿Por qué eligió este componente? Creo que la especificación funcional es un buen lugar para esto, no hay necesidad de volverse loco, sino solo una o dos líneas simples sobre cuáles son sus ventajas. Reservaría esto para componentes críticos, no creo que quiera describir por qué eligió una resistencia pull-up, por ejemplo.

¿Por qué / cómo elegí estos parámetros particulares para este componente? Combina esto con lo anterior.

¿Qué hace esta parte del circuito? Esto sería parte de su especificación funcional, si el circuito es lo suficientemente importante como para justificar esta pregunta, debería tener su propia sección de la especificación.

¿Cuál es la disipación de potencia a través de este componente? Si está hablando de la fuente de alimentación, ponga esto en la sección de alimentación, también me gusta señalar esto en los esquemas. Realmente, aunque todas mis partes provienen de una base de datos y el esquema está directamente vinculado a ellas para que podamos ver fácilmente los parámetros, la hoja de datos, etc. Pero si solo tiene una impresión, es bueno saber algo de esto.

¿Cuál es el consumo total de energía de este circuito? Creo que esto pertenece a la sección de fuente de alimentación de su especificación.

¿Puedo reemplazar este componente con este otro? ¿Hay algún componente equivalente a este componente? etc. Creo que esto pertenece a su lista de materiales o cualquier proceso que utilice para la fabricación. Las partes alternativas son para facilitar el abastecimiento. Nuevamente para nosotros, todo esto proviene de una base de datos de piezas.


Me di cuenta de que tengo que documentar mi diseño (de ahí la pregunta), pero no conozco un buen método para hacerlo. ¿Escribo mis notas en un archivo de texto, las pongo directamente en el esquema, las escribo en papel y luego las escaneo? ¿Cómo mantengo las notas de decisión de diseño sincronizadas con el diseño y qué deben contener realmente las notas? ¿Cuál es el método de documentación que funciona para usted?
m.Alin

1
@ m.Alin SHG parece funcionar como yo, y tiene un documento de especificaciones que se realiza antes de trabajar en un esquema. Este documento debe tener requisitos detallados para el circuito, información sobre el sistema general, razonamiento detrás de decisiones importantes, etc. Esto documenta su proceso de pensamiento y enumera los requisitos que puede tomar para diseñar su esquema. Este es el camino a seguir en un entorno profesional, pero puede salirse con la suya si está haciendo el diseño en casa. Usualmente mantengo una carpeta en mi servidor de trabajo con
I. Wolfe

1
Se quedó sin espacio ... -con el documento de especificaciones, cualquier documentación de prueba, los diagramas de bloques del sistema general, las hojas de datos de las partes críticas, etc. Eso está todo en una subcarpeta (la carpeta de planificación / especificación) en la carpeta del proyecto. En una carpeta separada, tendría el esquema, el diseño de la PCB y cualquier documentación relevante de ensamblaje / fabricación. Idealmente, le gustaría que alguien pueda obtener toda la información que necesita de un documento, pero a veces no es necesario tener una hoja de datos o información / cálculos de prueba detallados.
I. Wolfe

agregó algunos comentarios sobre nuestro proceso en línea
Some Hardware Guy

44
+1 por usar el control de versiones para documentos críticos. Todos deberían usarlo, incluso un solo ingeniero autónomo.
Lior Bilia

5

Hago mucho diseño de giro rápido y tengo que decir: anotar el esquema es, con mucho, lo más conveniente. Es raro que cualquiera de mis diseños tenga más de 2 o 3 hojas A4, por lo que la cantidad de decisiones de diseño es limitada. Muchas decisiones de diseño son bastante automáticas; No necesito enumerar los motivos de cada parte. Solo una o dos partes principales y tal vez algún filtro o detección de tamaño pasivo. El resto es inmediatamente obvio para cualquier ingeniero de diseño experimentado.

En cuanto a su última pregunta: las partes alternativas generalmente no son una decisión de diseño sino una decisión de abastecimiento, y como tal es parte de su flujo de trabajo de abastecimiento. En mi caso, las partes alternativas están en las propiedades de mi parte y se obtienen automáticamente si el stock se agota en la parte principal o fuente.

Para diseños más grandes y para el diseño del sistema, tiendo a usar Google Docs con una plantilla de documento de diseño.

En resumen; Personalmente, opino que un flujo de trabajo compacto al final dará sus frutos. Tener muchos archivos separados con información de diseño (diseño de sistema separado, documentos de decisión de diseño, documentos de aprovisionamiento, todos separados de sus archivos de esquema y diseño básicos) causa una gran cantidad de desorden (mental) y requiere un cambio de contexto cada vez que desea revisar un diseño decisión. Tener todo en un solo lugar funciona bien. Si su esquema comienza a verse desordenado, esto no es un problema con este flujo de trabajo, sino que significa que probablemente debería compartimentar mejor su diseño, usar más hojas o usar hojas más grandes.


3
Por lo general, es mejor tener un documento de especificaciones, al menos en un entorno profesional. Por ejemplo, si quiero saber por qué elegí un valor de fusible, sería bueno saber que mi salida consume 700 mA por 50 uS y luego 300 mA por 3 segundos. Esta información solo llena un esquema donde todo lo que realmente necesita poner es la clasificación del fusible, pero podría ser necesario en algún momento. También hay circunstancias en las que he tenido 6 servos funcionando de un regulador, y necesito saber cuántos motores funcionarán simultáneamente. De nuevo, se necesitaba algo, pero no en el esquema.
I. Wolfe

1
Por supuesto, las opiniones variarán. Todo lo que digo es que con más de 200 diseños en mi haber, encuentro que esto funciona muy bien. 'Profesional' no necesita significar un protocolo y metodología estrictos; para diseños relativamente pequeños (que es la mayoría de lo que hago) esto funciona bien. Sin embargo, los diseños más grandes y especialmente el diseño colaborativo (que es muy raro en estos días, incluso cosas como Raspberry Pi está diseñado y presentado por el mismo tipo) requieren un poco más repetitivo.
user36129

4

Para muchos de mis proyectos más pequeños, generalmente he estado colocando una etiqueta verde simple y un borde alrededor de los subcircuitos. Para proyectos más grandes, algunos softwares eCAD le permiten construir desde un diagrama de bloques hacia abajo, donde cada hoja describe además un solo bloque. Hay un arte en descomponer cualquier problema y administrar las compensaciones (eso es ingeniería en mi humilde opinión). Cuando haya claramente algún análisis para la elección de componentes como el filtrado analógico, notaré la frecuencia de corte y el tipo de filtro (por ejemplo, filtro de paso bajo (f_c = 100Hz))

Los bloques comunes que encuentro en el tiempo y nuevamente incluyen:

  • Administración de energía (reguladores de voltaje, protección de polaridad inversa, diodos TVS, interruptor de alimentación, tapas de derivación, etc.)
  • MCU (microcontrolador, encabezado o pads de programación, tapas de derivación de chip)
  • Indicadores (p. Ej., LED, cable EL, pantalla de 7 seg, motor vib)
  • Detección de una característica particular (p. Ej., Detección de corriente, detección táctil, GSR, actividad, detección ambiental, etc.)
  • Debug Comms (cuenta de ferrita, USB, I2C, UART, SPI, alguna forma de obtener información)
  • Radio (todos los componentes de soporte para muchas radios)
  • Video (todos los componentes y chips de soporte para una cámara)
  • Almacenamiento externo (p. Ej., Flash externo, chip EEPROM para almacenar configuraciones, etc.)
  • Cualquier otra característica exclusiva de su diseño.

Con estos subbloques claramente organizados y etiquetados, puedo consumir un esquema en menos de un par de minutos.


3

Mantengo un cuaderno de diseño, y documente cuidadosamente las necesidades / deseos. Para los primeros prototipos, pasaré por la selección de partes, tomando notas sobre todas las decisiones reales. Para los cambios posteriores, utilizo un proceso FMEA bastante formal, que documenta qué necesidades no se satisfacen para justificar un cambio, porque obviamente, si no hay una necesidad no satisfecha, ¡no hay necesidad de un cambio!

Si soy lo suficientemente riguroso sobre esto, puedo rastrear cada cambio de diseño (hardware, software, mecánica) según sea necesario.

Todas las versiones de todas las cosas se rastrean usando subversion.

Esto puede ser un componente sustancial de un archivo de historial de diseño, que es imprescindible para la FDA.


3

A menudo he usado keynote (también puede optar por usar PowerPoint). Esto tiene la ventaja de permitir topes de pantalla de software de simulación como SPICE GUI y otros.

La clave para mí es la capacidad de colocar fragmentos de las hojas de datos y marcarlos para que aparezcan las importancia relativa en mis decisiones de diseño. También puedo incluir fotos de placas de circuitos tempranas o placas de pruebas, y enlaces a artículos que solía hacer para elegir el diseño.

También encuentro que tiendo a querer hacer matemáticas y dibujos usando lápiz sobre papel. Entonces tomo una foto con mi teléfono y la dejo en la nota clave sin volver a escribirla. A veces, para ecuaciones cortas, puedo usar LaTeX y soltarlo.

También puedo incluir trazados dibujados por software científico como octava.

Hoy en día, especialmente para tareas computacionalmente intensivas, puedo elegir hacer parte de este trabajo en las notebooks IPython, pero no lo he hecho específicamente para diseños de circuitos, solo para computación física.

Finalmente, Keynotes / Powerpoints son fáciles de arreglar para otros y exportar como pdf para su distribución a personas no / menos técnicas.


3

Coloque notas de ingeniería en los esquemas y, si es necesario, cree más hojas. Siempre pongo notas de ingeniería en todos mis esquemas porque en mi mundo es posible que tenga que volver a visitar 1/2 diseños horneados por un período de tiempo y luego ponerlos en segundo plano mientras tomo otro diseño; Flujo de diseño muy fluido. Estas notas de EE me ayudan a mí y a otros a volver a adoptar la intención del diseño con poco esfuerzo. También uso diferentes colores de texto / gráficos para indicar la importancia o el contexto. Ejemplo a continuación ...ingrese la descripción de la imagen aquí

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.