CAFE

┃노하우 올리기

Mega128 회로에서 ISP 와 통신(UART) 동시에 사용하는 방법

작성자리산테크|작성시간10.03.31|조회수1,568 목록 댓글 7

ATmeag64 / ATmega128 / ATmega1281 / ATmega2561 MCU는 다른 AVR MCU와 다르게 프로그램 다운로딩(writing)하는 포트로 RXD0/TXD0 를 사용하고 있습니다. 이러한 이유로 통신 포트와 ISP 포트를 동시에 사용하는 분들 사이에서 ISP 프로그램 다운로딩(writing) 되지 않는다는 문제를 제기하시는 분들이 많은데, 첨부한 그림처럼 회로를 구성해 보세요.

 

아래 회로의 핵심은 통신 포트와 ISP 포트 신호가 충돌되지 않도록 직렬저항(R1,R2)를 삽입해 주는데 있습니다.

 

 

 

 

 

 

  위 예제는 표현상의 편리를 위하여 MOSI/MISO라 표현했지만 사실상 MCU의 RXD0/TXD0 신호입니다.

  혹 직렬저항 넣는 것이 이해되셨나요?

  맞습니다. 두개의 신호(ISP 출력 신호, SP3232 출력 신호)가 충돌 나지 않도록 한 것입니다. 한쪽에서 신호가 바뀌면 다른 한쪽은 직렬저항에 의해 Pull-up, Pull-down 역할을 하기 때문에 Low, High 변화에 전혀 영향을 주지 않게 되는 거죠?

  만약, 직렬 저항 없이 연결되어 있다고 생각하면 두 출력 신호가 힘겨루기를 할 것이기 때문에 힘(출력) 쎈 신호에 의해 High, Low 가 결정될 것입니다. 물론, 애매한 레벨일 수 있습니다.

 

   따라서, ISP 포트에 통신 포트 기능 외에 다른 기능을 연결하여 IO로 사용하는 경우에도 마찬가지로 직렬저항을 삽입해 주시면 됩니다. 하지만, 너무 큰 직렬 저항 값을 넣으면 ISP 제거한 후에 IO 신호 High, Low가 변하지 않을 수 있으니 주의하세요. 저는 1k옴 정도가 적당한 것으로 생각됩니다.

 

  건승하세요.

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자박진갑 | 작성시간 12.05.15 감사합니다
  • 작성자C_of_God | 작성시간 14.02.01 오!
  • 작성자좋은하루 | 작성시간 14.10.31 와우 좋은자료감사합니다..
  • 작성자이북거 | 작성시간 15.03.20 좋은 정보 감사합니다.
  • 작성자김 종대 | 작성시간 15.06.06 좋은 정보 감사합니다.
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