Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Лютик
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Вт мар 25, 2008 22:10:23
Откуда: Минск

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Лютик »

Аlex, в соответствии с Вашей трактовкой, алгоритм следующий(поправьте, если не прав):
1. CLK -> LOW // синхронизация
2. задержка для обеспечения частоты
3. CLK -> HIGH
4. считываем DO
5. задержка
...

Я так делал и 1 бит недотягивает, работает нормально, если:
1. CLK -> LOW // синхронизация
2. задержка для обеспечения частоты
3. CLK -> HIGH // синхронизация
4. задержка для обеспечения частоты
5. CLK -> LOW
6. задержка для обеспечения частоты
7. CLK -> HIGH
8. считываем DO
9. задержка
...

Где я туплю :oops: ?
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

Зачем ты считываешь первый раз? первый раз считывать не надо! В твоем алгоритме первое считывание D0 - это стартовый импульс, считаешь всегда "0".
Лютик
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Вт мар 25, 2008 22:10:23
Откуда: Минск

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Лютик »

Alexeyslav, видимо, я чтото не так понимаю. В общем, как я понимаю(смотреть картинку):
Линия в покое - CLK=1 (CSn опускаем). После чего мы делаем спад и затем фронт и приходим в интервал 1го бита данных. Где и как он пустой?
Я понимаю что считываю ноль, и я уже написал код и все работает, но хочу разобраться с этим раз и на всегда, помогите пожалуйста :cry:
Вложения
ssi.PNG
(29.15 КБ) 230 скачиваний
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Аlex »

После чего мы делаем спад и затем фронт и приходим в интервал 1го бита данных.
Всё верно. Сначала спад, затем, после каждого переднего фронта, читаем бит.
Просто первый спад является синхронизацией девайса для начала пакета. Чё он там делает (сохраняет ли какие данные, устанавливает данные в вых. сдвиговые регистры, ....), в принципе пофиг, это не должно Вас волновать. Видимо, это Вас смутило и запутало. Ваша задача начать пакет и по каждому нарастающему фронту читать свой бит, и всё.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

По спаду ВЕДУЩЕЕ устройство выставляет данные на шину, а ВЕДОМОЕ по фронту фиксирует это значение и сохраняет. Теперь если с этой точки зрения посмотреть на данные, то в начале посылки у вас ВСЕГДА будет читаться один лишний бит, который равен нулю - его надо просто проигнорировать если реализуете ВЕДОМОЕ устройство, и передать перед посылкой данных если ВЕДУЩЕЕ.
Он же и является стартовым импульсом, по аналогии с асинхронным протоколом.
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение vitalik_1984 »

Alexeyslav писал(а): а ВЕДОМОЕ по фронту фиксирует это значение и сохраняет
Выражайтесь точнее тут надо читать по восходящему фронту читает. Фронт бывает и нисходящий.
Alexeyslav писал(а):Теперь если с этой точки зрения посмотреть на данные,
тут тоже непонятно с какой точки? Которую вы только что описали?
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

С любой точки зрения. Передача этого "нуля" ничем не отличается от передачи остальных бит. Просто он первый.
Аватара пользователя
unalex
Мучитель микросхем
Сообщения: 424
Зарегистрирован: Сб авг 25, 2007 22:02:05
Откуда: Германия, Viernheim

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение unalex »

vitalik_1984 писал(а):Фронт бывает и нисходящий



передний фронт 0-1 задний фронт 1-0
фронт 0-1 спад 1-0

а если в тексте фигурирует и фронт и спад, то думаю ежу становится понятно что есть что
Коктейль "Рекурсивный": 20% спирта, 30% воды, 50% коктейля "Рекурсивный"...
Аватара пользователя
1essor1
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Вс дек 09, 2012 12:14:44

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение 1essor1 »

такой вопрос - на каком максимальном расстоянии можно расположить 2 мк связанные проводами по SPI? и еще - какой способ передачи выбрать для связи без сбоев если провода (а соответственно и расстояние между мк) от 1 до 2м?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25154
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

SPI - интерфейс для ОДНОЙ платы или блока. Тащить его в кабель можно, только если кабель должным образом терминировать. Значит потребуется приемопередатчики (по обеим линиям) и согласование линии у приемников.
Плюс к этому, питание устройств не может быть независимым, иначе может возникнуть перекос между землями с неустранимыми помехами и опасностью повреждения драйверов линии и приемников.
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение SmarTrunk »

