맨위로가기

인 시스템 프로그래밍

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

인 시스템 프로그래밍(ISP)은 마이크로컨트롤러를 생산 공정의 마지막 단계에서 직접 프로그래밍하는 기술을 의미한다. 1990년대 초 EEPROM과 플래시 메모리의 발전과 함께 등장하여, 초기에는 OTP 또는 EPROM 메모리를 사용하던 방식에서 벗어나 프로그래밍 및 기능 테스트 통합, 버그 수정 및 변경 용이성을 제공했다. ISP는 소량 생산에는 프로그래머를 수동으로 연결하는 방식, 대량 생산에는 테스트 포인트를 활용하는 방식으로 적용된다. 마이크로칩의 ICSP는 클럭과 데이터 핀을 사용하여 프로그래밍하며, 다양한 프로그래머 유형과 USB, RJ11 인터페이스를 지원한다.

더 읽어볼만한 페이지

  • 마이크로컨트롤러 - 마이크로프로세서
    마이크로프로세서는 CPU 기능을 단일 IC에 통합한 것으로, 무어의 법칙에 따라 성능이 향상되어 왔으며 다양한 아키텍처와 기술 발전을 거쳐 현재 광범위한 분야에서 사용된다.
  • 마이크로컨트롤러 - ARM 아키텍처
    ARM 아키텍처는 저전력 설계로 모바일 기기에서 널리 쓰이는 RISC 기반 프로세서 아키텍처로서, IP 코어 라이선스 모델과 ARM Flexible Access를 통해 다양한 분야로 확장되고 있다.
  • 디지털 전자공학 - 트랜지스터-트랜지스터 논리
    트랜지스터-트랜지스터 논리(TTL)는 1961년 제임스 L. 부이에 의해 발명된 바이폴라 접합 트랜지스터 기반의 디지털 회로 기술로, 텍사스 인스트루먼츠의 7400 시리즈를 통해 널리 사용되었으며, 저렴한 비용으로 디지털 기술 발전에 기여했다.
  • 디지털 전자공학 - 플립플롭
    플립플롭은 1비트 이상의 정보를 저장하는 디지털 논리 회로로, 에클스-조던 트리거 회로에서 기원하여 SR, D, T, JK 등 다양한 유형으로 구현되며, 컴퓨터 기억 장치의 기본 구성 요소로 사용되지만 타이밍 요소에 민감하게 설계해야 한다.
인 시스템 프로그래밍
인 시스템 프로그래밍
정의최종 제품에 설치된 마이크로컨트롤러, 마이크로프로세서, 기타 프로그램 가능한 장치를 프로그래밍하는 방법
다른 이름인 서킷 시리얼 프로그래밍 (ICSP)
인 시스템 재프로그래밍 (ISR)
사용 분야펌웨어 업데이트, 제품 사용자 정의, 제조 과정 간소화
기술적 세부 사항
통신 인터페이스직렬 (예: I²C, SPI, UART)
병렬
JTAG
프로그래밍 전압장치에 따라 다름 (일반적으로 3.3V 또는 5V)
메모리 유형플래시 메모리
EEPROM
기타 비휘발성 메모리
장점
유연성장치를 물리적으로 제거하지 않고도 펌웨어 업데이트 가능
비용 절감프로그래밍을 위해 장치를 분리할 필요가 없어 제조 비용 절감
편의성최종 사용자가 장치 업데이트 가능
단점
보안 취약점무단 펌웨어 업데이트 가능성
호환성 문제모든 장치가 인 시스템 프로그래밍을 지원하지 않음
프로그래밍 오류 위험잘못된 프로그래밍으로 장치 손상 가능성
고려 사항
보안펌웨어 암호화
인증 메커니즘 구현
프로그래밍 인터페이스장치 제조업체에서 제공하는 인터페이스 사용 권장
전원 공급프로그래밍 중 안정적인 전원 공급 필수
관련 기술
JTAG장치 디버깅 및 프로그래밍에 사용되는 표준 인터페이스
부트 로더운영체제가 시작되기 전에 실행되는 작은 프로그램
펌웨어장치의 하드웨어 작동을 제어하는 소프트웨어

2. 역사

