__________

Designing the Future with Circuits

반도체 회로설계 취준기

하만(Harman) 세미콘 반도체 설계 과정/임베디드 시스템을 위한 SW 구조설계 14

하만(Harman) 세미콘 아카데미 60일차 - SW 구조설계(UART 시리얼 통신)

[2024.06.07.금] 인천인력개발원 하만 세미콘 아카데미UART(Universal Asynchronous Reciever/Transmittter)1. 시리얼 통신마이크로컨트롤러에서의 데이터 전송: 비트 단위의 데이터를 핀 단위로 전송데이터 전송 방법병렬 전송: 8개의 핀으로 한 번에 1바이트 데이터 전송 - 연결이 복잡해짐 - 핀 수가 제한적인 마이크로컨트롤러에서는 연결이 불가능할 수 있음직렬 전송: 1개의 핀으로 8번에 나누어 1바이트 데이터 전송 - UART 통신은 시리얼/직렬 통신의 종류2. 프로토콜컴퓨터(장치) 간의 데이터 통신에서 원활한 송수신을 위해 약속된 신호 송신의 순서, 속도, 데이터 표현법 등의 규약UART 통신은 비동기(Asynchronous) 통신별도의 클록을 사용하지 않으므로..

하만(Harman) 세미콘 아카데미 56일차 - SW 구조설계(Git 다운로드, GitHub 설정)

[2024.05.31.금] 인천인력개발원 하만 세미콘 아카데미임베디드 시스템을 위한 SW 구조설계GitHub와 로컬 디렉토리로 연결 / Git 설정하기1. Git 검색하여 설치 파일 다운로드https://git-scm.com/downloads Git - DownloadsDownloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-spe..

하만(Harman) 세미콘 아카데미 17일차 - SW 구조설계(주방 타이머 설계 이어서)

[2024.03.29.금] 인천인력개발원 하만 세미콘 아카데미임베디드 시스템을 위한 SW 구조설계실습 1: 주방 타이머 설계1. 처음 실행 시 시간을 설정하기 위해 화면이 깜빡이는 코드 작성case 0://처음 시간 설정 모드 switch(settimeth){ case 0: timeup = 0; timedown = 0; complete = 0; while(1){ time = timeup - timedown; if(timeup == 0){ display_character(settimeth, 1); _delay_ms(500); display_character(settimeth, 0); _delay_ms(500); } if ( time >= 0 & timeup != 0 ){ display_digit(setti..

하만(Harman) 세미콘 아카데미 16일차 - SW 구조설계(8비트 타이머/카운터, 16비트 타이머/카운터, 주방 타이머 설계 실습)

[2024.03.28.목] 인천인력개발원 하만 세미콘 아카데미임베디드 시스템을 위한 SW 구조설계8비트 타이머 / 카운터1. 타이커/카운터 인터럽트 현재까지의 펄스 수: TCNTn레지스터에 저장 오버플로 인터럽트 최대로 셀 수 있는 펄스 이상이 되면 TCNTn레지스터가 0으로 바뀌며 발생 비교일치 인터럽트 TCNTn의 값이 미리 설정된 OCRn레지스터값과 일치하면 발생 2. TCCR0 레지스터: 분주비 설정CLK 주파수: 16,000,000HzTCNT는 최대 256, TCCR은 16 -> 256*26 = 4096 (≒4K)TCCR이 64면 16K -> 16KHz가 ATmega의 최대 주파수따라서 분주비를 64로 설정 3. TIMSK 레지스터: 인터럽트 활성화EIMSK: External Input Mask..

하만(Harman) 세미콘 아카데미 15일차 - SW 구조설계(Pullup 저항, ATmega128 인터럽트, 스탑워치 설계)

[2024.03.27.수] 인천인력개발원 하만 세미콘 아카데미임베디드 시스템을 위한 SW 구조설계복습1. 풀업 저항플로팅 상태를 없애기 위해 설치하는 저항다음과 같은 구조로 설치 2. 프로그램의 실행순서: Start - Function(함수 실행) - End [선형 구조] 인터럽트(Interrupt)함수 실행 시 정해진 시점에 진행이 아닌, 임의의 시점에 진행하는 것1. 폴링 vs 인터럽트 폴링 코드 나열 순서에 의해 실행 결정 모든 코드는 동일한 실행 우선순위 코드 A에 의해 코드 B 실행에 지연 발생 가능 정해진 순서에 따라 실행되므로 하드웨어의 지원이 불필요 코드 작성 & 이해 용이 인터럽트 우선 순위에 따라 실행 순서 결정 인터럽트에 따라 서로 다른 우선순위 우선 순위가 낮은 코드 A에 의해 우선..

하만(Harman) 세미콘 아카데미 12일차 - SW 구조설계( 7세그먼트 - 16진수 출력, 스톱워치 구현)

