Bagaimana Anda mendokumentasikan keputusan desain perangkat keras Anda?

43

Bagaimana Anda mendokumentasikan keputusan perangkat keras Anda dalam fase desain? Bagaimana Anda menghindari bertanya pada diri sendiri pertanyaan-pertanyaan berikut saat meninjau desain perangkat keras yang Anda buat di masa lalu:

  • Mengapa memilih komponen ini?
  • Mengapa / bagaimana saya memilih parameter khusus ini untuk komponen ini?
  • Apa yang dilakukan bagian sirkuit ini?
  • Apa disipasi daya melalui komponen ini?
  • Berapa total konsumsi daya dari rangkaian ini?
  • Bisakah saya mengganti komponen ini dengan yang lain ini? Apakah ada komponen yang setara dengan komponen ini? dll.

Apa cara yang baik untuk mendokumentasikan keputusan dan perhitungan Anda selama fase desain sirkuit? Bagaimana cara saya mendapatkan jawaban atas pertanyaan di atas tanpa melalui lagi ratusan halaman lembar data?

Satu cara yang bisa saya pikirkan adalah menambahkan catatan dalam file skematik (jika EDA Anda mendukungnya), tetapi saya tidak ingin mengacaukan skema dengan terlalu banyak informasi.

m .lin
sumber
1
Siapa yang akan melihat detail ini? Apakah itu hanya untuk referensi Anda atau akan dilihat oleh orang lain?
stanri
@Stacey Dokumentasi ini dimaksudkan untuk saya dan desainer lain baca. Saya ingin membuat sebagian besar desain open source masa depan saya dan sangat penting bahwa mereka didokumentasikan dengan baik.
mAlin
9
@Stacey Tapi sungguh .. apa bedanya? Setelah beberapa saat Anda akan melihat desain Anda sendiri seolah-olah ini adalah pertama kalinya Anda melihatnya ..
mAlin
2
Perbedaannya terletak pada cara informasi disajikan. Sebuah dokumen formal yang menjelaskan setiap keputusan yang Anda buat dengan nada profesional akan menjadi lebih banyak pekerjaan daripada dengan cepat mencatat formula dan mencatat tentang nilai-nilai yang Anda pilih. Selain itu, jika orang lain akan melihat catatan, maka fakta bahwa itu digital adalah penting.
stanri
4
OMG Saya suka pertanyaan ini. (maaf saya tahu itu tidak benar-benar membantu, tapi ini adalah sesuatu yang saya kerjakan sekarang, jadi ini bagus). Lanjut.
efox29

Jawaban:

15

Saya pribadi menempuh rute kuno: Saya memiliki notebook desain di mana saya menuliskan segala sesuatu tentang keputusan desain yang saya buat. Terutama pilihan komponen dan nilai, perhitungan saat ini, perhitungan catu daya, semuanya. Saya juga mendokumentasikan keputusan perangkat lunak / firmware dan catatan tentang waktu dan penggunaan sumber daya.

Setiap notebook memiliki halaman konten untuk referensi bagian tertentu dari desain (catu daya, dll) dan semua halaman diberi nomor.

Saya telah mempertimbangkan untuk digital beberapa kali tetapi menyenangkan untuk memiliki notebook saya di depan saya ketika saya bekerja dan saya menemukan menulis formula secara digital cukup canggung. Jauh lebih mudah untuk menulis perhitungan dengan tangan.

Ketika menyiapkan spesifikasi atau dokumentasi formal untuk desain papan, saya biasanya merujuk kembali ke buku catatan saya sebagai penyegar dari apa yang saya lakukan (atau saya menulis dokumentasi digital pada saat yang sama). Meskipun ini mungkin tampak seperti saya melakukan hal yang sama dua kali, saya menemukan bahwa notebook saya cukup banyak perhitungan dan penjelasan untuk diri saya sendiri, di mana dokumentasi jauh lebih sedikit bertele-tele dan jauh lebih formal dan jelas untuk orang lain. Karena itu, saya tidak sering menemukan saya menulis hal yang sama dua kali.

