Самое сложное в этом устройстве это софт. Поскольку в процессе написания прошивки приходилось часто перепрошивать контроллер, то я впервые решил воспользоваться загрузчиком который совместим с программой прошивальщиком AVRPROG которая входит в состав AVR студии. Для того чтоб прошить контроллер в устройстве нужно подсоединить его к порту USB и в течении семи секунд пока горят все три светодиода, запустить прошивальщик. Если всё ок то выскочит окно с интуитивно понятным интерфейсом где нужно выбрать прошивку и нажать кнопку «прошить». Если прошивальщик не видит устройства то нужно поменять номер ком пора у вашего устройства. Желательно установить его в первом десятке ком портов. У меня например он висит на COM5 и всё отлично работает. Если программа для управления отладчиком не хочется конектиться к устройство, то причины и средства устранения те же – сменить номер порта в диспетчере устройств. Прошивка самого устройства не сильно замысловатая: Её задача просто напросто принимать байт по UART и определённым образом дрыгать ногами микроконтроллера. Написана она на микропаскале и подробно расс
Для шины i2c и 1-wire нужна подтяжка. В данном устройстве она программно отключаемая, т.к. это весьма удобном потому что иногда эти резисторы уже могут быть впаяны в плату с какой либо i2c или 1-wire микросхемой. Так же есть возможность программно управлять питанием подключенного устройства. Для этого служит транзистор T1. Ставить можно любой p-n-p лишь бы тянул через себя нужный ток.P Так же в устройстве есть три светодиода: Зеленый – индикатор питания, Желтый – индикатор активности и Красный индикатор питания подключаемого устройства. В устройстве предусмотрена простенькая защита от короткого замыкания в виде токоограничивающих резисторов на тех линиях микроконтроллера которые являются выходами. Кроме линий входящих в интерфейсы i2c SPI и 1-wire так же присутствует линия f1. Её состояние может управляться программно. Пока не знаю для чего её использовать, просто сделал на будущее. Поскольку корпуса у меня пока нет, (он в пути) то пока юзаю голую платку. Все детали кроме контроллера в SMD исполнении:
Запаять такое с феном не проблема, на счёт паяльника ничего сказать не могу. Запаивать её нужно так: На контактные площадки равномерно наносятся крошечные шарики припоя. Потом всё это дело щедро смазывается флюсом (я юзал обычный СКФ). После этого надо чтоб флюс немного подсох для загустения. Теперь самое важное – аккуратно поставить микросхему. За счёт флюса она прилипнет и никуда теперь не денется. После этого берем фен и греем до полного припаивания. Греть надо осторожно, следить чтоб флюс не закипал и не брызгался, в противном случае микросхему просто может сместить с её места брызгами. Кстати в процессе работы микросхема тёплая самую малость (едва уловимо если трогать рукой). Кроме этих двух микросхем почти ничего интересного больше в схеме нет:
Сердцем девайса является микроконтроллер атмега8 в дип корпусе. Почему в дип? Потому что я давно мечтал его куда-то пристроить т.к. выводные детали мной уже почти не используются. Контроллер работает на частоте 8 МГц, этой частоты вполне достаточно да и при пониженном напряжении питания он должен работать вполне стабильно если верить даташиту. У отладчика существуют два рабочих напряжения: 3.3 вольта и 5 вольт. Сделано это для того чтоб не мучиться с согласованием логических уровней у микросхем которые питаются от 3.3 вольт.P Пониженное напряжение создаётся low drop стабилизатором и включается тумблером на плате. Вторая немаловажная микросхема это преобразователь интерфейса USB – UART на новой для меня микросхеме CP2102. Микросхема хорошо себя зарекомендовала: Ком порт не отваливается, скорость передачи данных высокая. И конечно цена тоже вполне адекватная (~2.5$).P Короче вполне достойная альтернатива FT232. Если нет свободного USB порта но есть лишний ком порт, то вполне запросто можно выкинуть эту микросхему и сделать преобразователь уровней на MAX232. Сойдет даже вот такой самодельный преобразователь интерфейсов о котором я писал . Скажу сразу что микросхема очень мелкая:
После того как NXP мне кучу всяких микросхем с интерфейсом i2c, я начал их раскуривать некоторые из них. Как известно работа с i2c устройствами сводится к тому, чтоб записать или считать значения хранящиеся в определённых регистрах микросхемы. Обычно на время изучения какой либо микрухи я городил на своей небольшой макет из контроллера, программатора, RS232<-> UART преобразователя и непосредственно самой микросхемы. Через компьютер посылаются команды и контроллер что-то передаёт по шине i2c или наоборот читает, отправляет стартовые и стоповые посылки итд. Примерно таким же образом у меня происходит процесс изучение микросхем с интерфейсами SPI и 1-wire. Чтоб не городить каждый раз тестовый макет было принято решение собрать универсальный отладчик с поддержкой протоколов i2c SPI и 1-wire.
Дата 29 октября 2011 18:00
Конструкции на микроконтроллерах AVR и не только…
Отладчик i2c SPI 1-wire :AVR devices
Комментариев нет:
Отправить комментарий