Guibord Technical Writing Services – Online Articles

 

 

 

Fundamentals of Design & Engineering - Electronics Hardware & Software


By Daniel J.M. Guibord

 

 

 

Fundamentals of Hardware Design and Engineering 

 

The best approach to electronics and photonics design and engineering is that of a black-box approach. The first thing to do is to define the specifications for the inputs and outputs (use a truth table, whether the signals are digital, or analog, or mixed). So long as the correct output signals for specific input signals are obtained, what is in-between inputs and outputs does not really matter strictly from an electronics or photonics point of view.

 

       Use a modular approach (a building block approach), with each block conservatively designed. It is a lot easier to redo a block than an entire circuit (each piece of the sphere represents a circuit block).

 

 

Ensure that the integrity of power supply lines and signals are maintained throughout.

 

You can significantly reduce EMI/RFI by terminating all high-speed transmission lines with a load resistor of appropriate value. Once you get the prototype board, all that you need do is use an oscilloscope and a small variable resistor in order to determine the appropriate ohmic value for each transmission line, a matter of one minute no more per transmission line. Additionally, with the use of ground planes and copper fills between conductors and throughout the printed circuit board, you can sink EMI/RFI; the whole approach enables reduction of EMI/RFI to near zero. In order to reduce the balance to an absolute zero, in most case all that is required is a metal enclosure.

 

Use a single point connection for all circuits' ground returns, thereby avoiding unnecessary ground loops.

 

Generally, circuit impedances near 10 K ohms are the best compromise for an ohmic value that is neither too low nor to high to significantly load the circuit or cause unwanted noise pick-up problems.

 

Modify circuit blocks for lesser parts count and cost only once you are satisfied with the circuit's reliability.

 

 

 

Fundamentals on Software Design and Engineering

 

An excellent approach to design and engineering of software is the use of Borland's C++Builder for GUIs, and Borland's TASM for everything except GUIs. With this kind of approach, you get professional GUIs where you need them, and lightning speed where you need it (it is relatively easy to supply pure logic coding where need be; e.g., high performance engines coded solely with AND, OR, and NOT operators), be it for an MS-DOS, Windows, QNX, or a UNIX platform.

 

       Make use of a modular approach (an OOP approach); all that you need do is call in the objects (building blocks, subroutines, procedures) into your main program as it requires them. The main program is simply a flow of logic processes that call in objects as required, and which objects write/read data to/from a common data base(s) (each piece of the sphere represents an object (e.g., procedure, etc.); the sphere represents an OOP-type developed program).

 

In order not to create data bugs resulting from procedures that write to common data bases, a reference table of flags for the data bases (one flag per data base) can be created; so that flags are checked by the active procedures prior to writing to the data base of interest; a procedure simply rises a flag at the reference table upon writing to the data base, and lowers it upon terminating. If the flag of any given database is risen, then procedures simply do not write to it.

 

Always provide informative error handlers.

 

Always provide names that are truly descriptive of the variables and constants that they represent, and comment your code as if those who will read it would know nothing about the program.

 

Always include flowcharts.

 

 

Here are a few titles of some excellent reference books on software development:

 

Using Assembly Language, by Allen L. Wyatt, Pub. QUE

Advanced Assembly Language, by Allen L. Wyatt, Pub. QUE

DOS Programmer's Reference, by Terry Dettmann, Pub. QUE

New C Primer Plus, by The Waite Group, Pub. SAMS

Mastering Turbo Assembler, by Tom Swan. Pub. SAMS

Turbo C++, by Borland, Pub. Borland

Borland C++ 5, by Tom Swan, Pub. SAMS

Teach Yourself C++ in 5 Days, by Borland, Pub. SAMS

The Indispensable PC Hardware Book, by Hans-Peter Messmer, Pub. Addison-Wesley

Turbo Pascal, by Borland, Pub. Borland

 

 

My favorite author is Tom Swan. All that you need do is open up one of his books, and there he lays it all before your mind, the most complex and baffling subjects on programming, rendered the simplest things in the world to understand.