Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Архив
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

CPU Card 5070 Octagon

 Ответить Ответить Страница  <123
Автор
Сообщение
Лопаткин Борис Смотреть выпадающим
Новичок
Новичок


Присоединился: 06 Ноябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 10
Свойства публикации Свойства публикации   Ответить, цитируя автора - Лопаткин Борис Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: CPU Card 5070 Octagon
    Опубликовано: 10 Ноябрь 2003 17:24
Хотелось бы все-таки понять, можно ли как-то решить на OCTAGON 5070 задачу, поставленную Алексеем Григорьевым (т.е. запись в энергонезависимую память порядка 20КБ в конце каждого 12мс цикла за время порядка 1мс)? Встречается такая задача в системах управления не так уж редко: как правило, нужно сохранять текущее состояние задачи и начинать последующую работу после включения питания с запомненного состояния (это могут быть блокировки, триггерная логика, рекурсивные алгоритмы и т.д.). Варианты типа "записывать не все" или "записывать по частям" здесь не проходят - в общем случае в одном цикле может измениться все и сразу. Вопрос важен еще и потому, что у разработчиков процессорных плат в последнее время наметилась тенденция отказа от SRAM с батарейным питанием в пользу Flash - у Fastwel CPU686E, например, ее тоже нет. Вот и хотелось бы понять, как решать на этих платах подобные задачи. Может быть, кто-нибудь может предложить приемлемый вариант, ведь на старых платах OCTAGON это делалось без всяких проблем.
С уважением,
Лопаткин Б.В.
Наверх
К.Кругляк Смотреть выпадающим
Новичок
Новичок


Присоединился: 25 Июнь 2003
Online Status: Offline
Публикации: 29
Свойства публикации Свойства публикации   Ответить, цитируя автора - К.Кругляк Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 11 Ноябрь 2003 15:19
Наверное, в такой постановке задачу решить другим способом нельзя.
Но, давайте все-таки разберемся с постановкой. Вот цифры:
- цикл программы 12 мс
- перезагрузка длится несколько секунд (1,5-минимум)
Вопрос : в чем философия или физический смысл сохранения данных на КАЖДОМ цикле ? А если несчастье случилось на 1 секунду раньше ?
На мой взгляд, абсолютно логично в этой ситуации сохранять данные 1 раз в секунду и жить долго и счастливо с обычным CompactFlash
С уважением
Кругляк Константин
Наверх
Лопаткин Борис Смотреть выпадающим
Новичок
Новичок


Присоединился: 06 Ноябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 10
Свойства публикации Свойства публикации   Ответить, цитируя автора - Лопаткин Борис Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 12 Ноябрь 2003 11:12
К сожалению, не все так просто. Дело в том, что кроме всего прочего мы еще пишем в SRAM архив событий, в который записываются все действия и события в системе. Типичная ситуация: произошла какая-то авария, события пишутся десятками в каждом цикле, после чего происходит переход на аварийное питание, в процессе которого возможен (а, значит, когда-нибудь обязательно произойдет) сбой по питанию и перезагрузка контроллера. И при последующих разборках важнее всего знать, что происходило как раз в эти последние несколько циклов. Конечно, решение есть. События пишутся в таких количествах далеко не всегда, поэтому нужно просто отслеживать, что писать и когда: что-то писать при определенных событиях, что-то - только по изменению, а что-то вообще не писать. Неприятно то, что это потребует полной переработки подсистемы архивирования, в которой раньше мы писали полное состояние системы в каждом цикле, причем с резервированием, контрольными суммами и т.п. А лезть с хитрыми алгоритмами в отработанную и годами проверенную часть программы уж очень не хочется. В этой связи только один вопрос: ладно, с числом циклов перезаписи как-то можно выкрутиться, а как быть с быстродействием? То есть в предельном случае нужно записать эти самые 20КБ за время порядка 1мс, возможно это на Flash 5070 или нет?
С уважением,
Лопаткин Б.В.
Наверх
Olej Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 14 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 267
Свойства публикации Свойства публикации   Ответить, цитируя автора - Olej Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 12 Ноябрь 2003 12:34
Первоначально опубликовано Лопаткин Борис

В этой связи только один вопрос: ладно, с числом циклов перезаписи как-то можно выкрутиться, а как быть с быстродействием? То есть в предельном случае нужно записать эти самые 20КБ за время порядка 1мс, возможно это на Flash 5070 или нет?