[2024.03.22.금] 인천인력개발원 하만 세미콘 아카데미임베디드 시스템을 위한 SW 구조설계실습 1: 7세그먼트로 0~F까지 16진수로 표시 코드 수정 #define F_CPU 16000000L//Board CLK 정보(16MHz) #include #include int main(void) { uint8_t digit[] = { 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x27, 0x7F, 0x67, 0x77, 0x7c, 0x58, 0x5e, 0x79, 0x71 }; int i, j; DDRD = 0xFF;//세그먼트 제어 핀 8개를 출력으로 설정 DDRC = 0x0F;//자릿수 선택 핀 4개를 출력으로 설정 while (1)//한 번의 while loop 내에서 ..

하만(Harman) 세미콘 아카데미 11일차 - SW 구조설계( 데이터 입출력, 버튼 LED 점멸, 7세그먼트 출력 )

[2024.03.21.목] 인천인력개발원 하만 세미콘 아카데미임베디드 시스템을 위한 SW 구조설계디지털 데이터 입출력1. 디지털 데이터 출력 PORT 레지스터 (출력 레지스터) 포트: 8개의 핀을 하나로 묶어 관리하는 것 PORTA, PRTAB, ... PORTG까지의 레지스터 PORTA~PORTF에는 0~7까지 8개의 비트가 존재 - 비트 표현: PORTA1, PORTA2, ... PORTXn으료 표시 가능(X는 포트 종류, n은 비트) PORTG에는 5개의 비트만 존재하므로 상위 3개의 비트 사용 불가 특정 비트를 1로 설정 시: 1 해당 포트 중 입력으로 사용하는 비트만 0으로 설정 필요 특정 비트만 입력상태 0으로 만들기 위해 해당 부분만 1, 나머지는 0인 비트에서 bitNOT과 AND를 통해 ..

하만(Harman) 세미콘 아카데미 10일차 - SW 구조설계(ATmega128, Atmel Studio 설치, Microchip Studio 설치)

[2024.03.20.수] 인천인력개발원 하만 세미콘 아카데미임베디드 시스템을 위한 SW 구조설계마이크로 컨트롤러 & CISC / RISC마이크로 컨트롤러(칩 위의 컴퓨터)ex) ATmega128, 아두이노 등컴퓨터의 메인보드+메마이크로 프로세서+메모리+입출력 인터페이스컴퓨터 메인보드와 하드디스크 기능을 하나의 IC칩으로 집적시켜 만든 반도체 소자특수 목적용 낮은 사양의 컴퓨터 / 작고 간단한 제어장치 제작에 사용임베디드 시스팀: 다른 시스템의 일부로 사용마이크로컨트롤러 VS. 데스크톱 컴퓨터항목마이크로컨트롤러데스크톱 컴퓨터CPUATmega128인텔 Core i7비트864메모리128KB8GB클록16MHz3.4GHz(Quad Core)마이크로 프로세서중앙처리장치(CPU)를 하나의 IC칩으로 집적시킨 반도체..

하만(Harman) 세미콘 아카데미 7일차 - SW 구조설계(ATmega128, 과제 수행)

[2024.03.15.금] 인천인력개발원 하만 세미콘 아카데미임베디드 시스템을 위한 SW 구조설계ATmega128수업 시작에 앞서 ATmega128 기본 모듈을 지급받았다. 다음주부터는 이 모듈을 이용하여 실습을 진행할 예정인데, 그에 앞서 ATmega128 모듈에 대해 알아보고자 한다. AVR 마이크로컨트롤러 고성능, 저전력 AVR 8비트 마이크로컨트롤러 사용 산업 제어, 스마트 홈, 자동화 시스템 등에 활용 주요 특징 CPU 성능: 최대 16MIPS(Million Instructions Per Second)의 처리속도와 16MHz의 클록 속도 메모리: 128kb의 플래시 메모리를 사용하여 대용량의 코드 저장 가능. 또한 4kb의 SRAM과 4kb의 EEPROM을 내장하여 데이터 저장과 접근에 용이 입..

하만(Harman) 세미콘 아카데미 6일차 - SW 구조설계(문자와 문자열 처리 / 사용자 정의 함수 구현 )

[2024.03.14.목] 인천인력개발원 하만 세미콘 아카데미임베디드 시스템을 위한 SW 구조설계문자와 문자열 처리 함수 C 표준함수 printf, scanf, getch등과 같이 기본적으로 제공되는 라이브러리 모든 플랫폼에 적용(getch는 windows만 지원) 호환성이 좋다 = 이식성이 높다 데이터 형식 기본 데이터 형식 - 문자 포함 사용자 정의 데이터 형식 - 구조체 등 문자열은 기본 데이터 형식과 사용자 정의 데이터 형식 사이 입출력의 이해 파일 / 콘솔 / 소켓 / serial port(COM port)에서의 입출력 파일: Data파일( binary / text ) 등 -> binary는 메모장에서 알아볼 수 없는 형태, text는 메모장에서 인식 가능한 글자로 표현 콘솔: 키보드(입력)+모..