Jump to content

    

AlexZabr

Свой
  • Content Count

    900
  • Joined

  • Last visited

Everything posted by AlexZabr


  1. Но в режиме насыщения падение напряжения на транзисторе небольшое при относительно большом токе что намекает на небольшое сопротивление в насыщении...я ошибаюсь ?
  2. Насчет первой части - может быть. насчет отрицательной - сопротивление открытого канал не так уж велико, даже если в кОмах - на входе имеем 10кОм что дает вполне вменяемо небольшое усиление и по идее не дало-бы насыщение на выходе..
  3. Roc - это R open circuit ? Если так, то конечно усиление здесь будет очень большое что приведет к насыщению на выходе. Но mosfet будет по идее в cut-off при положительной волне на входе, а симуляция дала это при отрицательной. Если-же транзистор в насыщении, до разве Rds так велик ?
  4. Спасибо, все очень полезно, хорошо когад есть возможность учиться у опытных профи. :) Как говориться "науки сокращают нам опыты быстротекущей жизни..." Такой вопрос еще: обязательно ли оговаривать секции для всего, например для .switch при том что в коде (в source С) не употребляется switch ?
  5. Хмм...транзистор точно n-channel ? Стрелка вовнутрь обычно означает n, но симуляция намекает на p... :cranky: Кроме того, симуляция намекает об открытом диоде (на положительной полуволне на входе)... Хмм, нужно подумать...
  6. Мы же не говорил о биполярном, тут у нас mosfet enhancement - там структура другая. При Vgs < Vt нет проводящего канала (грубо говоря) - эквивалент разрыву цепи. Разрыв цепи -> разрыв обратной связи ОУ что ведет к отрицательному насыщению на выходе ОУ ибо входной полож. подан на инверсный вход. (Тут начинает играть open loop gain операционника, а он в небесах посему сразу выбрасывает ОУ в насыщение (близкое к питанию). А, вот меня уже опередили .. :)
  7. Отлично, спасибо, это уже проясняет картину... :) Значит, для начала задаем размеры в MEMORY на глаз, затем после омпиляции/линка проверяем приведенные вами файлы насколько мы дали "фору" и при желании корректируем .cmd поправляя заданые размеры. Например, изначально задав 24 кБ на код, мы видим что в реальности он занял 6 кВ. Значит идем обратно в .cmd по изменяем размер под код на чуть более 6кБ, таким образом оптимизируя потребление памяти. Я правильно понял ? Хотя, вопрос еще какой смысл в такой оптимизации ежели система только и делает то что заданно конкретной программой...(т.е. мы и так никак не используем ту память что освободилась в результате оптимизации)... Я ошибаюсь ?
  8. Я не знаю полностью ли вы высказали сво мнение или просто укоротили ответ но на самом деле подразумевали более полный процесс. По моему, то что происходит: Case 1: Vin > 0 Тогда source будет со стороны выхода ОУ -> Vgs = 0 -> Vgs < Vt -> MOSFET in cut-off (отсечка). В результате разорвана цепь обратной связи ОУ - на выходе отицательное saturation т.е. Vout = Vee. Case 2: Vin < 0 Тогда source будет со стороны входа ОУ (и drain соотв. со стороны выхода). Vgs = Vds. По теории: Vds > Vgs -Vt -> saturation. Если Vgs = Vds, то подавно Vds > Vgs - Vt. Значит транзистор в насыщении. Уравнение насыщение: Id =(k/2)(Vgs-Vt)^2. С другой стороны: Id = -Vin/R и Vgs = Vds = Vout. Получаем: -Vin/R = (k/2)(Vout - Vt)^2. Отсюда следует: Vout = sqrt(2/(kR))*sqrt(|Vin|), при Vin < 0. Т.е. мы получили устройство делает квадратный корень из модуля отрицательного сигнала на входе (умноженного ка фактор) и уходя в отрицательное насыщение при положительном сигнале. В принципе мой и ваш подходы очень близки (и надеюсь они правильны), просто я ожидал полного изложения процесса, я не знаю имели ли вы ввиду всю эту картину и просто вкатце изложили ответ, или вы считаете транзистор всегда в насыщении, вне зависимости от полярности входного сигнала... Вообще я тут должен дать кредит Deemonу, просветивщему меня насчет факто того что у такого рода полевиков source/drain могут меняться местами (а значит и Vgs там или сям) в зависимости от ситуации (http://electronix.ru/forum/index.php?showtopic=30918). Если-бы не сия мысля - я бы врядле решил бы ее... Сорри, не понял что вы имеете ввиду....
  9. Спасибо, почитаем. Пока как-то трудно оценивать заранее размер кода по sourceам С и ассемблера...как это делается ? Нужно еще разобраться какие секции и когда нужны...пока и это для меня туманно..
  10. Спасибо. А что будет ежели например выделенная секция под код окажется мала для рамера кода ? Что будет ежели тоже-самое будет с данными, стеком ? Определстя ли такие ситуации в процессе компиляции/linking или это только может оперделиьтся в процессе run (т.е. аппликация вылетает или чтот- т этом роде) ?
  11. Близко к моей версии. Да, ОУ идеальный. Так какой точный ответ и описание процесса при входном сигнале ?
  12. Я вот пытаюсь разобраться как конфигурировать память на С5402. Смотрю по примерам небольших готовых проэктов и читаю SPRU102F док. насчет линкера и .cmd файлов. Пока все еще больше вопросов чем ответов, буду благодарен за разъяснения, сорри за элементарные вопросы, я пока новичок в этом деле. Я буду выкладывать свои мысли, то как я понял, пожалуйста поправляйте где я ошибаюсь. Проэкт состоит из нескольких source файлов: С, asm; библиотеки rts.lib; и ессно нескольких includeдов путь к которым указан для билдера. Теперь мне нужно построить .cmd файл для линкера где я должен сконфигурировать память под проэкт. 1. Первая ориентировка - смотрю в spec процессора на карту его внутренней памяти. Также, если релевантно, знаем сколько DRAMа у нас подключено на борту. Так ? 2. По нуждам проэкта, прикидываем что желательно иметь во внутренней памяти процессора, а что можно кинуть во внешнюю (DRAM). Так ? Какие критерии такого выбора ? Может требуемое быстродействие работы системы ? Real-time/не real-time ? Всегда-ли рекоммендуется по возможности избегать использования внешней памяти (DRAM) если проэкт позволяет все разместить во внутренней конкретного процессора ? 3. Как определяется требуемый размер памяти под код программы, данные, stack и остальные элементы ? Далее будут еще вопросы, не взыщите... :)
  13. Т.е. побдрасываются оне одновременно. Какова вероятность получения 2х орлов при условии что она упадет орлом ? Что-то в таком роде ? Тогда похоже на условную вероятность..
  14. Задачка в файле. Для тех кому будет интересно отвлечься и пошевелить извилинами :) Требуется проанализировать как что работает и дать функцию входа/выхода. Буду рад мнениям. Хочу проверить себя правилен ли мой подход. Interview_analog2.doc
  15. Да, но было сказано что известно что первая монета дала орла. Тогда, ввиду независимости событий, опять возвращаемся к 1/2 как вероятность того что в оба раза будет орел. Но это равно вероятности орла самой второй монеты...
  16. Ну да, ессно, так и есть. Моя тугодумность нередко мутит мне мозги, потерял студенческий навык сидеть корпеть по ночам...
  17. Ага, понял, спасибо. Значит реализация была головной болью создателей синтезаторов, им нужно было закладывать в tool различные виды имплементации.
  18. Спасибо, понял. Т.е. кроме миниатюрного но тормознутого "столбика" - остальные решения не тривальны... :glare: А например при реализации умножителя в FPGA либо в ASIC - неужели дизайнер описывает приведенные выше алгоритмы ?
  19. Дык и я так сразу у "выплюнул": 1/2. Но намекнули что тут есть какая-то заковырка и ответ не 1/2 (и не 1/4). Странно, либо я условие не точно понял... вначале подумал что речь идет об условной вероятности, но вроде условие говорит о точно остоверном факте насчет первой монеты. Да и вроде насколько понял подбрасывание монет - два независимых события... все идет в пользу 1/2 :cranky:
  20. Как реализуются multipliers в имлпементации hardware ? На хлопский розум могу себе представить по принципу ручного умножения в столбик - т.е. реализация с применением бинарного сложения и сдвига. А каковы в реальности приципы реализации умножителей ?
  21. Есть 2 уравновешенные монеты (орел/решка -одинаковые вероятности). Известно что подбросив одну - получили орел. Какова вероятность что подбросив вторую в результате получил оба орла ?
  22. Спасибо, именно это и хотел понять. Чего-то у меня наблюдалось помутнение извилин... :)
  23. Задачка периодически попадающаяся на интервью на работу в области цифровой схемотехники (логический дизайн ASICов или board design). Задача не сложная видимо, но я конкретно торможу чего-то сейчас, к вечеру мозги видимо заболочены конкретно. Буду благодарен за подробное разъяснение решения. Interview_digital1.doc
  24. Да, дейсвтительно, сейча просчитал на бумажке - так и есть. Большое спасибо, просветили, век живи - век учись.. :) Странно что в фундаментальных книгах по DSP сие простое действо не упоминается. Говориться конечно о разложении готовой transfer function на множители/дроби для получения полюсов/нулей, но не упоминается частный случай второго порядка нахождение коеффициентов напрямую этими формулами. Именни таких 15 IIRов и использовал в банке, вместе с одним большим band-reject FIRом. В матлабе все работает как положено. Начинаю реализацию в fixed-point 16 бит тут действительно могут быть проблемы (например выбранный Q дает полюса весьма близкие к радиусу 1, в fixed-point 16 bit может "выбить" за пределы круга устойчивости ежели не предусмотреть спец. меры) Начнем реализовывать - - посмотрим.... Кстати, я так понимаю можно в Матлабе просимулировать систему в fixed-point 16 bit, так ? Т.е. специально переводить коеффициенты/промеж. результаты и т.д. в такой формат и проверить насколько ожидаемое поведение системы в DSPшной реализации будет близко к теоретическому, а прав ? Еще раз спасибо.
  25. Да, ход мысли у вас вполне резонный. Пока единственное устойчивое положение на выходе будет 1 (при А = 0, B = 1), значит в точке С будет устойчивый 0. Подаем на входа: А = 1, B = 1. Далее, согласно вашему предположению насчет симметричности данного типа mosfetов (которое мне кажется логичным), можно предположить что S и D у этого mosfetа меняются местами. Предполагая в точке С был 0, получаем сей mosfet откроется на короткое время пропуская 1 со входа А в точку С, при этом выход инвертора даст 0. В точке С этой 1ей заряжается ёмкость Cgs. mosfet закроется как только напряжение в С будет таково что даст Vgs < Vt. T.e. если предположить Vt = 1V, Vcc = 5V, то при достижении напряжения в точке С равного 4V и выше -> mosfet закроется удерживая на выходе инвертора 1цу. Тут-же заряженный Cgs насчет разряжатся в паразитное сопротивление подложки, но не сможет разрядится ниже 4V - ибо тогда mosfet опять откроется и дозарядит эту ёмкость опять. Т.е. при A = 1, B = 1, получаем стабильный 0 на выходе инвертора. Итого, имеем, A = 0, B = 1 -> OUT = 1; A = 1, B = 1 -> OUT = 0; Теперь рассмотрим положение A = 0, B = 0: Если до этого в точке С был 0 -> Cgs разряжен и ему неоткуда зарядится. Получаем в С удерживается 0, на выходе инвертора соотв. удерживается 1. Если предположить в С была 1, т.е. Cgs заряжен, и на выходе инвертора есть 0. Теперь (A = B = 0), mosfet закрывается вследствии этого Cgs насчет разряжаться через сопротивление подложки ведя точку С к нулю вследствии чего выход инвертора даст 1. Вывод, при A = B = 0, сработает "память" - т.е. будет удерживатся стабильно 1 на выходе инвертора если предыдущее положение таково и было. Если-же предыдущее положение было 0 на выходе инвертора (т.е. С = 1), это будет удерживаться ("помнить") на короткое время разряда Cgs до уровня ниже Vt. Затем Выход инвертора переключится в 1 опять. Значит при прошлом положениие OUT = 0, у элемента будт очень "короткая память". Последнее положение A = 1, B = 0 - тоже самое что и при A = B = 0. Буду благодарен ежели проследите мой анализ - вполне вероятно чего-то упускаю. Надеюсь мои пояснения не сильно сумасбродные для понимания и отслеживания.. :)