1990년대 초부터 마이크로컨트롤러 아키텍처에 중요한 기술적 발전이 있었다. 초기에는 OTP(일회성 프로그래밍 가능) 또는 EPROM 메모리를 사용하는 두 가지 솔루션으로 구현되었다. EPROM에서는 메모리를 지우기 위해 칩을 자외선에 노출해야 했다. 1993년 마이크로칩 테크놀로지는 EEPROM 메모리를 탑재한 최초의 마이크로컨트롤러인 PIC16C84를 출시했다. EEPROM 메모리는 전기적으로 지울 수 있어, 패키지 위의 지우기 창을 제거하고 인 시스템 프로그래밍(ISP) 기술을 시작하여 실현 비용을 낮출 수 있었다.[1]

ISP를 지원하는 마이크로컨트롤러는 일반적으로 프로그래머와 인터페이스하기 위한 직렬 통신 주변 장치 핀, 플래시/EEPROM 메모리 및 마이크로컨트롤러 프로그래밍에 필요한 전압을 공급하는 회로가 제공된다. 통신 주변 장치는 플래시 또는 EEPROM 메모리에서 작동하는 명령을 제공하는 프로그래밍 주변 장치에 연결된다.[1]

ISP 프로그래밍을 위한 전자 보드를 설계할 때는 프로그래밍 단계를 최대한 안정적으로 유지하기 위해 몇 가지 지침을 고려해야 한다. 핀 수가 적은 일부 마이크로컨트롤러는 프로그래밍 라인을 I/O 라인과 공유하는데, 보드 설계 시 예방 조치를 취하지 않으면 프로그래밍 중 I/O 구성 요소가 손상될 수 있다. 또한 ISP 라인을 고 임피던스 회로에 연결하는 것이 중요하다. 많은 마이크로컨트롤러는 프로그래밍 모드로 진입하기 위해 전용 RESET 라인이 필요하며, 워치독의 존재 여부를 확인해야 한다. 일부 마이크로컨트롤러는 프로그래밍 모드로 진입하기 위해 더 높은 전압이 필요하므로 이 값이 감쇠되지 않았는지 확인해야 한다.[1]

2. 1. 초기 발전

1990년대 초부터 마이크로컨트롤러 아키텍처에 중요한 기술적 발전이 있었다. 초기에는 OTP(일회성 프로그래밍 가능) 또는 EPROM 메모리를 사용하는 두 가지 솔루션으로 구현되었다. EPROM에서는 메모리를 지우기 위해 칩을 자외선에 노출해야 했다. 1993년 마이크로칩 테크놀로지는 EEPROM 메모리를 탑재한 최초의 마이크로컨트롤러인 PIC16C84를 출시했다. EEPROM 메모리는 전기적으로 지울 수 있어, 패키지 위의 지우기 창을 제거하고 인 시스템 프로그래밍(ISP) 기술을 시작하여 실현 비용을 낮출 수 있었다.[1]

ISP 플래싱 프로세스를 사용하면 생산 공정의 마지막 단계에서 보드에 직접 프로그래밍을 수행할 수 있다. 이러한 발전은 프로그래밍 및 기능 테스트 단계를 통합하고, 펌웨어 개발이 완료되지 않았더라도 보드의 예비 생산을 시작할 수 있게 했다. 이를 통해 버그를 수정하거나 나중에 변경하는 것이 가능했다. 같은 해, Atmel은 EEPROM 메모리에 비해 프로그래밍이 더 쉽고 빠르며 수명이 더 긴 플래시 메모리를 탑재한 최초의 마이크로컨트롤러를 개발했다.[1]

ISP를 지원하는 마이크로컨트롤러는 일반적으로 프로그래머와 인터페이스하기 위한 직렬 통신 주변 장치 핀, 플래시/EEPROM 메모리 및 마이크로컨트롤러 프로그래밍에 필요한 전압을 공급하는 회로가 제공된다. 통신 주변 장치는 플래시 또는 EEPROM 메모리에서 작동하는 명령을 제공하는 프로그래밍 주변 장치에 연결된다.[1]

