실시간 지원 애플리케이션에서 SPI 사용
Azure Sphere는 master 모드에서 SPI(직렬 주변 장치 인터페이스)를 지원합니다. SPI는 주변 장치와 통합 회로 간의 통신에 사용되는 직렬 인터페이스입니다. I2C와 달리 SPI는 더 복잡한 고속 주변 장치와 함께 사용할 수 있습니다.
이 항목에서는 RTApp(실시간 지원 애플리케이션)에서 SPI를 사용하는 방법을 설명합니다. 상위 수준 애플리케이션에서 SPI를 사용하는 방법에 대한 자세한 내용은 상위 수준 애플리케이션에서 SPI 사용을 참조하세요.
참고
Azure Sphere OS는 시작 시 주변 장치를 다시 설정하지 않습니다. 애플리케이션은 시작 시 또는 다시 시작한 후 주변 장치가 알려진 상태가 되도록 해야 합니다.
칩 선택
Chip select는 SPI master 인터페이스와 하위 디바이스 집합 간의 연결을 관리하고 master 인터페이스가 각 하위 디바이스에 데이터를 독립적으로 보내고 받을 수 있도록 합니다. Azure Sphere는 칩 선택에서 활성-낮음 및 활성-높음 설정을 기본 설정으로 지원합니다. 한 애플리케이션만 언제든지 각 SPI master 인터페이스를 사용할 수 있습니다. 애플리케이션은 SPI master 인터페이스를 열고 인터페이스에서 읽기 및 쓰기 작업을 수행하기 전에 연결된 각 하위 디바이스를 식별해야 합니다.
실시간 코어에서 SPI에 대한 MT3620 지원
MT3620 개발 보드를 구성할 때 모든 ISU 포트를 SPI master 인터페이스로 사용할 수 있습니다. 각 ISU에 최대 두 개의 하위 디바이스를 연결할 수 있습니다. ISU 포트를 SPI master 인터페이스로 사용하는 경우 I2C 또는 UART 인터페이스와 동일한 포트를 사용할 수 없습니다.
MT3620은 최대 40MHz의 SPI 트랜잭션을 지원합니다.
MT3620은 단일 버스 트랜잭션 내에서 동시 양방향 읽기 및 쓰기(전체 이중) SPI 작업을 지원하지 않습니다.
MT3620에 대한 SPI 사양은 MT3620 지원 상태에 나열됩니다. MT3620 개발 보드 사용자 가이드에서는 배선에 대한 핀 레이아웃 및 기능을 설명합니다.
레지스터 기본 주소, 인터럽트 번호, 클록 속도, 샘플링 빈도 및 MT3620에 대한 기타 세부 정보는 MT3620 데이터시트 및 MT3620 M4 사용자 설명서를 참조하세요. 질문이 남아 있는 경우 을 이메일로 보내 Azure.Sphere@avnet.comAvnet에서 세부 정보를 요청할 수 있습니다.
애플리케이션 매니페스트 설정
SPI API를 사용하려면 애플리케이션 매니페스트에 SpiMaster
기능을 추가한 다음 각 SPI master 컨트롤러를 기능에 지정해야 합니다.
"Capabilities": {
"SpiMaster": [ "ISU0", "ISU1" ] }
Azure Sphere 애플리케이션 매니페스트에는 애플리케이션 매니페스트 에 대한 자세한 내용이 있습니다.
SPI 샘플 애플리케이션
GitHub의 CodethinkLabs 리포지토리에는 Azure Sphere 실시간 지원 애플리케이션에서 MT3620 지원 주변 장치를 사용하는 방법을 보여 주는 샘플 애플리케이션이 포함되어 있습니다. 특히 SPI_RTApp_MT3620_BareMetal 및 SPI_SDCard_RTApp_MT3620_BareMetal 샘플은 실시간 지원 애플리케이션에 SPI 주변 장치를 통합하는 방법을 보여 줍니다.