Como você documenta suas decisões de design de hardware?

43

Como você documenta suas decisões de hardware na fase de design? Como você evita ter que se fazer as seguintes perguntas ao revisar um design de hardware que você fez no passado:

  • Por que a escolha deste componente?
  • Por que / como escolhi esses parâmetros específicos para este componente?
  • O que essa parte do circuito faz?
  • Qual é a dissipação de energia através deste componente?
  • Qual é o consumo total de energia deste circuito?
  • Posso substituir este componente por outro? Existem componentes equivalentes para este componente? etc.

Qual é uma boa maneira de documentar suas decisões e cálculos durante a fase de projeto de um circuito? Como obtenho respostas para as perguntas acima sem passar novamente por centenas de páginas de folha de dados?

Uma maneira de pensar é adicionar anotações nos arquivos esquemáticos (se o seu EDA suportar), mas eu não gostaria de confundir o esquema com muita informação.

m.Alin
fonte
1
Quem vai ver esses detalhes? Eles são apenas para sua referência ou serão vistos por outras pessoas?
Stanri
@Stacey A documentação é para mim e outros designers lerem. Eu gostaria de tornar a maioria dos meus projetos futuros de código aberto e é muito importante que eles sejam devidamente documentados.
m.Alin
9
@Stacey Mas sério ... qual é a diferença? Depois de um tempo você vai olhar para o seu próprio projeto como se fosse a primeira vez que você vê-lo ..
m.Alin
2
A diferença está na maneira como as informações são apresentadas. Um documento formal que explique todas as decisões que você tomou em um tom profissional será muito mais trabalhoso do que anotar rapidamente uma fórmula e anotar os valores que você escolheu. Além disso, se alguém quiser ver as anotações, o fato de serem digitais é importante.
stanri
4
OMG Eu amo essa pergunta. (desculpe, eu sei que não está realmente ajudando, mas isso é algo em que estou trabalhando agora, então isso é ótimo). Continue.
Efox29

Respostas:

15

Pessoalmente, segui o caminho antiquado: tenho um caderno de design onde escrevo absolutamente tudo sobre as decisões de design que tomo. Especialmente opções de componentes e valores, cálculos atuais, cálculos de fonte de alimentação, tudo. Também documento as decisões de software / firmware e as notas sobre o tempo e o uso de recursos.

Cada notebook possui uma página de conteúdo para referenciar uma parte específica do design (fonte de alimentação etc.) e todas as páginas são numeradas.

Eu já considerei digitalizar várias vezes, mas é bom ter meu notebook na minha frente enquanto trabalho e acho que escrever fórmulas digitalmente é bastante estranho. É muito mais fácil escrever cálculos manualmente.

Ao preparar uma especificação ou documentação formal para o design de uma placa, geralmente refiro-me ao meu notebook como uma atualização do que fiz (ou escrevo a documentação digital ao mesmo tempo). Mesmo que pareça que estou fazendo a mesma coisa duas vezes, acho que meus cadernos são praticamente todos os cálculos e explicações para mim, onde a documentação é muito menos detalhada e muito mais formal e explicativa para os outros. Como tal, nem sempre acho que estou escrevendo a mesma coisa duas vezes.

Stanri
fonte
Concordo completamente com a questão das fórmulas, mas parei de usar notas em papel há cerca de 5 anos. A digitação é muito mais fácil do que escrever, e tem todas as usuais benefícios de texto eletrônicos - pesquisável, sendable, backupable, etc.
Markt
2
Alguns dos cadernos de desenho mais impressionantes / importantes de nossos tempos: computerhistory.org/collections/fairchild . Uma vantagem significativa para um diário de bordo / caderno de papel é o desenho. É preciso muito mais esforço para desenhar / esboçar coisas no meu laptop (embora seja mais fácil em um iPad - minha esposa, por exemplo, mantém suas anotações de design em seu ipad). Tendo a pensar graficamente, faço muito do meu design desenhando diagramas de blocos.
slebetman
11

Você pode voltar e atualizar as especificações de design com essas informações. Ou pegue a especificação e crie uma especificação de nível mais baixo, onde você descreve mais detalhadamente o que vai fazer e por quê, idealmente antes de iniciar os esquemas :). Em seguida, atualize à medida que avança e arquive com os esquemas.


