программатор "PROGOPIC" для PIC-контроллеров (PIC12, PIC16, PIC18) и
микросхем памяти: I2C (24Cxx) и Microwire (93Cxx) с питанием от батареек
Небольшая модернизация программатора PROGOPIC, в результате которой появилась возможность программировать не только PIC-контроллеры серий PIC012, PIC16 и PIC18, но и микросхемы памяти I2C (серии 24Cxx: 24С02, 24С08, 24С16 и т.п.) и Microwire (93Cxx: 93C06, 93С46 и т.п.)
Программатор состоит из базового модуля (основная и главная часть программатора) и специальных модулей, предназначенных для программирования отдельных типов микросхем. Специальные модули подключаются к базовому с помощью восьмижильного шлейфа. Пока специальных модулей только два: один для программирования контроллеров PIC, а второй для программирования микросхем памяти.
Кроме того, теперь прямо в базовый блок программатора встроен dc/dc преобразователь, построенный по топологии sepic, что делает возможным питание программатора от 3-х, 4-х батареек AA, от кроны, от автоаккумулятора или от любого другого внешнего источника, способного выдать 4-13В и мощность около 2 Вт. Этот преобразователь формирует стабильное напряжение программирования +13,5В, а также запитывает линейный пятивольтовый стабилизатор LS7805, от которого питается остальная часть схемы.
Наличие внешнего питания обеспечивает этому программатору следующие преимущества:
1) возможность очень точно задавать требуемое напряжение программирования (важно для некоторых моделей PIC);
2) программатор не перегружает COM-порт и может работать даже с теми портами, напряжение на которых сильно занижено вследствие некоторой прожаренности или которые изначально не соответствуют спецификации RS-232 (на большинстве ноутбуков и вообще на многих современных компьютерах напряжение на COM-порту менее 10 Вольт).
3) программатор может работать с PCI-ными платами расширения COM-портов и с преобразователями интерфейсов USB to COM.
Схема:
Детали и описание работы:
L1, L2 - индуктивности по 200 мкГн
С1 - конденсатор 220 мкФ х 16В
С2 - керамический конденсатор 10 мкФ
С3 - керамический конденсатор 330 пФ
С4 - конденсатор 220 мкФ х 25В
R1 - резистор 180 Ом
R2 - резистор 10 кОм
R3 - резистор 1 кОм
R4 - ограничительный резистор 1,5 кОм
D1 - диод Шоттки на ток до 0,8-1А или выше.
D2 - светодиод для индикации питания.
Все конденсаторы, которые есть на разведённых платах, но не отмечены на схеме, - это керамика на 0,1 мкФ. Все резисторы на платах специальных модулей - 1 кОм.
Основной частью базового модуля является микросхема GD75232, выпаянная из старой материнской платы. Она занимается развязкой линий порта и преобразованием уровней RS-232 <-> TTL. Остановимся на этой микрухе поподробней. Микруха имеет 5 приемников (преобразуют уровни RS232 в TTL) и 3 драйвера (преобразуют TTL в RS232). Для работы ей требуется аж 3 напряжения: +12В, +5В и -12В. Однако, вся фишка заключается в том, что схемы драйверов и схемы приёмников у этой микрухи абсолютно никак между собой не связаны. Поэтому смело можно заземлить те ноги, которые отвечают за драйверы (+12В, -12В, входы и выходы драйверов) и использовать только приёмники. Для работы схемы приёмников нам достаточно однополярного питания +5В. Можно использовать любой клон этой микросхемы (всё, что с маркировкой 75232). Вероятнее всего, можно также использовать микросхемы 75185. Схемы их внутреннего устройства я не нашёл, но, судя по описанию, они с 75232 братья близнецы.
Правильный алгоритм подачи напряжений обеспечивается микросхемой стандартной логики 74HCT00 (2И-НЕ), которых также полно на старых материнках. Один вентиль используется для формирования управляемого линией Tx напряжения питания VddTx. У других вентилей одна нога соединена с выходом, на котором формируется напряжение питания, а на вторую ногу подаётся сигнал Clock или Data. Таким образом вентили начинают пропускать сигналы Clock и Data только после того, как появится питание +5В. Кроме того, здесь же формируется ещё один управляемый линией Tx сигнал, но инверсный относительно VddTx (для будущих разработок). Вместо 74HCT00 можно взять 74ACT00.
Я успешно программирую этим программатором контроллеры PIC12F629, PIC16F628A, PIC18F2455 и микросхемы памяти 24C02, 24C08, 93C46. В принципе, этот программатор (в представленном варианте) должен программировать любые контроллеры и микросхемы памяти, у которых ноги, используемые для программирования, расположены в тех же местах, что и у перечисленных выше контроллеров, например: PIC12F508, PIC12F509, PIC12F635, PIC12F675, PIC12F683, PIC16F627A, PIC16F648А, память 24С02, 24С16, 93С06 и другие. Интерфейс-то стандартный! К каким ногам какие сигналы подключать смотрите в даташите на конкретную микросхему. Большинство подключаются так, как разведено в соответствующем специальном модуле.
При программировании EEPROM 24Схх перемычка на специальном модуле для программирования микросхем памяти должна быть замкнута, а при программировании EEPROM 93Cxx - разомкнута.
программатор "PROGOPIC" для PIC-контроллеров (PIC12, PIC16, PIC18) и
микросхем памяти: I2C (24Cxx) и Microwire (93Cxx) с питанием от батареек
Небольшая модернизация программатора PROGOPIC, в результате которой появилась возможность программировать не только PIC-контроллеры серий PIC012, PIC16 и PIC18, но и микросхемы памяти I2C (серии 24Cxx: 24С02, 24С08, 24С16 и т.п.) и Microwire (93Cxx: 93C06, 93С46 и т.п.)
Программатор состоит из базового модуля (основная и главная часть программатора) и специальных модулей, предназначенных для программирования отдельных типов микросхем. Специальные модули подключаются к базовому с помощью восьмижильного шлейфа. Пока специальных модулей только два: один для программирования контроллеров PIC, а второй для программирования микросхем памяти.
Кроме того, теперь прямо в базовый блок программатора встроен dc/dc преобразователь, построенный по топологии sepic, что делает возможным питание программатора от 3-х, 4-х батареек AA, от кроны, от автоаккумулятора или от любого другого внешнего источника, способного выдать 4-13В и мощность около 2 Вт. Этот преобразователь формирует стабильное напряжение программирования +13,5В, а также запитывает линейный пятивольтовый стабилизатор LS7805, от которого питается остальная часть схемы.
Наличие внешнего питания обеспечивает этому программатору следующие преимущества:
1) возможность очень точно задавать требуемое напряжение программирования (важно для некоторых моделей PIC);
2) программатор не перегружает COM-порт и может работать даже с теми портами, напряжение на которых сильно занижено вследствие некоторой прожаренности или которые изначально не соответствуют спецификации RS-232 (на большинстве ноутбуков и вообще на многих современных компьютерах напряжение на COM-порту менее 10 Вольт).
3) программатор может работать с PCI-ными платами расширения COM-портов и с преобразователями интерфейсов USB to COM.
Схема:
Детали и описание работы:
L1, L2 - индуктивности по 200 мкГн
С1 - конденсатор 220 мкФ х 16В
С2 - керамический конденсатор 10 мкФ
С3 - керамический конденсатор 330 пФ
С4 - конденсатор 220 мкФ х 25В
R1 - резистор 180 Ом
R2 - резистор 10 кОм
R3 - резистор 1 кОм
R4 - ограничительный резистор 1,5 кОм
D1 - диод Шоттки на ток до 0,8-1А или выше.
D2 - светодиод для индикации питания.
Все конденсаторы, которые есть на разведённых платах, но не отмечены на схеме, - это керамика на 0,1 мкФ. Все резисторы на платах специальных модулей - 1 кОм.
Основной частью базового модуля является микросхема GD75232, выпаянная из старой материнской платы. Она занимается развязкой линий порта и преобразованием уровней RS-232 <-> TTL. Остановимся на этой микрухе поподробней. Микруха имеет 5 приемников (преобразуют уровни RS232 в TTL) и 3 драйвера (преобразуют TTL в RS232). Для работы ей требуется аж 3 напряжения: +12В, +5В и -12В. Однако, вся фишка заключается в том, что схемы драйверов и схемы приёмников у этой микрухи абсолютно никак между собой не связаны. Поэтому смело можно заземлить те ноги, которые отвечают за драйверы (+12В, -12В, входы и выходы драйверов) и использовать только приёмники. Для работы схемы приёмников нам достаточно однополярного питания +5В. Можно использовать любой клон этой микросхемы (всё, что с маркировкой 75232). Вероятнее всего, можно также использовать микросхемы 75185. Схемы их внутреннего устройства я не нашёл, но, судя по описанию, они с 75232 братья близнецы.
Правильный алгоритм подачи напряжений обеспечивается микросхемой стандартной логики 74HCT00 (2И-НЕ), которых также полно на старых материнках. Один вентиль используется для формирования управляемого линией Tx напряжения питания VddTx. У других вентилей одна нога соединена с выходом, на котором формируется напряжение питания, а на вторую ногу подаётся сигнал Clock или Data. Таким образом вентили начинают пропускать сигналы Clock и Data только после того, как появится питание +5В. Кроме того, здесь же формируется ещё один управляемый линией Tx сигнал, но инверсный относительно VddTx (для будущих разработок). Вместо 74HCT00 можно взять 74ACT00.
Я успешно программирую этим программатором контроллеры PIC12F629, PIC16F628A, PIC18F2455 и микросхемы памяти 24C02, 24C08, 93C46. В принципе, этот программатор (в представленном варианте) должен программировать любые контроллеры и микросхемы памяти, у которых ноги, используемые для программирования, расположены в тех же местах, что и у перечисленных выше контроллеров, например: PIC12F508, PIC12F509, PIC12F635, PIC12F675, PIC12F683, PIC16F627A, PIC16F648А, память 24С02, 24С16, 93С06 и другие. Интерфейс-то стандартный! К каким ногам какие сигналы подключать смотрите в даташите на конкретную микросхему. Большинство подключаются так, как разведено в соответствующем специальном модуле.
При программировании EEPROM 24Схх перемычка на специальном модуле для программирования микросхем памяти должна быть замкнута, а при программировании EEPROM 93Cxx - разомкнута.