minhyeok10의 등록된 링크

 minhyeok10로 등록된 네이버 블로그 포스트 수는 43건입니다.

PCB 개발 [내부링크]

전문적인 PCB 개발 발주를 원하시는 분들은 댓글 남겨주시면 답변 드리겠습니다.

Switch Box [내부링크]

창업 초창기에 개발의뢰 받아 제작한 제품으로 사용했던 케이블도 생소하였지만 제작이 어렵지 않아 개발 완료한 제품입니다. 케이블은 192990-1310 커넥터를 사용한 케이블로 포고핀을 사용하였으며 관련 부품또한 해외 제품이라 수급하는데 어려움이 있었습니다. 완성된 제품은 아래와 같습니다. 부품 수급이 오래 걸리지 않았으면 개발 완료 시점은 1달 정도 소요 된것 같습니다.

CALIBRE INTERACTIVE SKILL CODE [내부링크]

메일로 요청하신 분이 있어 구글에서 검색하여 소스를 올려드립니다. 참고하세요!

제 4강 차폐 (접지2) [내부링크]

접지는 일반적으로 안전접지, 신호접지 2가지로 구분할 수 있습니다. 안전접지는 케이스 정도라 생각할 수 있고, 간혹 케이스를 만졌을때 따끔 거리는 것은 안전접지가 연결된 대지 접지가 제대로 연결되어 있지 않은 경우라고 생각할 수 있습니다. 신호 접지는 아날로그 및 디지털 신호, 그 이외의 전력신호가 연결된 접지를 가르킵니다. 안전 접지와 신호접지의 차이점은 귀환 전류 유무로도 구분이 가능합니다. 이번 강의에서 세부적으로 정리할 내용은 안전 접지보다는 PCB 접지에 집중하여 정리하도록 하겠습니다. 아래 그림 Fig. 1은 PCB 개념에서 주파수에 따라 전류 경로를 보여줍니다. 저주파와 고주파를 구분하는 기준은 일반.......

네트워크 [내부링크]

네트워크에 대해 공부한 내용을 간략하게 적어보겠습니다. 컴퓨터를 사용할 때 서로 데이터를 교환하기 위해 네트워크에 접속을 하게 됩니다. 네트워크의 정의는 통신 가능한 장비(host, node)들이 서로 연결하게 해주는 통신 망입니다. 네트워크의 종류에는 1. Local area network(LAN) 2. Wide area network(WAN) 등이 있습니다. LAN은 몇개의 호스트들이 건물, 혹은 개인 사무실 등에 서로 연결되어 있는 형태이고, WAN은 LAN으로 연결되어 있는 네트워크를 지역 - 지역 혹은 다른 나라로까지도 연결되어 있는 형태입니다. 그림 참조 https://favpng.com/png_view/cloud-computing-computer-network-diagram-wide-area-network-cloud-compu.......

[서산나들이] [내부링크]

이번 주말은 나들이 개념보다는 클래식 기타를 중고거래 하려고 서산을 다녀 왔습니다. 중고 거래 했 던 기타는 기타 명장 엄흥식 선생 작품으로 300호 이상이라고 하던데 구분을 잘 못하겠네요 ㅎ 서산도 벚꽃이 많이펴서인지 사람도 많고, 애견들도 많아 있어서 코로나에 대한 심각성도 많이 줄어든 듯 합니다. 간만에 데리고 나온 구름이도 신났는지 제 말을 좀 잘들어 주네요. 목포에서 서산까지 왔다갔다 하는 시간이 약 6시간이어서 구경할 수 있는 시간이 많지 않았지만 매주 밖에 나오니 좋긴 합니다. ^^

[미국 생활] 2주차 [내부링크]

아직도 시차 적응이 안되 현지 시간으로 매일 6시즈음 눈이 떠집니다. 아침잠이 많은 편인데 잠을 많이 못자니 하루가 너무 길고 시간도 빨리 가지 않는 것만 같습니다. 이번 주는 미국 주방에서 음식을 해먹었던 것과 산책을 하면서 한국에 없던 풍경들에 대해 말씀 드리려고 합니다. 먼저 미국에서 가장 놀랐던 것은 재활용을 하지 않는 다는 것입니다. 도시락을 먹고, 음식물을 따로 불리해서 버리려고 했더니 그냥 일반 쓰레기통에 넣어도 된다고 해서 한번 놀랐고, 음식물을 그냥 씽크대에 버려도 음식물이 갈려서 따로 저장되는 통이 있다는 것에 두번 놀랐습니다. 현지에서는 아래 크기의 등심이 한화로 약 5천원정도 하는 것 같아 자주 해.......

