Полная версия этой страницы:
cs8900a издевается надо мной
PriBoris
Mar 3 2007, 23:54
Помогите пожалуйста понять что происходит и в каком направлении копать.
Потому-что я вообще потерял нить, и появилось ощущение, что техника надо мной издевается.
Передача пакетов.
Если я прописываю МЕНЬШЕ примерно 34 байт в пакет, то он корректно отсылается. В cs8900a срабатывает прерывание tx ok, все как по описанию. Ethereal/IRIS/собственная_прога_на_основе_winpcap
видят эти пакеты, правда видят их дополненными до 60 байт последним посланым байтом.
Проблемы :
1. Установка флагов inhibit crc и автодополнения в TxCMD вообще никак не влияют на происходящее.
2. При попытке посылать БОЛЬШЕ чем 34 байта (1) прерывание в cs8900a не срабатывает, хотя осцильником наблюдаю как пакет изрыгается из контроллера (2) ethereal и сотоварищи его не видят, а iris который якобы имеет счетчик ошибок, этим счетчиком ничего не регистрирует.
Что делать ? Где искать проблему ?
PS
Прогу для управляющего процессора писал на основе скачанных линуксовых и досовских драйверов для сетевух на cs8900a, а также используя аппноту для msp430
Волощенко
Mar 5 2007, 10:32
Цитата(PriBoris @ Mar 4 2007, 00:54)

Помогите пожалуйста понять что происходит....
....прерывание в cs8900a не срабатывает....
....Что делать ? Где искать проблему ?
.... для msp430
Уточните, с какой шиной работаете: 8- или 16-разрядов. Для 8-разрадной interrupts
не работают вовсе (см. AN205 "CS8900A Frequently Asked Questions, там первый из ответов)
PriBoris
Mar 5 2007, 10:55
16 бит
Уточню, прерывания есть, я их вижу и пакеты стабильно и надежно отсылаются контроллером и принимаются если длина посылаемого пакета МЕНЬШЕ примерно 40 байт. От 40 до 62 посылаются если насильно перепосылать. Больше 62 не посылаются вообще никак.
Вообще непонятно почему я вижу с помощью осциллографа, что cs8900a пакет отсылает, но сам на это абсолютно никак не реагирует (не ругается на коллизии или еще на что-то).
PriBoris
Mar 5 2007, 12:04
Отбой. Извините за беспокойство. Я просто невнимательный **дак.
В контроллере регистр TxCMD находится по двум адресам, в одном для чтения, а в другом для записи.
А я писал в читательный TxCMD. Странно, что контроллер хоть что-то при этом отсылал.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.