2013-05-09 8 views
1

dsPIC33F에서 SD 카드에 데이터를 쓰는 방법을 구현하려고합니다. 현재 UART를 통해 데이터를 블루투스 및 USB로 전송할 수 있지만 UART를 통해 SD 카드에 쓰는 것과 관련하여 온라인에서 아무 것도 찾을 수 없습니다. 그것은 모두 SPI 인 것처럼 보입니다. 은 SPI를 사용하지만 이미 I2C를 사용하고 있으며 SPI와 I2C를 동일한 PIC에서 사용할 수 없기 때문에 핀을 공유하기 때문에 어려울 것으로 보입니다.UART에서 SD 카드로

그래서 UART를 통해 SD 카드에 데이터를 쓰거나 SDI와 I2C를 동시에 사용할 수있는 방법을 제안 할 수 있습니까?

원하는 모든 저장 방법이 필요합니다. 누군가 다른 방법 (예 : EEPROM 또는 USB 플래시 드라이브)을 제안 할 수 있다면, 나는 모든 귀입니다. 최소한 2GB 이상의 저장 용량이 필요합니다.

+0

구체적으로 어떤 PIC를 사용하고 있습니까? –

+0

답장을 보내 주셔서 감사합니다. 그것은 dsPIC33FJ128GP802입니다. 나는 18 번 핀과 19 번 핀 (SDA1과 SCL1)을 I2C에 사용하고있다. 나는 핀이 재구성 가능하다는 것을 안다. 그래서 나는 하나 이상의 SDA와 SCL 핀을 가질 수 있는가? 즉 현재 I2C를 사용하고 SPI (그리고 3 핀 또는 4 핀 SPI를 사용하는지 여부에 따라 1/2 다른 핀)를위한 두 개의 새로운 핀을 구성합니다. 건배. – ritchie888

답변

2

대부분의 SD 카드는 기본적으로 SPI 통신을 지원하지만 UART는 지원하지 않으므로 직접 UART 연결이 불가능합니다. 나는 거기에 많은 오버 헤드가 복잡하기 때문에 USB 플래시 드라이브에 대해 권하고 싶습니다. 그리고 EEPROM은 SPI 나 I2C를 사용하기 쉽기 때문에 이미 주변 핀 하나를 이미 사용하고 있다는 문제가 남아 있습니다.

사용중인 칩에 가장 적합한 옵션은 주변 핀 선택 기능을 사용하여 사용 가능한 일부 핀을 필요한 4 개의 SPI 핀으로 매핑하는 것입니다. datasheet의 11.6 절에서는 핀 기능을 재 매핑하는 방법에 대해 설명합니다. 그것은 아마도 가장 쉬운 해결책 일 것입니다.

아마도 다른 방법으로는 UART를 사용하여 사용 가능한 SPI 핀이있는 다른 PIC와 통신 할 수 있지만 추가 오버 헤드와 복잡성이 많이 발생합니다.

+0

고마워, 케이 시드. 나는 주변 장치 핀 선택 기능을 항상 알고 있었지만 SPI와 같은 특정 프로토콜에는 적용되지 않는다고 생각했다. SPI를 다른 핀으로 다시 매핑하고 SPI와 I2C를 모두 사용할 수 있다면 즐거운 하루가 될 것입니다! – ritchie888