제14강 [ATmega 48] SPI 통신 [내부링크]

SPI(Serial Peripheral Interface)는 MUC와 주변소자 또는 여러가지 AVR 소자간에 고속 데이터를 전송할 수 있는 근거리용 직렬통신 수단입니다. MOSI, MISO, SCK, /SS 4개의 통신선을 이용하며 UART 통신과 비교하면 빠른 속도, 멀티통신이 장점이고, TWI 통신과 비교해도 빠르고, 간단한 제어가 장점입니다. SPI 특징 - 전이중 3선 동기 데이터 통신 - 마스터 또는 슬레이브 동작 - MHz 속도 및 7가지 전송속도 선택 - 전송완료 인터럽트 플래그 - Idle Mode 깨어나기 - 2배속 마스터 SPI 모드 SPI 관련 레지스터 - SPCR(SPI Control Register) 비트 7 : SPIE (SPI Interrupt Enable) '1'이면 인터럽트 활성화 비트 6 : SPE (S.......

[봄 나들이] 광양 매화마을 [내부링크]

오랜만에 블로그를 작성해봅니다. 부지런히 블로그를 작성하기로했던 개설 당시 마음과 달리 선천적으로 게으른 성격은 어쩔수 없는지....ㅜ.ㅜ 다시 마음을 다잡고 블로그 작성을 재게 해보려 합니다. 작년한해 생각보다 많은 일들이 있어 여자친구와 제대로 된 여행을 해보지 못했는데 최근 머리도 식힐겸해서 여자친구와 같이 광양 매화마을을 다녀왔습니다. 매화를 보러 갔지만 날이 빨리 따뜻해지면서 매화가 거의 없어가지고 조금 아쉬웠지만 그래도 여자친구는 간만에 나들이여서 그런지 기분이 많이 좋아보이네요 ㅎ 매화보다는 섬진강 주변에 벚꽃이 만개해 있어서 헛걸음은 아니었습니다. 요새 코로나로 야외 데이트가 힘들었는데 여자.......

제 1강 EMC 개념 및 이해 [내부링크]

EMC라는 용어를 처음 들어보시는 분들도 많고, 실제로 현업에서 종사하시는 분들도 실제로 EMC 문제가 발생하였을 때, 바로 원인을 찾고 해결하는 것은 많은 어려움이 있습니다. 개인적으로는 EMC를 전공하기는 했지만 이론적으로 분석하기보다는 시뮬레이션 Tool과 측정장비에 의지해왔기 때문에 오랜시간 측정장비에 의지해 분석을 하지 않으면 '어떤 부분이 문제의 원인이다.' 증명하는 것은 많은 어려움이 있습니다. 실제 경험했었던 예로는 A라는 업체는 Control 회로를 제작하고, B라는 업체는 RF Power를 방사하는 장비를 납품하고, 저는 A, B 두 가지를 조합한 제품을 제작했었습니다. 하지만 각각 A, B를 구동하였을 때에는 아.......

제 2강 차폐(1) [내부링크]

매질로 입사한 전자기파의 작용 원리 - Fig. 1은 공기 중에 방사된 전자기파가 다른 매질을 만났을 때, 전기적 특성을 보여줌. -전기전도도에 따라 입사면에 일부는 반사되고, 일부는 흡수되어 열에너지로 방출되거나 나머지는 매질을 투과하여 진행함. - Fig. 1의 아래 그래프는 E, H의 세기가 각각 37%값으로 감소하는 두께 (skin depth)를 나타냄. - Skin depth는 아래 수식에 의하면 주파수가 높을 수록, 전기전도도가 높을수록 자기장의 침투깊이가 낮아져 얇은 두께로도 외부 자기장이 내부로 침투하는 것을 막을 수 있음. 전자파 차폐(Far-field Vs Near-field) - 전자기장의 특성은 Source원에 의해 결정되며 Fig. 2에서 보는 바와.......

제 3강 차폐(2) - 접지 [내부링크]

일반적인 교재에서는 케이블링 접지를 따로 구분해서 정리하지만 저는 차폐라는 큰 카테고리 안에 접지를 두어 설명을 시작하도록 하겠습니다. 주변에서 쉽게 볼수 있는 차폐재로는 동축 케이블이나 차폐도선이 사용된 케이블을 주변에서 볼 수 있습니다. Fig. 1은 차폐재가 사용된 케이블을 보여줍니다. 여기서 고민이 시작됩니다. - 책에 나온대로 접지를 하면 외부로 부터 오는 노이즈를 차단할 수 있는 것인가? - 차폐재의 접지를 어떻게 연결할 것인가? - 접지만 연결하면 전기장, 자기장 차폐가 모두 되는 것인가? - 책에는 저주파, 고주파를 나누어 접지 방법이 구분되어 있는데 어떤 방법을 사용해야 하는 것인가? EMC 전공자들.......

Near-Field Scanner [내부링크]

아래 제품은 모 기관으로부터 의로를 받아 x, y, z축으로 제어가 가능한 Near Field Scanner(NFS) 이다. NFS는 Near Field Probe를 통해 측정된 데이터를 Network Analyzer로 부터 rawdata를 전달받아 데이터 가공이 가능하다. Fig. 2는 NFS 제어를 위한 PC UI로 모터 제어 및 SNP data를 전송받을 수 있다. 기구 설계는 솔리드웍스로 진행하였고, 프로그램 개발은 비쥬얼 베이직, C#으로 진행 함. 개발 기간은 약 2달 소요함.

Film Plotter 프로그램 [내부링크]

해당 프로그램은 생활보호패키지(PPF) 재단 프로그램으로 기존에 중국산, 국내산 프로그램이 있지만 데이터 수정이 불편하고, 차량 데이터의 업데이트가 원활하지 않아 모 기업으로부터 의뢰받은 프로그램임. 차량 데이터는 서버를 통해 관리되며, Fig. 2와 같이 불러온 차량 데이터를 아래 CAD 창에서 수정이 가능하다. 데이터 수정은 기존 CAD 방식과 유사하게 크기변환, 각도조절, 그룹, 그룹해제, 도형 일부분 수정 기능 등이 가능함. 프로그램 개발은 C# 및 C++로 진행하였고, 개발기간은 약 3달정도 소요됨.

BPS PCB 제작 [내부링크]

12GHz BPS 카메라 모듈에 사용되는 PCB 제작 - 기존 업체에서 SI, PI 작업없이 PCB 설계를 진행하여 3번정도 PCB를 제작했었기 때문에 동작 특성이 불안하였음. - 기존에 설계하였던 PCB는 보드 1장에 모든 작업이 이루어졌지만 의뢰받은 PCB 개발건은 보드 3장을 마운트하는 방식으로 크기 3cm x 3 cm 이어서 부품 실장하는 데 어려움이 있었음. - 제안했던 방법은 아래 그림과 같이 SI, PI 시뮬레이션으로 동작특성을 분석하고, 문제가 되는 부분은 PCB 패턴을 수정하는 방식으로 함. 아래 그림은 완성된 SMT 작업이 완료된 제품임. - 카메라 모듈을 사용한 PCB는 10층으로 설계하였고, 파워보드는 4층으로 설계함. - SMT는 저렴한 업체.......

기구 설계 발주 [내부링크]

전문적인 기구설계가 아닌 샘플 위주 개발 발주는 원하시는 분들은 댓글 남겨주시면 연락드리겠습니다. 개발 완료된 제품 건에 관해서는 개발 제품 카테고리에 있으니 확인 부탁드립니다.

프로그램 개발 [내부링크]

펌웨어 개발 및 UI 개발 건에 관련하여 발주 하실분들은 댓글 달아주시면 답변 드리겠습니다.

제4강 [IC61-Virtuoso Layout] DRC [내부링크]

3강에서 했던 Layout을 이용해 Design Rule Check를 해보겠습니다. 세팅을 하기 전에 설계자가 사용할 공정에 대한 이해도가 필요한데 필요한 문서가 PDK입니다. 아래 간단한 용어 설명부터 하고 진행하도록 하겠습니다. PDK : 칩 설계 플로우에서 EDA 툴과 함께 사용하는 파운더리용 데이터와 스크립트 파일을 정리한 것입니다. PDK는 주로 모델, 기호, 기술 파일, 파라미터화된 셀 및 룰파일로 구성되어 있습니다. 파운더리에서 제공하는 PDK를 사용하여 설계자는 칩 설계를 시작할 수 있으며, Schmetic 작성에서부터 Tape Out까지 디자인 플로우를 원활하게 수행할 수 있습니다. DRC Set-Up - PDK를 숙지하셨다면 DRC Rule 파일을 확인.......

제11강 [ATmega 48] USART 2 [내부링크]

10강에서 언급한 내용을 보충 설명하고 진행하도록 하겠습니다. ATmega 48은 1개의 USART 직렬포트를 가지고 있으며 내부 시스템 Clock에 의하여 baud Rate가 결정됩니다. bps란 데이터 전송속도를 나타내는 것으로 초당 전송되는 비트 수를 의미합니다. 예를 들어 19200 bps는 1초 동안에 19200개의 bit를 전송합니다. baud는 변조속도를 나타내는 것으로 단위 신호의 수를 나타냅니다. 데이터를 받는 방법에 대해서는 Polling 방법과 Interrupt 방법 두 가지가 있습니다. 두 가지 방법 모두 작업 수행 시에 외부에서 들어오는 이벤트를 수행하는 것은 동일합니다. 그럼 두 가지 차이점에 대해 알아보도록 하겠습니다. Polling 방법은 정해진 시.......

제5강 [IC61-Virtuoso Layout] LVS [내부링크]

LVS도 DRC와 유사합니다. 순서는 아래와 같습니다. - Calibre에서 LVS를 누릅니다. 그리고 DRC 세팅 방법과 동일하게 룰 파일 경로를 물리고 아래 그림처럼 각 옵션들을 확인해야 합니다. 아래 그림처럼 체크된 부분은 해제해주시고, 실제 사용한 Power net 이름이 제대로 물려있는지 확인해 줍니다. - 마지막으로 Input의 Layout과 Netlist tap에서 layout viewr와 schemetic viewr를 export 시켜주시고, RUN_LVS를 눌러줍니다. - 공정마다 차이가 있지만 특정 파일을 Include를 시켜야지만 DRC, LVS, PEX가 동작되는 경우가 있습니다. 방법은 Calibre → set up → netlist export를 누르시고 해당 파일을 include 시키시면 됩니다. - 실행.......

제6강 [IC61-Virtuoso Layout] PEX [내부링크]

LVS에 이어서 PEX 입니다. 처음 회로를 RF를 공부하면서 접했었기 때문에 PEX를 필수적으로 생각했었습니다.최근에는 대부분 기생파라미터를 추출하는 것 같은데 10년전만 하더라도 RFIC이외에 저주파 Analog IC는 잘 사용하지 않았던 것 같은데???? 요새는 저주파라고 부르기가 어색하게 동작주파수가 많이 높아져서 필히 사용하는 것 같습니다. 아래와 같이 PEX를 눌러줍니다. Rule 파일의 경우 PDK를 확인하고, best, typical, worst중 한가지를 정의하여 실행해 줍니다. Rule 파일을 수정하면 아래 그림과 Format을 ELDO에서 CALIBREVIEW로 변경해 줍니다. 셋팅이 제대로 완료된 후에 RUN PEX를 누르시면 아래와 같은 창이 나오.......

제1강 [PADS Layout] 환경 설정 [내부링크]

Pads Layout 9.5버전으로 진행하도록 하겠습니다. Netlist 추출 방법 - 아래 그림과 같이 OrCad 사용 시 Create Netlist를 통해. asc 파일로 추출하여야 합니다. PCB Footprint에 추가로 {value}를 해준 이유는 netlist 파일 확인 시 value 값도 확인하기 위해서입니다. Formatters는 orpads2k.dll을 선택해주고 해당 경로를 설정해 주면 Netlist 추출은 끝납니다. - 아래 그림은 Netlist 추출 후 PDADS에 사용할 netlist 임을 정의해주고, 저장하면 추출은 완료됩니다. !PADS-POWERPCB-V9.0-MILS-CP949! NETLIST FILE FROM PADS LOGIC V9.5 Option 설정 (Ctrl + Enter) - 아래 옵션은 제가 설정한 방식이긴 하나 설계자가 직접 상황에 맞.......

미국 출장 [내부링크]

약 2달간 출장 갈 일이 생겨 아래와 같이 준비했던 내용을 정리해 봅니다. ESTA 비자 발급 : ESTA 비자는 전자여행 허가제로 미국에 가기 위해서 꼭 필요한 절차이며, 미국 본토 여행 시엔 ESTA가 꼭 필요합니다. 그럼 신청 방법에 대해 알아보겠습니다. - 해당 사이트에 접속하여 https://esta.cbp.dhs.gov/esta/application.html?execution=e1s1 신규 신청 클릭합니다. 기존에 받았던 분(유효기간이 남아있던 분)이라면 기존 신청자를 클릭하시면 되고, 유효 기간이 만료되신 경우에는 재발급 받으셔야 합니다. - 승인까지는 며칠이 걸릴 줄 알았는데 실제로 저는 하루 걸렸습니다. 국제면허증 : 출장을 가면 렌트비가 만만치 않아.......

제12강 [ATmega 48] TWI(I2C) 통신 1 [내부링크]

Two-Wire-Interface(TWI)는 SCL, SDA의 2선만을 사용하여 소자 간에 데이터 통신을 하는 방식으로 특징은 아래와 같습니다. - 마스터/슬레이브 모드 동작 - 7비트 주소 공간으로 최대 128개의 슬레이브 연결 가능 - 다중 마스터 사용 가능 - 최대 400kHz의 데이터 전송속도 - TWI의 주소 인식으로 슬립모드 해제 ATmega 48에서는 PC4(SDA), PC5(SCL)을 사용합니다. SDA(serial data)는 송수신 데이터 신호이며, SCL(serial clock)은 SDA 신호와 동기되는 클럭 신호입니다. 클럭을 발생시켜 양단간의 통신을 제어하는 장치를 마스터라고 하고 마스터에 의해 고유한 주소가 지정되어 동작하는 장치를 슬레이브라고 합니다. SCL은 마스터에서.......

망고레 왈츠 4번 [내부링크]

대학 시절 클래식 기타 동아리에 가입해 대학 졸업때까지 틈틈히 연습했던 적이 있었습니다. 그때는 음악의 깊이보다 스킬적으로 더 잘쳐 보이기 위해 노력했었던 적이 있었는데 지금은 편안한 느낌을 주는 느린 연주곡이 더 멋있게 느껴집니다. 아래 동영상은 망고레 왈츠 4번입니다. 연주자는 제가 대학시절 좋아했던 데이비드 러셀 입니다. 연주도 깔끔하고, 표현도 좋은것 같아서 좋아했었던 연주자입니다. 요새 바빠도 가끔씩 여유를 가져봅니다. 감상해 보세요.. 좋습니다. 차후에는 직접 연습해서 연주곡들을 하나씩 올려볼까 합니다.

제13강 [ATmega 48] TWI(I2C) 통신 2 [내부링크]

TWI(I2C)를 사용하기 위해서는 TWBR, TWCR, TWSR, TWDR, TWAR와 같은 레지스터를 사용합니다. TWBR : 0 ~ 7번 비트는 TWI 클락 주파수 분할기입니다. SCL 신호의 클락 주파수를 만들기 위하여 필요한 분주비를 설정합니다. - SCL frequency = CPU clock frequency / (16 + 2(TWBR)*prescaler value) - 400kHz를 설정하기 위해서는 아래와 같습니다. (prescaler value는 사용하지 않았습니다.) TWCR : TWI Control Register로 전반적인 동작을 제어합니다. TWSR : 3~ 7번 비트는 TWI 동작 상태에 따라 각각 다른 값을 갖게 되어 TWI 동작 상태를 확인할 수 있으며 0 ~ 1번 비트는 마스터 모드에서 TWI 통신속도를 결정한다. SCL 클.......

[미국 생활] 1주차 [내부링크]

미국에 도착했습니다. 제가 도착한 곳은 캘리포니아 오렌지카운티에 있는 어바인이라는 곳입니다. 위치는 아래 그림에서 보시는 것과 같이 LA가 근처이지만 실제로 운전해서 가려면 1시간이 넘는 거리를 운전해야 합니다. 택시기사 아저씨 말로는 최근 교육환경도 좋고해서 연예인들이 많이 모여산다고 하는데 마주칠 일이 있을지는 모르겠습니다. 그럼 인천공항에서부터 어바인까지 어떻게 도착했고, 어떻게 생활하고 있는지 간단히 포스팅해보도록 하겠습니다. 약 4년만에 가는 해외여행이라 인천공항에서부터 두근거리기도 했지만 11시간이나 비행을 해야한다는 것과 입국심사때 어떻게 말을해야할지 걱정이 앞섰습니다. 같이가는 친구와 공항.......

제4강 [ATmega 48] 외부 인터럽트 2 [내부링크]

이번 포스팅에서는 Exteranl Interrupt Flag Regster (EIFR)와 외부 인터럽트 처리 과정에 대해 알아보도록 하겠습니다. Exteranl Interrupt Flag Regster (EIFR)는 2개의 외부 인터럽트 중에서 인터럽트가 발생하면 해당되는 비트가 1로 설정됩니다. SREG 레지스터의 I-비트가 1로 설정되어 있고, EIMSK의 해당되는 외부 인터럽트가 허용되어 있다면 MCU는 인터럽트 벡터로 이동하여 인터럽트 서비스 루틴을 실행하고 EIFR의 해당되는 비트를 지우게 됩니다. 프로그램으로 이 플래그를 지우기 위해서는 해당되는 비트를 '1'로 써주어야 합니다. 아래 소스 코드는 인터럽트 1에서 보여드린 코드와 똑같지만 인터럽트 서비스 루틴에.......

제5강 [ATmega 48] 타이머/카운터 1 [내부링크]

타이머/카운터 첫 번째 포스팅에서는 Normal Mode에 대해 먼저 알아보도록 하겠습니다. 타이머/카운터는 모든 MCU에서 제공하는 기본적인 기능으로 가장 많이 사용하므로 그 구조와 상세 동작을 이해할 수 있어야 합니다. ATmega 48에서는 8비트 타이머/카운터 2개와 16비트 타임/카운터 1개를 가지고 있으며 일반적인 타이머/카운터 동작 외에 PWM 파형을 발생하거나 외부 입력 펄스를 계수하거나 주파수, 주기 등을 측정하는 기능을 수행할 수 있습니다. Normal Mode : 타이머에 인가되는 클럭을 세서 펄스의 개수가 256(8비트) 또는 65536(16비트)이 되어 오버플로가 발생하면 플래그를 1로 만듭니다. 만일 일정 시간 간격으로 오버플로를.......

제6강 [ATmega 48] 타이머/카운터 2 [내부링크]

타이머/카운터의 기본 기능은 크게 두 가지로 먼저 Normal Mode와 CTC 모드가 있습니다. Normal Mode는 5강에서 설명하였고, 이번 포스팅은 CTC 모드에 대해 알아보도록 하겠습니다. Clear Timer on Compare Match Mode (CTC Mode) : CTC 모드는 TCNTn 값이 0부터 시작하여 증가하다가 OCRn 값과 같게 되면 0으로 지워지는 동작을 반복합니다. 즉, TCNTn 값은 0에서 증가하여 OCRn 값까지 반복하게 됩니다. 위 그림은 TCNTn과 OCnx가 일치할 때마다 출력핀에서는 0V, 5V를 반복하게 됩니다. 이때 인터럽트가 발생하는 시간은 동작 주파수가 16MHz 일 때, CTC 모드를 설정하기 위해서는 아래 표 12-8과 같이 WGM00, WGM01, WGM02를 설정.......

제7강 [ATmega 48] 타이머/카운터 3 [내부링크]

CTC 모드 마지막으로 토글 기능을 사용해 출력 파형을 확인해 보겠습니다. 토글 기능은 아래와 같이 설정하면 됩니다. 그럼 소스코드를 확인해 보겠습니다. 출력핀으로 OC0A 핀을 사용하기 위해 ATmega 48 핀을 확인해보시면 PORTD6에 있는 것을 확인하실 수 있습니다. 따라서, PORTD6을 출력핀으로 사용하기 위해 0x40으로 선언하였습니다. 코드 내용을 확인해 보면 토글 모드를 해주기 위해 COM0A0, COM0A1을 각각 1, 0으로 설정해주었습니다. TIMSK를 확인해 보시면 TIMSK0 = (0<<OCIE0B)|(0<<OCIE0A)|(0<<TOIE0) 모두 '0'으로 설정하였습니다. 그 이유는 MCU가 알아서 토글하고 출력하기 때문.......

제8강 [ATmega 48] 타이머/카운터 4 [내부링크]

8번째 포스팅은 Fast PWM Mode에 대해 알아보도록 하겠습니다. 위 그림은 Fast PWM Mode의 Timing Diagram을 나타냅니다. 그림을 설명하기 앞서 간단히 용어부터 설명하도록 하겠습니다. 위 그림 오른쪽을 파란색 박스를 보시면( COMnx1:0 =2)라고 표기된 것이 보입니다. 이표기의 의미는 아래 표 12-3과 같습니다. COMnx1:0 = 2 = COMnx1:COMnx0 = 1 : 0 으로 다시 표기할 수 있습니다. 따라서, COMnx1:0 = 2는 clear OC0A on compare match, set OC0A at Top을 뜻합니다. 빨간색 선으로 표기한 부분은 OCR0와 일치된 부분과 Top과 만나는 지점을 표기했습니다. COMnx1:0 = 2으로 표기된 OCnx 부분을 보시.......

제9강 [ATmega 48] 타이머/카운터 5 [내부링크]

타이머/카운터 마지막으로 Phase Correct PWM Mode에 대해 알아보도록 하겠습니다. 전체적인 개념은 Fast PWM Mode와 동일합니다. 차이점은 TCNT0값이 254~0, 1~255, 254~0.... 과같이 카운팅 방법이 Nomal mode, CTC mode, PWM mode와는 다릅니다. 즉, 위 그림과 같이 비교 일치가 2번 발생합니다. 그림 오른쪽 하단을 보시면 COMnx1:0은 아래 표에서 보시는 바와 같이 Clear OC0A on compare match when up-counting. Set OC0A on compare match when down-counting을 의미합니다. 위 그림을 보시면 빨간색 선으로 표기한 부분이 OCR0와 TCNT0와 만나는 지점입니다. 첫 번째 빨간 선을 보시면 up-counting을 할 때 만났으므로 Clear가.......

제10강 [ATmega 48] USART 1 [내부링크]

10번째 포스팅입니다. AVR을 접하기 전에 많은 분들이 통신 쪽이 제일 어렵다고 말씀을 해주셔서 빨리 USART를 공부하고 싶었는데 드디어 여기까지 왔습니다. 그럼 시작하도록 하겠습니다. Universal Asynchronous Receiver Transmitter (USART)는 시리얼 통신의 한 종류로 시스템을 구성하는 데에 있어 병렬 통신에 비해 단순하지만 속도는 저속이라는 특징이 있습니다. 데이터를 송수신할 때에는 송수신단에 제어핀 1개와 데이터 전송선 1개만 있으면 되고, 데이터 전송 시에는 송신단에서 수신단으로 최하위 비트(LSB)부터 보내게 됩니다. 데이터는 아래와 같은 순서로 데이터를 보내게 됩니다. - 데이터를 보내지 않을 때(Idle Time)에.......

제1강 [IC61-Virtuoso Layout] 환경 설정 [내부링크]

최근 특별한 계기가 있어 기억을 더듬어 Virtuo Layout Tool 사용방법을 정리해 보려 합니다. 간략히 Tool에 대해 설명을 드리면 리눅스 기반의 CADENCE 사의 tool인데 IC 설계 시 사용하는 Spectre와 Layout tool인 Virtuoso가 있습니다. 회로 시뮬레이션을 잘했더라도 Layout이 잘되지 않으면 실제 IC가 나왔을 때 제대로 동작하지 않을 확률이 아주 높습니다. (물론 디지털 회로는 그나마 수월합니다.) 따라서, Layout을 하면서 고려해야 할 상황들도 정리해 나갈 예정입니다. 접속 방법 - 처음 tool을 접했을 때는 IC51을 사용했었는데 IC61로 바뀌면서 명령어도 조금 바뀐 것 같아 처음부터 작성해보도록 하겠습니다. - 터미널을 여시면.......

제2강 [IC61-Virtuoso Layout] Route [내부링크]

Op Amp를 회로를 이용하여 배치 및 라우트를 해보도록 하겠습니다. 빨간색으로 표시한 부분은 Current Mirror이고, 노란색으로 표기한 부분은 Amp의 입력단입니다. 단축키 'i'를 눌러 아래 그림과 같이 해당 라이브러리를 먼저 불러옵니다. 그리고 불러온 소자들은 schemetic을 보고 해당 Length, Finger width, Finger를 입력해 줍니다. multiplier는 레이아웃 파라미터 입력란에 따로 없으니 직접 복사해 주어야 합니다. 소자를 다 불러온 뒤 shift+F를 눌러 레이어를 보이게 하여 라우트를 시작합니다. ( Name과 Outline 보기는 Ctrl+F) 시작하기 전에 간단한 배치 이론에 대해 언급하고 넘어가겠습니다. Common Cenroi.......

제3강 [IC61-Virtuoso Layout] 배치 관련 이론 [내부링크]

Current Density : 전류 밀도는 metal의 면적 또는 비아에 의해 정의되며, J = I/W로 표현됩니다. 단위는 mA/um와 같이 나타내며 전류가 metal 수직단면에 균일하게 분포되어 있다고 가정하였을 때, 선형 전류 밀도입니다. Electromigration : Electromigration(EM) 또한 어찌 보면 current density와 비슷합니다. 수식은 따로 표현하지않겠지만 current density보다는 고려해야 할 내용이 많습니다. 아래 그림은 전류 밀도에 의한 EM을 나타낸 것입니다. 이를 간단히 해결하기 위해서는 Metal width를 넓히는 방법이 있습니다. EM이 발생하는 원인 중에는 온도, Metal에 따른 capacitor 등 많은 요인을 가지고 있습니다. Charged-.......

소개글 [내부링크]

안녕하세요 이제 막 블로그를 시작한 새내기 블로거 공돌이 입니다. 제가 블로그를 시작한 계기는 대학 생활부터 현재에 이르기까지 많은 것을 보고 배웠지만 스스로 나의 지식을 정리하지 않으면 아무것도 남지 않더군요.. 나이가 많은 것은 아니지만 기억력도 점점 떨어지는 것 같고 해서 그 동안 배웠었던 지식과 앞으로 공부해나갈 내용을 정리해 나가기 위해 블로그를 시작하게 되었습니다. 제가 정리해나갈 내용은 전공했었던 아날로그 회로설계, EMC, 그리고 최근에 공부를 하고 있는 AVR을 중점적으로 하려고 합니다.

Source code editor/Compiler/Simulation tool [내부링크]

안녕하세요. 공돌이입니다. 첫 내용은 실제 코딩을 공부하기 전에 사용할 에디터와 컴파일러 그리고 시뮬레이션 툴을 결정하고, 간단한 사용법을 설명하도록 하겠습니다. Soruce code editor : source insight - 소스인사이트는 여러 경로를 통해 편의성이 검증된 툴인 것 같습니다. 제가 많은 에디터를 사용해본 것은 아니지만 실무를 하시는 분 중 대부분은 소스인사이트를 사용하고 계셨고, 구글링을 했을 때에도 많은 분들이 극찬을 하는 그런 툴인 것 같습니다. 제가 사용하면서 느꼈던 장점은 차지하는 용량이 작고, 쉽게 함수, 변수 등의 정의를 볼 수 있었습니다. Compiler : IAR Embedded Workbench for AVR - 컴파일러의 종류로.......

제1강 [ATmega 48] LED 이동 실습 [내부링크]

실습할 예제는 비트 연산사를 사용하여 LED를 이동시키는 것으로 해보겠습니다. 다른 블로그에서는 ATmega 128로 한 자료들이 많이 있어서 저는 ATmega 48로 구현해보도록 하겠습니다. PORTC 0 ~ 3번까지만 사용하고, Clock은 16MHz를 사용하기 위해 외부에 크리스탈을 부착한다. 프로테우스를 사용하면서 확인해야 할 상항은 아래 그림과 같이 Clock 설정이 잘 되어있는지 확인하여야 한다. 설정이 잘못되어 있으면 delay 함숫값이 제대로 적용되지 않는다. 다음은 IAR을 사용하여 간단한 코드를 작성한 것입니다. __delay_cycles() 사용법은 16MHz의 Clock을 사용하였을 때, 주기는 0.0000000625이다. 이때 1s, 1ms는 // 1s/0.0000000.......

제2강 [ATmega 48] 비트연산자 [내부링크]

2번째 강의는 6가지 비트연산자에 대해 알아보도록 하겠습니다. 비트 연산자는 주로 하드웨어 관련 프로그래밍에서 많이 사용되지만 많은 영역에서 메모리 공간의 효율성을 높이고 연산의 수를 줄이기 위해 사용하고 있습니다. 비트 연산자를 사용하여 PORT에 응용해보기 - PORTC의 0, 2번 포트만 '0'으로 만들고 싶다면 //PORTC = 0b0000 1010 일 때, PORTC = PORTC & 0b0000 1010 - PORTC의 3번만 출력으로 사용하고 싶다면 PORTC | = 0b0000 1000 - PORTC의 1번만 토글 시키고 싶다면 PORTC ^ = 0b0000 0010 - PORTC의 값을 반전 시키고 싶다면 //PORTC = 0b0000 1010 일 때, ~PORTC = 0b1111.......

제3강 [ATmega 48] 외부 인터럽트 1 [내부링크]

인터럽트는 MCU에서 하드웨어의 상태를 확인하여 신호의 변화에 대응하는 것으로 입력을 받아들이는 방법을 말합니다. ATmega 48의 인터럽트 소스는 총 26개가 있습니다. 내부에서 발생하는 인터럽트 소스는 타이머/카운터, ADC, EEPROM 등이 있으며, 외부에서 발생하는 인터럽트 소스는 인터럽트 입력핀에 의한 외부 인터럽트, UART 통신의 송수신 인터럽트 등이 있습니다. 인터럽트가 발생하면 인터럽트의 루틴은 다음과 같은 과정으로 실행됩니다. - 해당 인터럽트 플래그 레지스터가 '1'로 설정됩니다. - 메인 프로그램의 프로그램 카운터 값을 스택에 저장합니다. - 인터럽트 벡터 테이블에 위치한 주소로 이동하여 인터럽트 서비.......

관악산 연주암 코스 등산 [내부링크]

단풍이 지기 전에 새로미랑 한번 등산해보고 싶어서 그나마 쉬운 관악산 연주암 코스를 한번 도전해봤습니...