Перейти к содержанию
    

Quasar

Свой
  • Постов

    344
  • Зарегистрирован

  • Посещение

  • Победитель дней

    4

Весь контент Quasar


  1. А вот вопрос, по практике. У меня на одной железке, начались проблемы со сборкой фрагментированных IP пакетов. В LwIP IP_REASSEEMBLY = 1, и иногда, при приеме например ICMP размером 30Кбайт, стеку не хватает памяти (malloc возвращает NULL), и обмен подвисает, пока стек не очистит очередь IP фрагментов, ожидающих сборки, я взял и отключил IP_REASSEEMBLY, теперь стек не задумывается, но вопрос, чем это не грозит?
  2. В общем, алгоритм который я задумал, с поиском максимальной корреляции данных в FIFO с синхро-последовательностью, при поступлении каждого нового семпла, у меня так и не заработал как надо. Не понимаю в чем проблема. При потоковой передаче псевдослучайной-последовательности с целью замера BER, все получается, вплоть до уровня -115 ...-116 дБ (в качестве приемника/передатчика использую обычный аналоговый репитер). Но при реальной работе в эфире иногда (1 из 50 пакетов) проскакивают ошибки даже в ближней зоне. Решил пока забить на этот алгоритм и начал изучать демодулятор из GNU Radio, с целью понять причину периодических ошибок во время его работы: https://github.com/luizrenault/op25/blob/ma...emod_ff_impl.cc В нем, для получения отсчетов во время каждого символа используют MMSE интерполяцию, но мне не ясно, как построили таблицу taps'ов для интерполяции и почему время подстраивают вот таким образов? // symbol clock tracking loop gain const double K_SYMBOL_TIMING = 0.025; if(interp_p1 < interp) { d_symbol_clock += symbol_error * K_SYMBOL_TIMING; } else { d_symbol_clock -= symbol_error * K_SYMBOL_TIMING; } Плюс, может кто подскажет, почему используют такой непонятный способ борьбы с постоянной составляющей? // our output symbol will be interpolated value corrected for symbol_spread and frequency offset interp -= fine_frequency_correction; interp_p1 -= fine_frequency_correction; ... // coarse tracking loop: for eventually frequency shift request generation static const double K_COARSE_FREQUENCY = 0.00125; // time constant for coarse tracking loop coarse_frequency_correction += ((fine_frequency_correction - coarse_frequency_correction) * K_COARSE_FREQUENCY); // fine loop static const double K_FINE_FREQUENCY = 0.125; // internal fast loop (must be this high to acquire symbol sync) fine_frequency_correction += (symbol_error * K_FINE_FREQUENCY); То есть, высчитывают постоянную составляющую исходя из текущей ошибки в отсчете символа. Почему бы просто не пропустить через фильтр ВЧ с частотой среза 1-2 Гц?
  3. STM32F4 + lwIP

    Да, тоже столкнулся с таким в свое время, вот такой там код был: void ethernetif_input( void const * argument ) { struct pbuf *p; struct netif *netif = (struct netif *) argument; for(;; ) { if (osSemaphoreWait( s_xSemaphore, TIME_WAITING_FOR_INPUT)==osOK) { p = low_level_input( netif ); if (p != NULL) { if (netif->input( p, netif) != ERR_OK ) { pbuf_free(p); p = NULL; } } } } } TolikG проверьте, есть у вас такое?
  4. Ну в таком случае, конечно хорошо бы иметь резервную копию последних настроек, запись основных и запись копии происходит соответственно в разное время. Я такое делал, но правда не с целью защитить от потери, а с целью защитить пользователя от неумелых действий. Настроил что-то не то, откатил назад, на предыдущую конфигурацию.
  5. Сорри, дезинформировал, у F103 нет такого режима, это я с F407/417 перепутал.
  6. Еще в DMA есть режим с двумя буферами, Double Buffer Mode, я использую его для воспроизведения или записи чего-либо. Но вы должны выдвигать данные в DAC с частотой равной частоте семплирования, которую вы прочитали в заголовке WAV файла.
  7. Я во флеш храню настройки как на старых железках на LPC23xx, так и на новых на процессорах STM 407/417, целостность данных контролирую CRC, жалоб на пропадание настроек пока не поступало. Партии около 1000 изделий, но это правда на LPC23xx, думаю на STM будет результат не хуже.
  8. Интересная вакансия, Hi-Fi, High-End аудиотехника мое хобби, а профессионально занимаюсь радиосвязью, но вот переезд, конечно смущает. А в РФ случаем не планируете открыть отдел разработки? :-) По поводу Европы, хорошо там или нет, я лично убежден, что это сугубо индивидуально, имею знакомых, которые прижились и им там Ok, а есть и те, кто вернулся в РФ.
  9. Job.andrei (дог) gmail.com Я исполнителя нашел, так что именно данный вопрос закрыт, но пообщаться можно, так как подобные задачи бывают с некоторой периодичностью. В общем welcome.
  10. Работали с ними в течение 3 лет, причем заказывали помимо плат сборку изделий (около 200 плат в год). Было ОЧЕНЬ большое количество брака (60-70% годных), причем из-за непротравов в печатных платах. Дабы это устранить, ввели программу тестирования и приемки. Каждую плату принимали ТОЛЬКО после того, как внутреннее тестовое ПО запустится и загорятся светодиоды согласно программе тестирования. Те платы, которые не запускались согласно договору исправлялись силами Мегаполиса. На выходе получали порядка 97% годных изделий (изделий из двух процессоров (LPC23xx) и ethernet Phy). Потом менеджер занимавшийся нами уволился, начала работать некая Юлия. В итоге, она начала писать нам, что любое тестирование это еще +100500 млн. рублей к цене заказа, да и вообще, почему мы за ваше изделие должны отвечать (типа мы за 100500 млн. рублей протестируем, если чего не заработает, мы здесь не причем). Из-за некоторого косяка с нашей стороны (понадеялись, что качество у них стало лучше, за 3-то года), мы все-таки заказали у них партию без тестирования, оказалось 50% брака, запороли деталей тысяч на 150, потратили время. Теперь с ними не работаем.
  11. Нет тут ни каких нестыковок. ГОСТ, просто из-за того, что мы в РФ по большей части находимся, и надо от чего-то отталкиваться, описывая задачу. Как я сказал, параметры в ТЗ не жесткие, их можно варьировать, главное что бы шаг сетки частот и диапазон были как в ТЗ. А по поводу порядка цен, сразу скажу, что люди, считающие NBF приемник и передатчик упакованные в корпус из Чипа и Дипа многомиллионной нанотехнологией, которую надо целый год разрабатывать, могут идти дальше и не тратить свое ужасно дорогое время на этот топик, он не стОит их внимания :-)
  12. Не надо фантазировать и нести бред! Это частная разработка не под чей-либо заказ. Есть идей запустит продукт, продукт запускается под собственные деньги, поэтому жевать сопли нет времени. Я не против готовых решений, но я честно говоря не нашел в подходящем мне конструктиве трансивер. На рынке дофика всяких ICOMов и Vertex'ов, а готовых модулей нет (либо я не нашел). Плюс нужен девайс с 9600 входом/выходом, я не звук передавать собираюсь, поэтому всякие CTCSS фильтры, фильтры предыскажений +6 dB мне не нужны. Нет, ни какой сертификации не подразумевается, поэтому, если упрощение каких-либо параметров ускорит разработку или у кого-то уже есть наработки с худшими характеристиками, то обсуждаемо. Спасибо, поизучаю. А вы их использовали сами? Не ясен порядок цен, я запрос послал, но пока не отвечают. Я опирался на ГОСТ 12252, при написании ТЗ :-)
  13. Приветствую. Понадобились блоки приема и передачи узкополосной FM на 400-480. Нужно свой модем сделать. К этому сообщению прикреплены мини ТЗ, для начала разговора я думаю достаточно. Желательна повторяемость и простота, может быть кто-нибудь предложить что-то из своих наработок. Уточняющие вопросы и вопросы по оплате писать в ЛС. Хотелось бы иметь прототипы к концу января - середине февраля. Receiver_for_UHF_band.pdf Transmitter_for_UHF_band.pdf
  14. Написал им, они не отвечают. Наверное свернули деятельность.
  15. Приветствую. Может кто посоветует. Ищу контору для сборки печатных плат, также важна услуга по закупке комплектующих. То есть схема работы должна быть следующей, мы передаем необходимую документацию, а на выходе получаем необходимое количество собранных печатных плат. Расположение конторы я думаю неважно, так как вся документация в электронном виде, а собранные печатные платы можно и по почте переслать. Платы в среднем SMD 0603, меньше не используем. Крупные партии по такой схеме мы в Китае делаем, но вот для мелких надо бы найти здесь (В РФ). Есть какие-нибудь предложения?
  16. Ну я надеюсь CAD'ы-то там применялись? Altium Designer там, Mentor, P-CAD, AutoCAD?
  17. Поставил TPS78223, результат отличный и плату переразводить не пришлось.
  18. Я его в своем приемнике использовал как интерполирующий, в приемнике его быть не должно по идее. По фильтрам тогда я не понимаю, почему фильтр в приемнике обзывают Integrate and Dump, хотя по сути получается это обычный Moving Average? Или он должен быть засинхронизирован с символами и сбрасывать свое состояние после того, как все отсчеты принадлежащие текущему символу закончились? http://www.mathworks.com/help/comm/ref/integrateanddump.html
  19. Тогда еще вопрос, в догонку, а я правильно понимаю, что частота среза у RC фильтра 2400 (то есть половина символ рейта) и параметр beta=0.2? В приложениях для синтеза подобного фильтра спрашивают частоту среза (ну её-то по АЧХ понять можно) и бету, вот насчет беты сомнения у меня.
  20. Я вас не собираюсь ни в чем убеждать. А у вас не было мысли, что АЧХ этой микросхемы мне давно известна и как было сказано ниже, в НЧ области она полностью соответствует выбранному ЦФ. И ваш пассаж "Или сигма-дельта преобразователи научили работать на постоянном токе?" про какую-то иную реальность, но не нашу. Нет ни каких проблем у сигма-дельта с НЧ областью. Да, спасибо, я примерно понял чего с этим делать, только поскольку ножки в данный момент заземлены, мне кажется, что в случае выбора регистрами входа АЦП, смещение с них снимается. А иначе, если источник один, получается его выход заземлен сейчас. Хотя я естественно могу ошибаться. Позже проверю, подняв ножки с платы.
  21. Да вроде умеют :-) Если я на своей существующей схеме пинцетом замкну INP на землю например, то код будет на выходе -32768, если INM то 32768 и он будет вполне постоянный.
  22. Да здесь дело не в сгорит, предыдущий каскад в покое будет притягивать в ноль это смещения. То есть, я получу то с чего и начал. Смещенный на 1.35 В вход, и что бы с ним работать, опять нужен конденсатор.
  23. Схема суммирования такая? Иными словами подать смещение на вход ОУ, но ведь в этом случае, это смещение и в источник попадать будет, так?
  24. Приветствую. Есть схема с TLV320AIC14, вход сделан сейчас по даташиту с разделительными конденсаторами в каждом плече, задача их убрать, то есть расширить полосу до 0Гц. Поискал AppNot'ы на сайте Texas и был удивлен, что ни чего подобного там не освещается. Собственно меня смущает смещение 1.35 В на обоих входах в покое. Я так понимаю нужна какая-то схема сдвига? Двухполярное питание в схеме есть и добавить операционник не проблема, но как его выход подключить ко входу кодека не совсем понятно, может кто направит в верном направлении?
  25. В стандарте схема демодулятора приведена такая: То есть используется Integrate and Dump фильтр, но честно говоря, я не совсем понимаю, как принимать с его помощью. По поводу полосы, да, полоса в эфире 12.5 КГц. По стандарту, при формировании модулирующего сигнала, его пропускают через Raised Cosine и isinc фильтры, ограничивая полосу частотой 2880. Это все конечно прекрасно, я же не спорю. Задача на уже существующем железе это сделать.
×
×
  • Создать...