Jump to content

    

Garoldy

Участник
  • Content Count

    15
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Garoldy

  • Rank
    Участник
  • Birthday 05/09/1990

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

990 profile views
  1. Минус ноль

    Портирую проект с моторолы. Код был написан на одной из первых версий IAR и при работе с float значения -0 никогда не получалось. проверки на это не делали. С удовольствием закрыл бы вопрос просто проверкой на -0, но в проекте сотни вызовов этой функции. Напрашивается корректировка функции умножения. В дизассемблере видно что перед тем как вернуть нулевой результат, происходит накладывание маски (and) 0x80 00 00 00. Сейчас разбираюсь как скорректировать стандартную библиотеку для работы с float, что бы маска была 0x00.
  2. Минус ноль

    Здравствуйте. Среда Keil v5.13.0.0 Работаю с float на stm32 Результатом умножения нуля на отрицательное значение является минус ноль (80 00 00 00). В дизассемблерном файле видно что вызывается функция __aeabi_fmul. Можно ли указать функции что бы она возвращала ноль без знака?
  3. Отличаться могут корпусами. 93С46АР - скорее всего в DIP. Судя по информации из интернета, Pickit2 умеет шить 93C46. Здесь есть упоминание на русском, а здесь можно на картинке посмотреть что выбирать. Программу для Pickit2 качал отсюда. На офф. сайте не нашёл. Что бы прошить 27с512, без TL866A (если Вы его надумали брать) не обойтись и если микросхема в PLCC, то нужен будет ещё и адаптер.
  4. Много раз сталкивался с вышедшими из строя MB по причине некачественного БП. Но ни разу не встречал выгоревшие "дорожки". Может быть это связано с тем, что узел, контролирующий ток во вторичке, успевал увести БП в "защиту"? Чаще всего элементы на материснкой плате "дохнут" от перенапряжения и не обязательно с созданием КЗ. К примеру у всех ATX блоках есть узел дежурного питания(5 В), который запитывает MB когда она выключена. Например напряжение на USB как раз оттуда берётся. И если блок птания считает себя истинным китайцем, собранным сами знаете где, то перед "смертью", или в момент, он обязательно должен выдать на дежурку не менее 15 В. Последсвия: MB сгорела, предохранитель цел. Сгореть плата может, кстати, при выключенном компе! Предохранитель чаще всего горит при проблемах в "горячей" части БП. Почти всегда перегорает вместе с выходом из строя мощного ключевого транзистора.
  5. Спасибо за ответы/советы. Просто нужно побольше эксперементировать. Так понятнее будет)
  6. Даташит читал и видел такой параметр как максимальный ток (в импульсе) и время его действия. Питать макс. током не собирался. Как вы думаете, если уменьшить время свечения светодиода до 1/12 (оставить только 6 регистров и не параллелить загрузку данных), сильно упадет яркость?
  7. И все же, не взирая на исход этой затеи, мне хотелось бы довести дело до конца. К тому же спрос, хоть и не большой, но есть.
  8. Здравствуйте! Есть задача изготовить светодиодную панель размерами ~ 3000х600 мм. Начал с разработки базового модуля(далее БМ), с которых можно будет "сложить" панель нужных размеров. Перебирая различные варианты(спец. драйвера, МК на каждый БМ), пришел к выводу что, для одноцветной панели не больших размеров, лучше сдвиговых регистров и не придумаешь. Выбрал размеры БМ - 90х12 СД с шагом 1 и 2 см. Исходил из того, что 90х12 с шагом 1 см вполне может сгодиться как бегущая строка, готовая к использованию. В качетсве сдвиг. регистров взял DM134. Развертка построчная. Один БМ разбил на 2 части. Первыми шестью строками управляют "верхние" шесть регистров, а строками с 7 - 12 - "нижние" шесть. (все показано на схеме) Таким образом хотел увеличить время свечения СД и уменьшить нагрузку на управляющий МК. Для управления строками используется последние 3 загруженых бита в первый "верний" регистр, и 3 бита от первого "нижнего" регистра. (на схеме понятнее) В качестве ключей взял шесть IRF7319 (два mosfeta p и n). На входе БМ, стоит буфер. В итоге получается данные в БМ грузяться парралельно в два потока. Ну и к чему я все это написал. Хочу у Вас спросить ваше мнение. Есть ли право на жизнь у этой схемы? Есть еще несколько технических вопросов в изготовлении светодиодеых панелей (бегущих строк). При использовании модульной конструкции, как лучше всего разместить управляющую логику и светодиоды (с выводами)? Какие СД лучше подходят для улицы? (корпус, размер, расстояние между ними, яркость) Насколько хороши козырьки над СД? Может быть у кого есть не секретные фотографии таких конструкций изнутри, а то вопросы размещения БМ в корпусе тоже еще не проработаны. BM_Sheet_1.pdf
  9. Вот вы то мне и нужны!) Я так понимаю для TRF3703-15 входной сигнал, от ЦАП, не должен превышать 1.5 В? На плате ЦАП(к примеру на вашей) , выходной уровень фиксирован, либо же можно выбрать, например 3.3 В или 1.5 ? В даташитах по сопряжению подобных микрух(QPSK модулятора и ЦАП) между ними ставить какой-то делитель на резисторах, где номиналы резисторов уж слишком точны, что бы их найти. Как вы решили эту проблему? Ну и последний вопрос, что у вас за генератор для модулятора и для ЦАП?
  10. Здравствуйте! Нужна помощь в сопряжении TRF3703-15EVM и DAC5687EVM. Кто работал с этими устройствами?
  11. >> Victor® Вы оказались правы, на счет смехотворности!! Почитал не много про счетчики, после этого все стало понятно. Я сделал следующим образом: process(CLK) begin if rising_edge(CLK) then counter_do<=counter_do+1; counter_re<=counter_re+1; -- для каждой ноты свой counter_xx if counter_do="10111010101000100" then --если в counter_do натикало число, соответсвующее counter_do<=(others=>'0'); -- половине периода ноты До, то обнулить счетчик count_do<=count_do+1; --в нулевой бит counter_do записать 1, при следующем обнулении счетчика, -- нулевой бит будет уже нулем и т.д --частота изменения нулевого бита будет соответсовать частоте ноты До. else null; end if; if counter_re="10100110010001011" then --тоже самое и для Ре и для остальных нот. counter_re<=(others=>'0'); count_re<=count_re+1; else null; end if; -- продолжение операторов if для оставшихся нот end process; Victor®, на счет форм сигнала даже и не думал. Достаточно того, что бы просто пищало. На сайте марсохода, нашел проект с проигрованием мелодии "Подмосковные вечера" вот и захотел повторить. Кстати, все получилось! Подобрал нормальную длительность нот, и стало один в один как на тамошнем видео! Всем спасибо за помощь! PS Victor®, надеюсь что когда-нибудь буду понимать все ваши слова с ходу, а не пропуская черег гугл..)
  12. Не совсем представляю как это сделать. Вот у меня есть счетчик: process(CLK) begin if rising_edge(CLK) then counter<=counter+1; --сигнал counter 24 bit else null; end if; end process; Как вы предлагаете подключить дешифратор? Или Вы имели ввиду какой-то другой счетчик? >>des00 Спасибо! Только вот DDS для моего проекта будет излишне! Мне всего лишь хочется разобраться как воспроизводить однотональные мелодии на ПЛИС.
  13. Добрый день! Суть проблемы вот в чем. Есть spartan-3 starter kit. На платей установлен кварцевый генератор на 50 МГц. Нужно из этой частоты получить частоты нот первой октавы, т.е приходится делить на числа отличные от (2 в степени n). Подскажите, как можно это сделать на VHDL? Прочел, что есть блок PLL, которым можно поделить скажем на 10 или 50, но описания на русском, как его задействовать, не нашел. частота, Гц; Нота; 261.63 до1 293.67 ре1 329.63 ми1 349.23 фа1 392.00 соль1 440.00 ля1 493.88 си Точности до единиц достаточно будет.