Respondendo às perguntas abaixo: Bem, o que geralmente fazemos é começar com os requisitos de marketing, talvez uma resposta formal de engenharia ou apenas uma discussão informal. Isso é seguido por um MRD (documento de requisitos de marketing), em palavras, usando nosso modelo. Isso inclui requisitos, análise competitiva, tamanho do mercado, oportunidade, custo estimado de desenvolvimento etc. Geralmente, isso é escrito por um profissional de marketing (ou alguém acima da minha classe de pagamento).

Isto é seguido pelo PRD (documento de requisitos do produto) escrito geralmente pela engenharia, também em um modelo de palavra. Isso descreve com mais detalhes técnicos o que o produto fará, quais peças são necessárias e, em alto nível, como cada uma delas funcionará. Muitas vezes, incluiremos desempenho desejado, preço, potência, tamanho e outras métricas aqui.

Isso é seguido por especificações funcionais detalhadas para cada uma das seções. Alguns trabalhos de design são realmente feitos aqui muito antes de serem incluídos no esquema. Por exemplo, a energia será calculada, as partes serão selecionadas e haverá muita pesquisa. Este é o local em que documentamos qualquer decisão de design não óbvia.

Por fim, abordaremos os esquemas, que são a parte mais fácil nesse momento, porque grande parte do trabalho de design foi realizado no estágio de especificação. Onde deve ser feito na minha opinião :) Se algo mudar durante o estágio esquemático, por exemplo, descobrimos que algo não vai funcionar ou uma pessoa de marketing vem correndo pelo corredor dizendo que precisa estar vermelho agora em vez de azul, então nós voltará e atualizará as especificações.

Todas as especificações, PRD, MRD são mantidas no SVN com links para os documentos em um wiki interno. Uma alteração nas especificações resultará em uma atualização para o SVN e uma notificação para as partes interessadas. Obviamente, você pode simplesmente mantê-lo manualmente em uma pasta compartilhada em algum lugar.

Esse é mais ou menos o meu processo, sinto que você pode querer documentar todas as pequenas decisões tomadas sobre um design e, definitivamente, não fazemos isso. Não dizendo que não deveria, pude ver onde seria útil. Acho que geralmente documentamos o como e não o por que o tempo todo.


Ok, talvez eu também devesse ter abordado cada questão :)

Se você está fazendo cálculos, no excel, talvez? Ou no papel e você acha que os resultados e o método são importantes para a compreensão e o design do seu circuito, inclua-os na seção apropriada da especificação do projeto. Mesmo que isso signifique tirar uma foto da sua mão desenhando :)

Por que a escolha deste componente? Eu acho que a especificação funcional é um bom lugar para isso, não há necessidade de enlouquecer, mas apenas uma ou duas linhas simples sobre quais são suas vantagens. Eu reservaria isso para componentes críticos, não acho que você queira descrever por que escolheu um resistor de pull-up, por exemplo.

Por que / como escolhi esses parâmetros específicos para este componente? Combine isso com o acima.

O que essa parte do circuito faz? Isso faria parte de suas especificações funcionais, se o circuito for importante o suficiente para justificar essa pergunta, ele deverá ter sua própria seção.

Qual é a dissipação de energia através deste componente? Se você está falando sobre fonte de alimentação, coloque isso na seção de energia, também gosto de observar isso nos esquemas. Realmente, embora todas as minhas partes venham de um banco de dados e o esquema esteja diretamente vinculado a elas, para que possamos ver facilmente os parâmetros, a folha de dados etc. Mas se você tiver apenas uma impressão, é bom saber um pouco disso.

Qual é o consumo total de energia deste circuito? Eu acho que isso pertence à seção de fonte de alimentação da sua especificação.

Posso substituir este componente por outro? Existem componentes equivalentes a este componente? etc. Acho que isso pertence à sua lista técnica ou a qualquer processo que você use para fabricar. As peças alternativas são para facilitar o fornecimento. Novamente, para nós, tudo isso está saindo de um banco de dados de peças.

