Я разрабатываю измерительное приложение с TI MSP430, и я хотел бы услышать некоторые предложения о том, какой тип памяти я могу использовать.
Идея состоит в том, чтобы использовать его для регистрации в течение определенного времени, а затем загружать данные на ПК, когда устройство подключено через USB. Оценка должна содержать до 5 МБ данных, каждая выборка составляет около 25 байтов данных.
Будет ли простой чип EEPROM делать или есть что-то лучше?
Ответы:
Я использовал серию чипов серийной флэш-памяти AT45D . У них есть внутренний буфер SRAM для настройки страницы для стирания / программирования. Интерфейс SPI для чтения и ввода данных.
источник
5MByte - много данных для хранения. Чтение по USB означает, что вы используете одну из новых частей со встроенным интерфейсом устройства USB. Если нет, то вы будете использовать конвертер USB в последовательный интерфейс (FTDI или аналогичный) и будете ограничены асинхронным последовательным интерфейсом. скорости передачи данных для чтения данных.
Рассматривали ли вы подключение карты памяти SD к MSP, хранение данных в ней, а затем перемещение карты на ПК для чтения сохраненных данных. Я не написал интерфейс для этого устройства, но есть много, что есть.
источник
Последовательная вспышка превосходит EEPROM в этом приложении. Atmel делает отличный состав . Ваш выбор будет зависеть в основном от двух вещей: (1) вашей необходимости редактировать / разбивать журналы на микро и (2) доступность вашей оперативной памяти на MSP430.
Flash, в отличие от EEPROM, может быть записан только от 1 до 0. Изменение данных от 0 до 1 требует удаления части, которая обычно доступна только для страниц или блоков данных. Вам нужно будет сохранить эту страницу в ОЗУ, стереть страницу, внести изменения в ОЗУ, а затем записать ее обратно, если вы хотите что-то изменить.
Серия AT45D, как уже указывалось, предлагает ряд компонентов с буферами ОЗУ на чипе для облегчения этого процесса без использования ОЗУ на микроконтроллере.
В конце концов, вся серия совместима по выводам, поэтому просто отложите 8-SOIC (150мил), и затем вы сможете поменять детали, если позже вам понадобятся другие варианты.
источник
Я бы предложил серию AT25D, поскольку она выглядит немного проще в использовании, чем AT45D. Хотя это немного медленнее и не предлагает столько вариантов передачи данных или буфера SRAM. Преимущество этого метода в том, что он менее дорогой и достаточно быстрый для большинства приложений, таких как регистрация данных.
Если вам нужно 5 МБ данных, маловероятно, что EEPROM будет работать, поскольку они обычно входят в пакеты <1 Мбит. Флеш-чипы от Atmel поддерживают до 64 Мбит или 8 МБ.
источник
[Это в ответ на комментарии после ответа Яна].
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 может быть настолько сложным, насколько вам нравится - от последовательного интерфейса до запоминающего устройства.
источник