Analog devices like transistors and diodes lead to opamps and analog computing. This takes more parts but with fast devices can be real time. Then came Logic and Digital Circuits, here also big systems will take too many parts. A very Old hp Logic Analyzer instrument, could be HP1607A, had more than five large PCBs, Toggle Switches and numerous 74Fxx TTL Chips. I tried to revive it, it could not be fully restored.
Embedded Microcontroller – delabs
Then came the solution the Microprocessor. Here the entire system goes into the firmware and a Hardware Tool Set in the Microprocessor made up of Logic and Math is sequentially used to perform the same operation that would require innumerable Gates in a plain hardware digital circuit. But as it performs the operations one after another, it takes time and is defined by the CPU Clock Speed.
When the External RAM and EPROM and other peripheral devices moved into the main package, MicroController were born. When more external devices merged with the MicroController. It formed a nearly complete computer, this is known as the SOC.
New Microprocessor learning board demonstrates exemplary design of 8-bit single board computer. More peripheral and easy to adapt to be a dedicated controller.
8051 Microcontroller Kit
8051 kit using 7-segment display and hex key monitor. The design is simple, small number of components and cheap. The size is compact, 5.3×5.7 inches. The keypad is ergo design for young students. The kit is 8051 based microcontroller. So many chip makers produce the 8051 core microcontroller. The kit is available for both preassembled and kit form.
8051 Single Board Computer
The new 8051SBC features;
- CPU: Any 8051 compatible with 40-pin DIP package @11.0592MHz
- MEMORY: 27C256, 32kB EPROM for monitor program
- 62256, 32KB SRAM for both code and data space
- I/O: direct cpu bus interface 2×16 line LCD
- MEMORY and I/O Decoder: GAL16V8D
- EEPROM: 24LC256, 32KB serial eeprom
- RTC: Real-time clock, DS1307 with +3V Lithium backup
- ADC: LTC1298, SPI interface 2-channel 12-bit Analog-to-Digital Converter
- I/O pins: P1,P3 of 8051 cpu, 16-bit I/O port
- Keypad and DIPSW: 4-bit keypad and 4-bit DIP switch
- RS232 Level Converter: MAX232
- RS485: 75176 differential transceiver
- Serial Interface: 9600 8n1
- Monitor Program: Modified PAULMON2 including new commands
delabs Notes –
This is an Educational Masterpiece, with more Relevance to Asian Students. I took my first steps with 8085, Z80 and later 8749. Then the 80C51. If you start writing code for 8080, you will want features which will come in 8749 and when you study 8749 and think of enhancements 80C51 will pop out as if they read your mind.
Once you work with these, then you can use all the new uC and uP easily. It is better you write code with as less EPROM or Flash as possible. This will help you make quality code. The smaller the code the more real time your firmware and lesser bugs.
These days many gadgets with embedded systems are being used. Tablets, Netbooks and Desktop Clients. Many of these are used to make secure transactions like Banking. It is also used as a Security Device for Web Applications and Website Memberships.
The secure transaction process has improved. I know there is encryption and also the NIC number of Ethernet cards etc. I have some thought, i think i will note it here. In one sentence “Make Every CPU Chip Unique with a Unerasable ROM ID Code or Signature” this can also be tied to a QR Code. A Firmware query spawned by a SSL TCP/IP action will return the CHIP ID which enables secure communication and device tracking overriding all user controls.
Processor manufactures and Chip IP makers are standardized. The Secure CPU makers should obtain a license for secure CPU, which will be a CPU but with a Secure Transaction Chip with Unique Identification Code engraved within. Each Chip is unique and a replacement of CPU needs new authentication for all transactions. No two chips are made the same, the unique numbers are not on flash (like BIOS), but digitally etched-burnt with indelible e-ink. So when a person makes transaction his computer is more securely authorized. More security options like GPS in CPU for big transactions, these computers will be expensive too.
(First posted in delabs Notes 2006 – Then in Nomadic Computing 2007)
Breakpoints may not serve the purpose fully, it may be easier to use Testpoints and incremental coding.
When we build Electronic Circuits with many Interacting Blocks or Modules, We put a small 5mm Tall Copper Pin in the PCB or a PAD without masking. This is a Test or Troubleshooting Point. This is where you can probe with a scope, dmm or logic analyzer.
In embedded program development, i tried a similar way, a Testpoint in software, but only that the card would light a led in a certain pattern or send a “all ok” and progress status to the serial port connected to PC.
In Script programming we can use a GUI element, just a Textbox as a Scope monitoring the Testpoint. When the program goes beyond the Testpoint, The GUI Text window will hold the Status. Just like you move the probes of the same DMM, you can keep shifting the Testpoints or Multiplex the same Scope, as the program becomes bigger.
So, before you build the Next big Program, Build the Test Equipment and the First Testpoint. The first few lines of code is written around the First Test point. Like it is done in PCBs, incremental Building-Testing.
Lastly Break Big Jobs to Small Pieces. Like the Plugin Modules in a Oscilloscope, The Components or Modules should be built and tested independently and then Combined to Form one Big System. Then they can be maintained and reused easily.
Dec-07 from 2003 delabs notes