ISP 프로그래밍을 위한 전자 보드를 설계할 때는 몇 가지 지침을 고려해야 한다. 핀 수가 적은 일부 마이크로컨트롤러는 프로그래밍 라인을 I/O 라인과 공유하는데, 보드 설계 시 예방 조치를 취하지 않으면 프로그래밍 중 I/O 구성 요소가 손상될 수 있다. 또한 ISP 라인을 고 임피던스 회로에 연결하는 것이 중요하다. 많은 마이크로컨트롤러는 프로그래밍 모드로 진입하기 위해 전용 RESET 라인이 필요하며, 워치독의 존재 여부를 확인해야 한다. 또한 일부 마이크로컨트롤러는 프로그래밍 모드로 진입하기 위해 더 높은 전압이 필요하므로 이 값이 감쇠되지 않았는지 확인해야 한다.[1]

2. 2. EEPROM과 플래시 메모리의 등장

1990년대 초부터 마이크로컨트롤러 아키텍처에 중요한 기술적 발전이 있었다. 처음에는 OTP(일회성 프로그래밍 가능) 또는 EPROM 메모리를 사용하는 두 가지 솔루션으로 구현되었다. EPROM에서는 메모리를 지우기 위해 패키지 위의 특정 창을 통해 칩을 자외선에 노출해야 했다. 1993년 마이크로칩 테크놀로지는 EEPROM 메모리를 탑재한 최초의 마이크로컨트롤러인 PIC16C84를 출시했다. EEPROM 메모리는 전기적으로 지울 수 있어, 패키지 위의 지우기 창을 제거하고 인 시스템 프로그래밍(ISP) 기술을 시작함으로써 실현 비용을 낮출 수 있었다.[1] ISP 플래싱 프로세스를 사용하면 생산 공정의 마지막 단계에서 보드에 직접 프로그래밍할 수 있다. 이러한 발전은 프로그래밍 및 기능 테스트 단계를 통합하고, 펌웨어 개발이 완료되지 않았더라도 보드의 예비 생산을 시작할 수 있게 했다. 이로써 버그를 수정하거나 나중에 변경하는 것이 가능했다.[1] 같은 해, Atmel은 EEPROM 메모리에 비해 프로그래밍이 더 쉽고 빠르며 수명이 훨씬 더 긴 플래시 메모리를 탑재한 최초의 마이크로컨트롤러를 개발했다.[1]

3. 산업적 응용

인 시스템 프로그래밍(ISP)은 전자 장치 제조업체가 프로그래밍과 테스트를 단일 생산 단계로 통합하여 비용을 절감할 수 있게 해준다. 제조업체는 시스템 조립 전에 별도의 프로그래밍 단계를 거칠 필요 없이 자체 생산 라인에서 칩을 프로그래밍하고, 생산 중 코드나 설계 변경 사항을 적용할 수 있다. 또한, 최신 펌웨어를 항상 사용할 수 있어, 사전 프로그래밍된 마이크로컨트롤러 사용 시 발생하는 지연 없이 새로운 기능과 버그 수정을 즉시 구현하고 생산에 투입할 수 있다는 장점이 있다.[2]

대부분의 프로그래밍 가능한 논리 장치는 자동화된 테스트 절차와의 통합을 용이하게 하기 위해 ISP에 JTAG 프로토콜의 변형을 사용한다. 다른 장치들은 독점 프로토콜이나 이전 표준에 의해 정의된 프로토콜을 사용하기도 한다. 플래시 메모리 및 마이크로컨트롤러와 같이 글루 로직이 필요한 복잡한 시스템에서는 JTAG 제어 프로그래밍 서브시스템을 구현하여 전체 프로그래밍 및 테스트 절차를 단일 프로토콜로 제어할 수 있다.[2]

3. 1. 소량 생산

인 시스템 프로그래밍(ISP) 과정은 제품 생산의 마지막 단계에서 이루어지며, 생산량에 따라 두 가지 방법으로 수행될 수 있다.

첫 번째 방법은 프로그래머에 커넥터를 수동으로 연결하는 것이다. 이 방법은 프로그래밍 과정에 사람이 참여하여 케이블로 프로그래머를 전자 기판에 연결해야 한다. 따라서 이 방법은 소량 생산에 적합하다.[2]

3. 2. 대량 생산

