У нас есть приложение, которое работает на PIC24H, мы хотели бы перенести его на другой MCU, предпочтительно ARM Cortex. Приложение крайне критично ко времени, а это означает, что нам необходимо крайне детерминированное поведение кода. Одним словом, есть импульсы, которые поступают через специальное аппаратное обеспечение на выводы GPIO, данные анализируются сразу. Обработка данных не сложна (для этого нам не нужен сложный процессор / mcu). После анализа данных выходные выводы GPIO записываются в их значения.
Приложение в 3 коротких строки:
входные контакты процесса
определить шаблон при обработке входных пинов
на основе полученного вывода записи вывода шаблона
PIC24H работает на частоте 40 МГц, мы можем переключить вывод в 25 нс, мы были бы благодарны, по крайней мере, за 2-кратную скорость для будущих обновлений. Так что MCU, который может запускать детерминированный код и переключать контакты с частотой не менее 80 МГц (12,5 нс), будет просто замечательно. Нам не нужно переключать контакты с постоянной высокой скоростью, нам нужен mcu, который может переключать его менее чем за 25 нс. Мы не можем тратить циклы при переключении, если один цикл выключен, мы теряем синхронизацию. Все должно быть выполнено с точностью до одного цикла (или двух, но постоянных двух циклов), поэтому код должен быть на 100% детерминированным.
Пожалуйста, дайте мне знать, если я что-то упустил, или если то, что нам нужно, можно сделать с помощью некоторых других методов в Cortex-M. Просто имейте в виду, что в случае потери одного цикла (из-за кеша или подобного) мы теряем синхронизацию сигнала, и приложение не будет работать правильно или вообще.
Спасибо!
Br