My major is measurement and control technology, a jack of all trades, I have learned everything, but I am not good at anything. However, after working in development for a few years, I found that my major is still relatively good, or more snobbishly, it is more relevant to the market. To summarize the necessary technologies and skills for electronic design engineers at this stage, I think there are the following points:
1. It is the most basic thing learned in college, including circuits, digital electronics, analog electronics, and of course advanced mathematics and English. I will not emphasize the importance of it, but I have to talk about English, which is a deadly thing. There is no way, because all the technical information now is in English, and the translated knowledge is either outdated or incomprehensible. The degree and speed of mastering a new technology - this is a very important ability, otherwise you can only eat other people's leftovers.
2 is single-chip microcomputer and C language, which are the tools of electronic engineers. You have to learn them. However, when you first start learning, don't be greedy or aim too high. Just do it step by step, do more hands-on work, and pay attention to concepts. Everything is interlinked. It won't take more than a week to switch from C51 to AVR C. When designing specific projects, you just need to choose according to the characteristics of various single-chip microcomputers. I started learning from 8031, pure theory, and even the computer experiments were learned by listening. At that time, C51 was not available. This is the disadvantage of Chinese universities. There is little funding, old equipment, and teachers who only talk but don't practice, which discourages enthusiasm. The real hands-on work started when I started working in the company. I learned PROTEL by myself (this is also necessary, so I don't need to say nonsense), and then used the company's money to draw a board (Japanese money, it's a waste not to use it), and then copied examples from the book. For the specific learning process, please see the special introduction below. The third essential knowledge is CPLD/FPGA design. I personally use it most in structured design. CPLD is very flexible and has many unique uses (due to limited space, I will not introduce it in detail. Please refer to the relevant articles on the website). With the advancement of technology, the price is gradually decreasing. I believe that it will soon be as popular as single-chip microcomputers. The
fourth essential knowledge is embedded operating system, such as KEIL's TINY OS, Ucus, and Ulinux, because you can't be around low-end products all day long. I believe that one day you will use 16-bit and 32-bit single-chip microcomputers. At this time, you can't always use C51 programming ideas. Just imagine the pleasure of using C++ in single-chip microcomputers:)
The fifth is ARM. My energy is limited, so I choose this course. Haha, I won't say more.
I started with 8031. I had some knowledge of microcomputer principles, such as 8086. The school could only teach these outdated but basic things. I also had some knowledge of digital and analog electronics at that time, so I personally think that I got started with microcontrollers relatively quickly. At the beginning, we learned the basic principles and architecture of 51, and later the instruction set. My teacher was an assembly expert, so the things he taught were very detailed, such as how many cycles each instruction executed, the difference between direct addressing and indirect addressing, the difference between ACALL and LCALL, etc. These questions required us to understand them deeply, so beginners need experts (at least veterans) to guide them. It is very difficult to become a master by self-study without any concept. However, after graduating, I found that these things were rarely used, but they were very helpful in deepening my understanding. What I learned in school was mainly to have a concept. When practicing programming, I mainly watched other people's programs. Even when I was on the computer, I just copied other people's programs and compiled them (sometimes the programs were not all correct, and it was not easy to compile them:)). Because the experimental equipment was expensive at that time, Chinese leaders were eager for quick success and did not invest much in general education. So even though I was a professional, I only started to use programmers after I started working. At that time, I only knew that there were programmers that could write HEX files into microcontrollers. There were a few emulators, but they were the teacher's experimental products, with many restrictions, such as P0 and P2 ports could not be used as IO ports, and the EA pin had to be grounded during simulation. It was very annoying, so until now I have been resistant to emulators. In fact, there are also advantages to not having an emulator. Several of my larger projects were completed without an emulator. Learning knowledge by doing is indispensable, especially applied knowledge. It is absolutely impossible without more hands-on practice.
I started to learn MCU after I started working. I learned PROTEL by myself, and then used the company's money to draw the board (I spent 400 yuan, Shenzhen price), and then found a ready-made program to compile and burn into the MCU for verification. However, no one taught you at this time. This is how it is after work. Although the company said that there is training when recruiting, it is limited to specific knowledge. In my first experiment, even the crystal oscillator did not vibrate. Facing the board drawn in the book, everything was correct. I worked for two days, asked many people, jumped a few lines, and finally replaced the 33PF capacitor drawn in the book with a 22PF capacitor. It was OK. Such a simple problem made me feel frustrated. Later, I ran a few more programs according to the book. Few of them were ready to use. It took a lot of time. There was a colleague who joined the company with me. He had no foundation, so he bought a learning development board. In the end, he seemed to learn to get started faster than me. Maybe I am stupid:) But there was a problem when I bought the development learning board. Here are some suggestions for beginners based on the problems I and others have encountered in learning:
1. How much does it cost to learn MCU?
This is a question that everyone is concerned about. Nowadays, you can't do anything without money. The tuition fees of university will make some families fall apart (just kidding). Generally speaking, it is better to start learning MCU from 89C51. It is the most basic, many people learn it, many places ask questions, and there are many pirated things. Learning 51 requires a program compiler. KEIL's C51 is very famous, and pirated versions of version 7.04 have been released. For learning, it's okay to steal once, and this expense is 0. What about the programmer? I think you are lucky. Now there are ISP download microcontrollers, which can download programs online. This is the current technological trend. It can be used for learning and small batch products. 89S51, 52, 53 all support ISP download function, and most AVR microcontrollers also support it. I am most opposed to individuals buying programmers, especially those of unknown brands. You can save as much as possible. For this item, you only need to buy a download cable (you can do it yourself, but it won’t save you money, and it’s a lot of work), 20 yuan. Then there is a DEMO board, which you can do yourself, but even the simplest one costs more than 100 yuan. I am against beginners making their own boards. You can’t afford to waste energy. You want to learn microcontrollers, not PROTEL. Besides, it’s rare for beginners to get the board right in one go. There are many DEMO boards now, and this part is the main place to spend money, ranging from 100 to 700 yuan. The key is to combine your own situation. If you have money, you can also find a tutor, about 1,000 yuan. So I said that it only takes 100 to 2000 yuan to learn MCU. The key is to see how you think.
2. Issues to pay attention to when choosing DEMO board
There are many boards now, with many grades and prices. There are two main points to pay attention to when choosing DEMO board: <1> Function. It is best to adopt modular design for the board. Each module should be separated from the MCU and leave leads. In this way, you can plug in the wires during the experiment, deepen your understanding of the circuit, and leave room for future development. In addition, the pins of the MCU should also be connected, and the function is the same as above. Such a learning board can be used as a development board in the future. There must be an ISP interface. You don’t need the simulation function, but it costs money. After downloading with the ISP interface, its role is really small. Sometimes it is even more difficult to find problems with the simulation function (for debugging methods without the emulator, please see the relevant articles on this site). Don’t just care about the price. Since you are going to buy it, you should care about what you need most. If you don't have money or are an enthusiast, you can choose a board with fewer functions. For professionals, I think it's best to buy a board with all functions at once. You can use it as a development board when you do projects in the future, and you don't have to spend the money for the first board. I think the one with CPLD and multiple CPUs is the most suitable. The more programmable devices there are, the more useful it will be in the future. Don't let the board become useless after you learn it. By the way, you must pay attention to the size of the board. Don't just look at the photos in the introduction. I was fooled once. <2> The most important thing to pay attention to is the help document. This is the key point. You spend money to buy something and hear it boast about many functions. When you come back, you find that the help document is simple and there is nothing to follow the operation. You have to start all over again. Isn't your money wasted? What's worse, the example program you are given is wrong. Then you cry. For beginners, just jump off the building. This is the key point. Because there are many people making DEMO boards now, the profit is low, and many people copy them. Maybe they haven't tried it on the computer themselves. Don't just listen to him saying that there is forum support. That's fake. If there is only forum support, then just go to the forum. Why spend the money? Technical support is also important, but you can't rely on it. Imagine so many people have so many questions, which one should he care about? So the key is to read the document, not how much information there is, but whether it is written by the developer himself, whether he is careful, and whether he can follow the steps above?
Previous article:Matrix keyboard scanning principle
Next article:Testing Method of RAM in Single Chip Microcomputer System
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- DSP 2812 SPI dual-machine communication implementation
- Why can't this reset circuit be used?
- DSP Implementation of Square Root Operation
- Selling new LPCXpresso54608 (om13092)
- EMF detector using ATtiny24A-PU
- Introduction to the transmission distance and wall penetration capability of Zigbee communication technology
- Run-time and load-time initialization
- Smart Flow Meter with MSP430 Ultrasonic Sensing Microcontroller
- How to use J-Flash Lite and J-Link BASE to burn the internal Flash of the STM32F107VC board?
- Tailing Micro B91 Development Kit---freertos