마이크로컨트롤러는 일반적으로 인쇄 회로 기판에 직접 납땜되며, 다른 컴퓨터로 연결하기 위한 대형 외부 프로그래밍 케이블을 위한 회로나 공간이 없는 경우가 많다. 인 시스템 프로그래밍(ISP) 과정은 제품 생산의 마지막 단계에서 이루어지며, 생산량에 따라 두 가지 방법으로 수행될 수 있다.

생산 규모방식설명
소량 생산프로그래머에 커넥터를 수동으로 연결프로그래밍 과정에 사람이 참여하여 케이블로 프로그래머를 전자 기판에 연결해야 한다.
중간 및 대량 생산기판의 테스트 포인트를 사용PCB에 위치한 특정 영역으로, 기판의 일부 전자 부품에 전기적으로 연결된다. 테스트 포인트를 사용하는 것은 조립 라인에 프로그래밍 단계를 통합할 수 있다.



생산 라인에서 기판은 픽스처라고 하는 니들 베드에 놓인다. 픽스처는 생산량에 따라 ATE (자동 테스트 장비)라고 하는 반자동 또는 자동 테스트 시스템에 통합된다. 기판과 픽스처가 제 위치에 놓이면 테스트 시스템은 픽스처의 바늘을 기판의 테스트 포인트와 접촉시켜 테스트하는 메커니즘을 갖추고 있다. 이 시스템은 ISP 프로그래머에 연결되거나 직접 통합되어 있으며, 이 프로그래머는 기판에 장착된 장치, 예를 들어 마이크로컨트롤러 및/또는 직렬 메모리를 프로그래밍해야 한다.

4. Microchip ICSP

Microchip ICSP(In-Circuit Serial Programming)는 마이크로칩 테크놀로지의 PIC 마이크로컨트롤러를 프로그래밍하는 데 사용되는 기술이다. ICSP는 주로 클럭(PGC)과 데이터(PGD) 두 개의 핀을 사용하여 수행되며, Vpp/MCLR 핀에는 고전압(12V)이 가해진다. 저전압 프로그래밍(5V 또는 3.3V)도 가능하지만, I/O 핀을 독점적으로 사용하게 된다.

일반적인 프로그래밍 통신

4. 1. ICSP 프로그래밍 과정

대부분의 마이크로칩 마이크로컨트롤러의 경우, ICSP 프로그래밍은 클럭(PGC)과 데이터(PGD) 두 개의 핀을 사용하여 수행되며, Vpp/MCLR 핀에는 고전압(12V)이 가해진다. 저전압 프로그래밍(5V 또는 3.3V)은 고전압을 사용하지 않지만, I/O 핀을 독점적으로 사용한다. 그러나 마이크로칩 테크놀로지의 PIC18F6XJXX/8XJXX 마이크로컨트롤러 제품군과 같은 최신 마이크로컨트롤러의 경우, ICSP 모드로 진입하는 방식이 약간 다르다.[3] ICSP 프로그램/검증 모드로 진입하려면 다음 세 단계를 거쳐야 한다.

1. MCLR (master clear) 핀에 전압이 잠시 가해진다.

2. 32비트 키 시퀀스가 PGD에서 제시된다.

3. MCLR에 전압이 다시 가해진다.

마이크로칩 PICkit ICSP 프로그래머


프로그래머라고 하는 별도의 하드웨어가 필요하며, 한쪽은 PC의 I/O 포트에 연결하고 다른 쪽은 PIC에 연결해야 한다. 각 주요 프로그래밍 유형의 특징은 다음과 같다.

유형특징
병렬 포트크고 부피가 큰 케이블, 대부분의 컴퓨터에는 포트가 하나만 있으며 프로그래밍 케이블을 연결된 프린터와 교체하는 것이 불편할 수 있다. 2010년 이후의 대부분의 랩톱은 이 포트를 지원하지 않는다. 병렬 포트 프로그래밍은 매우 빠르다.
시리얼 포트 (COM 포트)한때 가장 인기 있는 방법이었다. 시리얼 포트는 일반적으로 적절한 회로 프로그래밍 전압을 가지고 있지 않다. 2010년 이후의 대부분의 컴퓨터와 랩톱은 이 포트를 지원하지 않는다.
소켓 (회로 내부 또는 외부)CPU를 회로 기판에서 제거하거나 칩에 클램프를 부착해야 하므로 접근이 어려울 수 있다.
USB 케이블작고 가벼우며, 전압 소스를 지원하고 대부분의 컴퓨터에 여분의 포트가 있다. 프로그래밍할 회로와 컴퓨터 사이의 거리는 USB 케이블의 길이에 의해 제한된다 - 일반적으로 180cm 미만이어야 한다. 이는 기계나 캐비닛 깊숙한 곳에 있는 장치를 프로그래밍하는 데 문제를 일으킬 수 있다.