stanri
sumber
Setuju sepenuhnya pada masalah formula, tapi saya berhenti menggunakan kertas catatan sekitar 5 tahun yang lalu. Mengetik jauh lebih mudah daripada menulis, dan memiliki semua yang biasa manfaat teks elektronik - dicari, sendable, backupable, dll
markt
2
Beberapa notebook desain paling mengesankan / penting di zaman kita: computerhistory.org/collections/fairchild . Salah satu keuntungan signifikan untuk buku catatan / notebook kertas adalah menggambar. Dibutuhkan lebih banyak upaya untuk menggambar / membuat sketsa di laptop saya (meskipun lebih mudah di iPad - istri saya misalnya menyimpan catatan desainnya di iPad-nya). Saya cenderung berpikir secara grafis, jadi saya banyak mendesain dengan menggambar diagram blok.
slebetman
11

Anda dapat kembali dan memperbarui spesifikasi desain dengan informasi ini. Atau ambil spec dan buat spec level lebih rendah di mana Anda menjelaskan secara lebih rinci apa yang akan Anda lakukan dan mengapa, idealnya sebelum Anda memulai skema :). Kemudian perbarui saat Anda mengikuti dan arsipkan dengan skema.


Menjawab pertanyaan di bawah ini: Apa yang biasanya kita lakukan adalah mulai dengan persyaratan pemasaran, lalu mungkin respons rekayasa formal atau hanya diskusi informal. Ini diikuti oleh MRD (dokumen persyaratan pemasaran), dengan kata lain, menggunakan templat kami. Itu termasuk persyaratan, analisis kompetitif, ukuran pasar, peluang, perkiraan biaya pengembangan, dll. Biasanya ini ditulis oleh orang pemasaran (atau seseorang di atas nilai gaji saya).

Ini diikuti oleh PRD (dokumen persyaratan produk) yang ditulis biasanya oleh teknik, juga dalam templat kata. Ini menjelaskan secara lebih terperinci teknis apa yang akan dilakukan produk, potongan apa yang diperlukan, dan pada tingkat tinggi bagaimana masing-masing dari mereka akan berfungsi. Seringkali kita akan memasukkan target kinerja, harga, kekuatan, ukuran dan metrik lainnya di sini.

Itu diikuti oleh spesifikasi fungsional terperinci untuk masing-masing bagian. Beberapa pekerjaan desain sebenarnya dilakukan di sini dengan baik sebelum dimasukkan ke dalam skema. Misalnya daya akan dihitung, bagian akan dipilih, dan banyak penelitian dilakukan. Ini adalah tempat kami akan mendokumentasikan keputusan desain yang tidak jelas.

Akhirnya kita akan sampai ke skema yang merupakan bagian yang mudah pada titik ini karena banyak pekerjaan desain keras dilakukan pada tahap spesifikasi. Di mana itu harus dilakukan menurut pendapat saya :) Jika ada perubahan selama tahap skematik, misalnya kita mencari tahu sesuatu tidak akan berhasil atau orang pemasaran datang berlari di aula mengatakan itu perlu merah sekarang bukan biru, maka kita akan kembali dan memperbarui spesifikasi.

Semua spesifikasi, PRD, MRD disimpan di SVN dengan tautan ke dokumen pada wiki internal. Perubahan spec akan menghasilkan pembaruan ke SVN dan pemberitahuan kepada pihak yang berkepentingan. Tentu saja Anda bisa menyimpannya secara manual di folder bersama di suatu tempat.

Itu kurang lebih proses saya, saya merasa Anda mungkin ingin mendokumentasikan setiap keputusan kecil yang dibuat tentang desain dan kami jelas tidak melakukan itu. Tidak mengatakan Anda tidak boleh, saya bisa melihat di mana itu akan membantu. Saya kira kita biasanya mendokumentasikan bagaimana dan bukan mengapa sepanjang waktu.


Ok mungkin saya seharusnya juga menjawab setiap pertanyaan :)

Jika Anda membuat perhitungan, mungkin di excel? Atau di atas kertas dan Anda menganggap hasil dan metode itu penting untuk memahami dan merancang rangkaian Anda, maka Anda harus memasukkannya dalam bagian yang sesuai dari spesifikasi desain. Bahkan jika itu berarti mengambil gambar dari gambar tangan Anda :)

