Добрый день, уважаемые.
Проект не заглох, а вновь продолжается. :) Плату GPU еще не изготавливал, так как сперва решил сделать плату главного процессора.
Раньше я использовал отладочную плату с ATSAM3X, сейчас решился разработать свою плату с микроконтроллером из этой же серии.
Выбор пал на, довольно, не популярный контроллер
ATSAM4C
. Обладает он почти тем же (исключая обилие io), чем и SAM3X, но есть несколько плюшек.
- Частота внешней шины 60MHZ (вместо прежних 33)
- Ядро M4 с кэш-ом 2кб
- Два ядра (точнее 1.5, так как второе ядро предназначено только для сложных вычислений)
- Корпус LQFP-100 0.5мм
- Минимум интерфейсов: SPI, UART, внешняя шина, JTAG и оставшиеся 4 I/O (PWM), RTC часы. (для меня - идеальный вариант, ничего лишнего)
Но тут пришла беда: никто, кроме ATmel ничего не делал на этом контроллере, что соответственно лишает его дополнительной документации, корпусов для различных САПР. Документация Atmel устроена так: смотрим на таблицу1, ищем соответствия в таблице3, смотрим таблицу76, смотрим таблицу пинов, смотрим таблицу remap... только после этого можно узнать, что это за нога у микросхемы. (а их 100!!!)
Если кому пригодится, после долгих мучений с документацией, я составил
картину SAM4
, где указаны назначения ног.
----
Я так понял, что ARM контроллерам не нужен внешний кварц, похоже, они сами из своего внутреннего делают нужную частоту. У SAM4C нет никакой поддержки распределения ресурсов между двумя ядрами: два ядра - две отдельные прошивки.
----
Начал рисовать плату под SAM4C, сырая версия:
На одном слое сигналы развести не получилось, поэтому есть переходы. Автотрассировщики наделали 100млн. отверстий, поэтому взялся за просто Sprint-Layout, который, к счастью, обновили и рисовать стало проще. :)
Пробовал программы при разводке:
- P-CAD (почти подошел, но дело встало на создании схемы и последующей нехватки корпусов.)
- Altium (замучился с библиотеками, специфицируется больше на fpga, dsp)
- Mentor PADS (замудренная вещь, но судьба та же, что и у p-cad)
Конечно, правильнее нарисовать схему в программе, затем ее уже и перенести на плату; так и большинство ошибок можно исключить.
---
Не понял: зачем нужны JTAGSEl, TST пины - вывел их на кнопки с подтяжкой. MBFTDI программатор марсохода подружить с контроллером, похоже, не получится :(, поэтому закажу J-LINK.
PS: Извиняюсь за чрезмерную многословность, мыслей накопилось много :)