Um cara de hardware
fonte
Percebi que tenho que documentar meu design (daí a pergunta), mas não conheço um bom método para fazer isso. Escrevo minhas anotações em um arquivo de texto, coloco as anotações diretamente no esquema, escrevo as anotações em papel e as digitalizo? Como mantenho as notas de decisão de design sincronizadas com o design e o que as notas realmente devem conter? Qual é o método de documentação que funciona para você?
precisa saber é o seguinte
1
@ m.Alin SHG parece funcionar como eu e possui um documento de especificação que é feito antes de trabalhar em um esquema. Este documento deve conter requisitos detalhados para o circuito, informações sobre o sistema geral, fundamentar as principais decisões etc. Isso documenta seu processo de pensamento e lista os requisitos que você pode adotar para projetar seu esquema. Esse é o caminho a seguir em um ambiente profissional, mas você pode se safar dos notebooks e coisas semelhantes se estiver fazendo o design em casa. Eu costumo manter uma pasta no meu servidor de trabalho com
I. Wolfe
1
Ficou sem espaço ... -com o documento de especificação, qualquer documentação de teste, qualquer diagrama de blocos do sistema geral, folhas de dados para quaisquer partes críticas, etc. Isso é tudo em uma subpasta (a pasta de planejamento / especificação) na pasta do projeto. Em uma pasta separada, eu teria o esquema, o layout da placa de circuito impresso e qualquer documentação relevante de montagem / fabricação. Idealmente, você gostaria que alguém pudesse obter todas as informações necessárias em um documento, mas às vezes não há como precisar de uma folha de dados ou informações / cálculos detalhados de testes.
I. Wolfe
Adicionamos alguns comentários sobre o nosso processo em linha.
Some Hardware Guy
4
+1 para usar o controle de versão para documentos críticos. Todos devem usá-lo, mesmo um engenheiro independente.
Lior Bilia 9/02
5

Eu faço muitos projetos de giro rápido e tenho que dizer: anotar o esquema é de longe a coisa mais conveniente. É raro qualquer um dos meus designs ter mais de 2 ou 3 folhas A4, portanto, a quantidade de decisões de design é limitada. Muitas decisões de design são praticamente automáticas; Não preciso listar os motivos de cada parte. Apenas uma ou duas partes principais e talvez algum filtro ou dimensionamento passivo sensível. O resto é imediatamente óbvio para qualquer engenheiro de design experiente.

Quanto à sua última pergunta: peças alternativas geralmente não são uma decisão de design, mas uma decisão de fornecimento e, como tal, fazem parte do seu fluxo de trabalho de fornecimento. No meu caso, peças alternativas estão nas propriedades da minha peça e são adquiridas automaticamente se o estoque acabar na peça ou na fonte principal.

Para projetos maiores e para o sistema, eu costumo usar o Google Docs com um modelo de documento de design.

Em suma; Pessoalmente, sou da opinião de que um fluxo de trabalho compacto será recompensado no final. Ter muitos arquivos separados com informações de design (design de sistema separado, documentos de decisão de design, documentos de fornecimento, todos separados dos arquivos de esquema e de layout básicos) causa muita confusão (mental) e requer troca de contexto toda vez que você deseja revisar um design decisão. Ter tudo em um só lugar funciona bem. Se o seu esquema começar a parecer confuso, isso não é um problema com esse fluxo de trabalho, mas significa que você provavelmente deve compartimentar melhor seu design, usar mais folhas ou folhas maiores.

user36129
fonte
3
Geralmente, é melhor ter um documento de especificação, pelo menos em um ambiente profissional. Por exemplo, se eu quiser saber por que escolhi um valor de fusível, seria bom saber que minha saída consome 700mA por 50uS e 300mA por 3s. Essas informações apenas confundem um esquema onde tudo que você realmente precisa colocar é a classificação do fusível, mas pode ser necessário em algum momento. Há também circunstâncias em que tive 6 servos funcionando em um regulador e preciso saber quantos motores funcionarão simultaneamente. Novamente algo necessário, mas não no esquema.
I. Wolfe
1
Obviamente, as opiniões variam. Tudo o que estou dizendo é que, com mais de 200 designs, acho que isso funciona muito bem. 'Profissional' não precisa significar protocolo e metodologia rigorosos; para projetos relativamente pequenos (que é a maioria do que faço), isso funciona bem. Projetos maiores e especialmente design colaborativo (o que é muito raro atualmente, até coisas como o Raspberry Pi são projetados e apresentados pelo mesmo cara) exigem um pouco mais de clichê.
User36129
4

