Схема кодграббера на pic18f252

Схема кодграббера на pic18f252

Тимофей Носов ICQ# 770008
E-mail ntv1978 (at) mail.ru
www . miliamper . narod . ru

По данной статье нам поступило большое количество писем с вопросами, замечаниями, благодарностями. Всем авторам выражаем большую признательность за теплые слова и бесценные материалы. Если вы решите самостоятельно повторить программатор EXTRA — PIC , мы надеемся, что эта статья поможет вам убедиться в правильности решения и отбросить все сомнения.

В статье рассматривается программатор EXTRA-PIC, данные о котором получены из открытых источников на www .5 v . ru (DOC Rev.1.03.00). Список поддерживаемых микросхем, при использовании с программой IC-PROG v1.05D:

PIC- контроллеры фирмы Microchip: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675, PIC16C433, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16C84, PIC16F83, PIC16F84, PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630*, PIC16F648A, PIC16F676*, PIC16C710, PIC16C711, PIC16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770*, PIC16C771*, PIC16C773, PIC16C774, PIC16C781*, PIC16C782*, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877, PIC16F877A, PIC16C923*, PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8720*

Примечание: микроконтроллеры, помеченные звездочкой (*) подключаются к программатору только через разъем ICSP.

Последовательная память EEPROM I2C (IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, AT24C512.

Расположение выводов ICSP у PIC-контроллеров.

Внимание! Материал только для общей справки. Обязательно убедитесь, что указанное расположение выводов соответствует выбранному вами микроконтроллеру. Для этого, обратитесь к Data Sheets и Programming Specifications на соответствующий микроконтроллер.

Пояснение: Вывод PGM рекомендуется "притягивать" к общему проводу (GND), через резистор номиналом 1К.
Для справки: микроконтроллеры с 14-контактным корпусом вставляется частью ножек в соответствующую 8-контактную панель.

Рисунок печатной платы (облегченный вариант) (скачать в Sprint Layout ).

Рисунок печатной платы (полная версия) (скачать в Sprint Layout ).

Фотография собранного программатора (облегченный вариант)

Далее мы приводим альтернативные рисунки печатных плат программатора EXTRA — PIC (авторство установить не удалось)

Вариант 1 (скачать в Sprint Layout ).

Вариант 2 (скачать в Sprint Layout ).

Отдельного внимания заслуживает печатная плата разработанная нашим другом markomar2005 (at) yandex.ru , которая разведена под "маркер".

Вариант от MARKO (скачать в Sprint Layout).

Считаем необходимым разместить здесь фотографии программаторов наших благодарных читателей. Если вы достигли результатов, не стесняйтесь — высылайте фотографии, мы с радостью их здесь разместим.

Автор il86md (at) mail.ru

Автор sound65 (at) rambler.ru он же greeze (at) inbox.ru

Альтернативный вариант (+ сменные модули) от markomar2005 (at) yandex.ru

Вариант от alex_vw (at) mail.ru

Пошаговая инструкция или "Как прошить PIC -контроллер"

Введение. Данная инструкция составлена на примере прошивки микросхемы PIC16F876A для сборки универсального многоканального АЦП.

  1. Соберите программатор (в т.ч. распаяйте удлинительный шнур мама-папа для COM -порта и подготовьте блок питания на напряжение не менее15В).
  2. Скачайте программу IC-PROG отсюда или с http://www.ic-prog.com/ (733 кб).
  3. Распакуйте программу в отдельный каталог. В образовавшемся каталоге должны находиться три файла:
  • icprog.exe – файл оболочки программатора;
  • icprog.sys – драйвер, необходимый для работы под Windows NT, 2000, XP. Этот файл всегда должен находиться в каталоге программы;
  • icprog.chm – файл помощи (Help file).

4. Настройте программу.

Для Windows95, 98, ME

Для Windows NT, 2000, XP

(Только для Windows XP):
Правой кнопкой щёлкните на файле icprog.exe.
"Свойства" >> вкладка "Совместимость" >>
Установите "галочку" на "Запустить программу в режиме совместимости с:" >> выберите "Windows 2000".

  1. Запустите файл icprog.exe.
  2. Выберите "Settings" >> "Options" >> вкладку "Language" >> установите язык "Russian" и нажмите "Ok".
  3. Согласитесь с утверждением "You need to restart IC-Prog now" (нажмите "Ok").
  4. Оболочка программатора перезапустится.
Читайте также:  Как закоптить сало в квартире без коптильни

"Настройки" >> "Программатор".

Проверьте установки, выберите используемый вами COM-порт, нажмите "Ok".

Далее, "Настройки" >> "Опции" >> выберите вкладку "Общие" >> установите "галочку" на пункте "Вкл. NT/2000/XP драйвер" >> Нажмите "Ok" >>
если драйвер до этого не был установлен в системе, в появившемся окне "Confirm" нажмите "Ok". Драйвер установится, и оболочка программатора перезапустится.

Примечание:

Для очень "быстрых" компьютеров возможно потребуется увеличить параметр "Задержка Ввода/Вывода". Увеличение этого параметра увеличивает надёжность программирования, однако, увеличивается и время, затрачиваемое на программирование микросхемы.

"Настройки" >> "Опции" >> выберите вкладку "I2C" >> установите "галочки" на пунктах:

"Включить MCLR как VCC" и "Включить запись блоками". Нажмите "Ok".

Программа готова к работе.

  1. Установите микросхему в панель программатора, соблюдая положение ключа.
  2. Подключите шнур удлинителя, включите питание.
  3. Запустите программу IC-PROG.
  4. В выпадающем списке выберите контроллер PIC16F876A.

  • Если у вас нет файла с прошивкой – подготовьте его:
    • откройте стандартную программу "Блокнот";
    • вставьте в документ текст прошивки (со странички УМ-АЦП1);
    • сохраните под любым именем, например, prohivka .txt (расширение *.txt или *.hex).
    • Далее в IC-PROG Файл >>Открыть файл (! не путать с Открыть файл данных) >> найти наш файл с прошивкой (если у нас файл с расширением *. txt , то в типе файлов выберите AnyFile *.*). Окошко "Программного кода" должно заполнится информацией.
    • Нажимаем кнопку "Программировать микросхему" – (загорается красный светодиод).
    • Ожидаем завершения программирования (около 30 сек.).
    • Для контроля нажимаем "Сравнить микросхему с буфером" – .
    • Вот и всё. Я тоже думал, что это что-то невероятное. Попробуйте – и у вас получится.

      Создание данного устройства носит учебные цели, помогая разобраться в принципах функционирования охранных систем автосигнализации. Собрав кодграббер своими руками, вы получите само устройство, блок-анализатор и глушитель эфирного сигнала на частоте 433,92 MHz в одном корпусе.
      Управление устройством осуществляется через текстовое меню, отображаемое на жидкокристаллическом дисплее. Для запуска прибора потребуется введение шестибайтного кода, каждая из ячеек которого принимает значение от 0 до F (шестнадцатеричная система исчисления). В случае неверного введения пароля на экране появится тестовое уведомление «Ошибка». Общее число комбинаций пароля: 2563 = 16777216, поскольку сообщение сохраняется на дисплее в течение некоторого времени, угадывание пароля методом простого подбора практически невозможно.

      После введения правильного кода пользователь попадает в рабочее меню. Оно содержит три пункта, привязанные к основным режимам работы устройства: «кодграббер», «анализ», «помеха». Для навигации между ними, а также изменения их режима работы можно воспользоваться джойстиком, состоящим из пяти сгруппированных клавиш. Для выбора необходимого пункта меню нужно нажать на центральную кнопку.

      1. Режим «Помеха»
      В режиме «Помеха» инициируется подавление радиосигнала, иными словами, это глушилка автосигнализации своими руками, базовая частота модуляции которой может изменяться с помощью клавиш «вверх» или «вниз». Изначально данный показатель установлен на уровне 433,92 MHz, при этом шаг его регулирования может варьироваться в пределах от 50 Hz (по умолчанию) до 600 Hz. Чтобы выйти обратно в главное меню, необходимо нажать одну из боковых клавиш.

      2. Режим «Анализ»
      Вхождение в данный режим аналогично предыдущему – наводим курсор на соответствующий пункт меню и жмем центральную кнопку. Сразу же после запуска анализатора и его инициализации происходит сканирования эфира. Устройство ожидает прохождение через него соответствующего пакета с данными, этот процесс сопровождается анимацией – с низу вверх начнут проходить надписи:

      Читайте также:  Форзиция посадка и уход в подмосковье морозостойкость

      Дата публикации: 21 октября 2012 .

      Этот простой и дешёвый USB осциллограф был придуман и сделан просто ради развлечения. Давным давно довелось чинить какой-то мутный видеопроцессор, в котором спалили вход вплоть до АЦП. АЦП оказались доступными и недорогими, я купил на всякий случай парочку, один пошёл на замену, а другой остался. Недавно он попался мне на глаза и почитав документацию к нему я решил употребить его для чего-нибудь полезного в хозяйстве. В итоге получился вот такой приборчик. Обошёлся в копейки (ну рублей 1000 примерно), и пару выходных дней. При создании я постарался уменьшить количество деталей до минимума, при сохранении минимально необходимой для осциллографа функциональности. Сначала я решил, что получился какой-то уж больно несерьёзный аппарат, однако, сейчас я им постоянно пользуюсь, потому что он оказался весьма удобным — места на столе не занимает, легко помещается в карман (он размером с пачку сигарет) и обладает вполне приличными характеристиками:

      — Максимальная частота дискретизации — 6 МГц;
      — Полоса пропускания входного усилителя — 0-16 МГц;
      — Входной делитель — от 0.01 В/дел до 10 В/дел;
      — Входное сопротивление — 1 МОм;
      — Разрешение — 8 бит.

      Для разных настроек и поиска неисправностей во всяких преобразователях питания, схемах управления бытовой техникой, для изучения всяких устройств и т.д., там где не требуются точные измерения и высокие частоты, а нужно просто посмотреть на форму сигнала частотой, скажем, до пары мегагерц — более чем достаточно.

      Кнопка S2 — это часть железа нужного для бутлоадера. Если при подключении осциллографа к USB держать её нажатой, то PIC заработает в режиме бутлоадера и можно будет обновить прошивку осциллографа при помощи соответствующей утилиты.

      В качестве АЦП (IC3) была использована "телевизионная" микросхема — TDA8708A. Она вполне доступна во всяких "Чип и Дип"ах и прочих местах добычи деталей. На самом деле это не только АЦП для видеосигнала, но и коммутатор входов, выравниватель и ограничитель уровней белого — чёрного и т.д. Но все эти прелести в данной конструкции не используются. АЦП весьма шустр — частота дискретизации — 30 МГц. В схеме он работает на тактовой частоте 12 МГц — быстрее не нужно, потому что PIC18F2550 просто не сможет быстрее считывать данные. А чем выше частота — тем больше потребление АЦП. Вместо TDA8708A можно использовать любой другой быстродействующий АЦП с параллельным выводом данных, например TDA8703 или что-нибудь от Analog Devices.

      Тактовую частоту для АЦП удалось хитрым образом извлечь из PIC’а — там запущен ШИМ с частотой 12 МГц и скважностью 0.25. Тактовый импульс положительной полярности проходит в цикле Q1 PIC’а так что при любом обращении к порту B, которое происходит в цикле Q2 данные АЦП будут уже готовы. Ядро PIC’а работает на частоте 48 МГц, получаемой через PLL от кварца 4 МГц. Команда копирования из регистра в регистр выполняется за 2 такта или 8 циклов. Таким образом, данные АЦП возможно сохранять в память с максимальной частотой 6 МГц при помощи непрерывной последовательности команд MOVFF PORTB, POSTINC0. Для буфера данных используется один банк RAM PIC18F2550 размером 256 байт.

      Меньшие частоты дискретизации реализуются добавлением задержки между командами MOVFF. В прошивке реализована простейшая синхронизация по отрицательному или положительному фронту входного сигнала. Цикл сбора данных в буфер запускается командой от PC по USB, после чего можно эти данные по USB прочитать. В результате PC получает 256 8-битных отсчётов которые может, например, отобразить в виде изображения.

      Входная цепь проста до безобразия. Делитель входного напряжения без всяких изысков сделан на поворотном переключателе. К сожалению не удалось придумать как передавать в PIC положение переключателя, поэтому в графической морде осциллографа есть только значения напряжения в относительных единицах — делениях шкалы. Усилитель входного сигнала (IC2B) работает с усилением в 10 раз, смещение нуля, необходимое для АЦП (он воспринимает сигнал в диапазоне от Vcc — 2.41В до Vcc — 1.41В) обеспечивается напряжением с программируемого генератора опорного напряжения PIC (CVREF IC1, R7,R9) и делителем от отрицательного напряжения питания (R6,R10, R8). Т.к. в корпусе ОУ был "лишний" усилитель (IC2A), я использовал его как повторитель напряжения смещения.

      Читайте также:  Упаковка букета в гофрированную бумагу мастер класс

      Не забудьте про емкостные цепочки для частотной компенсации входной ёмкости вашего ОУ и ограничивающих диодов, которые отсутствуют на схеме — нужно подобрать ёмкости параллельно резисторам делителя и резистору R1, иначе частотные характеристики входной цепи загубят всю полосу пропускания. С постоянным током всё просто — входное сопротивление ОУ и закрытых диодов на порядки выше сопротивления делителя, так что делитель можно просто посчитать не учитывая входное сопротивление ОУ. Для переменного тока иначе — входная ёмкость ОУ и диодов составляют значительную величину по сравнению с ёмкостью делителя. Из сопротивления делителя и входной ёмкости ОУ и диодов получается пассивный ФНЧ, который искажает входной сигнал.

      Чтобы нейтрализовать этот эффект нужно сделать так, чтобы входная ёмкость ОУ и диодов стала значительно меньше ёмкости делителя. Это можно сделать соорудив емкостной делитель параллельно резистивному. Посчитать такой делитель сложно, т.к. неизвестна как входная ёмкость схемы, так и ёмкость монтажа. Проще его подобрать.

      Способ подбора такой:

      1. Поставить конденсатор ёмкостью примерно 1000 пФ параллельно R18.
      2. Выбрать самый чувствительный предел, подать на вход прямоугольные импульсы с частотой 1 кГц и размахом в несколько делений шкалы и подобрать конденсатор параллельно R1 так, чтобы прямоугольники на экране выглядели прямоугольниками, без пиков или завалов на фронтах.
      3. Повторить операцию для каждого следующего предела, подбирая конденсаторы параллельно каждому резистору делителя соответственно пределу.
      4. Повторить процесс с начала, и убедиться, что на всех пределах всё в порядке ( может проявиться ёмкость монтажа конденсаторов ), и, если что-то не так, слегка подкорректировать ёмкости.

      Сам ОУ — это Analog Devices AD823. Самая дорогая часть осциллографа. 🙂 Но зато полоса 16 МГц — что весьма неплохо.А кроме того, это первое из шустрого, что попалось в розничной продаже за вменяемые деньги.

      Конечно же этот сдвоенный ОУ без всяких переделок можно поменять на что-то типа LM2904, но тогда придётся ограничится сигналами звукового диапазона. Больше 20-30 кГц оно не потянет.

      Ну и форму прямоугольных, например, сигналов будет слегка искажать. А вот если удастся найти что-то типа OPA2350 (38МГц) — то будет наоборот замечательно.

      Источник отрицательного напряжения питания для ОУ сделан на хорошо известной charge-pump ICL7660. Минимум обвязки и никаких индуктивностей. Ток по выходу -5 В конечно у неё невелик, но нам много и не надо. Цепи питания аналоговой части изолированы от помех цифры индуктивностями и ёмкостями (L2, L3, C5, C6). Индуктивности попались номиналом 180 uГн, вот их и поставил. Никаких помех по питанию даже на самом чувствительном пределе.

      Прошивка PIC заливается по USB с помощью бутлоадера который сидит с 0-го адреса в памяти программ и запускается если при включении удерживать нажатой кнопку S2. Так что прежде чем прошивать PIC — залейте туда сначала бутлоадер — будет проще менять прошивки.

      Исходники драйвера осциллографа для ядер 2.6.X находятся в архиве с прошивкой. Там же есть консольная утилитка для проверки работоспособности осциллографа. Её исходники стоит посмотреть, чтобы разобраться как общаться с осциллографом, если хочется написать для него свой софт.

      Программа для компьютера проста и аскетична. Подключить осциллограф к USB и запустить qoscilloscope. Требуется QT4.

      Ссылка на основную публикацию
      Adblock detector