비디오 시리즈
TI 로봇 시스템 학습 키트 MAX(TI-RSLK MAX) 및 커리큘럼 모듈
TI 로봇 시스템 학습 키트 MAX(TI-RSLK MAX)에는 핵심 주제부터 보충 주제까지 다루는 20개 이상의 학습 모듈이 함께 제공됩니다. 각 모듈에는 강의 비디오와 슬라이드, 실습 설명서 및 비디오가 포함되어 있습니다.
TI-RSLK MAX Module 1 - Lecture video - Running code on the LaunchPad using CCS
발표자
리소스
[MUSIC PLAYING]
Hi. John Valvano here-- and in this first module, we're going to get you introduced. OK. So again, this is the Robot Systems Learning Kit-- the Maze Edition. And in this particular first module, the objective will be for you to install Code Composer Studio and install the software associated with this class. Now eventually we're going to build up and get to a robot. And so in this particular PowerPoint, I'm just going to introduce embedded systems. So you'll get a sense of where all the pieces of this class will fit together. All right. Let's get started.
All right. So what is an embedded system? An embedded system is a system that has a number of components. And one of those components is going to be the microcontroller or the MSP432, in this case. And it's going to have electrical, mechanical, chemical sensors, circuits. And all together, the hardware and software is going to solve a specific purpose. In other case, we might be racing. We may be solving a maze. We might be following a line. The entire system will be dedicated for a single purpose. And all the components will work in synchrony with each other in order to solve that problem.
And so the software is going to not solve every problem in the world but that particular problem. And the word embedded just means it has a microcontroller hidden inside. All right. So embedded systems are ubiquitous. They're in communications, automotive, military, medical, consumer, machine. Anything that has electricity in it probably has a microcontroller inside somewhere performing that operation.
And so your automobile might have 20 computers in it. Your home might have hundreds of computers in it. In a typical use throughout the day, you probably interact with hundreds of these microcontrollers in your day to day life. And so in this class, we're going to learn how to program them, use them, deploy them, test them. That will be our goal.
How do we classify or characterize in embedded systems? It reacts and interacts with its physical environment. So we can have inputs. We can make decisions. We can have outputs. Time will be a critical parameter for embedded systems, because not only do we need to get the right answer. We need to get the right answer at the right time. And this time requirement is very often exists in an embedded systems.
Now it is a system. So it turns out a system is essentially a collection of components, which themselves are systems connected together. So if we have one system and we have a second system and we interact or interface them together, now we have a bigger system. And that system might interface with another system. So this systems level development is really hierarchical, where we start with the low level. And then we go to the mid-level. And then we go to the high level. So we will see this embedded development process as we go out through this course.
And embedded systems deploy both of those kinds of problems. In other words, how do we do the interface here? And how do we connect systems together? And we'll see that throughout this curriculum. What are some of the ideas that we see in the world of embedded systems? We see this tight coupling between the hardware and the software. And so it's not just a computer. But it's a computer doing something.
This is exist when we look at a typical embedded system, which has both software, digital logic, and analog circuits all in synchrony with each other. The operating system, which is that software which is managing it is very important. And so we will see that the software that we want to deploy will have a critical role in managing our resources.
And we'll see things like concurrency, where we're doing two things at once. But we're switching back and forth. We're doing parallelism, where we're doing two things at once. But we're doing them completely together. Or we have one system and another system. And we need to synchronize between the two.
This is engineering. And so there's always a trade-off. And that trade-off is typically the performance versus cost, whether cost is in dollars, size, or power. And we'll always have constraints, which we will work with them. We have to prove things are correct. And so you'll see throughout this curriculum and make a big fuss over how do we test that it works, because it turns out embedded systems are deployed in safety critical situations, where life is at risk. And so we must be able to test our system. We must be able to understand how well it works and prove that it's working correctly.
One of our constraints is power. And so we're always be interested in power. And it turns out the MSB432 is one of those wonderful microcontrollers, where power is something you can manage in a very efficient way. All right. If we look at embedded systems, we can see they're deployed everywhere. So we can think of general purpose computers. We can think of robots, like our robot we're doing in this curriculum, where we're controlling motors and sensors. We can think about controlling data like we do with a cell phone or a network.
And so this category of systems really breaks down into a lot of different bends, all of which can deploy an embedded system in their solution. There's a couple of labs at the end of the curriculum having to do with IoT. We're going to do both Bluetooth and Wi-Fi. And these are our tools that we want to put in our tool box when we build up our ability to design embedded systems.
What can we say about embedded systems? Size is important. So we want it to be small. We want to carry around on our back. So we don't want it to weigh much. We want our batteries to last a long time. So low power is important. They have to work outside. They have to work with a second grader. Young people use it. So it vibrates a lot. It has to be in our automobiles or in our factories. And so there's a lot of environmental problems we have to solve.
I already mentioned that safety is important. So we have to not only make it work, but you must prove that it works correctly. And when we're making money in the world of embedded systems, we're going to deal with a low margin but high volume. So this is the category in which embedded systems function in our economy.
Time is important. So we can define time in three ways. Hard real time means that a timing constraint will never be missed. We've just had an accident. And we will always deploy the airbag within so many milliseconds. And it will be completely unacceptable to miss a timing constraint. And that's what we're going to call hard real time.
Firm real time means we're going to do our best. And if we miss a deadline-- in other words, we're sending audio packets down the internet. And if one of our audio packets is lost, the value of this packet goes to 0. But the system just now has less important. So if I send five packets instead of six, I can still hear the sound. It just doesn't sound quite as well. So I've reduced the value. The value of the packet will go to 0 if I missed its timing. But the value of the system is just reduced a little bit.
Soft real time is situations where if a packet is supposed to arrive at a certain time, the later it arrives, the less value it is. The value of this packet goes down in time the more I miss my deadline. And that's typically something like a email or a web server. I wait longer. I'm a little bit unhappy. But it's-- the value diminishes over time. And that's soft real time. So in terms of robotics and control systems, most of our timing constraints will categorize in the hard real time. We will not miss any constraints. And we'll use interrupts to make that happen.
So in summary, embedded systems are very reactive. They run in real time. And in particular, we're going to focus on hard real time. So we never miss a deadline. We are going to live in the world of constraints. This one robot has to carry all its weight. So that single battery has to run the entire robot.
We will see embedded systems are ubiquitous in our world. And developing your embedded systems skills will make you more employable. And so I encourage you to take this curriculum but remind you it's not just digital logic. It's not just analog logic. It's not just power. It's not just software. What it is is a system, which combines all of these components, connected together with other systems, where the interfacing is important.
And as always, verifying that it works will be our first, second, and last objective whenever we deploy a system in an embedded safety critical environment. So have fun with this curriculum. We've got a lots of ways to go. But step by step you'll get there. Have fun.
[MUSIC PLAYING]