Mengapa memilih komponen ini? Saya pikir spesifikasi fungsional adalah tempat yang bagus untuk ini, tidak perlu menjadi gila tetapi hanya satu atau dua baris sederhana tentang apa kelebihannya. Saya akan memesan ini untuk komponen penting, saya tidak berpikir Anda ingin menjelaskan mengapa Anda memilih resistor pull-up misalnya.

Mengapa / bagaimana saya memilih parameter khusus ini untuk komponen ini? Kombinasikan ini dengan di atas.

Apa yang dilakukan bagian sirkuit ini? Ini akan menjadi bagian dari spesifikasi fungsional Anda, jika rangkaian cukup penting untuk menjamin pertanyaan ini, ia harus memiliki bagian spesifikasi itu sendiri.

Apa disipasi daya melalui komponen ini? Jika Anda berbicara tentang catu daya, letakkan ini di bagian daya, saya juga ingin mencatat ini pada skema. Benar-benar meskipun semua bagian saya berasal dari database dan skema langsung terhubung ke mereka sehingga kita dapat dengan mudah melihat parameter, lembar data dll. Tetapi jika Anda hanya memiliki hasil cetak, senang mengetahui beberapa dari ini.

Berapa total konsumsi daya dari rangkaian ini? Saya pikir ini termasuk dalam bagian catu daya dari spesifikasi Anda.

Bisakah saya mengganti komponen ini dengan yang lain ini? Apakah ada komponen yang setara dengan komponen ini? dll. Saya pikir ini milik BOM Anda atau proses apa pun yang Anda gunakan untuk pembuatan. Suku cadang alternatif adalah untuk memudahkan pencarian sumber. Sekali lagi bagi kami ini semua keluar dari database bagian.

Guy Perangkat Keras
sumber
Saya menyadari bahwa saya harus mendokumentasikan desain saya (karena itu pertanyaannya), tetapi saya tidak tahu metode yang baik untuk melakukan itu. Apakah saya menulis catatan saya dalam file teks, apakah saya meletakkan catatan langsung di skema, apakah saya menulis catatan di atas kertas dan kemudian memindai mereka? Bagaimana cara menjaga catatan keputusan desain disinkronkan dengan desain dan apa yang seharusnya berisi catatan itu? Apa metode dokumentasi yang cocok untuk Anda?
m.Alin
1
@ m.Alin SHG tampaknya beroperasi seperti saya, dan memiliki dokumen spesifikasi yang dilakukan sebelum mengerjakan skema. Dokumen ini harus memiliki persyaratan terperinci untuk sirkuit, informasi tentang sistem keseluruhan, alasan di balik keputusan besar, dll. Ini mendokumentasikan proses pemikiran Anda dan mencantumkan persyaratan yang dapat Anda ambil untuk merancang skema Anda. Ini adalah cara untuk pergi dalam pengaturan profesional, tetapi Anda dapat pergi dengan notebook dan sejenisnya jika Anda melakukan desain di rumah. Saya biasanya menyimpan folder di server kerja saya dengan
I. Wolfe
1
Keluar dari kamar ... -dengan dokumen spesifikasi, dokumentasi pengujian, diagram blok dari sistem keseluruhan, lembar data untuk setiap bagian penting, dll. Itu semua dalam satu subfolder (folder perencanaan / spesifikasi) di folder proyek. Dalam folder terpisah saya akan memiliki skema, tata letak PCB, dan dokumentasi perakitan / pabrikan yang relevan. Idealnya, Anda ingin seseorang dapat memperoleh semua informasi yang mereka butuhkan dari satu dokumen, tetapi kadang-kadang tidak perlu berkeliling membutuhkan lembar data atau info / perhitungan pengujian terperinci.
I. Wolfe
menambahkan beberapa komentar pada proses inline kami
Some Hardware Guy
4
+1 untuk menggunakan kontrol versi untuk dokumen penting. Setiap orang harus menggunakannya, bahkan seorang insinyur, wiraswasta.
Lior Bilia
5

