-
- Если все синхронно, то лишь бы шина пропустила, а если асинхронно, то выставить приоритеты для планировщика на случай возникновения коллизий задач. Звероящер(103 знак., 23.10.2015 12:33)
- В железке для которой когда-то писал ПО для датчика который нужно опрашивать часто и с фиксированным периодом тупо была выделена отдельная шина. AlexG_(79 знак., 23.10.2015 05:24, )
- Ввести "полосу" для EEPROM, а дальше - как разрулишь Vit(370 знак., 22.10.2015 20:22)
- Первые прикидки показывают, что размер блока - фигня. 4 мкс на байт при странице 256 = 1 мс, а запись 10 мс. Т.е. временной банд напрашивается, с привязкой к опросу датчика. Не попал - жди. - VL(22.10.2015 21:26, )
- Во время записи (10мс) шина SPI свободна, или у EEPROM не так? - AlexBi(23.10.2015 17:56)
- Все так же - можно бросить шину и ждать фиксированное время, или опрашивать готовность. - VL(24.10.2015 11:46, )
- угу, проверочка конца таймаута или какого бизи на входе не помешает - Vit(22.10.2015 21:39)
- Во время записи (10мс) шина SPI свободна, или у EEPROM не так? - AlexBi(23.10.2015 17:56)
- Разумно. При необходимости можно еще интеллекта добавить. Вычислять EEPROM_BAND в зависимости от остатка времени до следующего опроса датчика. Или наоборот упростить - перед записью в EEPROM ожидать считывания датчика и после этого запускать vmp(102 знак., 22.10.2015 21:03)
- Первые прикидки показывают, что размер блока - фигня. 4 мкс на байт при странице 256 = 1 мс, а запись 10 мс. Т.е. временной банд напрашивается, с привязкой к опросу датчика. Не попал - жди. - VL(22.10.2015 21:26, )
- Какое нах урвать ресурсы под spi.? Положить char в буфер сидьно ного ресврсов отнимает ? Слышь, ты, с адин вайрникогда не сталкивался ? Вот там ресурсы.... Если usart не использовать. - _basile(22.10.2015 19:59, )
- Не нужны там ресурсы. Только таймер и прерывание по уровню. - Звероящер(23.10.2015 12:29)
- Сколхозить арбитраж. С приоритетами, максимальным разрешённым временем занятия шины и т.д. Не так уж и сложно, как мне кажется. SciFi(293 знак., 22.10.2015 19:44 - 19:57)
- Что будет делать программа, если операция EEPROM не получила доступ? Вызовов сотни, значит банально ждать, нужно прикидывать, насколько возрастет задержка, может буферизацию операций придется добавлять. Вот к чему приводит экономия. - VL(22.10.2015 19:57, )
- Не получила доступ к чему? Весь обмен по SPI идет на основе пакетов. Все пакеты заранее известной длины. Простейший арбитраж позволит обеспечить гарантированный доступ к шине задач, выполняющихся строго с каким-то периодом. Не понятно в чем AlexBi(10 знак., 22.10.2015 20:16)
- 1) Нету фиксированного периода, есть моменты, когда потребность записать в EEPROM возрастает в сотни раз. 2) длина пакетов в EEPROM отличается в сотни раз. Жестко поделить ресурсы заранее, по времени, нереально. - VL(22.10.2015 21:18, )
- Дык вроде бы EEPROM предполагает длительные задержки при записи. Туда можно и слона пропихнуть, нет? - SciFi(22.10.2015 21:23)
- да, уже выше посчитал, что разный размер блоков - фигня. - VL(22.10.2015 21:28, )
- Дык вроде бы EEPROM предполагает длительные задержки при записи. Туда можно и слона пропихнуть, нет? - SciFi(22.10.2015 21:23)
- 1) Нету фиксированного периода, есть моменты, когда потребность записать в EEPROM возрастает в сотни раз. 2) длина пакетов в EEPROM отличается в сотни раз. Жестко поделить ресурсы заранее, по времени, нереально. - VL(22.10.2015 21:18, )
- Советую призвать
будённовцаfk0. Он в таких вещах шарит, как мне кажется. Пусть жгёт напалмом. - SciFi(22.10.2015 20:04)- HOLD, если не еепром а NOR flash - fk0(22.10.2015 22:32)
- Спасибо. Наконец-то понял нафиг холд нужен во флэшке. - Shatun_(22.10.2015 22:44)
- есть чипы с таким входом. позволяют приостановить обмен с памятью (большие блоки ибо), быстренько передать что-то из/в другую микросхему, и продолжить с памятью. Если мс памяти такого входа не имеет, то можно на аналоге ЛА3 и GPIO замутить. - fk0(22.10.2015 22:36)
- HOLD, если не еепром а NOR flash - fk0(22.10.2015 22:32)
- Буферизация неизбежна, если возможны такие коллизии. Это капитан Очевидность только что сообщил. - SciFi(22.10.2015 19:58)
- Не получила доступ к чему? Весь обмен по SPI идет на основе пакетов. Все пакеты заранее известной длины. Простейший арбитраж позволит обеспечить гарантированный доступ к шине задач, выполняющихся строго с каким-то периодом. Не понятно в чем AlexBi(10 знак., 22.10.2015 20:16)
- Что будет делать программа, если операция EEPROM не получила доступ? Вызовов сотни, значит банально ждать, нужно прикидывать, насколько возрастет задержка, может буферизацию операций придется добавлять. Вот к чему приводит экономия. - VL(22.10.2015 19:57, )