|
Nand Flash+c51, реализация интерфейса |
|
|
|
May 6 2008, 12:14
|
Группа: Новичок
Сообщений: 6
Регистрация: 3-06-05
Пользователь №: 5 714

|
Имеем: 1.NandFlash от Samsung (напр. K9F1208) 2. ADuC841 от AD (51МК с АЦП ) Задача: кидать данные с АЦП во флеш при макимальной f дискр. АЦП. Вопрос: как реализовать интерфейс м/у ними, дабы успевать обрабатывать данные с АЦП, при этом мк еще и несколько загружен другими задачами ? примеры реализации, исходники особенно приветствуется
|
|
|
|
|
May 7 2008, 10:11
|
Группа: Новичок
Сообщений: 6
Регистрация: 3-06-05
Пользователь №: 5 714

|
Цитата(Ankoc @ May 6 2008, 16:14)  Имеем: 1.NandFlash от Samsung (напр. K9F1208) 2. ADuC841 от AD (51МК с АЦП ) Задача: кидать данные с АЦП во флеш при макимальной f дискр. АЦП. Вопрос: как реализовать интерфейс м/у ними, дабы успевать обрабатывать данные с АЦП, при этом мк еще и несколько загружен другими задачами ? примеры реализации, исходники особенно приветствуется  С интерфейсом более менее разобрался, но теперь возник другой вопрос: Нужно ли для данной задачи организовывать файловую систему?
|
|
|
|
|
May 8 2008, 04:36
|
Местный
  
Группа: Свой
Сообщений: 237
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 791

|
Цитата(Ankoc @ May 7 2008, 14:11)  ... Нужно ли для данной задачи организовывать файловую систему? Собственно файловую систему - не обязательно. Чтобы полностью использовать ресурс 100000 циклов стирания/записи ячейки, можно просто записывать "по кругу", пропуская "BAD-блоки". Но всё равно ресурс устройства получится небольшим. Для данного применения - записи сигнала в реальном времени - флешки не очень подходят. И ещё - при рассчёте темпа оцифровки нужно учитывать время на стирание блоков (2-5 мс на блок) - то есть считать частоту взятия сэмплов исходя из средней скорости записи во флешку + запас на "фоновые задачи" и предусмотреть буфер достаточного размера на время стирания. А что ещё надо хорошо продумать - это как, куда и в каком темпе будут считываться данные. Как определять начало и конец записи. А если чтение надо делать одновременно с записью...
|
|
|
|
|
May 9 2008, 07:53
|
Группа: Новичок
Сообщений: 6
Регистрация: 3-06-05
Пользователь №: 5 714

|
Цитата Для данного применения - записи сигнала в реальном времени - флешки не очень подходят. В таком случае куда тогда писать большие объёмы инф-ции с требуемой скоростью? анализ показал, что альтернативы флешу нет. Или я ошибаюсь? Цитата И ещё - при рассчёте темпа оцифровки нужно учитывать время на стирание блоков (2-5 мс на блок) а вот это не совсем понятно. по своей сути флешка будет "одноразовой", т.е. записали-считали потом на комп и выкинули Цитата ибо ECC 51-й контроллер считать будет очень медленно. здесь уже перешел на более производительный МК Silabs С8051F12X, думаю проблем быть не должно
|
|
|
|
|
May 9 2008, 11:11
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Ankoc @ May 9 2008, 11:53)  В таком случае куда тогда писать большие объёмы инф-ции с требуемой скоростью? анализ показал, что альтернативы флешу нет. Или я ошибаюсь? Давайте уточним: какой именно объем информации с какой именно скоростью нужно писать? В любом случае потребуется приличное количество RAM для буферизации. Цитата(Ankoc @ May 9 2008, 11:53)  а вот это не совсем понятно. по своей сути флешка будет "одноразовой", т.е. записали-считали потом на комп и выкинули Тогда можно стереть блоки заранее. Цитата(Ankoc @ May 9 2008, 11:53)  здесь уже перешел на более производительный МК Silabs С8051F12X, думаю проблем быть не должно Более производительный МК не поможет, тут аппаратное ускорение нужно. Или писать только CRC, все же порча не очень вероятна.
|
|
|
|
|
May 11 2008, 06:18
|
Местный
  
Группа: Свой
Сообщений: 237
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 791

