Статистика
Время:
Зарегистрированных: 88405
Последним зарегистрирован: leksey953
Рекорд посещаемости: 12585
Групп пользователей: 4
 Группы:
[Admin] [Cоучастник] [Автор] [Модератор]
 Сейчас на сайте
 Всего: 540
 Гостей: 531
 Анонимных: 1
 Пользователей: 8
 Зарегистрированные:
vinpin Zigfrit vbifvbif варадеро ЛиАЗ-5256.00 kop040669 Ruslan Macintosh
Страницы: (14) [1] 2 3 4 5 6 7 8 9 10 11 ... Последняя » ( Перейти к первому непрочитанному сообщению ) Ответить Новая тема Новый опрос

> STM32F4discovery для пирата
romanetz
Сообщение: # 524189   Dec 23 2013, 05:14 PM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5363
Пользователь №: 99518
Регистрация: 13-March 13




Есть идея применить STM32F4discovery для пиратского вещания. Эта плата при невысокой цене в 600-900 рублей за готовое изделие может а) использоваться как кодер MPX, RDS с входом USB (как USB звуковая карта и COM-порт в одном лице) б) софтовый декодер MP3 (ретранслятор веб- или спутниковой радиостанции в эфир) в) законченный узел управления передатчиком, с выходом цифрового сигнала на DDS или на ЦАП.
USB-кодер выложу на этой неделе, уже начал писать софт под него. Схем не будет, т.к. используется ГОТОВАЯ плата, синтезатор к ней подключайте по вкусу. Можно написать управление сразу всеми ими (LM7001, LC72131, LMX2306, TSA5511, SAA1057), нужны только обладатели таких синтезаторов для тестирования. У самого есть LC72131, LM7001, SAA1057, проверять буду на них.
Есть у кого нибудь такая плата (STM32F4discovery) на руках или возможность ее приобрести и синтезатор/передатчик? Приглашаю участвовать в тестировании прошивки. Софт в плату заливается по USB, программатор в ней встроенный, ничего паять не нужно особо :-)


--------------------
https://github.com/romanetz
Linuxcnc project contributor
PMEmail Poster
Top
Zlodey
Сообщение: # 524191   Dec 23 2013, 05:27 PM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 3767
Пользователь №: 39917
Регистрация: 30-November 08
Место жительства: Архангельская область



а как дела с индикацией, или управление с компа будет ?


--------------------
=> Zlodey <=
PMEmail PosterUsers Website
Top
Ferrum-1827
Сообщение: # 524200   Dec 23 2013, 05:50 PM
Quote Post


Дедушка
**********

Группа: Автор
Сообщений: 12972
Пользователь №: 55667
Регистрация: 10-November 09
Место жительства: BY



Есть F0 в наличие, есть синтезы LC,LM,SAA,TSA5512. Синтезы - самое малое из трудностей.

Больше делов с кодером стерео/рдс. Если будет заманчивое начало - смогу F4 приобрести для тестов.

Это сообщение отредактировал Ferrum-1827 - Dec 23 2013, 05:54 PM


--------------------
image
© 1982 Sinclair Research Ltd
PMUsers Website
Top
romanetz
Сообщение: # 524205   Dec 23 2013, 06:09 PM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5363
Пользователь №: 99518
Регистрация: 13-March 13




Что касается индикации, индикатор туда приспособить проблем нету, но поскольку USB предполагает наличие компа или роутера рядом - проще написать приложения для компа и управлять через виртуальный COM-порт по тому же самому интерфейсу USB.
Есть наработки по прикручиванию туда эзернета -> будет удаленное управление и индикация через веб-браузер. Правда, для эзернета необходим внешний PHY (микросхема физического уровня сети, например, DP83848 или RTL8201) и трансформатор - можно запаять самому, можно купить модуль у китайцев. Под USB-звуковуху есть готовые драйвера в ОС Linux в прошивке OpenWRT - то есть, подключив передатчик в роутер c USB портом и прошивкой OpenWRT, можем хоть оптику к передатчику тянуть, хоть по вайфаю с вышкой соединиться (хоть по витой паре все подать - и питание, и сигнал - прямо на крышу к антенне).


--------------------
https://github.com/romanetz
Linuxcnc project contributor
PMEmail Poster
Top
Ferrum-1827
Сообщение: # 524208   Dec 23 2013, 06:16 PM
Quote Post


