전체 글

삽질을 통해 깊게 공부하는 Electronic Engineer 연락 및 문의사항은 'donghyun9904@naver.com' 으로 부탁드립니다!
취준

[취준] 현대자동차 서비스엔지니어 합격후기

1. 서론 현대오토에버 모빌리티 SW스쿨 교육을 수료한 후, 아쉽게도 오토에버 채용연계는 못했지만 계속해서 도전(?)한 끝에 현대자동차 하이테크 인턴에 합격할 수 있었다.🥳 지금부터 회고를 해보자. 2. 본론 2.1 서비스 엔지니어란? 서비스 엔지니어는 현대자동차 직영 하이테크 센터에서 고난도, 난해 차량을 분석하여 솔루션까지 제공하는 직무이다. 모집공고에 수행 직무는 다음과 같이 나와있다. 차량 정비 및 하이테크 진단 차량 수리 및 서비스 작업 수행 차량 진단 및 고장 데이터 분석 난해/고난도 정비 솔루션 도출 기술교육 및 지원 블루핸즈(협력사) 기술지원 신차/신기술 사내/외 전파 기술교육 품질 이슈 대응 차량 품질문제 분석 및 피드백 연구소/품질부문 합동조사 지원 즉, 전기차와 수소차와 같이 새로운 ..

취준

[취준] 현대오토에버 모빌리티 임베디드 SW스쿨 1기 수료 후기

1. 서론 2023년 6월부터 12월까지 6개월간 현대오토에버에서 주관한 모빌리티 전문교육을 수강했다. 교육은 한국전파진흥협회 서초사옥에서 진행했고 자동차 분야로 진출하기 위한 정말좋은 기회였다고 생각한다. 초반 2개월은 프로그래밍 언어, 컴퓨터구조, 운영체제와 같은 기본적인 컴공, 임베디드 지식에 대해 배우고, 중반 2개월은 자동차구조, 차량용 임베디드 실습, AUTOSAR 기초, ISO 26262와 A-SPICE에 대해서 배우며 마지막 2개월은 지금까지 배운것을 활용하여 프로젝트를 진행했다. 채용관련해서 할말은 많지만....기업 비밀이기도 하고 돌이켜보면 충분히 갈만한 사람들이 입사한것 같아서 의심의 여지는 없었다. (너무 잘하는 사람들이 많아서 누구는 탈락한게 마음이 아팠지만....😭) 2. 본론 ..

연수 | 교육

[교육] 차량용 이더넷 통신

🧑🏻‍💻 본 내용은 "현대오토에버 모빌리티 임베디드 SW스쿨" 국비교육 수강을 통해 배운점 및 후기 입니다 📚 1980년대부터 자동차에 ECU가 하나 둘씩 들어가게 되고 현재는 100개가 넘는 ECU가 자동차에 들어간다. 초반에 점점 많아지는 ECU는 차량회사에서 단순히 ECU를 추가하였지만 UART를 사용하면서 점점 많아지는 신호선을 감당하기 힘들어졌다. 이에 따라 CAN통신이 등장하여 차량 내부 유선 통신은 CAN이 담당하게 되었다. 그렇게 약 20년간 CAN의 시대가 펼쳐졌지만 오늘날 ADAS와 Infotainment와 같이 차량 성능의 고도화와 사용자의 요구에 따라 더욱 고도의 통신 기술이 필요했다. 이를 해결하기 위해 IT분야에서 사용되던 Ethernet 기술을 차량에도 적용하였다. 결국 차량 ..

OSEK ⁄ VDX

OSEK Real-Time OS : 특징2(Event, Alarm, Hook) 및 실습

1. Event 다른 task가 발생시킴, Interrupt일 수도 있음 extended tasks일때만 제공 실행순서를 정해줄때 사용 preemptible 와 non-preemptible 일때 서로 스케줄링 behavior가 달라짐 1) preemptable(priority : T1 > T2) T2가 수행중인 상태에서 이벤트를 발생시키면 스케줄러가 활성화된다. T1은 waiting 상태에서 ready상태로 변경된다. T1의 우선순위가 T2보다 높고 preemptive이기 때문에 작업이 전환된다. 2) non-preemptable(priority : T1 > T2) non-preemptive스케줄링일때 이벤트가 발생하고 스케줄러가 rescheduling을 해도 T2의 작업을 중간에 끝내지 않고 작업을 마..

