MSP430에 대한 메모리 제안


9

TI MSP430을 사용하여 측정 응용 프로그램을 개발 중이며 사용할 수있는 메모리 유형에 대한 몇 가지 제안을 듣고 싶습니다.

아이디어는 특정 시간 동안 로깅에 사용하고 장치가 USB를 통해 연결된 경우 PC에 데이터를 다운로드하는 것입니다. 추정치는 최대 5MB의 데이터를 보유하며 모든 샘플은 약 25 바이트의 데이터입니다.

간단한 EEPROM 칩이 있습니까? 아니면 더 나은 것이 있습니까?


1
유효한 데이터가있는 대부분의 시간 동안 장치에 전원이 공급되는 것 같습니다. 배터리 백업 SRAM이 EEPROM (또는 Flash)보다 적합하지 않습니까?
Federico Russo

답변:


7

내가 사용했습니다 AT45D의 시리얼 플래시 칩의 시리즈. 삭제 / 프로그래밍을위한 페이지를 설정하기위한 내부 SRAM 버퍼가 있습니다. 데이터를 읽고 쓰는 SPI 인터페이스.


5

5MByte는 저장할 많은 데이터입니다. USB를 통해 읽는다는 것은 USB 장치 인터페이스가 내장 된 새 부품 중 하나를 사용하고 있음을 의미합니다. 그렇지 않은 경우 USB- 직렬 변환기 (FTDI 또는 이와 유사한)를 사용하고 비동기 직렬로 제한됩니다. 데이터를 읽기위한 데이터 속도.

SD 메모리 카드를 MSP에 연결하고 그 안에 데이터를 저장 한 다음 저장된 데이터를 읽기 위해 카드를 PC로 이동하는 것을 고려 했습니까? 이 장치에 대한 인터페이스를 작성하지 않았지만 많은 기능이 있습니다.


예, USB가 내장 된 부품 중 하나를 사용하겠습니다. 이상적인 방법은 MSC 프로토콜을 사용하는 것이지만 내 프로젝트에는 많은 복잡성이 추가됩니다. 아마도 HID 데이터 전송 속도로 해결할 것입니다. 나는 SD 카드에 대해 생각했지만 방수 기능이 있어야 인클로저에 추가적인 복잡성을 추가했습니다.
Padu Merloti

2
SD 카드가 가장 많은 저장 공간을 제공하기 때문에이 경로를 제안합니다. 지금 5MB라고 말하지만 나중에 더 원하는 경우 직렬 플래시의 한계를 뛰어 넘고 있습니다 (그리고 EEPROM의 한계를 훨씬 초과합니다). 방수가 문제인 경우 (그리고 적절한 USB 옵션이있는 경우) USB를 통해 SD 카드를 읽고 인클로저 내부에 영구적으로 넣을 수 있습니다. SD 카드를 보드에 납땜 한 디자인을 보았습니다 (참고 : 작동했지만 권장하지는 않습니다).
Kevin Vermeer

알겠습니다. 그 옵션을 고려하겠습니다. 감사합니다
Padu Merloti

SD 인터페이스를 관리하고 파일 시스템을 구현하는 특수 칩이 있습니까? 아니면 여전히 MSP430을 사용하여 파일 시스템과 MSC 클래스를 구현해야합니까?
Padu Merloti

@Padu-의견보다 공간과 형식이 조금 더 필요하다고 생각했기 때문에 답변으로 답변을 추가했습니다.
Kevin Vermeer

3

이 응용 프로그램에서는 직렬 플래시가 EEPROM보다 우수합니다. Atmel은 훌륭한 라인업을 만듭니다 . 귀하의 선택은 크게 두 가지에 달려 있습니다. (1) 마이크로에서 로그를 편집 / 섹터 링해야하며 (2) MSP430에서 RAM 가용성.

EEPROM과 달리 플래시는 1에서 0으로 만 쓸 수 있습니다. 데이터를 0에서 1로 변경하려면 파트의 섹션을 지워야합니다. 일반적으로 페이지 또는 데이터 블록에만 사용할 수 있습니다. 이 페이지를 RAM으로 버퍼링하고, 페이지를 지우고, RAM에서 편집 한 다음, 무언가를 변경하려면 다시 작성해야합니다.