ICSP 프로그래머는 크기, 컴퓨터 포트 가용성 및 전원과 같은 주요 특징을 가지고 있어 많은 이점을 가지고 있다. 상호 연결 방식과 마이크로컨트롤러 주변의 대상 회로의 변동성으로 인해 '''''모든''''' 가능한 대상 회로 또는 상호 연결과 호환되는 프로그래머는 없다. 마이크로칩 테크놀로지는 자세한 ICSP 프로그래밍 가이드를 제공한다.[4] 많은 사이트에서 프로그래밍 및 회로 예제를 제공한다.

PIC는 다섯 개의 신호(여섯 번째 핀 'aux'는 제공되지만 사용되지 않음)를 사용하여 프로그래밍된다. 데이터는 2선 동기 직렬 방식을 사용하여 전송되며, 세 개의 와이어가 프로그래밍 및 칩 전원을 제공한다. 클럭 신호는 항상 프로그래머에 의해 제어된다.

4. 2. 프로그래머 유형

프로그래머는 별도의 하드웨어로, 한쪽은 PC의 I/O 포트에 연결하고 다른 쪽은 PIC에 연결해야 한다. 주요 프로그래밍 유형별 특징은 다음과 같다.

유형특징
병렬 포트크고 부피가 큰 케이블. 대부분의 컴퓨터에는 포트가 하나뿐이어서 프로그래밍 케이블을 연결된 프린터와 교체하는 것이 불편할 수 있다. 2010년 이후 대부분의 랩톱은 이 포트를 지원하지 않는다. 병렬 포트 프로그래밍은 매우 빠르다.
시리얼 포트 (COM 포트)한때 가장 인기 있는 방법이었다. 시리얼 포트는 일반적으로 적절한 회로 프로그래밍 전압을 가지고 있지 않다. 2010년 이후 대부분의 컴퓨터와 랩톱은 이 포트를 지원하지 않는다.
소켓 (회로 내부 또는 외부)CPU를 회로 기판에서 제거하거나 칩에 클램프를 부착해야 하므로 접근이 어려울 수 있다.
USB 케이블작고 가벼우며, 전압 소스를 지원하고 대부분의 컴퓨터에 여분의 포트가 있다. 프로그래밍할 회로와 컴퓨터 사이의 거리는 USB 케이블의 길이에 의해 제한된다. 일반적으로 180cm 미만이어야 하므로, 기계나 캐비닛 깊숙한 곳에 있는 장치를 프로그래밍하는 데 문제가 될 수 있다.



ICSP 프로그래머는 크기, 컴퓨터 포트 가용성, 전원과 같은 주요 특징으로 인해 많은 이점을 제공한다. 그러나 상호 연결 방식과 마이크로컨트롤러 주변 대상 회로의 변동성 때문에 '''''모든''''' 가능한 대상 회로 또는 상호 연결과 호환되는 프로그래머는 없다. 마이크로칩 테크놀로지는 자세한 ICSP 프로그래밍 가이드를 제공한다.[4] 많은 사이트에서 프로그래밍 및 회로 예제를 제공한다.

PIC는 다섯 개의 신호(여섯 번째 핀 'aux'는 제공되지만 사용되지 않음)를 사용하여 프로그래밍된다. 데이터는 2선 동기 직렬 방식을 사용하여 전송되며, 세 개의 와이어는 프로그래밍 및 칩 전원을 제공한다. 클럭 신호는 항상 프로그래머에 의해 제어된다.

4. 3. 신호 및 핀아웃

