Рекомендации по памяти для MSP430


9

Я разрабатываю измерительное приложение с TI MSP430, и я хотел бы услышать некоторые предложения о том, какой тип памяти я могу использовать.

Идея состоит в том, чтобы использовать его для регистрации в течение определенного времени, а затем загружать данные на ПК, когда устройство подключено через USB. Оценка должна содержать до 5 МБ данных, каждая выборка составляет около 25 байтов данных.

Будет ли простой чип EEPROM делать или есть что-то лучше?


1
Похоже, у вас будет работать устройство в течение большей части времени, когда у вас есть действительные данные. Разве SRAM с резервным питанием от батареи не является более подходящим, чем EEPROM (или лучше Flash)?
Федерико Руссо

Ответы:


7

Я использовал серию чипов серийной флэш-памяти AT45D . У них есть внутренний буфер SRAM для настройки страницы для стирания / программирования. Интерфейс SPI для чтения и ввода данных.


5

5MByte - много данных для хранения. Чтение по USB означает, что вы используете одну из новых частей со встроенным интерфейсом устройства USB. Если нет, то вы будете использовать конвертер USB в последовательный интерфейс (FTDI или аналогичный) и будете ограничены асинхронным последовательным интерфейсом. скорости передачи данных для чтения данных.

Рассматривали ли вы подключение карты памяти SD к MSP, хранение данных в ней, а затем перемещение карты на ПК для чтения сохраненных данных. Я не написал интерфейс для этого устройства, но есть много, что есть.


Да, я собираюсь использовать одну из частей со встроенным USB. В идеале было бы использовать протокол MSC, но это значительно усложняет мой проект. Я, вероятно, согласен со скоростью передачи данных HID. Я думал о SD-картах, но это добавляет дополнительные сложности на корпусе, поскольку он должен быть водонепроницаемым.
Паду Мерлоти

2
Я бы предложил этот маршрут, потому что SD-карты дадут вам больше места для хранения. Вы говорите 5 МБ сейчас, но если вы хотите больше позже, вы раздвигаете пределы последовательной флэш-памяти (и вы значительно превышаете пределы EEPROM). Если возникает проблема с водонепроницаемостью (и у вас есть соответствующая опция USB, что, по-видимому, имеет место), вы можете считывать свою SD-карту через USB и постоянно вставлять ее в корпус. Я видел несколько проектов, которые припаяли SD-карту к плате (Примечание: это работало, но я не рекомендую это).
Кевин Вермеер

Понял, имеет смысл. Я рассмотрю этот вариант. Спасибо
Паду Мерлоти

Существует ли специализированный чип, который заботится об интерфейсе SD и реализует файловую систему, или мне все равно придется реализовать файловую систему и класс MSC с использованием MSP430?
Паду Мерлоти

@Padu - я чувствовал, что для этого нужно немного больше места и форматирования, чем для комментария, поэтому я добавил свой ответ в качестве ответа.
Кевин Вермеер

3

Последовательная вспышка превосходит EEPROM в этом приложении. Atmel делает отличный состав . Ваш выбор будет зависеть в основном от двух вещей: (1) вашей необходимости редактировать / разбивать журналы на микро и (2) доступность вашей оперативной памяти на MSP430.

Flash, в отличие от EEPROM, может быть записан только от 1 до 0. Изменение данных от 0 до 1 требует удаления части, которая обычно доступна только для страниц или блоков данных. Вам нужно будет сохранить эту страницу в ОЗУ, стереть страницу, внести изменения в ОЗУ, а затем записать ее обратно, если вы хотите что-то изменить.

Серия AT45D, как уже указывалось, предлагает ряд компонентов с буферами ОЗУ на чипе для облегчения этого процесса без использования ОЗУ на микроконтроллере.

В конце концов, вся серия совместима по выводам, поэтому просто отложите 8-SOIC (150мил), и затем вы сможете поменять детали, если позже вам понадобятся другие варианты.


Я согласен с тем, что вы говорите, но вы можете просто скопировать данные с исходной флэш-страницы на целевую флэш-страницу, изменяя байты, которые вы хотите изменить, перед удалением источника.
mjh2007

