MRF49 & STM32, управление на растоянии

MRF49XA и STM32, управление на растоянии )
Как то валялась под рукой пара MRF49XA и не помнил я, где и зачем их заказывал ...

Решил создать что-то полезное.
Идея появилась сразу. Плата измеряет что-либо и отсылает другой плате, где все намереное отображается.
Да вот схема ) Пардон за кривые руки

Ну и видео для начала.
Где поочередно включаю-выключаю реле на плате, а затем получаю значение регистров АЦП STM32.
И все это без проводов ).
(Смотреть 720р хд, ибо не видно будет)

С GUI у меня не особо, потому интерфейса нет, точнее есть консольный.
Командами 1-2 включаем, а 3-4 выключаем реле 1-2, о чем сигнализируют светодиоды на второй плате.
По команде «Q» — получаем значения из регистров АЦП, используется 2 канала.

Стоит заметить — связь двустроняя. Обе платы являются и приемником и передатчиком (915Mhz).
Список команд посылаемых плате USB (CP2102) :
«SCHEM#1_FINE?__» — запрос на работу, норм отвечает — «SCHEM*1_enabled».
«SCHEM#1_data1on» — запрос АЦП, отвечает «SCHEM*1_dat1tsm», затем «b», байт 1 канала, байт 2-го и снова «b».
«SCHEM#1_rel0_on» — включение Реле1, отвечает «SCHEM*1_r0_enab».
«SCHEM#1_rel0_of» — отключение Реле1, отвечает «SCHEM*1_r0_disa».
«SCHEM#1_rel1_on» — включение Реле2, отвечает «SCHEM*1_r1_enab».
«SCHEM#1_rel1_of» — отключение Реле2, отвечает «SCHEM*1_r1_disa»

Записал Сессию для Saelae Logic, на стороне USB платы.
Кому интересно we.easyelectronics.ru/attachments/get/1497

Приложение писалось в Eclipse под подобие ООП )
Весь «быдлокод» приводить смысла не вижу, опишу пару строк ...
int open_port(void)
{
	int fd; // file description for the serial port
	fd = open("/dev/ttyUSB0", O_RDWR | O_NOCTTY | O_NDELAY); // под ttyUSB0 должен быть ваш порт
// В Linux ll /dev/ttyUSB* выводит список подключенных портов

	if(fd == -1) // if open is unsucessful
	{
		//perror("open_port: Unable to open /dev/ttyUSB0 - ");
		printf("open_port: Unable to open /dev/ttyUSB0. \n"); return 0;
	}
	else
	{
		fcntl(fd, F_SETFL, 0);
		printf("port is open.\n");
	}
	return(fd);
}

И допустим нажали мы — «1»
case 49: printf("SHEM1-REL0-ON\n");  
               write (fd, "SCHEM#1_rel0_on", 15); // на CP2102, 15 - длина буфера
        	 data=0;
// И ждем ответа, если не ответил - пишим не ответил )
        	 while(data==0){data = read (fd, buf, 15); i++; if(i>100000){i=0; printf("Девайск не ответил\n"); goto in;}};
        	 printf("Ok\n"); i=0;
        	 printf("%d", data); printf("\n");
        	 printf("%s", buf);  printf("\n");
        	 break;

Ну и все 3 исходника — yadi.sk/d/1cahwyjv4P23k
Прожекты EAGLE 6 — we.easyelectronics.ru/attachments/get/1498
we.easyelectronics.ru/attachments/get/1499
PS: Так как в сумме, вся работа выполнена за 8 часов — косяков хватает.
Думаю сделать GUI, смотрю в сторону QT creator-а.
И будет время — приведу код в порядок.
Личные вопросы можно сюда — vk.com/id100603673
  • +3
  • 28 апреля 2013, 01:46
  • khomin
  • 3
Файлы в топике: RF.logicdata.zip, RF-USB.zip, USB_Radio_UART_STM32.zip

Комментарии (38)