|
Цитата(Ankoc @ May 9 2008, 11:53)  В таком случае куда тогда писать большие объёмы инф-ции с требуемой скоростью? анализ показал, что альтернативы флешу нет. Или я ошибаюсь? Если непрерывно записывать со скоростью 100МB/s, гигабайтная флешка вылетит примерно через пару недель. Если по условию задачи это допустимо, то конечно, об альтернативе задумываться не стоит.
|
|
|
|
|
May 11 2008, 09:52
|
Группа: Новичок
Сообщений: 6
Регистрация: 3-06-05
Пользователь №: 5 714

|
Цитата Давайте уточним: какой именно объем информации с какой именно скоростью нужно писать?В любом случае потребуется приличное количество RAM для буферизации. пишем со скоростью 1 байт/мкс пока не заполнится флеш. Цитата Если непрерывно записывать со скоростью 100МB/s, неужели такая скорость достижима? может кто нибудь встречал/сам делал подобные проекты в сети. Киньте ссылочкой ну хотя бы в общих чертах дающую представление о способе решения моей задачи (времени в обрез, и если делать всё с нуля, боюсь будет слишом долго)? Спасибо всем откликнувшимся!
|
|
|
|
|
May 11 2008, 12:25
|
Местный
  
Группа: Свой
Сообщений: 210
Регистрация: 15-01-08
Из: Новосибирск
Пользователь №: 34 105

|
Цитата(Ankoc @ May 6 2008, 19:14)  Имеем: 1.NandFlash от Samsung (напр. K9F1208) 2. ADuC841 от AD (51МК с АЦП ) Задача: кидать данные с АЦП во флеш при макимальной f дискр. АЦП. Вопрос: как реализовать интерфейс м/у ними, дабы успевать обрабатывать данные с АЦП, при этом мк еще и несколько загружен другими задачами ? примеры реализации, исходники особенно приветствуется  Для обеспечения работы АЦП ADuC841 с максимальной скоростью (2,4мкс) необходимо организовать работу в режиме DMA. При этом идет запись непосредственно во внешнюю память объемом до 16Мбайт. Перед записью данных от АЦП эту память необходимо разметить особым способом. Потом эти данные необходимо переписать во флэш. В режиме DMA ADuC может выполнять другие операции, но внешняя память будет не доступна, пока не закончится ее заполнение. Следовательно Вы можете использовать максимальную производительность (420Ksps) только кусочно. Тэк шта скорости непрерывной записи 1 байт/мкс на ADuC841 Вы никак не добъетесь.
Сообщение отредактировал Linker - May 11 2008, 13:22
--------------------
Я здесь и сейчас...
|
|
|
|
|
May 11 2008, 17:15
|
Группа: Новичок
Сообщений: 6
Регистрация: 3-06-05
Пользователь №: 5 714

|
Цитата Тэк шта скорости непрерывной записи 1 байт/мкс на ADuC841 Вы никак не добъетесь. спасибо за ответ но я это уже понял, поэтому и перешел на другой тип МК
|
|
|
|
|
May 12 2008, 05:41
|
Местный
  
Группа: Свой
Сообщений: 237
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 791

|
Цитата(Ankoc @ May 11 2008, 13:52)  неужели такая скорость достижима? Нет, конечно. Я взял с запасом теоретический предел скорости записи страницы исходя из временной диаграммы для самых шустрых на сегодня, чтобы показать их срок жизни в зависимости от применения. Смысл не в цифре, а в том, что при использовании флешки надо рассчитывать срок жизни устройства. Цитата(Ankoc @ May 11 2008, 13:52)  ... в общих чертах ... представление о способе решения моей задачи ... пишем со скоростью 1 байт/мкс пока не заполнится флеш. В задаче не все условия заданы. Если задано только передать в комп данные с АЦП любым способом, то скорость 1 МБ/с вполне вменяема для USB2. Исходя из назначения устройства можно сразу в комп заливать? Тогда АЦП + FIFO + контроллер и всё программирование - на компе. Это быстрее и проще отладить. Да и скорость можно ещё вытянуть.
|
|
|
|
|
May 12 2008, 09:51
|
Группа: Новичок
Сообщений: 6
Регистрация: 3-06-05
Пользователь №: 5 714

|
Цитата Исходя из назначения устройства можно сразу в комп заливать? Нет, устройство автономное (в общем случае "черный ящик"), сначала идёт запись в энергонезависимую память, после чего прибор подкл. к компу куда и сливаются данные из флеш для последующей обработки
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|