Дедушка
**********

Группа: Автор
Сообщений: 12972
Пользователь №: 55667
Регистрация: 10-November 09
Место жительства: BY



Планы у вас амбициозные, хотя и вполне реальные.

Коммуникацию, думаю, прикрутить будет легче, чем сам центр формирования сигнала стерео/рдс.

Как вы думаете формировать КСС ?

Это сообщение отредактировал Ferrum-1827 - Dec 23 2013, 06:20 PM


--------------------
image
© 1982 Sinclair Research Ltd
PMUsers Website
Top
Zlodey
Сообщение: # 524215   Dec 23 2013, 06:33 PM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 3767
Пользователь №: 39917
Регистрация: 30-November 08
Место жительства: Архангельская область



в наличии F4, F429, а вот тюнеров пока нема(((


--------------------
=> Zlodey <=
PMEmail PosterUsers Website
Top
Ferrum-1827
Сообщение: # 524218   Dec 23 2013, 06:38 PM
Quote Post


Дедушка
**********

Группа: Автор
Сообщений: 12972
Пользователь №: 55667
Регистрация: 10-November 09
Место жительства: BY



Для контроля КСС достаточно осциллографа (форма сигнала).
Для контроля звука можно напрямую подключить стереодекодер.
Для контроля рдс - тоже самое.

Если конечно не планируется DDS крутить... (а оно планируется, но не реализовано)


--------------------
image
© 1982 Sinclair Research Ltd
PMUsers Website
Top
Airat
Сообщение: # 524234   Dec 23 2013, 07:08 PM
Quote Post


Соучастник
****

Группа: Cоучастник
Сообщений: 756
Пользователь №: 15433
Регистрация: 28-December 06
Место жительства: г.Казань



Все что надо есть под рукой, передатчики на синтезаторах TSA5511 и SAA1057. К тестам готов.
PMEmail PosterICQ
Top
romanetz
Сообщение: # 524236   Dec 23 2013, 07:09 PM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5363
Пользователь №: 99518
Регистрация: 13-March 13




Получив блок звука на заданной частоте дискретизации от компа, передискретизировать его на кратную частоту (скажем, 44100 -> 44100*6=264600 Гц) и рассчитывать MPX сигнал. Пилот-тон и модуляцию рассчитывать софтовым DDS с помощью быстрых алгоритмов расчета синуса (например, табличный или полиноминальный). Далее настраивается DMA на этот блок звуковых отсчетов - и ждем следующего события (приема следующего блока отсчетов по USB). Обьем памяти STM32F4 позволит буферизовать 100...200 мсек звука для исключения спотыканий от неравномерной передачи по USB.
Вывод сигнала, что на DDS, что на встроенный ЦАП, что на внешний ЦАП по I2S ничем не отличается - настроил DMA и жди окончания передачи, отличается только периферийное выходное устройство.


--------------------
https://github.com/romanetz
Linuxcnc project contributor
PMEmail Poster
Top
Ferrum-1827
Сообщение: # 524247   Dec 23 2013, 07:26 PM
Quote Post


Дедушка
**********

Группа: Автор
Сообщений: 12972
Пользователь №: 55667
Регистрация: 10-November 09
Место жительства: BY



Пилот достаточно слаживать с МРХ

Допустим, 16бит дискретизация 44100*8=352800 кгц - это только для МРХ каналов
Добавляем 19кгц 10%

Добавляем РДС - 57кгц бифазное кодирование (не будем же в 8 битах делать).
Если звук до 19кгц цифруем в 44100 16бит, тогда 57кгц "ЦАПаем" в 44100*3

Потом это всё слаживаем и выплёвываем в итоговый цап...


--------------------
image
© 1982 Sinclair Research Ltd
PMUsers Website
Top
Zlodey
Сообщение: # 524269   Dec 23 2013, 08:09 PM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 3767
Пользователь №: 39917
Регистрация: 30-November 08
Место жительства: Архангельская область



QUOTE (Ferrum-1827 @ Dec 23 2013, 07:38 PM)
Для контроля КСС достаточно осциллографа (форма сигнала).
Для контроля звука можно напрямую подключить стереодекодер.
Для контроля рдс - тоже самое.

Если конечно не планируется DDS крутить... (а оно планируется, но не реализовано)

осцил имеется


--------------------
=> Zlodey <=
PMEmail PosterUsers Website
Top
Ferrum-1827
Сообщение: # 524271   Dec 23 2013, 08:13 PM
Quote Post


Дедушка
**********

Группа: Автор
Сообщений: 12972
Пользователь №: 55667
Регистрация: 10-November 09
Место жительства: BY



В идеале - остаётся только хороший ВЧ модулятор. Оный имеется от Павлика (мостового типа) smile.gif


--------------------
image
© 1982 Sinclair Research Ltd
PMUsers Website
Top
romanetz
Сообщение: # 524351   Dec 23 2013, 11:53 PM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5363
Пользователь №: 99518
Регистрация: 13-March 13




Демо-проект от ST "USB-звуковуха" запел почти как надо. Пока что с небольшими заиканиями. Есть догадки откуда они берутся, проверю, устраню - выложу что получилось. Среда разработки - бесплатная CoIDE,шью в ней же. Надо 2 кабеля - по mini-usb питание и прошивка, по micro - собсно интерфейс с компом. Стереовыход - в стандартном гнезде наушников. MPX пока смотрю как выводить.


--------------------
https://github.com/romanetz
Linuxcnc project contributor
PMEmail Poster
Top
animals
Сообщение: # 524354   Dec 24 2013, 12:14 AM
Quote Post


Соучастник
****

Группа: Cоучастник
Сообщений: 902
Пользователь №: 6551
Регистрация: 23-March 06
Место жительства: Ставрополь



очень интересное устройство получается, синтезаторы найдутся,ждем результатов будем тестить
PMEmail PosterUsers Website
Top
tarasian666
Сообщение: # 524378   Dec 24 2013, 09:21 AM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1775
Пользователь №: 69347
Регистрация: 10-August 10
Место жительства: Україна



Очень вовремя, я тоже пару дней назад решил замутить что-то на stm32f4
Но пока болею просто читаю мануалы)
Я планирую сначала сделать аналоговый вход, а потом добавить цифровой. Но управление мне приоритетней автономное(дисплей, кнопки или энкодер)


--------------------
Русский военный корабль иди нахуй!
PMEmail PosterUsers WebsiteICQ
Top
Pavlik
Сообщение: # 524427   Dec 24 2013, 01:48 PM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 6612
Пользователь №: 25249
Регистрация: 18-October 07
Место жительства: Село Кубинка



QUOTE (Ferrum-1827 @ Dec 23 2013, 09:13 PM)
В идеале - остаётся только хороший ВЧ модулятор. Оный имеется от Павлика (мостового типа) smile.gif

Всё-таки сделал схему ЗГ с последовательным задающим контуром. Качество модуляции вообще бесподобное. Один в один с оригиналом! И, главное, шумов вообще нет. Есть нюансы конечно, но они реализуемы. Поподробнее о схеме позже. Комп полетел к чертям, собираю новый сейчас, некогда пока.


--------------------
PMEmail PosterUsers WebsiteICQMSN
Top
Pavlik
Сообщение: # 524532   Dec 24 2013, 08:17 PM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 6612
Пользователь №: 25249
Регистрация: 18-October 07
Место жительства: Село Кубинка



Запустил сегодня новую конфигурацию на компе, сделал записи. Оригинал и запись в теме ЗГ


--------------------
PMEmail PosterUsers WebsiteICQMSN
Top
romanetz
Сообщение: # 524811   Dec 26 2013, 05:15 AM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5363
Пользователь №: 99518
Регистрация: 13-March 13




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


--------------------
https://github.com/romanetz
Linuxcnc project contributor
PMEmail Poster
Top
romanetz
Сообщение: # 525540   Dec 30 2013, 07:21 PM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5363
Пользователь №: 99518
Регистрация: 13-March 13




небольшая заминка... делаю управление синтезом на SAA1057 на этом же STMе, синтез на команды управления не реагирует. Пробую софтовый и аппаратный SPI... как заведу синтез, продолжу с кодером.


--------------------
https://github.com/romanetz
Linuxcnc project contributor
PMEmail Poster
Top
tarasian666
Сообщение: # 525550   Dec 30 2013, 08:32 PM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1775
Пользователь №: 69347
Регистрация: 10-August 10
Место жительства: Україна



ну зачем все портить этой SAA1057 ?..
Исходники будут хотяб ?


--------------------
Русский военный корабль иди нахуй!
PMEmail PosterUsers WebsiteICQ
Top
romanetz
Сообщение: # 525557   Dec 30 2013, 08:53 PM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5363
Пользователь №: 99518
Регистрация: 13-March 13




Все будет, только до минимально работоспособного варианта доделаю, чтобы стерео заработало и управление синтезом. Вся ночь впереди :-)) и праздники еще
Сейчас вот в таком виде все:
СкачатьUSB_STM32F4.zip
Проект находится в папке my_audio_usb

