So you want to become an embedded systems engineer? What’s it going to take to get there? If you’re into robots, know your way around PCBs, and love coding in C, you might have the makings of an embedded systems engineer. In this article, we’ll cover the skills, accreditations, and career path of an embedded systems engineer.
What is an embedded systems engineer?
임베디드 시스템 엔지니어가 되고싶은가? 무엇을 해야 그렇게 될 수 있을까? 만약 로봇 내부를 들여다보면, 내부의 PCB 회로에 대해 알거나, C언어에 대해 잘 알거나 하면, 당신은 임베디드 시스템 엔지니어라 할 수 있을 것이다.
이 글에서는 임배디드 시스템 엔지니어가 되기 위한 기술, 능력, 커리어 등을 포함하고 있다.
그러면 무엇이 임베디드 시스템 엔지니어인가?
What do the avionics on a rocket, the automated powertrain of a self-driving car, and the internals of your programmable pressure cooker all have in common? They’re all examples of embedded systems—combinations of hardware and software designed to perform specific tasks.
An embedded system typically consists of:
Analog sensors for real-time data collection (temperature, pressure, acceleration, etc.)
Microcontrollers, microprocessors, and/or actuators for decision making, automation, and control.
Embedded software: coded instructions that can run the whole system without human input.
로켓에서의 항공전자기기, 자율주행자동차의 자율 파워트레인, 프로그래밍이 가능한 압력 밥솥, 이들의 공통점은 무엇인가? 그것들은 모두 하드웨어와 특정 기능을 수행하는 task가 있는 소프트웨어가 들어있는 임베디드 시스템의 예시이다.
임베디드 시스템은 보통 아래와 같이 이루어져 있는데:
Analog sensors for real-time data collection (temperature, pressure, acceleration, etc.)
온도, 압력, 가속 등의 실시간 데이터 모으는 아날로그 센서
마이크로컨트롤러, 마이크로프로세서, 명령을 받거나, 자동으로 임무를 수행하는 엑츄에이터
임베디드 소프트웨어: 인간의 개입 없는 전체 시스템의 명령 수행 코드
The embedded systems engineer is responsible for the design, development, production, testing, and maintenance of embedded systems. Often times, this role leans more towards the software development side of the equation, which is why this position is also known as an embedded software engineer.
Core skill set of an embedded systems engineer
Like the systems they manage, the embedded systems engineer requires experience with both hardware and software.
The core skill set of an embedded systems engineer looks something like this:
Programming languages such as C, C++, and Assembly Language are the most common requirements for this position. LabView is also popular for working with National Instruments data acquisition units. Depending on the job position, familiarity with other languages such as ADA, Lua, Rust, Python, VHDL, and Verilog may also be required.
Microcontroller/microprocessor ecosystems such as Arduino, Raspberry Pi, Atmel AVR, ESP8266 NodeMcu, and PIC10Fxx.
Memory management: a solid understanding of the different types of memory, including RAM, ROM and Flash, and how to develop software where memory is a premium.
Circuit Design: PCBs, signal analysis, debugging, assembly and testing of integrated circuits and their components. PCB analysis and design software such as Sigrity and Allegro.
CAD Design: Basic hardware design using CAD software such as AutoCad or SolidWorks.
Measurement: Experience using digital multimeters, oscilloscopes, DAQs, and other equipment to measure, analyze and troubleshoot electrical systems.
IoT devices and frameworks such as Google Cloud Platform, IBM Watson, Azure, and AWS.
Data Processing and Analysis: Able to process and analyze data using Excel, Matlab, and Python.
Technical Writing: A large part of the actual engineering job is technical documentation. Even better if you can write research grants.
Even if an embedded system engineer never has to directly touch the hardware of the systems they design, intimate knowledge of those hardware systems is required to properly design embedded software.
임베디드 시스템 엔지니어는 임베디드 시스템의 설계, 개발, 생산, 테스트, 유지보수 등의 책임이 있다. 종종 이 직무는 임베디드 소프트웨어 개발에 치중되기도 해서 임베디드 소프트웨어 개발자 라고 부르기도 한다.
임베디드시스템 엔지니어의 핵심 기술은 전체 시스템의 하드웨어와 소프트웨어 둘다 관리할 수 있는 능력이 요구된다.
핵심적인 기술이라함은 아래와 같이 볼 수 있는데:
C, C++언어 및 어셈블리언어를 공통적으로 잘 다뤄야 한다. National Instruments사의 데이터 수집 툴로 유명한 LabView라는 프로그램을 다루면 직무에 널리 사용된다. 그 외 ADA, Lua, Rust, Python, VHDL, ,Verilog 등의 언어를 직무에 따라 필요로 한다.
메모리 관리: RAM, ROM, Flash 메모리 타입의 차이점 명확한 이해와, 이를 이용해 어떻게 소프트웨어를 개발할 것인가
회로 설계 : PCB, 신호분석, 디버깅, 조립, 회로 및 부품 테스트. Sigrity나 Allegro 소프트웨어를 이용한 PCB 분석
CAD설계 : AutoCAD나 SolidWorks를 이용한 기본적인 하드웨어 설계
측정 : 디지털 멀티미터, 오실로스코프, DAQ, 다른 측정장치들을 이용한 측정 경험
Google Cloud Platform, IBM Watson, Azure, and AWS 클라우드를 활용한 IOT 장치와 프레임워크
데이터 프로세싱이나 분석 : Excel, Matlab, Python을 이용한 데이터 프로세스 및 분석 능력
기술적 문서 작성 : 실제 대부분의 엔지니어링 직무는 기술문서 작업을 포함. 만약 연구비를 쓸 수 있다면 더 좋다.
임베디드 시스템 엔지니어가 하드웨어를 직접적으로 만지진 않아도, 최적의 임베디드 소프트웨어를 위해서는 어느정도 하드웨어 지식을갖추어아 햔다.
Embedded Systems Engineer Degrees and Certifications
As you might imagine, there’s a lot of overlap among degrees in the world of electrical and computer engineering (ECE) that you can use to work towards a career in embedded systems. Here are some of the more popular programs you can pursue for either a bachelors, masters, or PhD:
Embedded Systems Engineering
Electrical and Computer Engineering
Electrical Engineering
Computer Science
Robotics
The nice thing about embedded systems engineering, is that experience and personal projects probably speak louder than any certificate for getting a job in this field. That said, depending on your industry, it may be worth considering some of these certificates:
There are many other certifications available for specific skills such as soldering or CAD design. It’s best to acquire these as part of your job experience.
그 외 특정 자격증도 있는데, 납땜이나 CAD 설계같은 부분이다. 이러한 자격증은 일을 하면서 취득하는게 좋을 것이다.
Embedded Systems Engineer Career Path
Once you land a job as an embedded systems engineer, it’s entirely possible to continue to work within that profession till you retire, much like a CPA, a doctor, or a lawyer. The key is to remain up to date and savvy on the latest technologies. That said, it’s also true that for more financial gain, many transition into management or marketing roles within companies. Here’s a look at some of the career paths that become accessible to an embedded systems engineer:
Senior Embedded Systems Engineer
Quality Assurance Engineer
Project Engineer
Program Management
Sales Engineer
Marketing Director
Even if you do eventually transition to a position with soft skills such as management or marketing, it’s important to remember that embedded systems engineering is a lifelong skill. Just as the carpenter can always build their own shelves, an embedded systems engineer will always be able to apply their mastery of electronics to DIY projects in and around the home.
임베디드 시스템 엔지니어의 커리어
일단 당신이 임베디드 시스템 엔지니어로 시작하면, 당신이 마치 회계사나 의사, 변호사 처럼 은퇴할때까지 전문가로서 일을 유지할 수 있다. 중요한 점은 뒤쳐지지 않고, 최신의 기술을 익히고 요령을 익혀야 한다. 또한 더 많은 재정적 이익을 위해 사내에서 관리직이나 마케팅직으로 많이들 변경하는 것도 사실이기도 하다.
여기에 임베디드 시스템 엔지니어가 될 수 있는 몇가지 커리어가 있다:
Senior Embedded Systems Engineer (상급 임베디드 시스템 엔지니어)
Quality Assurance Engineer (품질 관리 엔지니어)
Project Engineer (프로젝트 엔지니어)
Program Management (프로젝트 매니저)
Sales Engineer (세일즈 엔지니어)
Marketing Director (마케팅 디렉터)
만약 당신이 결국 매니저나 마케팅같은 분야의 직종으로 변경을 해도, 임베디드 시스템 엔지니어링 기술은 평생 기술이었기에 중요하다. 목수가 마치 평생 선반을 만든 자기의 기술이 있듯이, 임베디드엔지니어도 평생 기술을 보유하고 추 후 집에서 DIY프로젝트나 전자 기술을 적용 할 수 있을 것이다.
* 설계가 애매한 부분이 있을 경우 E-mail으로 JLCPCB 엔지니어가 친절하게 선택한 의도가 무엇인지 물어보고 옵션을 제공한다.
(내가 만든 PCB에 데이터가 애매한 부분이 있어 JLCPCB엔지니어가 먼저 연락이 왔다.)
7. 주말 제외 약 3일 정도 후 JLCPCB에서 부품 배송, DHL에서 주문 확인
그 외 물건을 직접 받을지 집앞에 놓을 지 등 설정하면 된다.
8. PCB 언박싱
마침내 PCB가 집까지 배송이 되었다.
9. DIY 부품 납땜 및 제작
10. 동작 테스트
5V 전원을 인가했더니 정상적으로 잘 작동했다!
실제 산업체에서 PCB를 직접 설계하여 제작하지 않는 이상, 학생들이나 선생님, 일반 DIY를 하는 사람들은 OrCAD로 설계를 하고 실제 PCB 데이터를 가지고 제작을 맡기면, 이게 제작이 될까? 하는 사람들이 많을 것이다. 실제 어떤 데이터를 Export해서 제조를 의뢰해야 의문이 갖는 사람도 많을 것이다.
하지만 위에서 보여준 Artwork필름 파일들(.drl 파일 .art 파일)을 압축하여 JLCPCB 제조 업체에 위와 같은 과정으로 파일을 제출하고 이 과정대로 진행한다면 위처럼 동작이 되는 PCB를 받아볼 수 있다.
JLCPCB에서 아래와 같이 여러 이벤트를 진행하고 있다고 한다.
실제 OrCAD로 PCB를 제작까지 고려하고 있다면 위 혜택을 받아 PCB를 제조해보는 것도 좋은경험이 될 것이다.
Anon-functional padis a pad in aprinted circuit boardthat is not connected to a track on the layer it is on.
Non-functional pads can be removed at any phase of the design process. Some software allows precise control during the design process, and also removes the non-functional pads during output file creation. Furthermore, some board manufacturers remove non-functional pads during data preparations.
Occasionally, this process of non-functional pad removal is also called unused pad suppression.
The benefits of removing the non-functional pads are limited. Electrically, it creates needless extra capacitance in certain designs, which needs to be removed. Removing non-functional pads can improve the drilling process, as it lessens drill wear.
Non-functional pad removal can influence the reliability. (e.g. barrel cracking failure mode). Removal can increase or decrease reliability. Depending on design parameters, removing the non-functional pads can free up routing space.
Non-functional pads naturally also affect thermal characteristics.
Sometimes, non-functional pads (or their removal) are used for copper balancing, which affects etching, bow and twist and other effects.
반응형
(번역)
non-functional pad는 PCB내의 pad로, layer간 배선에 사용되지 않는 필요가 없는 pad입니다.
사용하지 않는 pad는 설계 단계에서 제거가 가능합니다.
일부 설계 소프트웨어는 이를 정확히 이를 다룰 수 있고, 출력 파일을 생성할 때 이 요소를 적용할 수 있습니다.
일부 PCB제조업체는 제조를 위한 data작업을 준비하는 과정에 이를 제거할 수도 있습니다.
사용하지 않는 pad를 제거하는 것은 이점이 크지는 않지만, 이러한 pad는 전기적으로 필요없는 Capacitance를 생성시킬 염려가 있습니다. 또한 이러한 pad를 제거하면 드릴링으로 인한 마모를 적게하여 드릴작업시 성능 향상을 이룰 수 있습니다.
사용하지 않는 pad를 제거하는 것은 신뢰성이 늘거나 또는 줄거나 영향을 줄 수 있습니다. (예를들면 barrel cracking failure mode ) 설계 Parameter에 따라 사용하지 않는 pad의 제거는 배선시 공간을 확보 할 수 있습니다.
이러한 pad는 해당 pad의 고유 열 특성(natural thermal characteristic)에도 영향을 미칩니다.
때로는 사용하지 않는 pad를 제거하는 것은 구리(Copper)의 Etching(에칭작업), bow(굽힘), twist(꼬임) 등의 밸런스에 영향을 미칩니다.
* barrel cracking failure mode:
Thermal Cycle Test(반복적인 열 테스트)시 Through Hole의 도금되어 있는 구리에 천천히 작은 균열이 생기게 되면 이는 열 피로로 파괴가 될 수 있다.
An op-amp is an IC that amplifies the difference in voltage between two inputs. Op-amps can be used for various applications, depending on the external components added. In the most basic circuit, op-amps are used as voltage amplifiers, which can be broadly divided into noninverting and inverting amplifiers. Voltage followers (also simply called buffers) are a type of commonly used noninverting amplifiers. Op-amps are also used as differential amplifiers, integrator circuits, etc.
Op-amps are widely used for various applications. It is no exaggeration to say that op-amps are found in almost all electrical appliances. For example, op-amps amplify analog signals from various sensors in IoT-connected home appliances and measuring instruments.
무엇을 위해 OPAMP를 사용하는가?
op-amp는 두 입력 전압 차이를 증폭시키는 IC이다.
op-amp는 다양하게 활용이 가능한데, 외부 소자가 어떻게 연결되냐에 따라 다르다.
대부분 기본적인 회로에서 op-amp는 대충 반전(inverting) 또는 비반전(non-inverting) 전압 증폭기로 사용된다.
버퍼(buffer)라고 불리는 볼티지 팔로어(Voltage follower)는 보통 비반전(non-inverting)으로 쓰입니다. Op-amp는 또한 차동증폭기(differential amplifiers), 적분기(integrator circuits) 등으로 쓰인다.
Op-amp는 넓리 적용되는데, 과장없이 얘기해도 Op-amp는 대부분 가전제품에서도 사용된다. 예를 들면, Op-amp는 집에 연결된 다양한 IOT센서, 측정 장치로 부터오는 아날로그신호를 증폭시킨다.
동 케이블(Copper cable) 선로에 있어서교류전류를 이용할 경우주파수가 증가되면 전류 밀도는 도체의 겉 둘레에 몰리게 된다.이때 도체의 유효면적이 감소되어 전송 손실이 증가되는 것을표피효과(Skin Effect)라 한다. 도선의 중심부로 갈수록 교류 전류 밀도가 적어지고, 전선의 도체 외부에 전류가 집중되므로 이는 전선이 굵고,도전율및투자율이 크며, 주파수가 높을수록 전류의 침투 깊이가 감소하게 된다. 표피 효과를 줄이기 위해 케이블을 연선을 사용해서 전류의 양을 효과적으로 송전할 수 있다.