ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
731128 Топик полностью
Evgeny_CD, Архитектор (25.01.2017 22:44, просмотров: 197) ответил Evgeny_CD на Я много раз пытался придумать "идеальную шину для связи embedded устройств". И каждый раз калькулятор, сука империалистическая, таки разбивал мои розовые мечты вдребезги. И твою он тоже разобъет :)
Одна из идей, выигрывающая соревнование в моей глове. Модемный вариант совмещенной шины. Несколько несущих и узкополосная модуляция а ля BPSK на каждой из них. Поднесущая ~50 КГц с подуляцией BPSK 50 кбит/сек. Битовая скорость и частота несущей равны. Это канал управления и узкополосного обмена. Доступ синхронный и по опросу. Программирование временных окон вперед. Поднесущая 500....1000 КГц, модуляция такая же. Это канал широкополосного обмена. Тоже сихронный доступ. Мастер вещает на узкой полосе - разделение каналов по окнам и расписание доступа. Отвечают коротко там же, либо на широкополосном канале (который имеют не все устройства, строго говоря). передача может быть многоадресной - но всегда под контролем мастера. Все оптимизированно - локальные 8 битные адреса (аналоги MAC адресов тоже есть, но они для регулярной передачи не используются). И т.д. FEC - Hamming(15,11), таблично. Эффективность канала 11/15 ≈ 0.733 Минимальная посылка - 24...32 бита: * 8 бит - адрес * CRC8 * 8...16 бит данных 32/0.73 ~ 44 бита "в эфире". При 60 кбит/сек сырой скороси получим минимальный фрейм 1 мс (с учетом защитных интервалов на рассогласование времени) - вполне ок. Есть несколько know how, как без синхропосылки обойтись. Или сделать ее 8 бит, например. Важно - есть две временных сетки - фиксированная и переменная. В рамках фиксированной устройства шлют минимальный пакет по времени, без запроса. Там закодировано - надо ли им доступ к каналу, подтверждения принятого и т.д. Важно - все делают паузу на ферейм фиксированной сетки, потом транзакция продолжается. Т.е. устройство А вещает, по наступлению времени затыкается. Устройство, которому положено пукнуть в этот слот, пукает, далее устройство А продолжает свой пакет. [Это наброски. Рисечить и моделировать - непочатый край.] Аппаратная база - Cortex-M4 100Мгц+ со своими ЦАП|АЦП для узкого канала, iCE40 (где есть DSP блоки) + ADC + DDS для широкого канала. Возможно, iCE40 придется и в минимальной конфигурации использовать для обеспечения точной и надежной синхронизации.