본 글은 사용 후기로 글을 보고 따라하다 생긴 문제에 대해 책임지지 않습니다. 작업 진행 전 충분히 검토하기 바랍니다.
CH341A 프로그래머
CH341A 프로그래머란? 인터넷에 검색해보면 주로 메인보드에 있는 BIOS 펌웨어가 저장된 ROM 칩이 고장났을 때 칩 교체 후 프로그래밍 용도로 많이 사용하는 것 같다. 하지만 그 외에도 USB 인터페이스를 통해 다양한 메모리 칩에 대한 읽기/쓰기 작업을 지원하는 장치이며, 이를 위한 무료 툴도 여러가지가 존재한다.
주요 지원 메모리 칩
- 25 시리즈 : SPI 기반 Flash 메모리, 일부 SPI EEPROM도 있음 (W25Q64JV, 25LC512, ...)
- 24 시리즈 : I2C 기반 EEPROM (ex. 24C02, 24LC256, ...)
- 그 밖의 칩 들 (ex. AT45DB011B, 93AA66, ...)
해당 장치가 다양한 제조사의 다양한 메모리 칩을 지원하는 이유는 25 시리즈와 24 시리즈 칩의 핀아웃이 일반적으로 동일하기 때문이다.
25 시리즈 칩의 일반적인 핀아웃
24 시리즈 칩의 일반적인 핀아웃
칩 연결 방법은 본품에 실크레이어로 프린트된 대로 소켓에 연결하면 되고, 패키지가 DIP 타입이면 바로 손잡이를 올려 칩을 꽂은 뒤 다시 손잡이를 내려 고정한 뒤 프로그래밍하면 된다.
25 시리즈 연결 방법
4 | 3 | 2 | 1 | ||||
5 | 6 | 7 | 8 |
24 시리즈 연결 방법
4 | 3 | 2 | 1 | ||||
5 | 6 | 7 | 8 |
만약 프로그래밍 하려는 칩이 25/24 시리즈의 일반적인 핀아웃과 다르거나 동작전압이 3.3V가 아닌 경우에는 별도의 어댑터 보드를 사용하거나 소켓 아래에 나와있는 핀헤더를 이용해 직접 배선할 수 있다.
주요 구성품
본품과 같이 쓰이는 구성품들에는 다음과 같은 것들이 있다.
1.8V 어댑터
CH341A는 기본적으로 3.3V에서 동작하기 때문에 1.8V에서 동작하는 저전압 칩을 사용하려면 1.8V 어댑터가 필요하다.
Test Clip
SOP8 타입 칩을 보드에서 분리하지 않은 채로 프로그래밍하기 위해 사용하는 테스트 클립으로 빨간줄이 있는 쪽이 1번이다.
칩을 찝을 때 접촉불량이 안나도록 잘 연결해야 한다.
SOP8 to DIP8 Adapter
SOP8 타입을 DIP8 타입으로 변환해주는 어댑터이다. 스프링을 누른 상태에서 칩을 연결하고 놓으면 된다.
소프트웨어 및 사용 후기
1. 툴 다운로드 (for Windows)
구글에서 CH341A Programmer로 검색해서 다운로드 받은 프로그램인데 Microsoft Defender로 확인했을 때 바이러스는 없었다.
압축 해제 후 \devcelist.txt 파일을 확인하면 지원되는 칩 목록을 볼 수 있고, 25/24 시리즈 외의 메모리 칩 연결 시 커넥션 방법에 대해 설명하는 문서도 있으니 참조할 수 있다.
2. 칩이 장착된 CH341A를 PC USB 포트에 연결한다.
3. CH341 드라이버를 설치한다.
다운로드 받은 폴더의 \Drivers\CH341A\SETUP.EXE 를 실행하여 드라이버를 설치한다.
해당 장치는 USB to Parallel (CH34XPAR.EXE) 드라이버가 설치되어야 되는데 만약 장치관리자에서 이미 USB to Serial 장치로 잡힌 상태라면 기존 드라이버를 삭제하고 재설치 해준다.
드라이버가 올바르게 설치됐으면 다음과 같이 장치가 나타난다.
4. NeoProgrammer를 실행한다.
주요 메뉴
- Detect IC : 칩 ID를 읽어 연결된 칩의 모델을 자동으로 감지한다. IC > Search 메뉴에서 특정 모델 칩을 수동으로 검색하고 선택할 수 도 있다.
- Read IC : 칩에 저장된 데이터를 읽어 버퍼에 로드한다. Save file 메뉴를 통해 버퍼에 로드한 데이터를 .bin 또는 .hex파일로 내보낼 수 있다.
- Write IC : 버퍼에 로드한 데이터를 칩에 쓴다. .bin 또는 .hex 파일을 불러오는 Open file 메뉴와 함께 사용된다.
- Erase IC : 칩의 전체 데이터를 삭제 한다. (쓰기 전 기존 데이터를 지우는 작업이 선행되어야 한다.)
- Blank Check : 칩이 완전히 비어져 있는지 체크한다. (메모리의 모든 비트가 1로 채워져 있지 않은 경우 Fail을 리턴한다)
- Verify IC : 칩에 기록된 데이터가 버퍼에 있는 데이터와 일치하는지 확인한다.
- Unprotect : 칩의 쓰기 보호를 해제한다. 일부 보호가 걸려진 칩은 이 과정이 필요할 수 있다.
추가 정보
- Device Name 옆에 있는 PDF 아이콘을 클릭하면, 해당 칩의 datasheet 검색 결과 사이트로 링크된다.
- 일부 어댑터가 필요한칩의 경우 로그 창에 "!! Adapter required !!"라는 문구와 함께 연결 방식을 볼 수 있는 링크가 제공된다.
'임베디드 개발 > 펌웨어' 카테고리의 다른 글
타코미터 센서 (Tachometer) (0) | 2025.03.24 |
---|---|
MDIO ] Clause 22 vs Clause 45 (0) | 2025.01.25 |
USB Serial 장치의 COM Port 고정하는 방법 (Windows) (0) | 2024.12.21 |
AMBA (AHB, APB, AXI) (0) | 2024.12.11 |
Line Coding (선로 부호화) (0) | 2024.10.30 |