대부분의 마이크로칩 마이크로컨트롤러의 경우, ICSP 프로그래밍은 클럭(PGC)과 데이터(PGD)의 두 개의 핀을 사용하여 수행되며, Vpp/MCLR 핀에는 고전압(12 V)이 가해진다. 저전압 프로그래밍(5 V 또는 3.3 V)은 고전압을 사용하지 않지만, I/O 핀을 독점적으로 사용한다. 그러나, 특히 마이크로칩 테크놀로지의 PIC18F6XJXX/8XJXX 마이크로컨트롤러 제품군과 같은 최신 마이크로컨트롤러의 경우, ICSP 모드로 진입하는 방식이 약간 다르다.[3] ICSP 프로그램/검증 모드로 진입하려면 다음 세 단계를 거쳐야 한다.

1. MCLR (master clear) 핀에 전압이 잠시 가해진다.

2. 32비트 키 시퀀스가 PGD에서 제시된다.

3. MCLR에 전압이 다시 가해진다.

프로그래머라고 하는 별도의 하드웨어가 필요하며, 한쪽은 PC의 I/O 포트에 연결하고 다른 쪽은 PIC에 연결해야 한다. 각 주요 프로그래밍 유형의 특징은 다음과 같다.

유형특징
병렬 포트크고 부피가 큰 케이블, 대부분의 컴퓨터에는 포트가 하나만 있으며 프로그래밍 케이블을 연결된 프린터와 교체하는 것이 불편할 수 있다. 2010년 이후의 대부분의 랩톱은 이 포트를 지원하지 않는다. 병렬 포트 프로그래밍은 매우 빠르다.
시리얼 포트 (COM 포트)한때 가장 인기 있는 방법이었다. 시리얼 포트는 일반적으로 적절한 회로 프로그래밍 전압을 가지고 있지 않다. 2010년 이후의 대부분의 컴퓨터와 랩톱은 이 포트를 지원하지 않는다.
소켓 (회로 내부 또는 외부)CPU를 회로 기판에서 제거하거나 칩에 클램프를 부착해야 하므로 접근이 어려울 수 있다.
USB 케이블작고 가벼우며, 전압 소스를 지원하고 대부분의 컴퓨터에 여분의 포트가 있다. 프로그래밍할 회로와 컴퓨터 사이의 거리는 USB 케이블의 길이에 의해 제한된다 - 일반적으로 180cm 미만이어야 한다. 이는 기계나 캐비닛 깊숙한 곳에 있는 장치를 프로그래밍하는 데 문제를 일으킬 수 있다.



ICSP 프로그래머는 크기, 컴퓨터 포트 가용성 및 전원과 같은 주요 특징을 가지고 있어 많은 이점을 가지고 있다. 상호 연결 방식과 마이크로컨트롤러 주변의 대상 회로의 변동성으로 인해 '''''모든''''' 가능한 대상 회로 또는 상호 연결과 호환되는 프로그래머는 없다. 마이크로칩 테크놀로지는 자세한 ICSP 프로그래밍 가이드를 제공한다.[4] 많은 사이트에서 프로그래밍 및 회로 예제를 제공한다.

