태그 보관물: microcontroller

microcontroller

두 IC간에 발진기 공유 클럭을 둘 수

같은 보드에 마이크로 컨트롤러와 FPGA가 있습니다. 둘 다 동일한 클럭 속도로 작동한다면 오실레이터 하나만 사용하여 클럭을 둘 수 있습니까? 여기서주의해야 할 것이있는 것 같지만 추적을 짧게 유지하면 즉시 문제를 생각할 수 없습니다. 아무도 전에 이것을 한 적이 있습니까? 이 작업을 수행하는 일반적인 함정은 무엇입니까?



답변

예, 대부분 괜찮습니다. 크리스탈 자체를 구동하지 않고 각 칩이 준비된 클럭을 기대하도록 설정해야합니다. 물론 데이터 시트를 살펴 봐야하지만 대부분 장치를 그런 식으로 설정할 수 있습니다.

그러나 비용이 덜 드는 방법이있을 수 있습니다. 칩 중 적어도 하나 (아마도 둘 다)가 크리스탈을 직접 구동 할 수 있습니다. 그들 중 하나가 그렇게 할 수 있고 다른 칩을 구동하는 데 사용할 수 있습니다. 크리스탈 드라이브 출력 라인은 디지털 신호 라인보다 아날로그 신호에 가깝기 때문에 약간 까다로울 수 있으며 직접 사용하는 경우 다른 칩에서 의도 한 것으로 해석되지 않을 수 있습니다. 일반적인 디지털 게이트에 의해 의도 된 것으로 해석되지 않을 수 있으므로 크리스털에 가깝게 버퍼링 한 다음 해당 디지털 신호를 다른 칩으로 전송해도 작동하지 않을 수 있습니다. 여기에서 데이터 시트를 매우 신중하게 참조하고 몇 가지 실험을 수행해야합니다.

완전히 신뢰할 수있는 방법은 하나의 칩으로 크리스털을 구동하고 신호를 내부적으로 버퍼링 한 다음 다른 핀에서 실제 보장 된 디지털 신호로 출력하는 것입니다. 클록 신호를 핀으로 구동 할 수 있어야하므로 크리스탈을 구동하는 FPGA에서 더 잘 작동 할 수 있습니다. 마이크로 컨트롤러에는 때때로 클럭 아웃 핀이 있지만, PIC의 경우 (가장 익숙한) 최소한 오실레이터 주파수가 아닌 오실레이터 / 4 주파수입니다. 아마도 FPGA와 마이크로 클럭 속도의 1/4을 실행하고 싶지 않을 것입니다.


답변

일부 마이크로 컨트롤러는 발진기 회로의 클럭 주파수로 출력 핀을 구동하도록 구성 할 수 있습니다. 클럭 신호에 대한 버퍼입니다. ATtiny45에 대한 데이터 시트에서 읽었다 고 생각합니다. 그렇게하면 한 칩만 크리스털을 구동하지만 다른 칩은 여전히 ​​클럭을 사용할 수 있습니다.


답변