OSEK ⁄ VDX

OSEK Real-Time OS : 특징1(Task, 스케줄링, 인터럽트)

1. Task 일반적인 OS에서의 process생성과정은(생성, 준비, 실행, 대기, 종료) 5가지 방식으로 나뉘지만 OSEK OS에서는 조금 다르다. Task는 크게 2가지 방식으로 나뉜다. 1) Basic task state model running : task가 CPU를 할당받아 작업하는 상태. 한 번에 한 작업만이 이 상태에 있을 수 있으며, 다른 모든 상태는 여러 작업이 동시에 적용될 수 있다. suspend : running 상태인 직업이 “terminate(종료)”명령을 받으면 일시중지인 상태로 작업이 비활성화 된다. “activate”명령을 받으면 ready상태로 돌아간다. ready : running상태의 작업이 preemptive스케줄링에 의해 우선순위가 밀릴때 ready상태로 들어온다..

OSEK ⁄ VDX

OSEK/VDX 개요

1) OSEK/VDX 개요 OSEK는 OS가 아닌 표준 스펙이다. Real Time 임베디드 시스템을 제작하기 위해 고안해냄 OSEK는 독일계통 차량 회사에서 만들었고 VDX는 프랑스계통 차량회사가 만들어 내서 둘이 합쳐서 하나의 표준스펙이 되었다. 이를 근간으로 해서 OSEK RTOS OS가 만들어 짐. 2) OSEK 목적 재사용성과 이식성을 높이기 위함 이전에 차량 제조사별로 중구난방식으로 제작해서 표준화된 인터페이스를 만들었어야 함. 용이한 확장성 디버깅 및 에러체크 Figure1-1에서 module1, 2, 3을 각각 하나의 task 및 process라고 볼 수 있다. OSEK operation system에 ERIKA, EB, Vector와 같은 OSEK OS kernal이 들어간다. 3) OS..

OSEK ⁄ VDX

범용운영체제

일반적인 범용운영체제는 노션에 기록해 놓았다. 해당 카테고리는 차량용 OS를 중점적으로 작성하기 때문에 아래는 참고용으로 확인하자. 운영체제 A new tool for teams & individuals that blends everyday work apps into one. www.notion.so

카테고리 없음

[졸업작품] 멋쟁이토마토

seo-d-h/Cool_Tomato_Capstone_Design_2023 (github.com) GitHub - seo-d-h/Cool_Tomato_Capstone_Design_2023 Contribute to seo-d-h/Cool_Tomato_Capstone_Design_2023 development by creating an account on GitHub. github.com

대회 ⁄ 공모전

[공모전] 2022한이음 공모전 - 아로마 테라피를 지원하는 지능형 샤워기

seo-d-h/2022-Hanium-Expo (github.com) GitHub - seo-d-h/2022-Hanium-Expo Contribute to seo-d-h/2022-Hanium-Expo development by creating an account on GitHub. github.com

취준

[취준] 현대오토에버 모빌리티 임베디드 SW스쿨 1기 합격후기

인턴활동을 그만두고 4학년 남은 과정을 마저 다니던 와중 고용노동부에서 주최하고 현대오토에버와 현대NGV, 한국전파진흥협회가 주관하는 "현대오토에버 모빌리티 임베디드 SW스쿨" K-Digital을 모집공고를 접했다. 우리 학교에도 K-Digital이 있어서 국비교육에 대해서 어느정도 알고 있었지만 다들 추천하지 않는 분위기였다. 단기간에 너무나 많은 내용을 배워서 깊게 배울 수 없다는둥 시간 아깝다는 둥 교육과정마다 호불호가 있다고 한다. 그러나 이번 과정은 현대오토에버라는 현대자동차그룹에서 IT를 담당하는 SW회사가 끼고 우수 수료생은 취업연계까지 해준다 하여 지원하게 되었다. 사실 모집대상이 학/석사 포함이라 큰 기대를 하지 않고 가벼운 마음으로 지원을 했지만........ 서류를 합격해서 상당히 놀..

리눅스/ROS

[ROS] 로봇팔 시뮬레이션 제어 및 통신

