Atmel SAM-D21 시리즈 마이크로 컨트롤러에서 많은 주변 장치는 기본 CPU 클록과 비동기식 클록을 사용하며 이러한 주변 장치에 대한 액세스는 동기화 논리를 거쳐야합니다. 클럭이 CPU 시간에 비해 느린 주변 장치에서는 실제로 약간의 지연이 발생할 수 있습니다. 예를 들어, RTC가 1024Hz 클럭을 사용하도록 구성되어 있고 (디자인 의도로 보임) CPU가 48Mhz로 실행중인 경우 "현재 시간"레지스터를 읽으면 버스 로직이 200,000 개 이상의 대기 상태 (최소한)를 삽입하게됩니다. 1024Hz 클럭의 5 사이클). CPU가 읽기 요청을 발행하고, 관련이없는 다른 코드를 실행하고, 시간을 가져 오기 위해 200,000 회 이상주기를 리턴 할 수는 있지만 실제로 시간을 더 빨리 읽을 수있는 방법은없는 것 같습니다.
동기화에 대한 이해를 통해 단일 비트 동기화 회로는 대상 클럭의 2-3 사이클만큼 신호를 지연시킵니다. 멀티 비트 수량을 동기화하는 것은 조금 어렵지만 소스 클록보다 빠른 경우 대상 클록의 5 사이클 내에서 안정적인 동작을 보장하고 그렇지 않은 경우 몇 사이클 만 더 신뢰할 수있는 다양한 접근 방식이 있습니다. Atmel SAM-D21이 수행하는 작업은 소스 클럭 도메인에서 동기화를 위해 6주기가 필요하며 동기화 지연이 필요한만큼 동기화 지연이 필요한 설계보다 선호되는 요소는 무엇입니까? 그러한 인터럽트가 불필요 할 정도로 동기화 지연이 짧습니까?