реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> ИМС Ethernet контроллера CS8900A-CQ3, Странности при опросе состояния
Волощенко
сообщение Apr 20 2006, 06:42
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377



Здравствуйте, Знатоки! Помогите разобраться!
Я разрабатываю конвертор E1 в Ethernet и обратно, где использую микросхемы CS8900A-CQ3, C8051F127 и XC9572XL.
Контроллер CS8900A-CQ3 работает в режиме I/O 8 бит. Каждые 125мкс опрашиваю его регистр RxEvent и анализирую флаг RxOK, чтобы обнаружить принятый Ethernet-фрейм. Если флаг равен единице, то считываю из буфера принятые данные. Для этого через PacketPagePointer и PacketPage Data (Port 0) по адресу 0x0400 считываю RxStatus, а по адресу 0x0402 – RxLength. Обычно при приеме 200 байт из этих регистров поступают коды 0104 и 00СС. Далее, начиная с адреса 0x0404, я считываю данные и выдаю их в поток Е1.

Вопросы:
1. Частенько вместо кодов 0104 и 00СС, считываются коды 0104 и 0000, т.е. с указанием, что длина пакета RxLength=0, что само по себе является сбоем. Но я хорошо наблюдаю по осциллографу, что нужные пакеты поступают. Почему такое происходит?
2. Продолжая эксперименты, сразу после первого считывания кода RxLength, я просто повторил это действие еще четыре раза, не принимая во внимание считанные здесь данные. Теперь при первом считывании у меня всегда нужный код т.е. 00СС. Почему такое происходит, до этого я работал с CS8900A-CQ (с питанием в 5В), и у меня в работе подобного не замечалось?
Спасибо за ответ smile.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 14th July 2025 - 23:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01359 секунд с 7
ELECTRONIX ©2004-2016