Здравствуйте!
Столкнулся с такой задачей - плата на Cyclone V GX с NIOS-II и uCOS-2 С главной платой она общается по SPI, имеется также один сигнал для индикации наличия ошибок. Теоретически возможны ошибки по:SEU, PLL lock Более вероятны ошибки в софте - есть 3 WDT на Авалоне подключены к НИОСу для 3х важных тасков Есть также внешний WDT, обновляется счетчиком, который делит системную, тоесть сработает он только после длительного пропадания тактовой. Кроме разной переферии есть еепром на i2c.
До сих пор все ошибки нужно было показывать главному модулю через сигнал ошибки. тоесть все ошибки были протащены через ИЛИ без триггера, главный в свою очерить дергал PROGRAM для переконфигурации.
Возникло требование - при обнаружении ошибки уведомить главного, сохранить причину ошибки, ресетнуть само себя или сделать реконфигурацию (в случае SEU). И после этого предоставить информацию главному через SPI.
Пытаюсь понять: 1. Есть ли метод сохранить даные в ФПГА (без переделывания плат) даже после реконфигурации если питание не выключалось? Вроде бы есть 256 бит для ключа шифровки, но есть ли к нему доступ, да и батарейку ставить нельзя. Буду курить аппноты, но пока не понятно...
2.Пришла мысль - если нельзя сохранить даные при реконфигурации, то при простом ресете логики и NIOS можно определить и сохранить ресеты вачдогов и PLL, а SEU - методом исключения.
3. Как максимально надежно и параноидально оформить решение что бы наверняка защелкнуть сигналы ошибок + прочитать и сбросить их после? Теоретически и клок может сбоить
Буду рад любым подсказкам на эту тему.
Сообщение отредактировал antsu88 - Jun 25 2015, 12:33
|