|
Хочу построить КВ трансивер на ПЛИС, что для этого нужно? |
|
|
|
Oct 15 2015, 08:01
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 12-01-15
Пользователь №: 84 516

|
Я хочу выполнить приемно-передающий тракт на ПЛИС. Использовать хочу Spartan3E XC3S500, в качестве среды разработки - ise10.1. Что-то другое я использовать не хочу - у меня старый компьютер с Windows XP, мне не нужны обновления среды разработки? BGA монтаж и все в таком духе. Это я считаю нужным написать, чтобы не было ответов вроде - "Есть лучше" "Сейчас уже используют...". Насчет моих знаний - я работал с 8-бит AVR на Си и создавал контроллеры для самодельных радиостанций, так чтобы вам можно было судить об уровне, размер программ составлял около 20 КБ. С аппаратной частью ПЛИС почти разобрался - самостоятельно выполнил плату с ПЛИС, флеш-памятью, которая почему-то не работает, возможно дело в напряжении питания - не нашел стабилизаторов 1,1 вольта и поставил 1,8. Сама ПЛИС прошивается, для отработки простых примеров программирования этого хватало. Некоторые математические алгоритмы моделировал в EXEL, MATHLABом не владею. Если необходимо, дайте пожалуйста ссылку. На ПЛИС выполнил генератор пилообразного напряжения, генератор синусоиды с рассчетом по методу рядов, который работал не совсем правильно, генератор синусоиды на CORDIC, который работал значительно лучше выходной сигнал поступал на 12-бит ЦАП, и далее на вход компьютера где была установлена программа со спекторскопом. У меня возникли следующие вопросы Где можно недорого приобрести - АЦП 16-бит - Тактовый генератор на частоту более 50 МГц с высококачественным выходным сигналом, чтобы качества было достаточно для построения радиотракта, работающего на частотах до 30 МГц (охватывал весь КВ диапазон и более низкочастотные диапазоны) - Саму ПЛИС и Flash-память, где покупал, уже нет. - ЦАП необходимой разрядности (пока не знаю какой) для радиопередающего тракта, для приемного тракта у меня есть 12-бит ЦАП, преобразующий цифровой поток в сигнал звуковой частоты Работаю в VHDL, изучать другой язык потому что кому-то он кажется лучше я, как можно понять не буду. Пусть даже у VHDL есть свои недостатки. Это чтобы лишних сообщений с советами не было. Спасибо за понимание.
- Как быстро освоить 32-бит Микроконтроллеры, затратив не более 4 тыс. руб, чтобы при этом иметь: - нормальный, пусть и китайский, но работающий программатор, который видит среда разработки - Среду разработки. Желательно на Си - Микроконтроллеры в количестве 2-3 шт. Пусть это будет не самое новое и продвинутое, но должно нормально запускаться и работать на старом компьютере с Windows XP. Компьютер - частота около 2 Ггц, 2 Гб оперативной памяти, 4 ядра, возможности компьютера позволяют и Windows 7 установить, но не хочу
Пользоваться визардами я не хочу, хочу писать код самостоятельно - потому что, можно сгенерировать CORDIC в визарде, а потом тупить и думать как выполнить ячейку CIC фильтра. Или вообще интерфейс для АЦП или ЦАП или управления трактом - вот для этого уже вряд ли визард легко найти. Поэтому если есть ссылки на примеры кодов модулей генераторов на алгоритме CORDIC - можете дать ссылки. Особенно полезны разные методички, если у кого есть
Вобщем это пока все вопросы, уровень образованности у меня, как вы понимаете, любительский
|
|
|
|
|
 |
Ответов
(15 - 29)
|
Oct 16 2015, 10:11
|
Местный
  
Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859

|
Цитата АРУ сделано за фильтром, приблизительно 90 дБ. Хотелось чуть-чуть больше Genadi, а какая у Вас полоса пропускания фильтра, который 32 бита и стоит перед АРУ? Что-то 90 дБ уж очень маленькая цифра, должно быть 110..120 дБ.
|
|
|
|
|
Oct 16 2015, 10:53
|
Местный
  
Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859

|
Цитата нормально получается частота среза ФНЧ от 100 герц. Значит полоса приема для комплексного сигнала будет 200 Гц. Допустим, у Вас частота дискретизации 100 МГц (кстати, сколько на самом деле?) и АЦП имеет SNR=80 дБ. Тогда SNR на выходе фильтра будет 80 + 10*Log(50000/0.2) = 134 дБ. Для такого динамического диапазона будет достаточно (134/6) + 2 = 24 разряда. Если не хватает 32-х разрядов, значит проблема лежит не там где Вы ее ищите.
|
|
|
|
|
Oct 16 2015, 14:36
|
Местный
  
