Jump to content

    

=GM=

Свой
  • Content Count

    1588
  • Joined

  • Last visited

Community Reputation

0 Обычный

About =GM=

  • Rank
    Ambidexter

Контакты

  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

2987 profile views
  1. На входе детектора кажется R4 стоит, а не R1? Уравнять токи смещения через R4 и R3 не пробовали? Поставьте, скажем R4=10кОм. Ещё можно поиграться напряжением смещения через R4, оно должно быть такое же, как и через R3.
  2. 1) AT25DF081A, 1 Mбайт, 5 мкА в глубокой спячке 2) M24M02-DR, 256 Кбайт, 3 мкА в спячке.
  3. Ну прямо в лоб-то считать не надо. Ваша таблица по рядам (и по столбцам) будет многократно повторяться. Лучше составьте таблицу одного периода синуса на N=500 точек (для двоичного ЦПУ практичнее брать число N степени двойки, например N=512). Для первой палки считаете МАКи, беря синусы: 0,1,2,..,499 (всего 500), для второй палки берете каждый второй: 0,2,4,..,498,0,2,4,..,498 (всего 500). Для третьей палки берете каждый третий:0,3,6,.. (всего 500) и так далее. Ну и не надо считать компоненты спектра (пресловутые "палки") выше частоты Найквиста, поскольку амплитудный спектр симметричен.
  4. Ну так, заранее вычислите эти коэффициенты и разместите их в таблице. У меня на 100 МГц ДСП двойной МАК для преобразования Фурье вычисляется за 10 нс. Т.о., для 200-500 точек время счёта Re/Im одной палки составит порядка 2-5 мкс. Для 30 частот время счета составит 60-150 мкс. Но это прикид для 100 МГц тактовой, а у вас 168 МГц тактовая, так что о каких секундах может идти речь?
  5. ZX Spectrum на AVR

    Ну вообще-то, при вашем подходе к эмуляции можно легко поднять частоту до примерно 5 МГц. Ещё несколько вопросов. 1) Почему отказались от эмулятора звука? 2) Выдача меандров вместо гармонического сигнала (отрезок синуса) не напрягает? 3) А неустранимая разница частот меандра и гармонического ряда устраивает?
  6. ZX Spectrum на AVR

    Да, речь не идёт о Z80, речь идёт о тактах (машинных циклах-МЦ) эмулятора. Тут на форуме уже было обсуждение протокола XMEM применительно к чипу памяти, надо поискать. А как насчёт микроконтроллера эмулятора? Давайте поглядим попристальнее, где показан цикл выборки команды. Например, выполняется команда чтения LD R16,Z, где Z указывает на ячейку внутреннего озу, команда выполняется за 2 МЦ. Во время первого цикла выбирается команда, во время второго читается байт из внутреннего озу, есть соответствующие рисунки (документ 2467X-AVR-06/11, стр.20, рис. 10). Теперь как будет выглядеть та же команда, когда Z указывает на внешнее озу? Опять должна быть выборка кода команды и его расшифровка (1 цикл), затем выдача ALE, это Т1 на картинке XMEM (с.331, рис.157), возможно, это ещё один цикл, затем 3 цикла на чтение озу, итого набегает 4-5 циклов...Ну не 3 цикла, по крайней мере.
  7. ZX Spectrum на AVR

    Василий, позвольте задать пару вопросов. 1) Какова эффективная частота сэмулированного проца? Где-то прочитал, что 2.33 МГц, это верно? 2) Можно ли поднять частоту эмулирования до 4-6-8-10 МГц, и где и какие могут быть ограничения? 3) В описании авр зх спектрум вы пишете, что цикл обращения к озу составляет 3 такта, хотя вроде бы должно быть 4 такта, где правда?
  8. Преобразование Фурье обоих сигналов должно помочь
  9. Обычно, в начале сообщения передают синхрослово (СС) определенной длины. Вашего байта 0x55 маловато будет для синхронизации. В своё время я использовал СС длиной 32 бита (на фидерной линии), причем программа допускала приём несколько неверных бит в любом месте СС, и то, на шумах каждые 18 минут появлялось ложное СС. Да, добавлю, что 32 битная последовательность имела хорошую АКФ, ну не как у кодов Баркера, а как у М-последовательностей... В вашем случае последовательность будет состоять из N*32 точек, вот с ней и сравнивать. Можно и определенный процент искажений допустить. Для современных процов легко делается в реале.
  10. Варианты есть, можно получить частоты 48 МГц, 24 МГц, 12 МГц и 6 МГц только средствами STM32F103RB6 следующим образом. Выставляем тактовую частоту 48 МГц и выдаём её на пин МСО. Далее, берём TIM1 (или TIM8), ставим три его канала в режим COMPARE, ремапим соответствующие выходы TIM1_CH1, TIM1_CH2, TIM1_CH3. Затем записываем в регистры TIM1_CCR1, TIM1_CCR2 и TIM1_CCR3 значения 2, 4 и 8. Ву а ля. Само собой разумеется, надо настроить пины на выход, всё что надо и где надо разрешить и т.д.
  11. Ну, если у вас от 3,3 вольта всё работало, то единственное объяснение - это a five-volt tolerant I/O port bit. Там прямо на входе ножки стоят два диода, тот который подключен анодом, катодом подключен к спецсхеме, которая сливает излишки выше 3.3 + падение на диоде. Бороться трудно. Как вариант, если скорости вкл/выкл небольшие, можно поставить фотовольтаическую оптопару, например, PVI5033. PC817X тоже может подойти.
  12. Всё можно сделать проще. В качестве ключа переменного тока поставьте встречно два мосфета. Для управления используйте фотовольтаическую оптопару, например, PVI5033, там две пары в корпусе. Чтобы поднять напряжение выхода, соедините пары последовательно. Само собой, включать ключ лучше в нуле. Как-то так.
  13. 1000/19/10 = 5.26 мкс,что соответствует 190 кбит/с. Это что ж у вас за скорость такая нестандартная? Что ж, пора взглянуть на вашу программу. Интересно, как вы буфера переполняете.