art_zh wrote:
Кстати, тебе 32 линии GPIO хватит или нужно больше?
маловато! Потом каковы они? Каждый пин можно дергать, как в контроллере? Или переписью побайтно? DWordом? или...?
Ты же ничего не кажеш!? Битовые операции нужны периферии, ты же понимаешь. Строб, допустим нужно выдать с чатотой 16 кГц пусть просто типа меандр...
Serge wrote:
Ещё один геморрой - разные функции задержки типа nanosleep(). Нужны очень, а с реализацией всегда проблемы. Счётчики тактов и инструкций требуют муторной калибрации.
вот, вот, вот! А что там по поводу таймеров и их IRQ!? Сколько, какие, какие тайминги возможны будут, что будет питать SMI, не покорёжит ли из временную стабильность SMI со своими замороками по откладыванию обработчика?
Что вообще с SMI будешь делать (планы)?
У BIOS на него ставка - у меня на его большой зуб негодования! Это уродское исчадие ада по отношению к периферии требующей жестких временных норм, невозможность строить на РС то, что как "два пальца..." реализуется на вшивом МК за полдоллара!
Я тебе писал годик назад, пречитай, давай навесь МК с архитектурой ARM на борт и пусть он реал тайм рулит вшивотиной типа Legacy..........
Часть ядра имее сервис типа микро сеть (SPI напр.) двуголовый CPU - подчиненные бортовой(ые) МК.
Головной 64 битный CPU сбрасывает ему в мозг запросы, макрокоманды, уставки, прогу, вплоть перешивает его, конфигурит... внешняя диаграмма обеспечивается самим МК к мостам не привязана...
Узость МК компенсирует CPU PC, а недостатки периферич. плана у CPU PC компенсируются МК.
Все то, что будет уметь МК (ARM) включая микроконтроллерное масштабирование далее вниз, будет уметь
ТВОЙ БОРТ, и а ля Kolibri-BIOS!
Реально запузырить?
А бы на нем супервизор и скоростную КПСВВ реализовал, тогда ядро может обеспечить RTOS с "внешними латентностями"..... ну-уууу, наверное,
в микросекундных (а то и круче), а не миллисекундных единицах!
у меня сейчас нет под рукой всех спецификаций. Будут в понедельник вечером - тогда отпишусь подробнее.
возможна и шинная (параллельная) организация GPIO, и независимый контроль линий. Сейчас еще не поздно определиться с выбором.
микросекундная латентность вполне достижима (кстати, килогерцовые генераторы при этом можно легко замутить и программно)
А ещё есть вариант поставить FPGA от Xilinx or Altera и например как ещё и довесок USB контроллер типа CY7C68013A (может считать с внешней последовательной памяти произвольные PID VID, на основе которых система распознаёт своё USB устройство и загружает программу выполнения в ОЗУ контроллера - есть решения на этой микросхеме, например, LPT-порта, логических анализаторов на одной данной икросхеме и буферных элементах.
P.S. Сами интерфейсные платы можно сделать в съёмном исполнении для использования в автономноммобильном приборе, при необходимости.
FPGA - можно, но для пробной серии пока не актуально, а вот с USB-контроллером это интересно. Этот чип знаю хорошо (даже лучше чем хотелось бы
), но для отладки наверно это был бы очень полезный вариант.