ZED“ (16.12.2010 07:34, просмотров: 1) ответил ZED“ на Начал разбираться с EMAC для AT91SAM9260. Имеется документация на сам контроллер и тестовый пример для IAR под названием basic-emac-uip-webserver-project-at91sam9260-ek. У меня появились вопросы, которые касаются
Тут у меня появились еще вопросы, они касаются приема и передачи пакетов (фреймов) и работы с дескрипторами и указателями адреса:Когда устанавливается и кем бит начала фрейма SOF? Зачем его вообще проверять? При инициализации он должен быть равен нулю, как в принципе и все Слово 1 (Статуса) дескриптора. Каков тогда вообще принцип работы с этими дескрипторами?Еще в доке сказано про 11-битный счетчик, значения которого складывается со значением регистра указателя очереди приемных буферов EMAC_RBQP. Этот счетчик нужно реализовывать или он уже есть в процессоре? При этом не понятно регистр EMAC_RBQP процессор сам инкрементирует (ибо написано, что он содержит адрес (точку входа) дескриптора к которому производится обращение в настоящее время) или что-то туда нужно постоянно писать?Прием пакетов осуществляет функция EMAC_Poll:Сначала проверяется бит Ownership Слова 0 дескриптора приемного буфера. Если он установлен, это значит, что этот буфер используется. Тогда мы проверяем бит начала фрейма SOF. Если он установлен, то в примере от IAR делается какая-то хитрая операция. Видимо связанная со сбросом предыдущего кадра и подсчетом количества использованных буферов. По мимо всего прочего разрешается прием фрема.Каков вообще алгоритм приема/передачи фрейма? Совсем запутался. В доке ничего конкретного не сказано, только какие-то обще рекомендации, или я просто не умею читать.