RSS свернуть / развернуть
готов к критике )
Вообще, если уменьшить паузы (они ого-го сейчас), можно даже рисовать графики
0
АААА! Держите нарушителя!
В России на 915Мгц без лицензии работать нельзя.
+1
Умом Россию не понять,
Аршином общим не измерить:
У ней особенная стать —
В Россию можно только верить.
Фёдор Тютчев
0
А какая мощность у етой микрухи? На откритой местности на сколько далеко ловит, в метрах?
0
RX: -110dBm, 11mA, TX: +7dBm, 15mA />
Дальше квартиры еще не пробовал )
0
Кажись, дальше квартиры оно и не станет работать.
0
если квартира 40м2, наверно
0
смотря на какой частоте и с какой антенной
можно и усилитель приделать
0
Не надо обижать старичка, он стоит в HOPE RF12B. С нормальной антенной в четверть волны на 868 МГц работал до 100 м в городских условиях. Но конечно немного запутанная у него конфигурация. Поновее Si4432 или TI110L будут удобнее.
0
0
Прошу прощения за вопрос не по теме. Какой логический анализатор используете?
0
Уже с буфером 74HC245 на входах, а что там за розовые smd0604 8 шт.(4 с одной и 4 с другой стороны платы) рядом с токоограничительными резисторами, и еще на обратной стороне 8 шт. smd0604 2-м рядом идут после входного IDC-разъема.
0
На конденсаторы больше всего походит. И похоже, что они между каждым пином и землей. В принципе, в таком включении еще может быть что-то вроде варисторов.
0
Подумал, что это диоды, но по виду да — больше походит на конденсаторы, хотя зачем они там.

А 2-й ряд на обратной стороне?
0
Вторая половина, на лицевой только по 4 резистори и кондера.
0
Это понятно, но посмотри: там еще один ряд идет чего-то из 8-ми шт.
0
Тоже резюки, вероятно на землю.
0
Нет, это точно видимо варисторы для ESD защиты, типа Bourns MLV(MultiLayer Varistor).

P.S. Короче — все чОтко сделали китайцы — «улучшать» некуда уже, и всего $10.
0
Вот нашел 2 схемы каких-то клогов USBee/Saleae:
1
2
Эти розовые smd — по смыслу скорее всего должны быть диодами подтянутыми к +3.3V
0
Нет, это точно видимо варисторы для ESD защиты, типа Bourns MLV(MultiLayer Varistor).

P.S. Короче — все чОтко сделали китайцы — «улучшать» некуда уже, и всего $10.
0
а если там буфер 245й, то как работает тогда и2ц? у меня набор лежит этого анализатора и там тоже буфер и у меня 3я версия, а есть еще 4я без него, т.к. говорят там буфер этот мешался

у меня отдельно джампер для переключения направления на сразу 8 контактов
0
Анализатору буфер не помеха, он мешает использовать девайс как генератор сигналов.
0
я не смогу слать свои пакеты и2ц?
или мне надо будет переключить на выход этот буфер? или лучше его вообще не ставить?
0
Не знаю. Схему оригинального USBee не видел. Слышал только, что он умеет сигналы генерировать, но как реализовано — хз. Вариантов, в принципе, три — вообще без буферов, с буфером, который переключается весь или же с индивидуальными буферами и индивидуальной настройкой их направления.
0
Этот буфер вообще-то 2-направленный, только в дизайнах самопальных клонов он включен в одну сторону.
0
Пин 1 (DIR) чипа HC245 вешаем на перемычку, которую замыкаем на землю или +3.3V (туда/обратно).
0
у меня в схеме так и сделано с перемычкой
в оригинале же оно вроде в обе стороны может делать любой вывод как захочеш и буфера там нет
0
HC245 ставят, как я понял, что бы 5V логику вкуривал правильно, ну и буфер само собой, что бы не пожечь «нежные» пины чипа CYPRESS, хотя они вроде 5V толерантны и там достаточно только токоограничительных резисторов, как считают в дизайнах некоторых клонов.
0
Купи 3-шт и пожги к чертовой матери 2 из них, а потом красивым баскетбольным броском в корзину, для мусора… делов то
0
я буржуй и меня жаба давит покупать
я и так 3 года назад купил набор этот и только сейчас лапы дошли до его сборки
а он уже устарел и теперь за эту цену можно купить 3 китайских анализатора
0
На казусе если купил уже :D — купи теперь здесь, вроде бы чел учел все возможные нюансы, что бы юзать без гемороя и допаек/перепаек. Хотя схемы там я так и не нашел.
0
толку с него?
Рядом с процессором установлена микросхема SN74LVC8T245PWR. Она является согласующим элементом между процессором и внешним устройством.

те же яйца
0
Вроде бы я понял эту ЗАГАДКУ С БУФЕРОМ HC245, жертвой которого стал и такой пикейный жилет, как я: Да-а-а, китаец, который запроектировал его в этот клон — ГОЛОВА! It's very good!

Но я решил исправится:

Если взглянуть на плату original Saleae Logic 8-bit (с обратной стороны платы ничего нет, только земляной полигон):