Это сообщение отредактировал romanetz - Dec 30 2013, 09:08 PM


--------------------
https://github.com/romanetz
Linuxcnc project contributor
PMEmail Poster
Top
tarasian666
Сообщение: # 525563   Dec 30 2013, 09:09 PM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1775
Пользователь №: 69347
Регистрация: 10-August 10
Место жительства: Україна



у меня на днях только появилась эта платка, седня пытался сделать стереокодер с использованием ацп->цап(внутреннего). Вроде работает, только ацп не могу нормально настроить на 2 канала. А так то пилот-тон есть, звук модулируется 38 килогерцами, спектр похож на то что надо )


--------------------
Русский военный корабль иди нахуй!
PMEmail PosterUsers WebsiteICQ
Top
romanetz
Сообщение: # 525582   Dec 30 2013, 09:51 PM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5363
Пользователь №: 99518
Регистрация: 13-March 13




Вот здесь лежит библиотека от ST, там есть пример одновременной работы двух каналов ADC (папка \Project\STM32F4xx_StdPeriph_Examples\ADC\DualADC_RegulSimu_DMAmode1), все же АЦП у STM 12-ти битный однополярный (еще минус один бит на постоянную составляющую) STM32F4 DSP and standard peripherals library
[offtop]Я заморочился именно на вход от USB чтобы устранить связку АЦП и ЦАП с выхода компа в тракте. Таким образом, добавив DDS можно получить полностью цифровой тракт.[/offtop]

