TI MSP430을 사용하여 측정 응용 프로그램을 개발 중이며 사용할 수있는 메모리 유형에 대한 몇 가지 제안을 듣고 싶습니다.
아이디어는 특정 시간 동안 로깅에 사용하고 장치가 USB를 통해 연결된 경우 PC에 데이터를 다운로드하는 것입니다. 추정치는 최대 5MB의 데이터를 보유하며 모든 샘플은 약 25 바이트의 데이터입니다.
간단한 EEPROM 칩이 있습니까? 아니면 더 나은 것이 있습니까?
TI MSP430을 사용하여 측정 응용 프로그램을 개발 중이며 사용할 수있는 메모리 유형에 대한 몇 가지 제안을 듣고 싶습니다.
아이디어는 특정 시간 동안 로깅에 사용하고 장치가 USB를 통해 연결된 경우 PC에 데이터를 다운로드하는 것입니다. 추정치는 최대 5MB의 데이터를 보유하며 모든 샘플은 약 25 바이트의 데이터입니다.
간단한 EEPROM 칩이 있습니까? 아니면 더 나은 것이 있습니까?
답변:
5MByte는 저장할 많은 데이터입니다. USB를 통해 읽는다는 것은 USB 장치 인터페이스가 내장 된 새 부품 중 하나를 사용하고 있음을 의미합니다. 그렇지 않은 경우 USB- 직렬 변환기 (FTDI 또는 이와 유사한)를 사용하고 비동기 직렬로 제한됩니다. 데이터를 읽기위한 데이터 속도.
SD 메모리 카드를 MSP에 연결하고 그 안에 데이터를 저장 한 다음 저장된 데이터를 읽기 위해 카드를 PC로 이동하는 것을 고려 했습니까? 이 장치에 대한 인터페이스를 작성하지 않았지만 많은 기능이 있습니다.
이 응용 프로그램에서는 직렬 플래시가 EEPROM보다 우수합니다. Atmel은 훌륭한 라인업을 만듭니다 . 귀하의 선택은 크게 두 가지에 달려 있습니다. (1) 마이크로에서 로그를 편집 / 섹터 링해야하며 (2) MSP430에서 RAM 가용성.
EEPROM과 달리 플래시는 1에서 0으로 만 쓸 수 있습니다. 데이터를 0에서 1로 변경하려면 파트의 섹션을 지워야합니다. 일반적으로 페이지 또는 데이터 블록에만 사용할 수 있습니다. 이 페이지를 RAM으로 버퍼링하고, 페이지를 지우고, RAM에서 편집 한 다음, 무언가를 변경하려면 다시 작성해야합니다.
이미 지적했듯이 AT45D 계열은 마이크로 컨트롤러에서 RAM을 사용하지 않고이 프로세스를 용이하게하기 위해 칩에 RAM 버퍼가있는 많은 부품을 제공합니다.
결국 전체 시리즈는 핀 호환이 가능하므로 8-SOIC (150mil) 풋 프린트를 내려 놓고 나중에 다른 옵션이 필요한 경우 부품을 교체 할 수 있습니다.
AT25D 시리즈는 AT45D보다 사용하기가 약간 쉽기 때문에 제안합니다. 조금 느리지 만 많은 데이터 전송 옵션이나 SRAM 버퍼를 제공하지는 않습니다. 비용이 저렴하다는 장점이 있으며 데이터 로깅과 같은 대부분의 응용 프로그램에는 여전히 충분히 빠릅니다.
5MB의 데이터가 필요한 경우 EEPROM이 일반적으로 <1Mbit 패키지로 제공되므로 EEPROM이 작동하지 않을 수 있습니다. Atmel의 플래시 칩은 최대 64mbit 또는 8MB를 지원합니다.
[이안의 답변에 따른 의견에 대한 답변이다].
SD 카드는 SPI 장치 일 뿐이므로 칩 / 인터페이스가 필요하지 않습니다. 다른 프로토콜로는 I2C와 같은 2 와이어 인터페이스와 복잡한 CRC가있는 4 와이어 인터페이스가 있지만 SPI가 가장 일반적으로 사용됩니다.
TI의 MSP430에 사용할 수있는 SD 카드 애플리케이션 노트가 여기 있습니다 . 간단하지만 샘플 코드가 포함되어 있습니다. SD 카드의 다양한 섹터에 대한 읽기 및 쓰기를 처리하며 PC에 연결하지 않을 경우 원하는 모든 것이 될 수 있습니다. 또한 Foust (권장) 또는 Evans의 구현을 살펴보십시오. MSU의 .
섹터를 읽고 쓰는 기본 기능이 있으면 USB를 통해 간단한 사용자 정의 파일 시스템을 추상화하거나 기존 파일 시스템 라이브러리를 사용할 수 있습니다. FatFS , EFSL 또는 DOSF 는 모두 후자의 옵션입니다. 필요한 모든 기능을 구현하기가 너무 어려워 보이는 경우, 몇 가지를 제외한 모든 기능이 스텁 일 수 있습니다.
그러나 파일 시스템은 USB 인터페이스를 통해 어느 정도 추상화됩니다. 실제 파일 시스템 라이브러리가 있고 카드가 읽을 수있는 파일 시스템에 있지만 작동하는 경우 더 쉽습니다. 고유 한 "파일 시스템"을 작성하고 USB 구현을 위해 작업 / 시간 / 메모리를 저장하려는 경우 로그 1이 0x0에서 시작하고 로그 2가 0x10 0000에서 시작하고 로그 3이 0x20 0000에서 시작되는 것처럼 정의를 간단하고 융통성있게 만들 수 있습니다. , 0x30 0000에 4를 기록합니다. 그러면이 데이터를 USB를 통해 전송할 수 있습니다.
USB 인터페이스는 직렬 인터페이스에서 대용량 저장 장치에 이르기까지 원하는만큼 복잡 할 수 있습니다.