PIC는 다섯 개의 신호(여섯 번째 핀 'aux'는 제공되지만 사용되지 않음)를 사용하여 프로그래밍된다. 데이터는 2선 동기 직렬 방식을 사용하여 전송되며, 세 개의 와이어가 프로그래밍 및 칩 전원을 제공한다. 클럭 신호는 항상 프로그래머에 의해 제어된다.


  • Vpp - 프로그래밍 모드 전압. 이 핀은 MCLR 핀 또는 일부 대형 핀 수 PIC에서 사용 가능한 선택적 ICSP 포트의 Vpp 핀에 연결해야 한다. PIC을 프로그래밍 모드로 전환하려면 이 라인이 PIC마다 다른 지정된 범위 내에 있어야 한다. 5V PIC의 경우, 이는 항상 Vdd보다 약간 높으며 최대 13.5 V일 수 있다. 18FJ, 24H, 33F 시리즈와 같은 3.3 V 전용 PIC는 프로그래밍 모드로 진입하기 위해 특별한 시그니처를 사용하며 Vpp는 접지 또는 Vdd에 있는 디지털 신호이다. 모든 PIC의 유효한 Vpp 범위 내에 있는 단일 Vpp 전압은 없다. 실제로, 일부 PIC에 필요한 최소 Vpp 레벨은 다른 PIC를 손상시킬 수 있다.
  • Vdd - PIC에 대한 양의 전원 입력이다. 일부 프로그래머는 회로에서 이 전원을 공급받아야 하며(회로가 적어도 부분적으로 전원이 켜져 있어야 함), 일부 프로그래머는 이 라인을 직접 구동해야 하며 회로가 꺼져 있어야 하는 반면, 다른 프로그래머는 두 가지 방식(Microchip ICD2와 같은)으로 구성할 수 있다. Embed Inc 프로그래머는 Vdd 라인을 직접 구동해야 하며 프로그래밍 중에 대상 회로가 꺼져 있어야 한다.
  • Vss - PIC에 대한 음의 전원 입력이며 나머지 신호에 대한 0V 기준이다. 다른 신호의 전압은 Vss를 기준으로 암시적으로 표현된다.
  • ICSPCLK - 직렬 데이터 인터페이스의 클럭 라인. 이 라인은 GND에서 Vdd까지 스윙하며 항상 프로그래머에 의해 구동된다. 데이터는 하강 에지에서 전송된다.
  • ICSPDAT - 직렬 데이터 라인. 직렬 인터페이스는 양방향이므로 이 라인은 현재 작업에 따라 프로그래머 또는 PIC에서 구동될 수 있다. 어느 경우든 이 라인은 GND에서 Vdd까지 스윙한다. 비트는 PGC의 하강 에지에서 전송된다.
  • AUX/PGM - 최신 PIC 컨트롤러는 이 핀을 사용하여 저전압 프로그래밍(LVP)을 활성화한다. PGM을 높게 유지하면 마이크로 컨트롤러가 LVP 모드로 들어간다. PIC 마이크로 컨트롤러는 LVP가 활성화된 상태로 제공되므로, 새 칩을 사용하면 LVP 모드로 사용할 수 있다. 모드를 변경하는 유일한 방법은 고전압 프로그래머를 사용하는 것이다. 이 핀에 연결하지 않고 마이크로 컨트롤러를 프로그래밍하면 모드는 변경되지 않은 상태로 유지된다.

4. 4. RJ11 핀아웃

ICSP 프로그래머와 함께 RJ11 소켓을 사용하는 산업 표준은 마이크로칩 테크놀로지에서 지원한다.[3] 그림은 해당 데이터 시트에 제공된 정보를 나타낸다. 그러나 PIC 데이터 시트는 소켓을 뒤집어서 보여주며 핀아웃의 그림 보기를 제공하지 않으므로 소켓의 어느 쪽에 핀 1이 있는지 명확하지 않아 혼동의 여지가 있다.

RJ11 to ICSP PIC 프로그래머


여기에 제공된 그림은 '''테스트되지 않았지만''' 전화 산업 표준 핀아웃을 사용한다. 참고로 RJ11 플러그/소켓은 원래 유선 데스크톱 전화용으로 개발되었다.

5. 기타 ISP 인터페이스

마이크로컨트롤러 장치 프로그래밍을 위한 인 시스템 프로그래밍(ISP) 프로토콜에는 표준이 없다. 거의 모든 마이크로컨트롤러 제조업체가 이 기능을 지원하지만, 모두 자체 프로토콜을 구현했으며, 동일한 제조업체의 서로 다른 장치에서도 프로토콜이 다른 경우가 많다. JTAG 표준 인터페이스를 구현하려면 최대 4개의 핀이 필요할 수 있다. 일반적으로 최신 프로토콜은 사용되는 핀 수를 낮게 유지하려고 하며, 보통 2개의 핀으로 유지한다. 일부 ISP 인터페이스는 단일 핀만으로도 동일한 기능을 수행할 수 있다. UPDI를 사용하는 최신 ATtiny 마이크로컨트롤러는 해당 프로그래밍 핀을 범용 입출력으로도 재사용할 수 있다.[2]

참조

[1] 서적 'Oreilly, Designing Embedded Hardware, 2nd Edition by John Catsoulis' https://www.oreilly.[...]
[2] 웹사이트 Unified Program and Debug Interface (UPDI) High-Voltage Activation Information - Developer Help https://developerhel[...] 2024-12-17
[3] PDF http://ww1.microchip[...] 2022-03-01
[4] 간행물 ICSP programming guide http://ww1.microchip[...] Microchip



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com