Saya melakukan banyak desain putaran cepat dan saya harus mengatakan: menjelaskan skema sejauh ini adalah hal yang paling nyaman. Jarang sekali desain saya lebih dari 2 atau 3 lembar A4, sehingga jumlah keputusan desain terbatas. Banyak keputusan desain cukup otomatis; Saya tidak perlu membuat daftar alasan untuk setiap bagian. Hanya satu atau dua bagian utama dan mungkin beberapa filter atau penginderaan ukuran pasif. Sisanya segera jelas bagi insinyur desain berpengalaman.

Adapun pertanyaan terakhir Anda: bagian-bagian alternatif umumnya bukan keputusan desain tetapi keputusan sumber, dan dengan demikian itu bagian dari alur kerja sumber Anda. Dalam kasus saya, bagian-bagian alternatif ada di properti bagian saya dan diperoleh secara otomatis jika stok habis pada bagian atau sumber utama.

Untuk desain yang lebih besar dan untuk desain sistem, saya cenderung menggunakan Google Documents dengan templat dokumen desain.

Singkatnya; Saya pribadi berpendapat bahwa alur kerja yang kompak akan terbayar pada akhirnya. Memiliki banyak file terpisah dengan informasi desain (desain sistem terpisah, dokumen keputusan desain, sumber dokumen, semua terpisah dari skema dasar dan file tata letak) menyebabkan banyak kekacauan (mental) dan memerlukan pengalihan konteks setiap kali Anda ingin meninjau desain keputusan. Memiliki semuanya di satu tempat berfungsi dengan baik. Jika skema Anda mulai terlihat berantakan, ini bukan masalah dengan alur kerja ini tetapi berarti Anda mungkin harus memilah-milah desain Anda dengan lebih baik, gunakan lebih banyak lembar atau gunakan lembar lebih besar.

pengguna36129
sumber
3
Biasanya lebih baik memiliki dokumen spesifikasi, setidaknya dalam lingkungan profesional. Sebagai contoh jika saya ingin tahu mengapa saya memilih nilai sekering, akan lebih baik untuk mengetahui bahwa output saya menarik 700mA untuk 50uS dan kemudian 300mA untuk 3s. Informasi ini hanya mengacaukan skema di mana semua yang Anda butuhkan adalah peringkat sekering, tetapi mungkin diperlukan pada titik tertentu. Ada juga keadaan di mana saya memiliki 6 servos berlari dari satu regulator, dan saya perlu tahu berapa banyak motor akan berjalan secara bersamaan. Sekali lagi sesuatu dibutuhkan, tetapi tidak pada skema.
I. Wolfe
1
Tentu saja, pendapat akan bervariasi. Yang saya katakan adalah bahwa dengan 200+ desain di bawah ikat pinggang saya, saya menemukan bahwa ini bekerja dengan sangat baik. 'Profesional' tidak perlu berarti protokol dan metodologi yang ketat; untuk desain yang relatif kecil (yang merupakan mayoritas dari apa yang saya lakukan) ini berfungsi dengan baik. Desain yang lebih besar dan terutama desain kolaboratif (yang sangat jarang akhir-akhir ini, bahkan hal-hal seperti Raspberry Pi dirancang dan ditata oleh satu orang yang sama) memang membutuhkan pelat boiler yang sedikit lebih tinggi.
user36129
4

Untuk banyak proyek kecil saya, saya biasanya menempatkan label hijau sederhana dan perbatasan di sekitar sub-sirkuit. Untuk proyek yang lebih besar, beberapa perangkat lunak eCAD memungkinkan Anda membangun dari diagram blok ke bawah, di mana setiap lembar lebih lanjut menggambarkan satu blok. Ada seni untuk menguraikan masalah, dan mengelola pengorbanan (itulah rekayasa IMHO). Di mana ada beberapa analisis untuk pemilihan komponen seperti penyaringan analog, saya akan perhatikan frekuensi cutoff dan tipe filter (mis. Low-Pass Filter (f_c = 100Hz))

