그래서 주파수 신시사이저 프로그래밍을위한 의사 코드를 작성해야합니다. 여기에는 세 가지 주요 포트가 있는데, '사용', '데이터'및 '시계'를 활용합니다.외부 시계로 신디사이저 프로그래밍 가능
장치는 기본적으로 꺼져 있으며 활성화 (활성 낮음)가 트리거되면 시계가 약간의 최소 설정 시간 후에 순환합니다. 지연과는 별도로 SendCommand (uint32_t addr, uint16_t data) 함수를 갖습니다.
내가 가지고있는 문제는 내게 주어진 사양에서 데이터가 떨어지는 클럭 가장자리에서 "READ"라는 것입니다. 이것은 데이터가 한 번에 한 비트 씩 매개 변수에 정의 된 주소의 레지스터로 읽히고 전체 16 비트 워드가 레지스터에 기록 될 때까지 읽기 상태를 유지함을 의미합니다. 클록 사이클은 약 10MHz이다. 제 질문은 다음과 같습니다 :
- 10MHz (100ns/cycle)에서 사이클을 시뮬레이션하는 방법은 무엇입니까?
- 어떻게 시계의 하강 에지에서 "데이터 읽기"를 수행 할 수 있습니까?
지금은 프로그램의 쓰기 측면을 무시하지만 여전히 의사 코드입니다.
아마도 글씨로 시작해야합니다. 그러나 "Serial Peripheral Interface"또는 "SPI"와 비슷한 것을 가지고있는 것 같습니다. 이를 위해 10MHz 클럭 속도로, 많은 마이크로 컨트롤러에서 볼 수있는 하드웨어 SPI 엔진이 필요합니다. 시스템에 델이없는 경우 델리게이트로 사용하는 원격 마이크로 컨트롤러를 사용할 수 있습니다. 그러나 고성능을 필요로하지 않는다면 대부분의 (그런 것은 아니지만) 그러한 장치는 훨씬 낮은 클럭 속도로 데이터를 수용 할 것입니다. 실제 (비 USB) 병렬 인터페이스를 사용할 수 있다면 소프트웨어의 개별 신호를 "비트 뱅잉 (bit-banging)"하는 일반적인 방법이 있습니다. –