Это сообщение отредактировал romanetz - Dec 30 2013, 09:55 PM


--------------------
https://github.com/romanetz
Linuxcnc project contributor
PMEmail Poster
Top
tarasian666
Сообщение: # 525590   Dec 30 2013, 10:38 PM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1775
Пользователь №: 69347
Регистрация: 10-August 10
Место жительства: Україна



там еще один непонятный пример, 4 канала и один общий...


usb конечно хорошо но там реально тогда больше заморочек, к ним я вернусь попозже )


--------------------
Русский военный корабль иди нахуй!
PMEmail PosterUsers WebsiteICQ
Top
romanetz
Сообщение: # 525886   Jan 2 2014, 11:04 AM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5363
Пользователь №: 99518
Регистрация: 13-March 13




Просьба проверить у кого есть синтез на lc72131:
PB15 - DI LC72131
PB10 - CL LC72131
PC2 - CE LC72131
Частота 101.0.
/*
У меня управление проходит, но захвата нет ни в какую. Кварц на LC-шке генерит, на входе ВЧ полвольта амплитуды, ГУН - резистором - строится на эту частоту. Плата - комбайн Егеря на BA1404, используется только ВЧ часть.
st.gif логического анализатора - нету, это последнее средство будет...
*/
Все ОК, есть захват - проблема была в сопливом монтаже. Буду пилить кодер :-)
tarasian666, поделись как у тебя алгоритм кодирования сделан?
По отсчетам кодируешь или блок целиком и запускаешь через DMA?
Если блок целиком - можно еще туда фильтр 15 кГц вкрутить и преэмфазис...

Это сообщение отредактировал romanetz - Jan 2 2014, 02:25 PM

Присоединённый файл ( Кол-во скачиваний: 594 )
Присоединённый файл  usb_audio.hex


--------------------
https://github.com/romanetz
Linuxcnc project contributor
PMEmail Poster
Top
tarasian666
Сообщение: # 525919   Jan 2 2014, 02:29 PM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1775
Пользователь №: 69347
Регистрация: 10-August 10
Место жительства: Україна



по отсчетам кодирую, как сделать блок пока не знаю

у меня ацп через dma походу там можно фильтр нацепить