Ну можно поставить "изоляторы", вроде быстрых оптических 1N136, 1N137, или неоптические ADUM... Тогда питание и земли могут быть разные. Я бы в любом случае поставил, если бы вдруг захотел тянуть SPI на метр.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25154
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

И изоляторы можно, и питание можно объединить через кабель. Все это можно.
Только автор, по моему, вообще планировал соединить чипы pin-to-pin...
Аватара пользователя
unalex
Мучитель микросхем
Сообщения: 424
Зарегистрирован: Сб авг 25, 2007 22:02:05
Откуда: Германия, Viernheim

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение unalex »

1essor1 писал(а):какой способ передачи выбрать для связи без сбоев если провода (а соответственно и расстояние между мк) от 1 до 2м?


1-Wire(до 300м)
RS-232(до 15м)
RS-485(до 1 км)
I2C - можно на 2 метра и теоретически больше(уменьшая скорость)
Коктейль "Рекурсивный": 20% спирта, 30% воды, 50% коктейля "Рекурсивный"...
Аватара пользователя
1essor1
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Вс дек 09, 2012 12:14:44

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение 1essor1 »

Я наверное не очень верно указал условия - один мк1 - по SPI выводит байт на сдвиговый регистр, а затем происходит считывание байта мк2 (последовательный вывод - параллельный ввод) - при этом мк2 и регистр находятся на одном блоке, мк1 на другом. Возможно это по извратски, но задумка была такая)
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

Вообще условие очень простое - соединить можно без согласования только когда это соединение нельзя считать длинной линией. Понятие это зависит от частоты - 1Мгц на 1 метр линии уже требует согласования, в то время как передавать с частотой 100Гц по линии протяженностью 1км - без проблем. Больше требуется расстояние - снижай скорость на которой работает SPI.
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ut1wpr »

vitalik_1984 писал(а):Выражайтесь точнее тут надо читать по восходящему фронту читает. Фронт бывает и нисходящий.
Я уже около 20 лет в импульсной технике топчусь, и там, именно с целью избежать разночтения, приняты термины ФРОНТ импульса и его СПАД. По аналогии с международными RISE и FALL. Сочетаний FRONT FRONT или REAR FRONT не существует.
С уважением,
Виктор.
Аватара пользователя
1essor1
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Вс дек 09, 2012 12:14:44

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение 1essor1 »

Появился у меня RGB светодиод и захотелось им поиграться. Начал с самого простого - подключил к трем портам, подал единички на два из них (к R и B), должен был получиться лиловый цвет. Но получилась какая то хренотень мягко говоря - круг красный наполовину пересекающийся с синим кругом, ну и соответсвенно в месте пересечения образующий что то похожее на лиловый цвет. но при этом отчетливо видно красную и синию составляющие. И так со всему другими цветами, образующимися смешиванием других(желтый, голубой и белый). Ни в одном из вариантов не получается плавности цвета.

Вопрос такой, это так и должно быть? Или светодиод корявый? Либо надо как по особому их зажигать? Просто я если честно ожидал некой плавности, а тут такое
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

А кому удавалось обмануть оптику? Светодиод из себя что представляет? Вот и думай почему так выходит.

Чтобы цвета смешивались в прозрачной оптике нужен рассеиватель. или светодиод надо брать с матовой оптикой.
Chettuser

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Chettuser »

Это называется аддитивное смешивание цветов.
Скорее всего таки должно быть, поскольку в RGB 3 кристалла и светят они прямо. Выход - светорассеиватель. С матовым стеклом вряд ли получится - картина будет примерно та же, пятнами.
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение vitalik_1984 »

ut1wpr писал(а):Сочетаний FRONT FRONT или REAR FRONT не существует.

Так и отдельного использования FRONT и REAR я лично не встречал, зато встречал rising edge и falling edge.
Edge и переводится как граница или острие.Вот и подумал, что фронт можно использовать в этом смысле.
К сожалению с русскими принятыми терминами не знаком. :dont_know:
Спасибо за разъяснение.
Так то я знаю что значит FRONT на английском языке только вот в русском его немного по другому уже можно трактовать. Никто не говорит повернись фронтом.
Ответить

Вернуться в «Разные вопросы по МК»