1. 개발환경 OS : Ubuntu 20.04 ROS : Noetic OpenSource : OpenMANIPULATOR-X 2. 로봇팔 시뮬레이션 하기 ※주의※ 모든 개발환경이 구성되어 있어야 하며 자세한 사항은 다음 링크를 참고할것 https://emanual.robotis.com/docs/en/platform/openmanipulator_x/quick_start_guide/#install-ros-on-pc 1) 오픈매니퓰레이터 가제보 실행 roslaunch open_manipulator_gazebo open_manipulator_gazebo.launch - 가제보가 open되면 플레이버튼 누르기 2) 컨트롤러도 시뮬레이션으로 진행하기 위해 use_platform설정 false로 바꿔주기 roslau..

테크

[m1] 삽질일기

usb장비 확인하기 /dev 경로에서 확인할 수 있는 usb장비 잡기 ls /dev | grep usb dpkg 패키지 꼬일경우 sudo apt-get -o Dpkg::Options::="--force-overwrite" install --fix-broken .gitignore 적용 안될때 git rm -r --cached . git add . git commit -m "removed cached"

Network

허브 / 스위치 / 라우터 / 공유기

1. 허브(Hub) - 여러대의 컴퓨터를 연결해서 네트워크를 만들어주는 장치 - 데이터패킷을 받으면 연결된 모든 장치들에게 모두 전송 - 모든 장치들이 데이터 패킷을 받고 자신에게 온 데이터 패킷인지 확인하고 필요하면 취득 - 즉, 단순 분배를 하는 중계장치 - 물리계층에서 사용 cf) 허브는 모든 연결된 장치들에게 패킷을 뿌리기 때문에, 데이터 전송대역을 분리해서 사용한다. 예를들어 원래 허브의 데이터 전송속도가 500Mbps라고 하고 장치 5대가 연결되어 있으면 대역폭은 100Mbps 로 나눠지게 된다. 2. 스위치 - 연결된 장치들의 IP와 MAC주소를 모두 테이블형태로 가진다. - 원하는 목적지에 데이터 패킷을 전송하는 장치 -> 허브와 달리 스위치는 무작정 데이터 패킷을 뿌리는 것이 아니라 IP..

Network

OSI 7계층, TCP/IP 4계층

OSI 7Layer 국제표준화기구(ISO)에서 개발한 모델 컴퓨터 네트워크 프로토콜 디자인과 통신 계층을 나누어 설명한 것 1계층 : 물리계층 - 데이터링크계층의 프레임을 받고, 다음 장치에 구리나 광섬유, 무선통신매체를 통해 전송하기 위한 신호로 바꾸어준다. - 물리적인 매체를 통해 데이터(bit)를 전송하기 위해 요구되는 기능들을 정의 - 데이터 전송단위 : bit(1:on/0:off) - 프로토콜 : RS-232, RS-485등의 케이블 - 장비 : 허브, 리피터 2계층 : 데이터링크 계층 - 물리계층으로 송수신되는 정보를 관리하여 안전하게 전달되도록 도와주는 역할 - MAC주소를 통해 통신, 프레임에 MAC주소를 부여하고 에러검출, 재전송, 흐름제어 진행 - 장비 : 브릿지, 스위치 등 허브 한 ..

취준

[취준] 첫출근

12월 28일부터 6월 28일까지 6개월간 인턴활동을 하게 되었다🥳 처음엔 단기 현장실습으로 겨울방학때 2개월만 진행하려고 했지만 마감 얼마전에 대기업 인턴모집공고가 뜬걸 확인하고 신청을 했다. 운이 좋게 원하는 부서에 품질관리 직무로 발령을 받았지만 걱정되는 부분도 많았다..... 첫번째는 바로 졸업작품... 이제 3학년을 마친 상황이라 내년에 큰 관문 중 하나인 졸업작품을 잘 만들고 해결해야 되는데 내가 인턴을 하게 되어서 1인분을 못할 수 있는 상황이 되어버린 것 처음에 팀을 꾸릴때 열심히 하고 뜻이 있는 친구들끼리 모았지만 내가 막상 이렇게 피해를 주게 되어서 정말 미안한 느낌을 가지고 있다... 팀원들은 나에게 괜찮다고 어쩔수 없는거 아니냐고 하지만 나같아도 별로 좋게 생각하진 않았을 것 같다...

ML | DL

[ML] 선형회귀와 경사하강법