Para muitos dos meus projetos menores, geralmente coloco uma etiqueta verde simples e uma borda ao redor dos sub-circuitos. Para projetos maiores, alguns softwares eCAD permitem criar a partir de um diagrama de blocos, em que cada planilha descreve um único bloco. Existe uma arte em decompor qualquer problema e gerenciar as compensações (que é a engenharia IMHO). Onde houver claramente alguma análise para a escolha de componentes, como a filtragem analógica, observarei a frequência de corte e o tipo de filtro (por exemplo, filtro passa-baixo (f_c = 100Hz))

Blocos comuns que eu corro no tempo e novamente incluem:

  • Gerenciamento de energia (reguladores de tensão, proteção contra polaridade reversa, diodos TVS, chave liga / desliga, capas de derivação, etc.)
  • MCU (microcontrolador, cabeçalho ou blocos de programação, caps bypass)
  • Indicadores (por exemplo, LEDs, fio EL, display de 7 seg, motor vib)
  • Detecção de um recurso específico (por exemplo, detecção de corrente, detecção de toque, GSR, atividade, detecção ambiental etc.)
  • Comunicações de depuração (contas de ferrite, USB, I2C, UART, SPI, uma maneira de obter informações)
  • Rádio (todos os componentes de suporte para muitos rádios)
  • Vídeo (todos os componentes e chips de suporte para uma câmera)
  • Armazenamento externo (por exemplo, Flash externo, chip EEPROM para armazenar configurações, etc.)
  • Qualquer outro recurso exclusivo para o seu design

Com esses sub-blocos claramente organizados e rotulados, posso consumir um esquema em menos de alguns minutos.

tarabyte
fonte
3

Eu mantenho um caderno de desenho e documento cuidadosamente as necessidades / desejos. Para os primeiros protótipos, vou fazer a seleção de peças, anotando todas as decisões reais. Para alterações subseqüentes, eu uso um processo FMEA bastante formal, documentando qual necessidade não está sendo atendida para justificar uma mudança - porque obviamente, se não há necessidade não atendida, não há necessidade de alteração!

Se eu for rigoroso o suficiente sobre isso, posso acompanhar todas as alterações de design (hardware, software, mecânica) conforme necessário.

Todas as versões de todas as coisas são rastreadas usando o subversion.

Esse pode ser um componente substancial de um arquivo de histórico de design, obrigatório para o FDA.

Scott Seidman
fonte
3

Eu sempre usei a palestra (você também pode optar por usar o PowerPoint). Isso tem a vantagem de permitir capas de tela de software de simulação, tais como SPI GUIs e outras.

Realmente importante para mim é a capacidade de extrair trechos das folhas de dados e marcá-los para que as importâncias relativas em minhas decisões de projeto apareçam. Também posso incluir fotos das primeiras placas de circuito ou placas de ensaio e links para artigos que usei para fazer escolhas de design.

Também acho que tenho vontade de fazer matemática e desenhar usando lápis sobre papel. Então, tiro uma foto com o meu telefone e a solto na palestra sem redigitar. Às vezes, para equações curtas, posso usar o LaTeX e inserir isso.

Também posso incluir gráficos desenhados por softwares científicos como a oitava.

Atualmente, especialmente para tarefas computacionalmente intensivas, posso optar por fazer parte desse trabalho em notebooks IPython, mas ainda não o fiz especificamente para projetos de circuitos, apenas para computação física.

Finalmente, Keynotes / Powerpoints são fáceis de obter para outros e exportam como pdf para distribuição a pessoas não / menos técnicas.

ZSG
fonte
3

Coloque notas de engenharia nos esquemas e, se necessário, crie mais planilhas. Eu sempre coloco notas de engenharia em todos os meus esquemas, porque no meu mundo talvez seja necessário visitar novamente os designs 1/2 cozidos por um período de tempo e depois colocá-lo em segundo plano novamente enquanto seleciono outro design; fluxo de projeto muito fluido. Essas notas de EE ajudam a mim e a outros a abraçar a intenção do projeto com pouco esforço. Eu também uso cores diferentes de texto / gráficos para indicar a importância ou o contexto. Exemplo abaixo ...insira a descrição da imagem aqui

Steve
fonte