Basic Elements of Digital Signal Processing System

Most of the signals encountered in science and engineering are analog in nature. That is the signals are functions of a continuous variable, such as time or space, and usually take on values in a continuous range. Such signals may be processed directly by appropriate analog systems (such as filters or frequency analyzers) or frequency multipliers for the purpose of changing their characteristics or extracting some desired information. In such a case we say that the signal has been processed directly in its analog form, as illustrated in picture below.
 Both the input signal and the output signal are in analog form.

Digital signal processing provides an alternative method for processing the analog signal, as illustrated in figure below.

To perform the processing digitally, there is a need for an interface between the analog signal and the digital processor. This interface is called an analog-to-digital (A/D) converter. The output of the A?D converter is a digital signal that is appropriate as an input to the digital processor.

The digital signal processor may be a large programmable digital computer or a small microprocessor programmed to perform the desired operations on the input signal. It may also be a hardwired digital processor configured to perform a specified set of operations on the input signal. Programmable machines provide the flexibility to change the signal processing operations through a change in the software, whereas hardwired machines are difficult to reconfigure. Consequently, programmable signal processors are in very common use. On the other hand, when signal processing operations are well defined, a hardwired implementation of the operations can be optimized, resulting in a cheaper signal processor and, usually, one that runs faster than its programmable counterpart. In applications where the digital output from the digital signal processor is to be given to the user in analog form, such as in speech communications, we must provide another interface from the digital domain to analog domain. Such an interface is called a digital-to-analog (D/A) converter. Thus the signal is provided to the user in analog form.

However, there are other practical applications involving signal analysis, where the desired information is conveyed in digital form and no D/A converter is required. For example, in the digital processing of radar signals, the information extracted from the radar signal, such as the position of the aircraft and its speed, may simply be printed on paper. There is no need for a D/A converter in this case.

Serial Communication of 2 Processors

This project uses 2 Atmega16 with 16 MHz external clock. The first microcontroller is used to capture inputs from keypad 4 x 4. The second microcontroller is used to show outputs on LCD HD44780 2 x 16. I use asynchronous mode for this project.

This is the schematic:
But if you want to use synchronous mode, PINB.0 of first AVR should be connected to PINB.0 of second AVR.

This is the sample of this project that I have made.

If you want to know how to connect AVR with LCD HD44780, see my other post here.

How to Connect LCD HD44780 with AVR

LCD HD44780 is one of LCD that is commonly used by many students and developers in many countries for learning objectives. If we want to use this LCD, we should connect it with a microcontroller as the control system. The most popular microcontroller for students and developers is AVR, a kind of microcontroller from Atmel.  
There is a simple way to communicate LCD HD44780 with AVR microcontroller. You can use library that have been made by team so it will be easy to set your AVR microcontroller. These are the steps:
1.       You should have the library in your work directory. You can download lcd_lib.h, lcd_lib.c and datasheet of LCD here.
2.       The default output port for LCD that is defined in the library is port D. You can change the port by making some changes on preprocessor in the header file at this part:
#define LDP PORTD
#define LCP PORTD
#define LDDR DDRD
#define LCDR DDRD
3.       There are some basic functions that you can use. You can learn it from demo program that have been made by team. At that demo program you can learn some basic function such as sending a char, sending a string, moving the cursor in LCD, etc. You can download demo program and datasheet here.
4.       This library uses 4 bit data to operate the LCD so you use only 4 LCD data pins. You can see the configuration of the LCD pin below.

If using the library
connect it to GND
connect it to Vcc (put 1k resistor to reduce the current)
connect it to GND (if you don’t want to change contrast)
to PD0
to PD1
to PD2




to PD4
to PD5
to PD6
to PD7
V+ (only if LCD has backlight)
GND (only if LCD has backlight)

5.       Make design of your system and apply it. If you want to be more expert, you can upgrade your system for example by adding a keypad or push button to your system as input device.  This is a basic skill to make more advanced device such as digital clock, digital game, etc.