이미 지적했듯이 AT45D 계열은 마이크로 컨트롤러에서 RAM을 사용하지 않고이 프로세스를 용이하게하기 위해 칩에 RAM 버퍼가있는 많은 부품을 제공합니다.

결국 전체 시리즈는 핀 호환이 가능하므로 8-SOIC (150mil) 풋 프린트를 내려 놓고 나중에 다른 옵션이 필요한 경우 부품을 교체 할 수 있습니다.


나는 당신이 말하는 것에 동의하지만 소스를 지우기 전에 변경하려는 바이트를 수정하면서 소스 플래시 페이지에서 대상 플래시 페이지로 데이터를 복사 할 수 있습니다.
mjh2007

@mjh-출처와 목적지가 동일하거나 무료 페이지가없는 경우 어떻게합니까? 또한 읽기 명령 보내기, 주소 보내기, 바이트 읽기, 필요한 경우 변경, 지우기, 쓰기 명령 보내기, 주소 보내기, 바이트 쓰기, x256, x512 또는 x4k 반복이 느립니다. 다른 옵션은 읽기 명령 보내기, 읽기 주소 보내기, N주기 클럭, 변경하려는 바이트 수정, 지우기, 쓰기 명령 보내기, 쓰기 주소 보내기, N주기 클럭입니다. RAM 버퍼에 걸리는 시간의 약 1/3이 소요됩니다.
Kevin Vermeer

왜 데이터 로거가 마이크로의 로그를 편집해야합니까?
davidcary

@davidcary-데이터 로거가 긴 바이트 스트림을 기록하는 것 외에 다른 작업을 수행하지 않으면 옳습니다. 변경할 필요가 없습니다. 페이지 / 블록 경계를 넘어서 여러 구성 또는 로그 파일이 있거나 끝에 파일의 헤더를 변경하려는 경우 기존 데이터를 지우지 않고 메모리를 편집해야합니다.
Kevin Vermeer

이 시점에서 사용자가 장치를 USB에 연결하고 다운로드 한 다음 이전 로그를 지우거나 공간을 다시 사용할 수있게 해야하는 경우를 제외하고는 몇 가지 로그 파일을 만들어야하며 수정할 필요가 없습니다.
Padu Merloti

2

AT25D 시리즈는 AT45D보다 사용하기가 약간 쉽기 때문에 제안합니다. 조금 느리지 만 많은 데이터 전송 옵션이나 SRAM 버퍼를 제공하지는 않습니다. 비용이 저렴하다는 장점이 있으며 데이터 로깅과 같은 대부분의 응용 프로그램에는 여전히 충분히 빠릅니다.

5MB의 데이터가 필요한 경우 EEPROM이 일반적으로 <1Mbit 패키지로 제공되므로 EEPROM이 작동하지 않을 수 있습니다. Atmel의 플래시 칩은 최대 64mbit 또는 8MB를 지원합니다.


1
동의하지 않습니다. AT25D에서 가장 작은 소거 가능 섹션은 4kB 페이지이며, 사용 가능한 여분의 RAM이 많은 마이크로는 거의 없습니다. AT25FS 시리즈 칩을 사용했는데, 작은 (256 바이트) 페이지 소거가 있지만 5MB 미만입니다. 버퍼 시스템을 사용하면 RAM 관리에 대해 걱정할 필요가 없습니다. 물론, 로그를 편집 할 필요가 없으면 AT25 시리즈가 정상적으로 작동합니다.
Kevin Vermeer

예, 응용 프로그램이 바이트를 작성해야 할 때 큰 지우기 페이지가 성가신 다음 나중에 해당 바이트를 변경하십시오. 그러나 왜 데이터 로거가 그렇게해야합니까? 데이터 로깅 응용 프로그램 응용 프로그램의 경우 가장 작은 지우기 가능한 섹션이 256 바이트 또는 1 메가 바이트 인 경우 아무런 차이가없는 것 같습니다.
davidcary

1

[이안의 답변에 따른 의견에 대한 답변이다].
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 인터페이스는 직렬 인터페이스에서 대용량 저장 장치에 이르기까지 원하는만큼 복잡 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.