@mjh - Что если ваш источник и пункт назначения совпадают, и / или у вас нет свободной страницы? Кроме того, это происходит медленно: отправьте команду чтения, отправьте адрес, прочитайте байт, измените при необходимости, удалите, отправьте команду записи, отправьте адрес, запишите байт, повторите x256, x512 или x4k. Другой вариант - отправить команду чтения, отправить адрес чтения, часы для N циклов, изменить байты, которые вы хотите изменить, стереть, отправить команду записи, отправить адрес записи, часы для N циклов. Это занимает около 1/3 времени, которое занимает буфер ОЗУ.
Кевин Вермеер

Зачем регистратору данных когда-либо нужно редактировать журналы на микро?
Дэвидкари

@davidcary - если ваш регистратор данных не делает ничего, кроме записи одного длинного потока байтов, вы правы - вам никогда не придется вносить изменения. Если он имеет несколько конфигураций или файлов журналов, которые могут выходить за границы страницы / блока, или если вы хотите внести изменения в заголовок файла в конце, вам нужно будет редактировать память, не стирая существующие данные.
Кевин Вермеер

На данный момент мне просто нужно создать несколько файлов журнала, не нужно их изменять, за исключением случаев, когда пользователь подключает устройство к USB и загружает его, затем мне нужно стереть (или снова сделать это место доступным) старый журнал.
Паду Мерлоти

2

Я бы предложил серию AT25D, поскольку она выглядит немного проще в использовании, чем AT45D. Хотя это немного медленнее и не предлагает столько вариантов передачи данных или буфера SRAM. Преимущество этого метода в том, что он менее дорогой и достаточно быстрый для большинства приложений, таких как регистрация данных.

Если вам нужно 5 МБ данных, маловероятно, что EEPROM будет работать, поскольку они обычно входят в пакеты <1 Мбит. Флеш-чипы от Atmel поддерживают до 64 Мбит или 8 МБ.


1
Я не согласен. Самый маленький стираемый раздел на AT25D - это страница размером 4 КБ, и лишь немногие микросхемы имеют столько свободного ОЗУ. Я использовал чипы серии AT25FS, которые имеют небольшое (256 байт) стирание страниц, но они меньше 5 МБ. Использование буферизованной системы означает, что вам не нужно слишком беспокоиться об управлении ОЗУ. Конечно, если вам не нужно редактировать ваши журналы, то серия AT25 будет работать нормально.
Кевин Вермеер

Да, большие страницы стирания раздражают, когда приложению необходимо записать некоторый байт, а затем изменить его. Но зачем регистратору данных это делать? Мне кажется, что для приложения-приложения регистрации данных не имеет значения, является ли наименьший стираемый раздел размером 256 байт или 1 мегабайт.
Дэвидкари

1

[Это в ответ на комментарии после ответа Яна].
SD-карта - это просто SPI-устройство, поэтому нет необходимости в чипе / интерфейсе. Другие протоколы включают в себя 2-проводный интерфейс (например, I2C) и 4-проводный интерфейс (со сложным CRC), но SPI является наиболее часто используемым.

Существует приложение SD карта примечание доступна для MSP430 от TI здесь . Это коротко, но включает в себя пример кода. Он поддерживает чтение и запись в различные сектора на SD-карте, что может быть всем, что вам нужно, если вы не собираетесь подключать его к ПК. Также посмотрите на эти реализации Фустом (рекомендуется) или Эвансом из МГУ.

Если у вас есть основные функции для чтения и записи сектора, вы можете либо абстрагировать простую пользовательскую файловую систему через USB, либо использовать существующую библиотеку файловой системы. FatFS , EFSL или DOSF - все варианты для последнего. Если реализация всех необходимых функций кажется слишком сложной, помните, что все, кроме нескольких, могут быть / будут заглушками.

Тем не менее, файловая система будет в некоторой степени абстрагирована от вашего интерфейса USB. Это будет проще, если у вас есть настоящая библиотека файловой системы, а ваша карта находится в читаемой файловой системе, но это требует работы. Если вы хотите написать свою собственную «Файловую систему» ​​и сохранить работу / время / память для реализации USB, вы можете сделать ее определение простым и негибким, поскольку журнал 1 начинается с 0x0, журнал 2 начинается с 0x10 0000, журнал 3 - с 0x20 0000 и введите 4 в 0x30 0000. Затем вы можете отправить эти данные через USB.

Интерфейс USB может быть настолько сложным, насколько вам нравится - от последовательного интерфейса до запоминающего устройства.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.