У нас подобная ситуация, только объёмы данных поменее (пару сот байт), и период перезаписи пониже (т.е. ассинхронный, по событиям)... В макетном действующем (более года) экземпляре мы пока так и сделали - регистрация пишется на DiskOnChip. Хотелось бы добавить вот какие соображения:

1. число перезаписей - это самый критический и настораживающий параметр. Но (это мне показывали мои аппаратчики - за что купил, за то и продал... ;-)) в новых образцах DiskOnChip схемотехнически исключаются участки, исчерпавшие ресурс перезаписи (сбойные), с прозрачной подменой их на резервные. При этом долговечность, похоже, возрастает на порядки.

Детали - посмотрите на сайте производителя фирмы M-System (сайт как-то одноимённо называется, легко найти) - там много тех. информации.

2. об скорости - наверное, лучше всего уточнить там же.

P.S. У нас есть небольшой, но в высшей степени продуктивный опыт взаимодействия с M-System - когда у нас возникли проблемы с драйверами TFS - мы обратились к ним мэйлом, и не более чем в 3 дня (не помню точно, но очень оперативно) - они нам переслали новые редакции со всеми комментариями и разъяснениями.

Наверх
К.Кругляк Смотреть выпадающим
Новичок
Новичок


Присоединился: 25 Июнь 2003
Online Status: Offline
Публикации: 29
Свойства публикации Свойства публикации   Ответить, цитируя автора - К.Кругляк Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 12 Ноябрь 2003 13:46
> произошла какая-то авария

Снятие "посмертной маски" - это же совершенно другая задача ! Писать 20Кб каждый цикл, конечно, можно, но это уж слишком "в лоб"

> схемотехнически исключаются участки, исчерпавшие ресурс перезаписи

эта технология называется "wear levelling", она реализована и у M-Systems и у Sandisk . Полную документацию по DOC Вы можете найти также здесь:
ftp://www.prosoft.ru/pub/Hardware/msystems/DiskOnChip_CD/
А по CompactFlash Sandisk здесь :
ftp://www.prosoft.ru/pub/Hardware/sandisk/CompactFlash/

> нужно записать эти самые 20КБ за время порядка 1мс

В режиме последовательной записи для последних моделей CF Sandisk (с контроллером Athens) скорость составляет 9 Мб/с, то есть потребуется все-таки 2-3 мс. Но, опять-таки, кто же так делает ? Сам в свое время писал таких программ немерянно :
- выделяется кольцевой буфер в ОЗУ
- из прерывания в реальном времени в буфер инфо пишется
- по флагу аварии фоновый процесс начинает выкачивать из буфера данные во флеш или на диск
- если размер буфера подобран нормально, то проблем со временем не возникает
С уважением
Кругляк Константин
Наверх
Sergey Sorokin Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 27 Март 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 240
Свойства публикации Свойства публикации   Ответить, цитируя автора - Sergey Sorokin Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 13 Ноябрь 2003 21:46

Первоначально опубликовано Лопаткин Борис

В этой связи только один вопрос: ладно, с числом циклов перезаписи как-то можно выкрутиться, а как быть с быстродействием? То есть в предельном случае нужно записать эти самые 20КБ за время порядка 1мс, возможно это на Flash 5070 или нет?

Действительно, с числом циклов можно выкрутиться. Например ставите Флэш-диск в два раза большей емкости и можете работать на нем не 2, а 4 года. Что уже превышает время жизни большинства литиевых батареек в SRAM модулях.

Оптимально было бы иметь SRAM диск в формате Compact Flash. Однако если для PC Card (PCMCIA) SRAM карты выпускаются, то для CF я такого не встречал.

Для записи 20К в 1мс нужна пиковая пропускная способность CF интерфейса в 20Мбайт/сек. Это в основном зависит от используемого чипа на 5070 (так как ATA интерфейс сидит на внутренней шине, такая скорость в принципе возможна, но нужно смотреть даташит на эту микросхему). Средняя скорость записи в CF требуется около 2мбайт/сек, что лежит в рамках стандартных скоростей. Однако необходимо, что бы в CF карте был внутренний буфер, заполняемый в течении 1 мсек и затем переносимый собственно во флэш-память в следующие 10мсек. То есть нужно смотреть подробные технические данные на конкретную CF карту (точнее на размер внутреннего буфера).

Другими словами, если пропускная способность интерфеса не менее 20мбайт/сек, а размер внутреннего буфера CF карты не менее 20К, то Вашу задачу можно решить в лоб. В конечном счете можно взять 5070 и провести соответствующие испытания. 

С Уважением,

Сергей Сорокин

Наверх
 Ответить Ответить Страница  <123

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz