펌웨어를 하시는 분들의 이야기를 듣고 싶습니다.

adolis의 이미지

저는 소프트웨어공학을 전공하고, 현재 전자계열 회사에 취직하여 MCU펌웨어 경력을 쌓고있습니다. 제 전공이 S/W이다보니, PCB회로를 뜨는 일은 하지 못합니다. 단지 간단한 H/W디버깅 정도 뿐이지요.

제가 궁금한 것은, 현재 F/W인원을 구직할때, 회사에서 회로설계적인 것까지 같이 담당하게 되는지 입니다. 현재 다니고 있는 회사에서는 회로설계만 하시는 분이 따로 계셔서 괜찮은데, 이러한 구조가 지금 회사에만 국한된 것일까 하는 것입니다.

문득 제가 뭔가 하나 빠진 커리어를 쌓고는 있지 않을까 하는 의구심도 들구요 ... 펌웨어를 하면 역시나 H/W설계까지 해야되는 걸까요?

여러분의 이야기를 듣고 싶습니다.

codebank의 이미지

제가 그런 업체를 경험해보진 않았지만 펌웨어를 작성하는 사람이 H/W설계까지
해야한다는 소리는 처음들어보네요. :)
H/W설계와 펌웨어작성은 서로 분야가 틀립니다. 만일 H/W설계를하고 거기에다
펌웨어까지 만들 수 있는 사람이 있다면 분명 회사차원에서는 선호를 하겠지만
그런 사람이 많지는 않을겁니다.
H/W와 S/W는 서로 보완해주는 역할을 하지만 분야는 틀리는거니까요.

------------------------------
좋은 하루 되세요.

bus710의 이미지

회로 설계라는 것이 아날로그, RF 분야라면 어느 정도 분리해서 생각할 수도 있겠지만

펌웨어를 작성하면서 프로세서에 필요한 주변 장치를 붙이는 것 정도는 자연스럽게 익히게 되지 않을까요?

OS 가 얹어져 있고 회로 설계자가 드라이버를 제공하는 환경이 아니라면 말이지요.

제가 근무하는 회사의 경우 따로 아키텍트가 없어서 그냥 직접 회로를 짜깁기해서 씁니다;;

life is only one time

jachin의 이미지

아직까진 전자관련 회사에서 일해보지 않아서 확실히는 모르겠지만,

대부분 전자공학과 내부 커리큘럼에 회로 설계와 컨트롤러 제어가 들어가 있어서

펌웨어 부분을 하게 된다면 대부분 전자공학과 출신이 하게 되지요.

그러다보니 자연스럽게 회로 설계를 하게 되는 분위기가 되는 것인데...

지금 회로만 담당하시는 분이 계신다면 다행이에요. :)

경쟁력을 조금 높이시기 원하신다면 회로이론과 전자회로를 공부하시는 것도

도움이 되실 거에요. :)

gurugio의 이미지

회로 설계라는게 어떤 건가요?

제가 있는 연구실은 거의 기존에 공개된 회로를 보고

공부해서 수정해서 사용하거든요

프로세서만 있는 상황에서 캐패시터 값을 정해서 붙이고

각종 칩들 선별해서 붙이고

이런 식으로 하는게 회로 설계인가요?

저도 줄곧 소프트웨어만 하다가 이 연구실에 와서

기존에 회로도보고 PCB만들어서 조금씩 칩 몇개 추가하고

그런식으로만 작업해봐서

제가 하드웨어를 개발한다고는 생각해본적이 없고

펌웨어 비스무레한 분야로 작업을 하는 구나 생각하고 있습니다.

하드웨어를 개발한다는 것은 하드웨어만 개발하고

저처럼 기존 회로도없이 처음부터 설계하는 노하우가 있어야 되는 건가요?

jachin의 이미지

gurugio wrote:
회로 설계라는게 어떤 건가요?
...
저처럼 기존 회로도없이 처음부터 설계하는 노하우가 있어야 되는 건가요?
회로망 이론을 공부해보셨을 거라고 생각합니다. :)

제가 말한 회로 설계는 트랜지스터를 이용한 집적회로 설계 쪽에 가깝습니다.

동작 주파수 허용 범위는 어느 정도이고, 열이나 전압 변화, 전류량의 변화에 의한 대역 주파수 변형에 따른 보상 회로를 만들어주고,

동작에 이상을 일으키는 pole 을 피해서 대역 주파수를 변경하는...

PCB 내에서도 전자장에 의해 간섭을 피하는 식으로 설계를 합니다만, 그건 요즘 자동화된 툴들이 다 해주다보니 별 생각 없고요...

휴대폰 PCB 같은 경우 초고주파 간섭을 억제하기 위해 계산된 범위내의 오차로만 설계를 허용하더군요...

won-kyu.park의 이미지

약은 약사에게 진료는 의사에게...(약사 아닙니다. 오해 마시길)

저도 Firmware 쪽 일을 하고 있습니다.
저도 전공이 컴퓨터공학인데 어떻게 이 쪽으로 발을 담그게 되어 회로도를 보고 있죠. 회로도라고는 학교 다닐 때 배운 논리회로가 다인데 ㅡㅡ;

하드웨어 설계에도 나름의 노하우와 규칙이 있습니다. 따라서 Firmware 하는 분이 하드웨어 설계까지 하겠다는 것은 의욕이 좀 과하다고 할 수 있겠습니다.

