Alternatives of MAX232 in low budget projects

Sometimes when you work on low-budget projects or don’t want to go shopping for max232 or similar IC, you can save your time and money by using other TTL to RS232 converter. We usually used to use a MAX232 chip like this: Max232 IC is a specialized circuit that makes standard voltages as required by RS232 standards. This IC provides the best noise rejection and very reliable against discharges and short circuits. If your project is more advanced and has to reliable you must use specialized RS232 to TTL converter IC’s. As I said Specialized is more expensive than other solutions.

Continue reading

Easy H-Bridge on MOSFET IRF7105 transistors

I think I don’t have to explain what is H-Bridge circuit. Well, it is mainly used to drive DC motors that they could be run forward and backward. The circuit is often used in robotics. Usually, there is a need to build a small, powerful, and with good characteristics H-Bridge. One solution is to use IRF7105 p and n channel MOSFET pair coated in the SO8 SMD case.

Continue reading

More about microcontroller oscillators

The choice of the microcontroller oscillator depends on many factors. Before choosing one, you should consider Cost, accuracy, and environmental parameters. Clock sources can be grouped into two major groups: mechanical resonance(crystals and ceramic resonators) and RC (resistor, capacitor) oscillators. The most popular form of mechanical resonant generators in microcontrollers is Pierce oscillators: Ceramic and crystal-based generators provide very high accuracy and low-temperature coefficient. But they have a slower startup comparing to RC generators. But the RC generator’s precision suffers from temperature variations and supply voltage. Nominal frequency can variate from 5% to 50%:

Continue reading

How does ARM7 pipelining works

One of the key features of the fast performance of ARM microcontrollers is Pipelining. ARM7 Core has a three-stage pipeline that increases instruction flow through the processor up to three times. So each instruction is executed in three stages: Fetch – instruction is fetched from memory and placed in the pipeline; Decode – instruction is decoded and data-path signals prepared for the next cycle; Execute – instruction from prepared data-path reads from registry bank, shifts operand to ALU, and writes generated result to dominant register. Pipelining is implemented at the hardware level. The pipeline is linear, which means that in simple data processing processor executes one instruction in a single clock cycle while individual instruction takes three clock cycles. But when the program structure has branches, the pipeline faces difficulties because it cannot predict which command will be next. In this case, the pipeline flushes and has to be refilled what means execution speed drops to 1 instruction per 3 clock cycles. But it isn’t true, actually. ARM instructions have nice features that allow for the smooth performance of small branches in code that assure optimal performance. This is achieved at a hardware level where PC (Program Counter) is calculated…

Continue reading