Это сообщение отредактировал tarasian666 - Jan 2 2014, 08:05 PM


--------------------
Русский военный корабль иди нахуй!
PMEmail PosterUsers WebsiteICQ
Top
tarasian666
Сообщение: # 525972   Jan 2 2014, 09:55 PM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1775
Пользователь №: 69347
Регистрация: 10-August 10
Место жительства: Україна



Интересный прикол, если делать по правильному, по формуле то разделение капитально страдает на 1 канал, а если по методу "поочередно пускать то левый то правый с частотой 38кгц" то тогда все зашибись


--------------------
Русский военный корабль иди нахуй!
PMEmail PosterUsers WebsiteICQ
Top
romanetz
Сообщение: # 525991   Jan 3 2014, 05:18 AM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5363
Пользователь №: 99518
Регистрация: 13-March 13




код можно увидеть? (можно и тот и другой режим)
я вот такой пробовать буду
CODE

void MPX_Gen (uint32_t samplerate,uint8_t multiplier,s16 * inbuf, s16 * outbuf, uint16_t size)
{int temp=0;
static uint32_t phase;
static uint32_t phase19;
uint16_t cnt=0;
s16 L,R;
dphase=(19000*LUTSIZE)/(samplerate*multiplier);
while (cnt<size)
{L=*(inbuf++);
R=*(inbuf++);
temp=(L+R)/2+(L-R)*LUT[phase&(LUTSIZE-1)]+(LUT[phase19&(LUTSIZE-1)]*8/100);
phase+=dphase*2;
phase19+=dphase;
*(outbuf++)=(int16_t)temp;
cnt++;
};
}

Расчет специально делал в целых числах - с прицелом на портирование на STM32F1xx серию - она дешевле и есть в малоногих корпусах.
LUT[LUTSIZE] - таблица значений синуса по формуле LUT[i]=32767*sin(i*2*pi/LUTSIZE), посчитанная заранее в экселе

Это сообщение отредактировал romanetz - Jan 3 2014, 05:48 AM


--------------------
https://github.com/romanetz
Linuxcnc project contributor
PMEmail Poster
Top
tarasian666
Сообщение: # 525998   Jan 3 2014, 09:34 AM
Quote Post


Соучастник
*****

Группа: Cоучастник
Сообщений: 1775
Пользователь №: 69347
Регистрация: 10-August 10
Место жительства: Україна



вот первый, по сути такой же, синус 38кгц от 0 до 2048
синус 19кгц от 0 до 368 (уже посчитано 9% от 4096)
CODE

 LR = L + R;

 L_R_s = (L-R)*sin38[i];
 L_R_s = L_R_s >> 11;

 sin19p = sin19[i];

 Output = ((LR + L_R_s)>>1) + sin19p;

вот второй вариант
CODE

 sin19p = sin19[i];
 LS = L *sin38[i];
 LS  = LS >>11;
 RS = R * sin38_2[i];
 RS = RS >> 11;
 Output = LS + RS + sin19p;

sin38_2 сдвиг на 180грд

Это сообщение отредактировал tarasian666 - Jan 3 2014, 09:36 AM


--------------------
Русский военный корабль иди нахуй!
PMEmail PosterUsers WebsiteICQ
Top
romanetz
Сообщение: # 526071   Jan 3 2014, 05:05 PM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5363
Пользователь №: 99518
Регистрация: 13-March 13




Sin19p должен быть от 2047-184 до 2047+184 - т.е.смещение пол диапазона ЦАПа, аналогично и все сигналы надо просчитать пару отсчетов вручную и сравнить со значениями в отладчике. Сдается мне, косяк в постоянной составляющей, оттого и нет разделения.
Чуть позже выложу проект с работающим кодированием. Принимаю, кстати, на rtl2832

Это сообщение отредактировал romanetz - Jan 3 2014, 05:23 PM


--------------------
https://github.com/romanetz
Linuxcnc project contributor
PMEmail Poster
Top

Настройки темыСтраницы: (14) [1] 2 3 4 5 6 7 8 9 10 11 ... Последняя » Ответить Шустрый ответ Новая тема Новый опрос


 




  banner DIPTRACE - САМЫЙ ЛУЧШИЙ ТАКСИРОВЩИК ПЕЧАТНЫХ ПЛАТ
Portal-X