SPI шлюз для компьютера (через com-порт) на ATTiny2313 |
В этой статье мы рассмотрим как сделать для компьютера SPI-шлюз. Шлюз будет подключаться к ПК через старый-добрый com-порт стандарта RS-232, и предоставит нам возможность общаться с устройствами, имеющими интерфейс SPI, из любой терминальной программы для работы сom-портом, поддерживающей HEX-режим. Вот ссылка на одну из таких терминалок - RH_Com.
Шлюз можно использовать, например, в качестве SPI-программатора для программирования различных контроллеров или микросхем памяти, или... да много чего (разных устройств с интерфейсом SPI - просто огромное количество).
Да, можно конечно реализовать SPI-интерфейс на COM-порту и без всяких шлюзов, просто дёргая ножками порта, но использование шлюза позволит, во-первых, значительно увеличить скорость, во-вторых, нормально работать с любыми USB-to-COM преобразователями и, в-третьих, значительно упростит разработку GUI для работы с разными SPI-устройствами.
Итак, в качестве мозгов шлюза был выбран контроллер ATTiny2313 (за широкую распространённость, высокую скорость, дешивизну и достаточно прогрессивную, по сравнению, скажем, с теми же пиками, архитектуру).
Детали:
R1 - 1..10 кОм
R2, R3 - 4,7 кОм
C1..C5 - 0,1 мкФ
C6,C7 - 15 пФ
кварц 20 МГц
+ преобразователь интерфейсов MAX232, контроллер ATTiny2313, 3 джампера и несколько разъёмов.
Как видите, - схема довольно банальна и сильно напоминает схему разработанного нами ранее I2C-шлюза. "Самое вкусное", как говорится "вся соль", как и во всех схемах с контроллерами, находится не в "железе", а в прошивке. Но про прошивку как всегда будет написано отдельно (ссылка на статью про прошивку будет в конце этой статьи). Скажу только, что в прошивке будут программно реализованы все четыре режима SPI (аппаратный SPI, встроенный в контроллер, предоставляет только два режима, поэтому я решил от него отказаться и всё сделать программно), и что мы будем использовать написанные ранее стандартные функции для программной реализации SPI.
Джамперы (перемычки) JP1, JP2 и резисторы R2, R3 оставлены специально для возможности использования нашего девайса в качестве I2C-шлюза, в который его легко превратить простой заменой прошивки. Они позволяют организовать необходимую для I2C подтяжку шины тактирования и шины данных к питанию. Джампер JP3 позволяет запитать от шлюза подключаемое устройство.
Сам шлюз можно запитать прямо от компьютера, через стандартный разъём питания (как на рисунке справа), которых в любом компе с избытком. В этом разъёме нам нужно только два провода - красный (+5В) и чёрный (общий). На стороне шлюза нам, естественно, нужен ответный разъём, - как на рисунке слева.
Для возможностей внутрисхемного программирования (ICSP) контроллера, на разъёмы выведены ноги его аппаратного интерфейса SPI (Clock, MOSI, MISO) и нога reset.
Готовое устройство выглядит вот так:
Собственно, плата была разработана заново, но делать SPI-шлюз по этой плате я не стал (поленился), а просто допаял один провод к I2C-шлюзу (провод на обратной стороне платы, припаянный прямо к ноге контроллера) и сменил прошивку. Скачать печатную плату (DipTrace2.2) можно по этой ссылке. Программа, позволяющая в режиме мастера общаться из терминалки с SPI устройствами доступна по этой ссылке. Источник: www.radiohlam.ru
C этой схемой также часто просматривают: |
ЗАЖИГАЛКА ДЛЯ ГАЗА Зарядное устройство для автомобильных и мотоциклетных батарей Зарядное устройство для автомобильных аккумуляторов Имитатор для проверки телефонных аппаратов Простые датчики для охранной сигнализации I2C шлюз для компьютера (через com-порт) на ATTiny2313 RCD-программатор для PIC-контроллеров RCD-программатор для EEPROM (93Cxx, 24Cxx, 25Cxxx) Программатор PROGOPIC для PIC-контроллеров (PIC12, PIC16, PIC18) и микросхем памяти: I2C (24Cxx), Microwire (93Cxx) с питанием от батареек
| |
USB генератор пароля в виде флешки Самодельная USB-гарнитура Защита от помех устройства, питаемого от разъёма USB Простое управление куллером компьютера Переходник для подключения к USB-порту устройства с большим потребляемым током 1-wire шлюз для компьютера (через com-порт) на ATTiny2313 I2C шлюз для компьютера (через com-порт) на ATTiny2313 Стрелочный индикатор загрузки ЦП и оперативной памяти ПК Sim Card Reader SOLO GWR Sim-Reader v.3 |