![]() |
||||||||||||
Learn Hardware Firmware and Software Design is a practical design project starting from a blank, white page. This is very important: LHFSD starts from ground zero, then it implements few simple hardware schematics and firmware/software routines, and then it builds up gradually, towards more complex functionality--in firmware and software. Each design step in each chapter is an independent, working hardware module, or a stand-alone firmware/software program. |
||||||||||||
![]() LHFSD is structured in three parts: it starts with hardware design, then it implements the firmware programs on the previously designed hardware modules. In the last part, the software applications presented take control over firmware and hardware. Please find the Table of Contents in this site for details about chapters and subchapters. In Part one, HARDWARE DESIGN are presented in details the schematics, the PCB, and the BOM of LHFSD-HCK (Hardware Companion Kit. The LHFSD-HCK implements the following hardware modules: 1. the power supply circuit having two power levels: unregulated +9V and regulated +5V DC 2. the oscillator circuit using a ceramic resonator (the crystal oscillator version is also presented) 3. the ICD2 programming interface using a standard RJ-45/6-6 female connector 4. the RS232 module is presented in 2 versions: using the standard MAX232N IC; and a custom RS232 hardware driver built out of discrete components 5. discrete I/O modules for buttons, leds, buzzer, etc. 6. serialized I/O modules working on a custom SPI Bus--this is extremely important! 7. a programmable digital potentiometer working as 8 bits Digital to Analog Converter connected to the SPI Bus 8. a Bargraph module using eight comparator Operational Amplifiers, and controlling an array of nine leds 9. one Seven Segments three numbers led display using multiplexing, Shift-Registers, and the SPI Bus 10. visual and audio indicators needed for testing and debugging 11. one temperature sensor analog channel 12. one linear potentiometer analog channel 13. a universal unipolar and bipolar stepper driver module for any stepper within 9 .. 12V, and 20 .. 200mA 14. interface connectors for extended functionality 15. the SPI Bus employing standard logic ICs--this is one of the most important lessons in hardware and firmware programming 16. the microcontroller dsPIC30F4011 or dsPIC30F3011 |
||||||||||||
All schematics needed to build the LHFSD-HCK kit are presented in minute details. The chapter dedicate to
building the PCB includes a description of the Bill of Materials. You could build the LHFSD-HCK kit yourself, or you could buy it from Corollary Theorems. Note that theoretical knowledge is great, though little hands-on experience helps a lot improving your design skills. The kit provided by Corollary Theorems includes one stepper motor which may be either unipolar or bipolar, because the LHFSD-HCK handles them both. In fact, the LHFSD-HCK is a development tool, and it was intentionally designed with sockets for all ICs and Through-Hole footprints. As a result, the board may be modified and used as a component module in further experimentations, beyond the topics described in LHFSD book. |
||||||||||||
![]() Part two, FIRMWARE DESIGN, uses MPLAB IDE and the ANSI C30 compiler available for 60 days free trial period from Microchip. The eight firmware programs developed in this part, plus four more developed in Part 3, Software Design, implement drivers for all hardware modules previously designed in Part 1. Each firmware chapter builds one or two firmware projects carefully designed and tested for proper functionality. The reader is gently introduced to: 1. structuring firmware projects 2. real time multitasking 3. programming with interrupts 4. building a custom SPI BUS firmware driver 5. using multiplexing 6. programming discrete and serialized I/Os 7. programming Analog to Decimal Conversion channels 8. building an RS232 serial communications firmware driver for HyperTerminal, and for the custom-built Visual Basic applications 9. driving stepper motors 10. firmware data control 11. lots more ... |
||||||||||||
![]() Many professional secrets are revealed in in Firmware Design, therefore they make the entire firmware development to appear simple, and even fun. The most important aspect in this part is, the firmware code is explained functionally, line by line, in each firmware project. |
||||||||||||
![]() Part three, SOFTWARE DEVELOPMENT, implements eight applications in Visual Basic, plus four more firmware programs. The accent in this Part is on: 1. Serial communications: you will build few HyperTerminal-like application in Visual Basic. 2. Graphic Interface: you will build a Multiple Documents Interface (MDI) to harbor your graphic user-interface. Among the graphic controls presented, MSFlexGrid is really beneficial--its functionality is explained in details. 3. Data Control: this is a complex hardware, firmware, and software development system, and it helps structuring logically your applications 4. PC to PCB File Management: files are built in software, and they are sent to and from hardware/firmware dynamically, in real time 5. Graph Trace: this application is similar to the oscilloscope trace, and it is the most advanced form possible of analog graphic display 6. A custom Internet Browser interface is also included in LHFSD.exe. This is just a simple implementation to help you understand the power of the software code you will learn to write 7. Lots more ... |
||||||||||||
![]() In terms of Requirements for working with the LHFSD book, there are none if you buy it only for reference. The readers can learn a lot just by studying the book and the source code files on CD. For those who intend to experiment with all firmware and software programs presented, and to learn using/implementing the Microchip processors, they need: 1. The LHFSD-HCK: you can either build it, or you could buy it from this site 2. MPLAB IDE: available for free download at www.microchip.com 3. The MPLAB ICD2 Kit: you need to buy it from an electronic components distributor as is Digi-Key 4. The C30 compiler: a student version is available for free download, for a 60 days trial period at www.microchip.com 5. A 9V/750mA DC power adaptor: comes with the ICD2 Kit 6. the RS232 serial cable: comes with the ICD2 Kit 7. The Visual Basic 6 compiler: you need to buy this excellent software tool. 8. One PC having one USB connector, as a minimum; normally, you should have both the USB and DB9 connectors on your PC, but this is not mandatory if you use a USB/RS232 cable adaptor. |
||||||||||||
The bottom picture shows the running
LHFSD.exe program displaying the GRAPH TRACE application. The red trace is the
Analog Potentiometer, POT, manually adjusted to 0..5 V. The blue trace is the stepper motor position: it follows
automatically the POT voltage translated into 0 .. 1023 digital values. Of course, you could add as many traces as
you like.![]() |
||||||||||||
Following is the image of the custom Internet Browser implemented in LHFSD.exe. You could easily do the same in all your future applications. You can test this custom browser by downloading the LHFSD.exe. ![]() |
||||||||||||
|
|
||||||||||||
LINKS |
||||||||||||
|
||||||||||||
Back to Main LHFSD page |
||||||||||||
|
Send your
comments regarding this page using support@corollarytheorems.com Page last updated on: March 22, 2010 © Corollary Theorems Ltd. All rights reserved. |
||||||||||||
|
||||||||||||