1. С 8-ми входных штырей (9-й штырь – для общей сигнальной земли) сигналы поступают на токоограничительные резисторы (скорее всего 100-120 Ом), сгруппированные в 2 группы по 4 шт, справа и слева от входного разъема;

2. С них сигналы поступают на SOT-23-6 чипы с smd кодом DL46. Это чипы ESD защиты скоростных входов от статики до 15kV DVIULC6-4SC6 или подобные от фирмы ST, которые суть – стандартная сборка 4-х пар ограничительных clamping диодов и одного TVS-диода.
Помимо ESD защиты, вместе с токоограничивающим резистором, эта пара диодов between signal line & power and ground rails представляет собой стандартную схему трансляции логических уровней с 5V выхода на 3.3V вход, т.е. такая же схемотехника у так называемого 5V_tolerant входа в 3.3V чипах;

3. Затем сигналы поступают на пины пресловутого народного чипа CYPRESS CY7C68013A, который имеет питание 3.3V. Открываем его datasheat и сразу же на первой странице видим: “3.3V Operation with 5V Tolerant Inputs”. Затем читаем раздел 9 “DC Characteristics” (стр. 37) про допустимые уровни входных логических уровней:
— VIH Input HIGH Voltage: 2.0… 5.25V – допустимые уровни лог. “1” на входе
— VIL Input LOW Voltage: –0.5… 0.8V – допустимые уровни лог. “0” на входе
Тоже самое продублировано и в Saleae Tech Specs про Input voltage входов.

4. Вспомним так же, что ПО Saleae работает только как чистый дата-логгер логических уровней, т.е. все 8 пинов чипа CYPRESS сконфигурированы и работают только на чтение;

5. Во многих клонах Saleae/USBee на входных линиях еще стоят подтягивающие резисторы (Pull-Up) к +3.3V для повышения помехоустойчивости линий с длинными шлейфами щупов, это видимо заимствовано из схемотехники USBee, а в Saleae их нет, поскольку видимо эта подтяжка входов выполнена внутри чипа CYPRESS программно в ПО Saleae.

Т.е. входные цепи Saleae Logic спроектированы very good, и никакого HC245 буфера там и нахрен не надо – задачу решают resistor & clamping diodes из ESD protection сборки. Кроме того, если и говорить о буфере для трансляции уровней, то надо говорить тогда о LVC245. LVC — Low-Voltage CMOS technology, т.е. 3.3V чипы с этими самыми пресловутыми 5V tolerant входами.

Для USBee AX в режиме дата-логгера (что по схемотехнике входов должно быть тоже самое, что и Saleae) этот буфер получается тоже не нужен, но ПО USBee работает с пинами CYPRESS CY7C68013A и как с выходами в режимах всяких генераторов и прочих PWM. Возможно в этом режиме буфер и пригодился бы, но уже работая на выход для увеличения нагрузочной способности хилых выходов чипа CYPRESS. Но перетыкивать постоянно перемычку DIR на буфере? Я не нашел никаких сведений о схемотехнике original USBee AX.

P.S. Видимо кто-то на казусе, когда-то и зачем-то поставил этот буфер на вход в клоне USBee и другие “любители” это подхватили, а потом скопировали и китайцы. Люди с казуса потом слились вроде бы сюда, и первую свою модель LOGIC-U (см. схему вх.цепей) делали с этим самым пресловутым буфером, наглухо включенным только на вход (пин DIR засобачен на землю) :D Хотя, уже в более новой модели LOGIC-U PLUS (см. схему вх.цепей) они его наконец убрали, но наценили прибор на $10 :D
0
P.S.2 Интересно, что совковые продавцы клонов USBee/Saleae не выкладывают схем elementus.ru или есть кусок схемы, но без номналов и названий компонентов 6-lab.com — копирастия ворованного :D

Т.е. собственно и не знаешь, что покупаешь, тем более, что суть самой этой простенькой схемотехники давно уже не секрет — в сети кучи схем «любителей» и есть готовые и очень неплохие открытые конструкции, вот например. Не говоря уже о китайских клонах: купив фуфло — не будет сильно жалко $10.

0
все схемы есть с казуса
picavr.kr1.ru/USBAnalyzer/AD_USB_Analyzer_v3.html
версия 4 там без буфера
0
В этой ссылке ноль инфы по схемотехнике, лучше бы уже ткнул конкретно в эту схему v.4.
0

протупил вчера
это версия 3.2 моя

схемы на 4ю у меня нет, а всю доку мне скинул автор после покупки плат с деталями
в моей версии стоит еще ацп
+1
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.