회귀(Regression) 여러개의 독립변수와 한개의 종속변수간의 상관관계를 모델링하는 기법 1. 선형회귀 : 선형조합으로 모델링하는 회귀 기법 1) 단순선형회귀 2) 다중선형회귀 ※여러개의 input데이터를 갖고 어떤 모델이 가장 적합한지 weight를 찾는것이 목적※ 2. 비용함수(Cost Function) - 모든 input에 대해 예측값과 실제값의 차이를 나타낸 함수 → Cost Function을 최소화 하는 것이 목적 - 선형회귀에서의 Cost Function은 MSE(Mean Square Error)를 사용한다. 3. 경사하강법(Gradient Decent Method) - 반복을 통해 미분계수(기울기)가 '0'이 되는 지점을 찾는다. 1) w0, w1에 대해서 임의의 값을 설정한다(initi..

대회 ⁄ 공모전

[대회] 제5회 국민대 자율주행 경진대회(with.포니타)

대학교 들어와서 첫 대외활동인 국민대 자율주행 경진대회를 끝마쳤다. 사실 처음부터 자율주행에 관심이 있던 것은 아니고 어쩌다보다 지도교수님 자율주행 연구실 학부연구생이 되면서 대회도 자연스럽게 참여하게 되었다. 5월에 대회 공지가 뜨면서 4명이서(4학년 2명, 3학년 2명) 하게 되었다. 대회 준비를 하면서 4학년 선배들이 다 했다시피 기술 및 역량차이가 많이 났다. 애초에 처음부터 선배가 우리가 잘 할거라는 기대는 안했고 아이디어 공유랑 우리에게 이런 활동도 있다고 알려주기 위해 명단에 넣었다고 한다. 4개월간 준비하면서 ros, 파이썬, 모터, 라이다 등 많은 센서들을 다루고 제어하는법을 알게 되었다. 예선에서 약 120팀 중에서 상위 20팀을 선별해 본선에 진출하게 되는데 다행히 본선까지 진출하게 ..

[verilog | VHDL]

[VHDL] MUX, DEMUX, 4비트 비교기 설계

MUX(Multiplexer) - 여러개 입력 중 제어신호에 의해 선택된 입력을 출력한다. - 4x1 mux이라고 가정하면 input으로 4비트가 들어오고 제어신호에 의해 선택된 부분을 출력한다. 시뮬레이션 결과를 보면 input 4비트와 S라는 선택신호에 의해 00이면 0번비트, 01은 1번비트, 10은 2번, 11은 4번비트를 출력시키는 동작을 보여준다. 1) mux를 if문으로 작성하면 다음과 같다. //if문 library ieee; use ieee.std_logic_1164.all; entity mux_4x1_vhdl is port( I : in std_logic_vector(3 downto 0); S : in std_logic_vector(1 downto 0); Y : out std_logic..

[verilog | VHDL]

[VHDL] 4비트 병렬 가감산기(4-bit Full adder / subtractor)

4비트 가산기(4-bit Full Adder) 4비트 가산기는 말 그대로 1비트 4개를 더할 수 있는 회로를 의미한다. 회로에서 사용된는 구성요소는 1비트자리 반가산기1개, 전가산기 3개만 적용하면 된다. 처음 LSB연산할때는 하위자리에서 받는 캐리가 없기 때문에 반가산기를 이용하며 나머지 3비트는 전부 캐리를 고려해야 하기 때문에 전가산기를 이용한다. 이러한 동작의 논리회로는 다음과 같다. 최종 결과는 a와b를 더한 결과와 MSB에서 나오는 캐리까지 포함하여 총 5비트가 나오게 된다. 위의 동작을 VHDL 구조적 모델링으로 구현하면 다음과 같다. library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std..

[verilog | VHDL]

[VHDL] 1비트 가감산기 설계(half / full, adder / subtractor)

반가산기(Half adder) 한자리 2진수 2개를 입력해 합(sum)과 올림수(carry)를 계산하는 덧셈 회로이다. 진리표와 논리회로는 다음과 같다. and게이트와 xor게이트를 사용하기 때문에 구조적모델링을 이용하여 컴포넌트를 불러오는 방식으로 코드를 작성하면 다음과 같다. (현재 작업중인 디렉토리에 and, xor게이트에 대한 .vhd파일을 저장해야 한다.) library IEEE; use IEEE.STD_LOGIC_1164.all; entity half_adder is Port (X : in STD_LOGIC; Y : in STD_LOGIC; S : out STD_LOGIC; C : out STD_LOGIC); end half_adder; architecture Structural of half..

시그널보내
시그널보내