WordPress database error: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (1) ORDER BY umeta_id ASC

0

SPI шлюз для компьютера (через com-порт) на ATTiny2313.

В этой статье мы рассмотрим как сделать для компьютера SPI-шлюз. Шлюз будет подключаться к ПК через старый-добрый com-порт стандарта RS-232, и предоставит нам возможность общаться с SPI-устройствами из любой терминальной программы для работы сom-портом, поддерживающей HEX-режим. Терминалок таких – пруд пруди, на сайте даже есть die einfachsten Quellen wie terminalki. Шлюз можно использовать, например, в качестве SPI-программатора для программирования различных контроллеров или микросхем памяти, или… да много чего (разных устройств с интерфейсом SPI – просто огромное количество).

Да, можно конечно реализовать SPI-интерфейс на COM-порту и без всяких шлюзов, просто дёргая ножками порта, но использование шлюза позволит, во-первых, значительно увеличить скорость, во-вторых, нормально работать с любыми USB-to-COM преобразователями и, в-третьих, значительно упростит разработку GUI для работы с разными SPI-устройствами.

Итак, в качестве мозгов шлюза (за широкую распространённость, высокую скорость, дешивизну и достаточно прогрессивную по сравнению, скажем, с теми же пиками архитектуру) был выбран контроллер ATTiny2313.

Cхема шлюза представлена ниже.

1 Einzelheiten:
R1 – 1..10 кОм
R2, R3 – 4,7 кОм
C1..C5 – 0,1 мкФ
C6,C7 – 15 пФ
кварц 20 МГц
+ преобразователь интерфейсов MAX232, контроллер ATTiny2313, 3 джампера и несколько разъёмов.

Как видите, – схема довольно банальна. “Самое вкусное”, как говорится “вся соль”, как и во всех схемах с контроллерами, находится не в “железе”, а в прошивке. Но про прошивку как всегда будет написано отдельно (ссылка на статью про прошивку будет в конце этой статьи). Скажу только, что в прошивке будут программно реализованы все четыре режима SPI (аппаратный SPI, встроенный в контроллер, предоставляет только два режима, поэтому я решил от него отказаться и всё сделать программно).

Джамперы (перемычки) JP1, JP2 и резисторы R2, R3 оставлены специально для возможности использования нашего девайса в качестве I2C-шлюза, в который его легко превратить простой заменой прошивки. Они позволяют организовать необходимую для I2C подтяжку шины тактирования и шины данных к питанию, если это не сделано на плате к которой вы подключаетесь (для чего нужна такая подтяжка – смотрите в описании интерфейса I2C). Джампер JP3 позволяет запитать от шлюза подключаемое устройство.

2211Сам шлюз можно запитать прямо от компьютера, через стандартный разъём питания (как на рисунке справа), которых в любом компе с избытком. В этом разъёме нам нужно только два провода – красный (+5В) и чёрный (общий). На стороне шлюза нам, естественно, нужен ответный разъём, – как на рисунке слева.

Для возможностей внутрисхемного программирования (ICSP) контроллера, на разъёмы выведены ноги его аппаратного интерфейса SPI (Clock, MOSI, MISO) и нога reset.

Готовое устройство выглядит вот так:

2Собственно, плата была разработана заново, но делать SPI-шлюз по этой плате я не стал (поленился), а просто допаял один провод к I2C-шлюзу (провод на обратной стороне платы, припаянный прямо к ноге контроллера) и сменил прошивку.

Скачать печатную плату (DipTrace2.2)

Вот, в общем-то, и всё. Внизу, как и обещал, – ссылка на статью с описанием программы для нашего чудо-шлюза.

- Программа, позволяющая из терминалки общаться с I2C устройствами в режиме мастера (ради чего всё и затевалось).

- Программа, позволяющая из терминалки общаться с I2C устройствами в режиме слэйва (или работать шлюзу в качестве сниффера).

Источник: http://radiohlam.ru

Admin

Hinterlasse eine Antwort

Your email address will not be published. Required fields are marked *