
| Пинговалка "Бейрут-телеком" |
|
| Автор: Doc | |||
| 19.06.2010 19:17 | |||
|
Материал по "пинговалке" предоставлен Сергеем Белоусовым (если нужно писать, то лучше это сделать транслитом). В текст внесены лишь "косметические" изменения. Если говорить кратко, то "пинговалка" представляет собой сетевую карту ISA, и подключенный к ней однокристальный микроконтроллер фирмы MicroChip. В данном экземпляре устройства используется микроконтроллер 16F877. Исходные детали показаны ниже - вроде ничего страшного в них нет.
Микроконтроллер осуществляет эмуляцию управляющих сигналов шины ISA, умеет работать с регистрами сетевой карты и, что самое главное, содержит реализацию подмножества протоколов TCP/IP. Проект базируется на двух разработках зарубежных товарищей (первая и вторая). Соответственно, в них используется карта NE2000 и 3com 3C509B. Проекты не совместимы т.к. используют различные порты микроконтроллера для управления сетевой картой. Для определенности рассмотрим изготовление "пинговалки" на базе второй разработки (там фото симпатичнее). Для разработки нужно:
Принципиальная схема на следующем рисунке: Следует отметить, что нумерация выводов на ISA плате следующая:
Далее нужна прошивка для однокристалки. Пример можно взять тут. Только не забудьте перед сборкой поправить IP адрес в строчках 203 - 208, т.е. прописать правильный IP адрес, который будет у Вашей "пинговалки". Собрать ассемблерный исходник можно транслятором, взятым тут. Строка должна представлять собой что-то типа gpasm source.asm -I ..\header, где source.asm - то, что вы компилируете. ..\header - путь к заголовочным файлам, которые идут в комплекте. В результате образуется файл source.hex, который можно скармливать программатору. Если нет доступа к программатору, или нет желания с этим возится - Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript , договоримся. Вот такой результат должен получиться после сборки схемы:
С обратной стороны:
Настоятельно рекомендуется включать схему через диод и стабилизатор на КРЕН5. Это позволит питать схему от любого блока питания, или от батарейки Крона. Кроме того, диод избавит от тяжких последствий включения питания в неверной полярности. Схема стабилизатора приводится на следующем рисунке:
Проверить результат можно командой ping (не забудьте включить сетевой
кабель и питание :-). Не пингуется? Все правильно. Максимальный воспринимаемый размер пакета - 22 байта. Правильная команда - ping 192.168.xx.xx -l 20 В качестве итога, опишем что умеет собранная схема:
Важно понимать, что окончательной принципиальной схемы подобной "пинговалки" просто не существует т.к. она сильно зависит от выполняемых задач, условий эксплуатации и т.д. Минимальная схема состоит из сетевой карты, однокристалки, трех конденсаторов, одного резистора и кварца на 4 mz. Максимальная - тут все зависит от фантазии. Несколько слов о том, как это используется у нас. Стандартную прошивку не используем. "Своя" позволяет динамически менять IP адрес "пинговалки" по комманде от сервера (не перешивать же из-за такой ерунды чип :-). Выход управляемый оставлен только один. На остальные 6 выходов подключены светодиоды, которые загораются, если "пинговалку" пингуют с определенных хостов (программируются с сервера динамически). Таким образом, наличие только трех подобных устройств в цепочке из 11 неуправляемых свичей и хабов позволяет с весьма большой точностью определять место поломки. Кроме того, устройство может использоваться монтажниками вместо ноутбука (в ограниченной области :-) Т.е. может мигать лампочками, когда его пингуют определенные хосты. При подключении клиента или поиске неисправностей в сети больше и не нужно. Потом, если интересно, могу рассказать, как к однокристалке подключается COM порт, поднимается PPP и получаем... Ну можно догадаться :-)
|
