Embedded Systèmes Intenship
Embedded Systèmes Intenship
So Emertxe is thé Company that organized, this internship. It is an Indian training institutes that
specializes in providing skill development, programs in the field of embedded systems and iot, which is
internet of things, they offer training and causes design to equip students and professionals with the
necessary skills and knowledge to work in the embedded system industry.
So thé goal Of this internship was to implement the knowledge. We acquire from embedded C
programming to make a projects.
So, in the general overview, We have. Sdlc, which is software développement life cycle
This is one of the popular method used by developers and also Used by Software companies to
Generally software development, life cycle is a systematic process used by tech companies and software
developers to plan design, build test deploy and maintain software, applications or systems. It provides a
structured framework for managing the entire software development process from inception to
completion.
So, we also talked about C programming, during the internship .Then we went into microcontrollers,
where we will have quiz after each chapter after that, we tackled the implementation of our projects.
Using our simulator, pick simlab..
And now here is our presentation time after that, the jury will
So then let’s talk about embedded system. And its application. What is embedded system and better
system is a combination of software and Hardware for a specific application. Or specific task. In a
domain. Okay, so
In the automobile industry, we can also talk about The use of embedded system in small cities in
healthcare and also in our household in automobile Industries, we can talk about the engine control,
unit the airbox system, the Navigation system and sumo. We can also talk about traffic lights, digital art
screens. When we are talking about smart cities, And all this like, where the monitors speed monitors in
healthcare, we can talk about main especially the digital measuring instruments like thermometer.
And others in our household we have as many We can talk about Smart TV. You can talk about a see, you
can talk about Wi-Fi. Router washing machines. And so on.
Which is the development of embedded system. In the development of an embedded system, we have
to Areas. We have the developments of the hard way then also we can talk about the software
development as a whole in the development of Hardware, normally its starts with the design of block
diagram. Then we will talk about
Bread Board, or the PC be prototype. Then after that. We go to the actual design. Of the say, cute.
Normally, we designed a prototype. Which is a tentative.
Tentative. Design redesign the actress acute. We want to design redesign that to test and see if it is.
Okay, our design is okay. It is working. Then we enter into the commercial project production of our
circuit. In the software development. Normally, we use the sdlc that Is the software development life
cycle which we just talked about earlier.
So normally, we have some steps, we have the planning, We have the analysis. Goodbye did actual
design. Of the software.
Then we Get into the implementation. Of our code. This is where the developer write the actual code.
Based on this design, specification.
Then we get into the testing. Where the software is rigorously tested you get into the deployments
followed by. Order steps like the maintenance support.
The recycling.
This means the C language can be used and apply in met any domains.
It is also efficient, the first sness of this language and also its ability to use less space, make it more
efficient.
So, for expect our C code, this is the structure, we have the documentation Then we have the
preprocessor statements, the global declaration.
Then, the main code. Which Harbors the local declarations, the program statements, then the function
calls After that, we come to where the used functions are normally written. So does the does the place
you will find the function body.
Okay, so To be able to write a correct C code. You have to be able to determine the various data types.
So, we have two main types of Data in C language. We have the integral, then we have the floating points
in the Integral. We can talk about the character, the Char whichh, which is used to store character
variables, then we can talk about ends, which is used to store integer variables. Then, for the floating
point, we can talk about flutes then we can also talk about doable.
Of a data type. And also can also determine the side – so we have two main types of modifiers, those
fish, who determines the size. Then those who will determine the sign, whether it is sign or unsigned.
Have also qualifies qualifies, we have two types, we have the constant and volatile.
Conditional constructs.
So, for see, There are two main types of conditional. Constructs can see.
In the single iteration, we can talk about if n is furnace, we can talk about if
The if block,
In the if block, if it is followed by a parenthesis, which contains a condition normally then under eight in
a curly. Brackets. We have the instructions to be followed. If the condition of the block is true during
execution of the code, So if the condition is not true, then the control pass out of the block and full and
continuous is execution of the following instructions. We can also talk about if/else block In the if/else
block, we have the, if block which have Condition.
And the H, we have the instructions. To be full. Then we have the else block. Which normally contains
instructions to be followed if the condition in the if block is not true. Then the control will pass from the
if block to the else block to execute the instructions under it. Then we can also talk about the ifelse, if in
the if else if block
Have it has. It has actually a condition, and if the condition is not true, then the instructions under this
block is executed.
But if the condition is not true, then the control will go to the else if block and the condition there will be
tested, if it is evaluated and condition is true. Then the instructions under this block will be executed.
If not, then the control will pass if there is a else block under it, they control execute the instructions
under the else block. But if not, then the control will continue. It will go outside this block. Then
continued his execution of the flowing instructions that flows. So we that’s we will talk about the other
aspect of single iteration. That is the switch case in the switch case, we can talk
About some of its characteristics. Normally, after if each case, There is a brick that is a jump statements,
which is the brick, which helps to get the control out after execution of an instructions in case,
A lot In to be noticed in the switch, case is that? Numbers of routing numbers. It is limited to integers.
Duplicate cases are not allowed.
And sometimes cases can half range of values in case can have a range of values. Also, we can talk about
the moitie iteration. This is, Way. A condition is tested multiple times. Normally We can talk about. The
for Loop in the for Loop This is a type of loop. Where the number of iterations are normally known and
also condition is tested before the control and test this Loop.
Then we can also. Talk about how Loop which is also called entry control. Look why? Because control
evaluates the condition before it enters the loop. And also the control evaluates the condition.
In each iteration.
Also we can talk about the do while loop which is the exit control Loop. Normally control come out of
the loop. Only if the statement is false First, the control, execute the statement and check, if the
condition of the loop is true before it carry out. The next iteration.
Normally, you can check the priority by searching. For. The Fable of priorities.
You can check it in Google, we have many types of approaches. We have the arithmetic operators, we
have the logical operators, The Logical not logical, and logical 0 we have the relational operators, like
greater than equal to
Like equal equal. Then we have less than we have. Also the assignment operator. We have also bitwise
operator, the bitwise or bitwise, and bitwise xor. We have sizeof operator. Then we have the ten ring
operator,
So let’s talk about pointers and arteries. Wow. And Ari is a collection of data of same type.
End. Coming of the, our variable, the knows their addresses. And the elements with the lowest address.
Is the first element and the element with the last. The highest actually, the highest address is the last
elements, and there are some things to note about Ali’s for an hour.
One of the things to note is that you can’t assign. One re. To another Direction. The name of the I
represents is a dress.
As I already said, then we copy our Risk by doing it, Elements by elements.
Ready.
They are mostly used. To help see convert it from low-level language to a high-level language.
It helps also for the past the parameter passing mechanism in functions.
And referencing. Is used. To signify. That. The pointer is containing the address of a variable. Normally we
use it to store the address of a variable in the pointer.
But for the dereferencing, It is used. To signify the contents of the address. Normally, it is used to extract
the content stored in an address.
Fine.
Functions.
Helps. In many ways. That is why it is mostly implemented in the writing of good, it helps. In the
reutilization of a block of code, which makes Programming easier.
The writing of a code and also helping in the making of the code clay.
Normally function also helps in the testing and debugging of a complex code.
Strength, continuous sequence of characters they easily stores, ASCII. Curtis and assassinations.
Normally, the end of a string is marked with a special character, which is called the no character.
He say. We will have a backward slash followed by zero so we can see some ways of declaring
String variable.
So, it should be taken off. Notice. There is also the embedded system programming.
As we have already talked about better system is the combination of software and Hardware to perform
a specific task.
So,
This is the structure of an embedded system. Software, we have. The system on chip, then the
microprocessor normally is one, which is true scene. So,
With that, we will talk about the memory, the fpga or the classic, then we can talk about the diagnostic
ports. The human interfaces. Then we can talk about the, a DC that is the Another. The digital analog
converter activities the senses, the auxiliary system.
So, Let’s dive. A little bit into the memories. So for M memory used by a microcontroller
We have three types. We have the room, the RAM, and the hybrid memory. For the room. We can talk
about the programmable read-only, memory. Please.
Erasable programmable. Read only memory. You can also talk about the must read only memory.
There is also our am, that is the random access memory. We have the dynamic, random access memory
and day. Static random-access, memory and The D ROM, which is the dynamic Random Access Memory
has a short term memory loss.
We will talk about the two main types which is the eeprom electrically, erasable, PR om and we can also
talk about the no. No. We can also talk about the flash memories.
Not easy to be correct crafted before then, and it is less reliable with more density.
The order.
Components.
In the structure, we have the census. This the census, normally we have the
Gets information from the environment. Then it is followed by the analog digital converter. Which
converts these signals, which are acquired from the senses into digital signals,
Microcontroller.
Then, after this signals are processed. They are sent to the digital analog converter to be converted into
analog signals, which are then sent into the activities and the activities normally respond to the advice
from the microcontroller.
We can also talk about the human interface normally for our project, it was late, which is light emitting
diode. Then we have the diagnostic ports. Which inform the system if there is an issue.
So with this we will continue with microcontrollers microcontroller is an integrated circuit which is
capable of being programmed to perform a specific task as we are seeing
These are micro controller structure. We have the time as the port’s, the room, the wrong, the CPU, and
the peripherals. For our projects, we chose pic16f877a, which has these components, the gpio, the i2c.
All right. We have the lm35 temperature sensor. We have the ADC, we have the rs-232 LD LEDs, the
buzzer – Keepers the ssds mattress skip pass and the clcd
We have the host system, which is the system on, which we develop our new embedded system have the
targets, which is the system being developed by the hosts.
So,
For all microcontroller, it has five ports. Part A Part B part C Part D. And put
And we can talk about the size of a micro controller, which is the size of each database with and ours is 8
Bits. And our five ports are all bi-directional.
So, this is our pick, some love, the preferred simulator or prepared simulator, so it has LEDs, the guitar
Keepers interrupts timers clock inputs or output ssds clcd as the character liquid crystal display the
mattress. Keep an analog key inputs.
So, we will tackle some peripherals we have the LED, which works just like diodes and has a low energy
consumption. It has also a longer life as smaller size very fast. In switching. This makes it usable in wide
application fields. So, as we are seeing our
In our first picture. The lead is forward bias normally, because it is a diet and it has to be followed by us
in order for it to work. So whenever the switch is pressed to complete the circuit,
We have to stitch video, which they open and close. In the open States, the signal produced by this,
which is one in the clothes stitched the signal is zero. We have to pull down in the pool down in its three
seats. Open the signal is 0 in its which Stitch clothes. We have one.
Project was the preferred type for our project was the pull-up and we have two types of triggering
methods for this type of tactics, which we have the level triggering and we have the edge triggering for
the level triggering when ever. This key is pressed multiple actions fullest. But for the edge, Right.
Free whenever this switch is pressed in the edge triggering method. Only one action is performed with
this. Let’s talk about The mattress, keep our democracy part is the interconnection of multiple tank car
keys to form Matrix. Normally we have
The: parts, whichh is connected, and we have the rule part of the mattress keypad also connected to our
microcontroller.
So, our in our projects, our column for our mattress keypad was connected to the port’s be pins, which
are the rb0. I’ll be 1 and the H B2, then our the the rule each row was connected to the sum of the port
D pins, which way the Audi 0 R D1 or D2.
Aw.
No, the key pressed normally The pull-up gives the microcontroller in the beeping, these signals which
are one as we use the pull up and the in the pool up, whenever a person is not a key is not pressed. We
are having all the signals in the microcontroller as one. So, in the column parts or the signals are one.
So day.
Sagittaron room. And the others were one. Then when the key was pressed, which was the Keaton.
It gives it gave its corresponding column as well. So, with this principle, our mattress keypad could was
developed Also, we can talk about the times and interrupts interrupt is a signal or even that interferes
with the normal flow of a microcontroller or microprocessor has program execution to handle a specific
task or events.
And,
As we are seeing, In our picture. We have a stack of instructions and the interrupt Handler is This one. So
then as the control as you can with the program, it came to the part. I and the interrupt occurs. So we to
complete this instruction, then the control will get out from the super Loop then enters the interrupt
Handler to execute the instructions inside. Then after that, it gets out, then come back to continue the
instructions in the Pearl. With this, we will talk about the timer. The timer is a special interest for
measuring time. We can talk about some teams like the resolution that taken the fos SC. That is the
frequency of oscillation. Then we have the Overflow. What is a resolution of a timer? There is illusion of
a timer is the width of the timer register. In our case, our timer there is our timer has a resolution of 8
Bits.
And the tech whether take because we have 8 Bits that is we are going to have a range of 255.
Takes to, we have a range from 0 to 255 and during the process and the working of the timer. It goes
from 0 to 1 from 1 to 2. So it gets to 255 for one control cycle, then it gets back to zero, Then followed so
255. It counts like that. So when the Time accounts from 0 to 1. We get one tick from 1 to 2. We get
another take to it, get to 255, then when it’s
Get to 255, it goes to zero. So from 255 to 0, we tempt dots as overflew f0s see in our case was
20 Mega Haze.
And one take time is equivalent to Quantum, which is equal to 4 over, F, OS. C frequency of oscillation.
Which gave us 200 nanoseconds. And the total time for one control cycle is 51 microseconds.
So, you’ll talk about some methods of delays as no time, I will correspond to a specific
Time frame. So we are having the proper scaling and the post scaling, which are tight methods of bliss in
a timer.
Aw. The priests kailen is a method of delay. Whereby, normally we attack the We differ day increments.
Of the control cycle instruction. Normally, we defer the tick increments. And also, which related to the
instruction cycle. So then one tick increments for one is two to three. Scaling means, one tick increments
will be equal to 2 instruction cycle. So one is 243, scaling means one tick. Increments is equivalent to for
instruction cycle, meaning for instruction Cycles will repeat before there will be increased in the city.
Okay, so for post scaling, the control, go today is our that is the inter-service rotten. After every overflow
for one is to 1, but for one is to to control goes to. The is our after to overflows
And as it’s two for 1 is to follow similar, most special features in which timer is used. We can talk about
the counter, the PM w dot or pause generated. And we can talk about the peepee
So, with this, we can talk about the CLC, D, the C OCD which is the character liquid crystal display, is used
to display ASCII characters. Some customized symbols, if possible it can work in two moves,
communication moves, we can talk about that a bit 8-bit mode or the 4-bit mode as scene.
So, as we are seen, It is having a system port and a crisis in lines, then the data line is from our diesel to
rd7 So, this The other one with the other pins, they are connected to other peripherals or we can talk
about the ground, the one is connected to the ground. We have the five, the port for the pin 5, which is
the read or write, we have the other ones, the other pins connected to their various respected places.
So,
Four hours, we were having a four line L see LCD and the for line clcd
This place.
The CLC D has his own microcontroller. Which helps it to access data, but We don’t flood the data with
different values. We wait. So the processing time is reached before another data.
So,
The body normally in the code is set as output to the microcontroller. And in our project, we use the clcd
In 8-bit mode.
So with that, we come to the end of my presentation so that which follows is the simulation of my
projects
Thank you.
A deep ocean
So normally we have the interrupt Handler.
And,
As we are seeing, In our picture. We have a stack of instructions and the interrupt Handler is This one. So
then as the control as you can with the program, it came to the part. I and the interrupt occurs. So we to
complete this instruction, then the control will get out from the super Loop then enters the interrupt
Handler to execute the instructions inside. Then after that, it gets out, then come back to continue the
instructions in the Pearl. With this, we will talk about the timer. The timer is a special interest for
measuring time. We can talk about some teams like the resolution that taken the fos SC. That is the
frequency of oscillation. Then we have the Overflow. What is a resolution of a timer? There is illusion of
a timer is the width of the timer register. In our case, our timer there is our timer has a resolution of 8
Bits.
And the tech whether take because we have 8 Bits that is we are going to have a range of 255.
Takes to, we have a range from 0 to 255 and during the process and the working of the timer. It goes
from 0 to 1 from 1 to 2. So it gets to 255 for one control cycle, then it gets back to zero, Then followed so
255. It counts like that. So when the Time accounts from 0 to 1. We get one tick from 1 to 2. We get
another take to it, get to 255, then when it's
Get to 255, it goes to zero. So from 255 to 0, we tempt dots as overflew f0s see in our case was
20 Mega Haze.
And one take time is equivalent to Quantum, which is equal to 4 over, F, OS. C frequency of oscillation.
Which gave us 200 nanoseconds. And the total time for one control cycle is 51 microseconds.
So, you'll talk about some methods of delays as no time, I will correspond to a specific
Time frame. So we are having the proper scaling and the post scaling, which are tight methods of bliss in
a timer.
Aw. The priests kailen is a method of delay. Whereby, normally we attack the We differ day increments.
Of the control cycle instruction. Normally, we defer the tick increments. And also, which related to the
instruction cycle. So then one tick increments for one is two to three. Scaling means, one tick increments
will be equal to 2 instruction cycle. So one is 243, scaling means one tick. Increments is equivalent to for
instruction cycle, meaning for instruction Cycles will repeat before there will be increased in the city.
Okay, so for post scaling, the control, go today is our that is the inter-service rotten. After every overflow
for one is to 1, but for one is to to control goes to. The is our after to overflows
And as it's two for 1 is to follow similar, most special features in which timer is used. We can talk about
the counter, the PM w dot or pause generated. And we can talk about the peepee
So, with this, we can talk about the CLC, D, the C OCD which is the character liquid crystal display, is used
to display ASCII characters. Some customized symbols, if possible it can work in two moves,
communication moves, we can talk about that a bit 8-bit mode or the 4-bit mode as scene.
So, as we are seen, It is having a system port and a crisis in lines, then the data line is from our diesel to
rd7 So, this The other one with the other pins, they are connected to other peripherals or we can talk
about the ground, the one is connected to the ground. We have the five, the port for the pin 5, which is
the read or write, we have the other ones, the other pins connected to their various respected places.
So,
Four hours, we were having a four line L see LCD and the for line clcd
This place.
The CLC D has his own microcontroller. Which helps it to access data, but We don't flood the data with
different values. We wait. So the processing time is reached before another data.
So,
So with that, we come to the end of my presentation so that which follows is the simulation of my
projects
Thank you.