2014-09-17 1 views
4

다른 장치와 통신하는 데 ATMEGA128을 사용하고 있습니다. 이를 위해 ATMEGA128과 함께 SPI를 노예로 사용하고 있습니다. 나는 SS, SCK 및 MOSI 핀을 사용한다. 내가 직면하고있는 문제는 프로그램을 다운로드해야 할 때 SPI 핀 연결을 끊어야한다는 것입니다. 내가 사용중인 ATMEGA128 모듈은 TXD0, RXD0, SCK (PB1) 핀을 사용하여 프로그램을 다운로드한다. 왜이 문제에 직면 해 있습니까? SPI와 다운로드 회로가 동일한 SCK 핀을 사용하기 때문에 그렇습니까? SPI 핀의 연결을 피할 수있는 방법이 있습니까?SPI 핀 inteference

답변

0

SPI 및 다운로드 회로가 동일한 SCK 핀을 사용하기 때문에 그렇습니까?

예. 프로그래밍하는 동안 다른 장치가 SPI 라인을 구동하는 것을 방지해야합니다.

SPI 핀의 연결을 피할 수있는 방법이 있습니까?

예. 드라이버 경쟁을 피하기 위해 외부 회로가이 라인을 구동 할 가능성이있는 경우 3 개의 전용 라인 각각에 직렬 저항을 배치해야합니다.

my answer here을 참조하십시오.

1

다른 장치에 칩 선택 입력이 있습니까? 아니면 VCC 핀에 추가 할 수 있습니까? 그렇다면이 장치의 CS (액티브 로우) 입력을 외부 풀업 저항이 부착 된 여분의 AVR 포트 핀 (10k 옴 정도)에 연결 한 다음 어딘가에서 코드 시작 부분에서이 AVR 핀을 로우로 설정할 수 있습니다. AVR 프로그래밍이 끝나고 코드가 실행될 때까지 외부 풀업으로 장치가 비활성화됩니다.