Blok umum yang sering saya temui adalah:

  • Manajemen Daya (regulator tegangan, perlindungan polaritas balik, dioda TVS, sakelar daya, tutup bypass, dll.)
  • MCU (mikrokontroler, header atau bantalan pemrograman, tutup bypass chip)
  • Indikator (mis. LED, kabel EL, layar 7-seg, motor vib)
  • Sensing untuk fitur tertentu (mis. Sensing Sekarang, Sensing Sentuh, GSR, Aktivitas, Sensing Lingkungan, dll)
  • Debug Comms (ferit bead, USB, I2C, UART, SPI, beberapa cara untuk mendapatkan info)
  • Radio (semua komponen pendukung untuk banyak radio)
  • Video (semua komponen pendukung dan chip untuk kamera)
  • Penyimpanan Eksternal (misal Flash Eksternal, chip EEPROM untuk menyimpan pengaturan, dll)
  • Fitur lain yang unik untuk desain Anda

Dengan sub-blok yang diatur dan diberi label dengan jelas ini, saya dapat menggunakan skema dalam waktu kurang dari beberapa menit.

tarabyte
sumber
3

Saya menyimpan notebook desain, dan dengan cermat mendokumentasikan kebutuhan / keinginan. Untuk prototipe awal, saya akan melalui pemilihan bagian, mencatat semua keputusan nyata. Untuk perubahan selanjutnya, saya menggunakan proses FMEA yang cukup formal, mendokumentasikan kebutuhan mana yang tidak terpenuhi untuk membenarkan perubahan - karena jelas, jika tidak ada kebutuhan yang tidak terpenuhi, tidak perlu untuk perubahan!

Jika saya cukup teliti tentang hal ini, saya dapat melacak setiap perubahan desain (perangkat keras, perangkat lunak, mekanik) hingga kebutuhan.

Semua versi dari semua hal dilacak menggunakan subversi.

Ini bisa menjadi komponen substansial dari File Riwayat Desain, yang merupakan keharusan bagi FDA.

Scott Seidman
sumber
3

Saya sering menggunakan keynote (Anda juga dapat memilih untuk menggunakan PowerPoint). Ini memiliki keuntungan memungkinkan penutup layar perangkat lunak simulasi seperti GUI SPICE dan semacamnya.

Yang benar-benar penting bagi saya adalah kemampuan untuk menjatuhkan potongan dari lembar data dan menandainya sehingga kepentingan relatif dalam keputusan desain saya muncul. Saya juga dapat menyertakan foto-foto papan sirkuit awal atau papan tempat memotong roti, dan tautan ke artikel yang saya gunakan untuk membuat pilihan desain.

Saya juga menemukan bahwa saya cenderung ingin melakukan matematika dan menggambar menggunakan pensil di atas kertas. Jadi saya mengambil foto dengan telepon saya dan meletakkannya di keynote tanpa mengetik ulang. Terkadang untuk persamaan pendek saya dapat menggunakan LaTeX dan memasukkannya ke dalam.

Saya juga dapat menyertakan plot yang digambar oleh perangkat lunak ilmiah seperti oktaf.

Saat ini, terutama untuk tugas-tugas intensif komputasi saya dapat memilih untuk melakukan beberapa pekerjaan ini di notebook IPython, tapi saya belum secara khusus melakukan itu untuk desain sirkuit, hanya untuk perhitungan fisika.

Akhirnya, Keynotes / Powerpoints mudah untuk didandani orang lain dan diekspor sebagai pdf untuk dibagikan kepada orang-orang yang kurang / kurang teknis.

ZSG
sumber
3

Tempatkan catatan teknik pada skema dan jika perlu buat lebih banyak lembar. Saya selalu menempatkan catatan teknik pada semua skema saya karena di dunia saya, saya mungkin harus mengunjungi kembali 1/2 desain yang sudah dipanggang untuk jangka waktu tertentu kemudian meletakkannya di back-burner lagi ketika saya mengambil desain yang lain; aliran desain sangat cairan. Catatan EE ini membantu saya dan orang lain merangkul kembali maksud desain dengan sedikit usaha. Saya juga menggunakan berbagai warna teks / grafik untuk menunjukkan pentingnya atau konteksnya. Contoh di bawah ini ...masukkan deskripsi gambar di sini

Steve
sumber