Firmware 하는 입장에서는 설계하는 것보다는 Firmware를 동작시킬 때 회로도를 참고해서 디버깅할 수 있을 정도면 될 것 같습니다. 물론 이것도 쉬운 것은 아닙니다만 하드웽에 대한 전체적인 지식을 요하지는 않지요.
예를 들어 GPIO라인의 동작을 오실로스코프로 찍어서 본다든지 디버깅할 때 하드웨어 언지니어의 도움없이 할 수 있는 정도의 지식이면 될 듯 합니다.

dasomoli의 이미지

cooloneq wrote:
예를 들어 GPIO라인의 동작을 오실로스코프로 찍어서 본다든지 디버깅할 때 하드웨어 언지니어의 도움없이 할 수 있는 정도의 지식이면 될 듯 합니다.

전 그 짓 할때마다 도움받는다지요 :cry:



dasomoli의 블로그(http://dasomoli.org)
dasomoli = DasomOLI = Dasom + DOLI = 다솜돌이
다솜 = 사랑하옴의 옛 고어.
Developer! ubuntu-ko! 다솜돌이 정석
eou4의 이미지

저는 병역특례로 아주 작은 회사에서 일하는 중입니다.

저같은 경우 회로설계, 펌웨어, 가끔 아나로그 설계, 가끔 PC 소프트웨어도 짜고..(근래엔 QT/windows로..)

다합니다; 근데 걱정인것이 뭐 지금은 병특이라 돈얼마 안받지만..

나중에 과연 많이 받을수 있을지 의문입니다...

아..로직설계(VHDL)를 빼먹었군요..젤 많이하는일인데..

ㅎㅁㅎ

adolis의 이미지

전 아직 "회로설계 == PCB설계" 라는 간단한 등식밖에는 잘 모르겠네요. 이제 DSP칩이랑 uSB칩 에 대한 대강의 이해와 펌웨어 작성할 수 있을 정도 일뿐인데 ... 아직 갈길이 멀군요 :o

jachin wrote:

지금 회로만 담당하시는 분이 계신다면 다행이에요. :)
경쟁력을 조금 높이시기 원하신다면 회로이론과 전자회로를 공부하시는 것도
도움이 되실 거에요. :)

----
adolis at gmail.컴

bus710의 이미지

eou4 wrote:
저는 병역특례로 아주 작은 회사에서 일하는 중입니다.

저같은 경우 회로설계, 펌웨어, 가끔 아나로그 설계, 가끔 PC 소프트웨어, 로직설계(VHDL)

환상적이십니다.

life is only one time

hook의 이미지

다하면 좋다 그러나 힘들고 제대로 하는사람이 적다

이거 아닐까요 아무래도 두개 다하는 사람이 있기도 하고

원하는 회사도 있고

그런데 업무양이 장난이 아닐것 같은데

회로 그려야지 부품구해야지 아트워해야지 납땜해야지

회로 디버깅 해야지 프로그램해야지 디버깅해야지 매뉴얼 만들어야지

bus710의 이미지

Quote:
작성일: 2003/11/04

작성자: 8051팬

제품을 많들면 반드시 않되는 놈이 생기더군요!
그중에는 제품의 성능을 최고로 뽑아먹을 생각으로 최대 클럭으로 동작시키고,
써지성 부하를 거의 직접적으로 구동함으로서 타고 들어온 노이즈가 포트의
틈을 비집고들어와 랫치값을 바꿀 가능성이 있을수 있다고 합니다.
그래서 안정된 회로에서는 20MHz클럭이라도 생산과정에서 확실히 걸러지지 않았을
것이라 생각하여 좀 낮추어서 18.432MHz정도로 낮추어서 구동하며, cpu의 두세곳에
존재하는 GND,VCC에 바이패스 콘덴서를 부착하며, 인덕턴스가 있는 부하쪽의
구동엔 특별히 더 신경을 쓰지 않을수 없게 됩니다.

그리고 한번 쓴 값이라고 그냥 놔두지 말고, 다시한번 출력모드로 변경하는등의
비상 수단까지 고려를 해야 하는 것입니다.

이런게 바로 대학생들과 산업체 실무자들의 차이입니다.
대학생들이 아무리 잘해도 제대로 된 회사에서는 인정을 해주지 않고,
그냥 참조만 할 따름입니다.

설계도를 잘 보면 쓸모없을듯 보이는 부품들을 그냥 붙여놓은듯 하여도
다 그 존재의 의미가 있습니다.

일본이나 서구에서는 나이가 지긋한 할아버지가 될만한 엔지니어가
이런식으로 경험을 담아서 설계하지만, 우리나라는 새파란 젊은이들이
그냥 설계를 합니다. 그래서 당장 되면 좋고, 않되면 그때부터 찾아나섭니다.

이래서 참된 엔지니어가 있어야 합니다.

입사하고 나서 얼마 되지 않았을 때 보드가 동작하지 않아서 고민하며 밤을 새다가 잠깐 인터넷으로 여기저기 들쑤시다가

자주 갔던 커뮤니티에 누군가가 올린 글을 보고 저장해 뒀던 것입니다.

결국 간과하고 넘어갔던 부분에서 빠진 부품이 발견되고 소스에서도 미흡한 것이 발견되어 마감은 맞출 수가 있었지만 계속 기억에 남더라구요...

life is only one time