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

yes

Свой
  • Постов

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

  • Посещение

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

    3

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


  1. очень часто вижу реализацию на С - то есть какие-то структуры содержащие в полях указатели на функции, которые вручную заполняются, никаких проверок и т.п. ну то есть абстрактные какие-то интерфейсы, которые динамически выбираются во время исполнения. в С++ это все "ис коропки" и подозреваю, что быстрее + меньше кода. ну и как-бы гарантируется компилером, что ничего не перепутано если совсем делать нечего, то можно и на ассемблере такое написать, но какой смысл это делать? ----------------------- один и тот же фунционал что на С++, что на ассемблере будет одинаковый по скорости/размеру - ни 2-4 раза, ни 10% не выиграешь (какой-то экзотический контрпример ногодрыганья наверно можно найти, не спорю, но если какой-то осмысленный код с каким-то "датафлоу", то не переоптимизируешь компилер) а если пользуешься тем, чего в более низкоуровневом языке нету, то и сравнивать нечего. про аллегорию :), если ЗОЖ во внимание не брать, то спорткар больше удобства и скорости езды, чем велосипед, обеспечивает. так же и с С++ vs ASM
  2. что-то я потерял нить дисскуссии. но в рамках "поговорить обо всем" - вообще неправомочно сравнивать С++ с С и асм-ом. ну это как сравнивать потребление у спорткара, малолитражки и велосипеда - совсем разный расход бензина на 100км получается. в С++ есть какие-то абстрактные классы, динамик каст и т.п., что в С надо делать вручную или отлавливать краши. так же и С обеспечивает, что С функцию можно позвать из любого места, то есть и стек не попортится и за регистрами в соответствии с ABI можно не следить и т.п. а если отказываться от функционала, то естественно, можно сэкономить на тактах проца
  3. это наверно при сборке компилятора надо указывать - то есть ./configure --with... ---- я совершенно случайно сюда зашел, не являюсь знатоком mips. но далеко не всякая архитектура позволяет компилятор для биг/литтл собрать. и если позволяет, то какие-то специальные усилия при сборке компилера могут быть нужны
  4. спасибо. больше не буду занудствовать. по поводу модели, ну как вообще работает такая оцифровка, обобщенно "сигма-дельта" я знаю и даже писал всякие "мозги" к таким АЦП когда-то. то есть вряд ли что-то узнаю для себя в модели ЦАПа. ну это может полезно для характеристики выходных транзисторов vs выходной фильтр и т.п. (если я правильно рассмотрел картинки). меня интересовал спектр помехи, создаваемой ШИМом. пусть он как-то подавится фильтром и т.п., но так как фильтр это линейное устройство, то палки в спектре (если не правильно пишу, извиняйте - спектр не по цветам, а FFT (интенсивность от времени)) останутся и как-то их в постпроцессинге надо будет убирать (это все для некой хитрой обработки люминисценции - я еще не понял физики (и может не пойму), но важно знать модуляцию облучающего света, поэтому, как я полагаю, и этот гемморой с использованием такого драйвера вместо стандартного светодиодного драйвера, в котором PWM генерится от встроенного RC и его потом нужно еще выловить в полученных отсчетах) upd: вот картинка из интернета, на которой проиллюстрирован факт, что PWM больше мощщи накачивает в низкочастотные гармоники. в будущем надо будет моделировать и считать, но для каких-то "предварительных" обсуждений, такое рассуждение сойдет и поэтому я занудствовал...
  5. а где модель взять? вроде нету на AD спасибо. как физически выход устроен я понял. черт с ними с токами, подключили один выход, нагрузка на землю, смотрим напряжение. есть ли ограничение на максимальную длину импульса, то есть если даем +MAX в каждой I2S посылке, то будет все время Vdd на этой нагрузке или какие-то переключения? ну все-таки пояснения к тому что за ШИМ хочу получить. или есть фиксированная длина импульса и меняется интервал следования. то есть чем больше на ЦАПе цифра, тем чаще импульсы, а не дольше длительность импульса --------------------- приблизительно понятно, но похоже что макетку придется паять...
  6. 0 можно получить +Imax-Imax+Imax-Imax... я наверно повторяю один и тот же вопрос, но как-то не пойму пока ответов... извините за занудство если на входе -Val, то выходной ток это -I,+0,-I,+0 (то есть половина моста работает, в обратную сторону ток не включается) или что-то типа -I,-I,+I,-I,-I,+I то есть мост работает в обе стороны, но в одну (в минус в этом случае) чаще? ----------------------------------------------------- и если на входе +MAX (0x7FFF...) то через нагрузку будет все время ток константный +Imax или все-таки последовательность импульсов с максимальной частотой заполнения? (то есть это PWM или PCM - то есть какая разница в спектре между этими случаями, не в предельных значениях мин/мах, а где-то в середине диаппазона, я что-то не соображу сразу, но хочу знать, чтобы разобраться позже). ----------------------------------------------------- мне кажется, что реализация может быть и одним и другим способом. мне непонятно, каким реализовано в этом чипе. поэтому хочу либо ответ тех кто имел дело с такими микросхемами, либо понимает это все достаточно четко (в отличие от меня)
  7. режим с непрерывной тактовой, никаких standby в рабочем режиме да. с типом выхода не понял, навыдумывал лишнего. спасибо. но вопрос остался: в рабочем режиме через нагрузку всегда течет ток? то есть в любой момент времени либо в одну, либо в другую сторону течет ток? а состояние ток через нагрузку не течет в рабочем режиме отсутствует. ну и среднее значение этого тока может быть не нулевым. то есть при ненулевом значении среднего на входе ЦАП, будет ли ненулевое значениие тока, то есть мост большую часть времени будет в одном состоянии, чем в другом?
  8. ну там есть некая идея заказчика питать хитрый светодиод от такого усилителя. дело в том, что корпус чипа очень маленький и частота импульсов лучше для задачи, чем в обычных ШИМ драйверах светодиодов. (ну технически наверно можно было бы эту частоту ШИМ и вырезать в постпроцессинге, но там и потребление и производительность проца сильно ограничены - поэтому думаю, что над идеей они долго думали). вот я себе поставил задачу поискать - не могли ли они в практической части не учесть чего-либо, теория это как бы хорошо, но может есть какие-то неочевидные свойства этого усилителя upd: ну а вывести ШИМ из процессора - там понадобится еще транзистор, что по площади хуже будет, насколько я понял.
  9. возник у меня ещё пакет дурацких вопросов 🙂 вобщем с цифровым концом мне все понятно, хочу еще уточнить про аналоговый (я с такими микросхемами не работал и теорию плохо знаю) 1) выход push-pull или с возможностью третьего состояния? то есть когда например 0 на входе ЦАП (то есть непрерывно идут 0), а питание униполярное 5В (например), то на выходе будет непрерывный меандр со средним значением 2.5В? или возможны какие-то более редкие импульсы вниз/вверх (поровну), а большую часть времени оба транзистора будут закрыты (Z на выходе, ток не течет)? 2) там ШИМ или всегда импульсная модуляция, то есть например, когда на ЦАП +MAX то выход будет всегда в 1 (ну то есть верхний транзистор открыт) или все-таки будут идти частые импульсы с длительностью 1 такт (тогда с масштабированием выхода непонятно - значение ЦАП в вольты как переводится?) еще вопрос с DC составляющей - в стандартной аналоговой схемотехнике с таким униполярным питанием, по моему, другой контакт динамика цепляют к большому конденсатору, чтобы типа виртуальная земля была и постоянный ток не тек. нет ли какого-то DC remover-a внутри такой микросхемы - ну типа экономим большой конденсатор, профит. то есть если в каждой посылке по I2S идет одно и то же значение, то на выходе будет одно и то же напряжение? в аудиокодеках я когда-то столкнулся с вырезанием DC - был сильно удивлен (когда уже спаял плату)
  10. большое спасибо за понятный ответ. в мое оправдание - прежде чем писать сюда, я почитал UM11732 (то самое филипское I2S), но вот такого четкого объяснения оттуда я не извлек
  11. в даташите варианты - правый канал, левый канал, моно канал - это все понятно (но я вообще не для звука собираюсь использовать) но вот если передается 16 бит bit15,bit14...bit0 - как в них кодируется выход ЦАПа - то есть +МАХ это 0x???? , -MIN ??? , 0 ???? если 32 бита, то тогда как задается - ? из общей эрудиции, я бы предположил, что MAX что то типа 0х7FFFF.... , MIN 0x80000.... , 0 это 0x00000... или 0xFFFFF.... ну или беззнаковое. но как-то опасаюсь, что с таким подходом работать не будет ----------- возможно это для человека в теме I2S нет вопросов, но у меня про этот протокол представление, что это такой типа SPI для звука - каких-то "представления данных" в нем не знаю, ну и вопрос в "для начинающих", прошу учитывать, пожалуйста
  12. нигде в даташите не указана разрядность. "вес" старшего бита, точность младшего и т.п. фигурирует динамический диаппазон 110дБ, что что-то типа 18 бит. я могу предполагать, что при 16, 24 и 32 битной разрядности (форматы слов i2s) выравнивание идет по левому биту (мсб) и остальные игнорируются. но хотелось бы увидеть в даташите, а не предполагать из "общих соображений" опять же если 16 бит достаточно, то зачем мне передовать словами по 32 бита? то есть зачем тратить и время передачи и память на "пустые биты" да у меня какое-то непонимание. может те кто в теме все понимают, но вот я как-то даташит прочитал, апп.ноты поискал - ничего не понял 🙂
  13. я тоже так думаю. если бы без проблем могли нанять на вдвое меньшую зарплату (это рекурсивный алгоритм), то платить столько не стали бы
  14. корочка показывает, что человек в состоянии окончить вуз. то есть заниматься какой-то однообразной деятельностью длительное время и успешно. я на собеседовании всегда очень подозрительно смотрю на кандидатов без диплома. конечно, бывают исключения, но вот чаще всего, если нарушал это правило, то потом жалел.
  15. а сталкивались со scala-ой? на ней (скорее из нее) chisel написан - такой модный HDL для всяческих навороченных шин и RISC-V я пытался с Rocket-ом разобраться пару месяцев и преуспел, скажем так "частично". там для каждой операции пораждается свой язык, со своим синтаксисом, собственно chisel-я процентов 10% а остальное всякое разное - для конфигурации, для интерконекта, для какого-то встроенного VHDL-я, и т.д. причем синтаксис описан только в самих исходниках, которые на нем же написаны. ну вроде как мировая примьера "атомик хёрт" была недавно. меня почему-то реклама её задолбала - поэтому знаю. говорят мирового уровня игра, типа "биошок" наших дней написано криптобелларусами (ну то есть белларусами, которые на кипр свалили) танчики опять же - в них играют не только в эксссср
  16. то есть название и возможность любой разрядности данных (16,24,32) бита как бы намекает на PCM, то есть импульсная модуляция, как напрямую на классический class D должна идти но DAC на картинке, опять же ссылки на то, что это обычный I2S - заставили меня засомневаться. ---------------- проще говоря - если у меня два потока I2S - один с 1,2,1,2... а другой 4,8,4,8... одинаковый выход будет или разный? ---------------- более детально - поток не непрерывный, а поделен на L/R - то есть напрямую на выход PCM не подашь - его надо где-то буферизировать, повторять или перецифровывать (растягивать) - как делается? если у меня есть процессор с I2S интерфейсом (ну загоняю отсчеты в память (FIFO/DMA), а из них генерится непрерывный поток для L (например) канала то как мне их рассчитать? нужно какой-то сигма-дельта калькулятор, который сгенерит отсчеты? где его взять, как посчитать - ну то есть на входе функции величина напряжения, на выходе - PCM для этого усилителя с каким-то известным фильтром (конденсатором, динамиком) на выходе ---------------- извините если тупые вопросы - но я как-то прочитал описание ничего не понял, погуглил по похожим вопросам - стало еще меньше ясности (там почему-то углубляются в то что такое I2S, что такое PCM - я вроде понимаю и то и это, но вот что этому усилителю надо - не пойму)
  17. возможно. что там какой-то частотный план (ну то есть перенос с несущей на какую-то промежуточную частоту, то есть частоты гетеродинов из этой частоты удачно ложаться - вне этой схемы причина), может NCO для кода и несущей как-то красиво связаны и один счетчик можно сэкономить... в 90-е за лишний гейт кремния люди готовы были побороться. я тоже не могу сразу понять. статистически можно обнаружить фронты сигналов ПСП, чем точнее обнаружение, то есть чем выше частота сэмплирования, тем точнее измерение (но считать нужно больше, естественно - все разрядности увеличиваются впридачу к частоте - поэтому должны быть причины для оверсэмплинга). но это общее рассуждение. чем вызван выбор частоты в конкретном случае - не могу сказать. тот же МАКСИМ выпускает для ГПС-а аналоговый фронтэнд - в первом поколении у них полосы были что-то 3-5МГц, во втором поколении подняли до 30МГц (ну кроме всякого остального), то есть кому-то это надо. еще за фазой надо следить в RTK приемнике, но это уже тема, в которой я совсем мало понимаю
  18. это похоже на какой-то быстрый поиск по задержке в чем-то типа GPS-а C/A сигнала, который 1024МГц и 1024 символа. ну а 5МГц нужен уже для всякого слежения ФАП-ами и ФАПЧ-ами (то есть на картинке только часть тракта нарисована) - ну и соответственоо, что чем больше там оверсэмплинг, то тем больше точность задержки и соответственно позиции (и соответственно, если я угадал, то 5МГц для действительного сигнала - ну это весьма говенный приемник, бывает, что и 30МГц) ----------- то есть не вижу ничего порочного в такой схеме. там частоту в требуемую точность есть некая наука как пересчитать, но я во первых не знаю, какие требования. ну и если честно - постараться надо, потому что вот так сразу уже не помню, деталей, только "вообще" upd: это какой-то патент? не рабочая схема?
  19. нет противоречия - нефтянникам не нужна лаборатория нефтянникам нужно готовое оборудование, которое ни одна, ни сто лабораторий создать с 0 не могут. если есть работающая микроэлектронная промышленность, то "он топ" на ней можно клепать какие-то эксклюзивные железки для нефтянников. а наоборот, на железках для нефтянников микроэлектронику не поднимешь (ну когда была нефть по двести (тм), была же попытка, Евтушенков и все-такое) и как промежуточное решение - серваки для банков и нефтянки - то самое "ядро", понятно, что оно построено на "он-топе" от мировой электроники, и чем закончат по результатом "сделаноунасанья" не понятно (у меня есть предоложение, но писать тут не буду) и зарплаты в "ядре" повыше 250тыр, кстати ----------------- за рынком программистов не сляжу, но вроде в этом году слышал что-то типа "микрософт файрес, еще кто-то из софтовых гигантов файрес", что мне кажется "давно уже пора" 🙂 ну а что UVM сложнее boost-а? не думаю 🙂 а boost это абстракция, программисту нужно еще какое-нибудь API знать - ну тот же кернель драйвер, как правило, сложнее железки, к которой цепляется -------- я то как раз в железячники пошел, чтобы проще жить. и как-то мне кажется, что у нас в РФ оверквалифай традиционно. вследствие упоминавшейся выше бесплатности образования. вот сошлюсь на авторитеты - SM хвастался, что без высшего образования ему легче АЗИКи с сигнал процессингом делать 🙂 upd: может я ошибся с выбором кому отвечать, но это как бы ответ на традиционнцю тему: тупые программисты 500тыр получают после недельных курсов, а для того чтобы ПЛИСину прошить надо 6 лет учиться...
  20. я не говорил, что на айтишников есть деньги - по сравнению с развитыми странаи доля айтишников по деньгам ничтожна. да, есть яндекс - для евразии это неплохо, но по сравнению с калифорнией ничтожно ну а то, что в ит обслуге банков или нефтянки платят деньги - ну во первых завидовать грешно, во вторых количество таких должностей мало upd и извиняюсь за очевидное - для запуска ит-шного бизнеса, ну например игру написать - никаких вложений не надо, даже дырокол и офис не нужны - и это повсюду так и в развитых и в неразвитых странах - поэтому попыток поднять бабла на чистом софте на два-три порядка больше, ну и доля успеха не хуже. а для работы с железом - нужно сразу бабла выделить и причем немало (по рамкам бедной страны - 10-20 лямов бакинских с возвратом через 2-4 года ставит крест на всех таких бизнесах). поэтому если и получается "железячный" бизнес, то это скорее ip провайдер (ну типа бери системц с верилятором и херачь - прув оф концепт сделать можно - для запада это работает, немного работает и у нас - все-таки заморозить 10-ток лямов даже при наличии прува - весьма смело) да. в штатах сокращают количество программистов - но это последствия раздутого пузыря в сфере ит, и на увольнение в первую очередь идут зерокодеры и т.п. специализации ит
  21. https://syntacore.com/page/products/processor-ip/scr7 вообще-то создали, не АРМ, но не хуже. вполне годная, мирового уровня контора (вопрос конечно где они будут как контора через год-полтора, понятно, что отдельные разработчики с той или иной вероятностью релоцируются (если еще не), а сама контора вместе с "ядром") --------------------------------------- также у китайцев есть xuantie, у индусов shakti ---------------------------------------- но по деньгам Калифорния (sifive) рулит, а "за научную новизну" Беркли и ETHZ из Цюриха. Почему так? РФ бедная страна, причем деньги не из промышленности, а из природных ресурсов - то есть процессоры не нужны и денег на них нет. а научные школы - ну во первых опять таки деньги, во вторых престиж и качество жизни - то есть если предлагают переехать в Беркли или Цюрих из Китая, Индии или РФ, то мало кто откажется
  22. GPS модули

    тут известный вопрос, наверно: "утром деньги, вечером стулья" то есть вкладываться в разработку ляма плат - это одно, а напродавать лям - другое, по-моему. ну и я взглянул quectel-ы эти на дигикее по 10 баксов... тяжело побить, по моему, даже при бесплатной комплектухе а только АЗИК (самый говеный) при ляме штук 10$ добавит к штуке...
  23. тут важно не путать с вериложным case - там разные варианты full parallel priority unique ... (и еще casex casez) то что в vhdl - это parallel - разницы с if нет upd: а какая разница между цепочкой муксов и большим муксом? ну кроме времянки. другой вариант приоритетный энкодер - когда часть битов управления может игнорироваться
  24. с ОСом может быть перезаклад - там обычно переключается контекст (то есть вообще все. в RISCV это могут быть, например, и какие-то регистры таймера-профилировщика), а в задаче ТС можно сэкономить на том, что вернется кол-стек потом обратно в этот же обработчик. по крайней мере, я так понял. но у RV есть нереентерабельные CSR регистры - типа того же mepc (или sepc взависимости от обработчика/моды) - то есть может и недозаклад в ОСи - ну то есть указатель стека там поменяется (при переключении контекста), а вложенности прерываний нету то есть их надо вытащить и сохранить для вложенности... -------------------- разбираться надо, по-моему... если вообще есть ли смысл во вложенности прерываний (?) - я так понимаю, что бай дизайн такого в RV не предполагалось
  25. если кто не знает - то Cинтакор (нынче "Ядро") владеет вполне передовыми IP для RV - то есть теоретически, можно сделать не однокристалку, а вполне себе серверный RISCV но вопрос кому это надо, то есть кто будет платить?
×
×
  • Создать...