Группа: Свой
Сообщений: 366
Регистрация: 5-09-06
Из: Санкт-Петербург
Пользователь №: 20 107

|
Я тоже пробовал и сделал. НО! дешево _не_ _получится_. У меня на то, что на картинке ушло сильно больше денег - раз в 10 больше, чем изначально планирует автор. При этом весь код написан самостоятельно. И АЦП (2208 известного производителя) куплено за 800рэ. и изернета нет (ибо автомобильный вариант) Так что рассчитывать, по моему опыту, надо на примерно $700-800 , при условии, что все получится с первого раза.
|
|
|
|
|
Oct 16 2015, 20:54
|

Профессионал
    
Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634

|
АЦП тактируется 122.88 МГц или 100 МГц. CIC на 2560 - до 48 кГц. Цитата У меня в одном старом приемнике для полосы 3.1 кГц было сделано АРУ на диапазон 111 дБ при отклонении амплитуды на выходе не более чем на 0.2 дБ. На вход АРУ поступал 26-битный комплексный сигнал. Никаких 32-х бит и тем более float, double не было и в помине. Использую два режима АРУ - описанный Вами "плоский" и"спортивный" - с нормированным приращением выходного сигнала на изменение входного - на 10 дБ изменения с антенны - 1 дБ изменения выходного. В основном канале - спортивный, в дополнительном - плоский. Для АМ - всегда плоский. Обработка сигнала (перенос на звуковую частоту) делается целочисленными операциями, АРУ использует float. зы: вот оказыается сколько нас - тех, которые хотят построить трансивер (или приёмник) на ПЛИС! Вот вопрос - а где я ошибаюсь, пркидывая возможный диапазон регулировки как разность разрядности выхода FIR фильтра и разрядности аудикодека? И по комплектующим - сейчас использую кодек TLV320AIC23, кто что скажет про NAU8822L (NAU8822A)?
Сообщение отредактировал Genadi Zawidowski - Oct 16 2015, 20:56
|
|
|
|
|
Oct 17 2015, 18:03
|
Местный
  
Группа: Свой
Сообщений: 366
Регистрация: 5-09-06
Из: Санкт-Петербург
Пользователь №: 20 107

|
Цитата(Genadi Zawidowski @ Oct 16 2015, 23:54)  Вот вопрос - а где я ошибаюсь, пркидывая возможный диапазон регулировки как разность разрядности выхода FIR фильтра и разрядности аудикодека? И по комплектующим - сейчас использую кодек TLV320AIC23, кто что скажет про NAU8822L (NAU8822A)? скорее всего в том, что разрядность ЦАП звукового кодека и фильтра не имееют ничего общего. далее вопрос - с какой целью делать АРу? облегчить жизнь детектору? ему в цифре легче не станет. Лучше слышать? тогда АРУ дОлжно быть после детектора, включающего шумодав и воис активити детектор. Т.е. глубина АРУ может быть любой, но легче в смысле S/N не станет. Главно чтобы слышно было. Т.е. делать продетектированный сигнал в полный размах аудио ЦАПа. и еще - бит эдак 20и хватит для всего. Не надо думать о 32х. Ибо, даже 24 бита, при макс размахе на входе ацп 2В дадут -182дБм на 50 Ом на 1Гц. дальше, думаю, понятно...
|
|
|
|
|
Oct 17 2015, 22:21
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 12-01-15
Пользователь №: 84 516

|
Цитата(Genadi Zawidowski @ Oct 15 2015, 19:23)  Кто бы присоединился к разработке? Из животрепещущих проблем - разработать FIR фильтр для разрядностей больше чем 32. to Aleksandr Vihorev: письмо отправил Письмо пришло, ссылка тоже открылась. Только я пока еще только разбираюсь в приемах работы с ПЛИС, для меня важен не столько сам радиотракт, сколько разобраться и научиться выполнять на ПЛИС хоть какие-нибудь устройства. Хотя бы низкочастотный сигнальный процессор радиотракта - поэтому стараюсь обходиься без визардов и писать код самостоятельно. Я, правда выбрал Xilinx - приобрел программатор и сами микросхемы Насколько я понимаю, исходя из поих познаний - разработать модуль на разрядность более 32 - это "собрать"его составляющие - умножители, сумматоры и т.д. из отдельных логических элементов. Я приобрел книгу по VHDL - там примеры разбирались именно в таком ключе. Автор - Бибило. Правда, такое построение громоздко, наверно. Ну и конечно я немного охренел, увидев, что то, что описано в книге отличается от приемов работы в ise, но это, наверно обычное дело. Хотя бы то, что нужно преобразовывать векторы в переменные, а библиотеки для этого по умолчанию подключаются не те. Занятие оказалось трудоемким. Пока нужный ответ в интернете найдешь
Сообщение отредактировал Aleksandr Vihorev - Oct 17 2015, 22:30
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|