본문 바로가기
Embedded System/전자회로 (PCB)

[회로설계] ESP32 데이터수집장치 보드 제작

by MachineJW 2024. 7. 10.

1. EasyEDA로 설계한 데이터수집장치 디바이스가 도착하였다.

보드실물 / 4층 PCB로 설계
JLCPCB 주문

2. USB 장치 인식 성공

USB CP2102 장치인식에는 성공하였다.

 

USB를 PC에 연결하여 정상적으로 CP2102 USB to UART가 인식하는 것을 확인하였다.

문제는 펌웨어 업로드시에 부팅모드로 진입이 불가능한 것인데 이를 해결하고자 원인을 분석해야했다.

3. 펌웨어 업로드 실패 원인 찾아보기

(1) 부팅모드 진입 신호 확인

테스터기 및 오실로스코프로 신호 확인

펌웨어 바이너리 파일을 업로드하다가 자꾸 실패하여 부팅모드가 실시간으로 정상적인지 확인하였다.

일단 정상적으로 작동중 이였다.

(2) 부팅 시 GPIO LOW, HIGH 동작 확인

ESP32 펌웨어 업로드 시 문제 발생 GPIO

새 펌웨어를 업로드시에 문제가 되는 GPIO는 12, 15, 2, 0, 5 이다.

GPIO 부팅조건
12 부팅하는 동안 LOW여야 함
15 부팅하는 동안 HIGH여야 하며, LOW로 설정시 시작 로그가 발생되지 않음
2 부팅 중 LOW
0 부팅 시 HIGH, 프로그래밍 업로드 시 LOW
5 부팅 중에는 HIGH

0, 2 를 제외한 현재 GPIO의 회로를 확인해보았다.

GPIO 현재 부팅조건
12 PULL_DOWN LOW
15 PULL_DOWN HIGH
5 PULL_UP HIGH

 

15 번의 핀의 풀다운 저항을 제거 후 다시 업로드를 시도 했지만 실패하였다...

(3) 다시 생각해보자...

펌웨어를 업로드해야 전체적인 회로 동작을 테스트 할 수 있는데... 계속해서 실패하고 있다. 디버깅을 시도하기 위해 많은 시간을 투자해보았지만 아직 해결하지 못하고 있다. (우울...ㅠ)

참고로 전원표시 LED 세기가 좀 밝은 편인데... 15mA 정도로 맞추었는데 조금 센 편인가 (25mA 짜리 LED인데 15mA면 조금 과한것 같기도....) 다음에 LED를 설계할 때는 전류를 10mA정도로 맞추어 설계하면 어떨까 싶다.ㅎㅎ