"Возникло стойкое ощущение, что из предоставленных деталей искомый предмет в евклидовом пространстве собрать невозможно."
Ох, знакомый прикол... Сразу вспомнил свой бакалаврский диплом.
Вообще-то я инженер, но тогда в рамках очередного эксперимента Минобраза на 4м курсе давали эдакую мега-курсовую, и по ней защищался бакалаврский диплом - а потом уже остаёшься доучиваться, если хочешь.
В общем, задание-то я получил. Вроде даже несложное - собрать девайсину на базе микроконтроллера, которая по нажатию кнопочки регистрирует с десяток секунд сигнала заданной частоты и амплитуды, переводит в цифру, пишет в энергонезависимую память - а потом может отдать компу.
Задание было простым, но осложнялось оно тем, что к 4му курсу я уже плотно работал почти по специальности (пришёл как студент на пол-ставки, ага... Года не прошло - дёрнули на полный день), причём работал в конторе, за вакансии в которой и взрослые дяди зайца лопатой в поле готовы были убить.
Надо ли говорить, что из-за работы практически все свои консультации я пролюбил?
Диспозиция: времени неделя, препод где-то вне зоны доступа. Через неделю я должен принести готовую работу, если не принесу, или принесу фигню - к защите меня не допустят, и здравствуй, повторный курс. Даже наконец-то удалось взять отпуск, щас мы эту девайсину сделаем, приключение на 20 минут...
Ага, щазз. Знаете ли вы, что такое группа с подспециальностью "Метрология"? Это весело. ОЧЕНЬ. Чтобы сделать из лабы на два часа лабу на весь день преподу достаточно одной простой фразы: "-Снял? Посчитал? Молодец! А вот теперь посчитай - с КАКОЙ ТОЧНОСТЬЮ ты это сделал!".
Итак, моя вишенка на торте. Незамеченная внизу задания коварная фраза: "Точность: 0,1%".
Мать, мать, мать... Привычно отозвалось эхо.
Пробую собрать на компонентах, которые мы обычно для подобных вещей использовали. Не получается. Ну никак. Процент погрешности - легко, но мне-то нужна ОДНА ДЕСЯТАЯ!
На повторный курс очень не хочется, начинаю импровизировать.
Так, что у нас там новенького из сверхточных АЦП? Блин, он один больше одной десятой даёт! Так, а этот? Тоже... А если взять АЦП подороже, но чтобы был диапазон по частотам побольше, и чтобы я работал в самой "вкусной" его части? Что-то начинает получаться...
Микроконтроллер. Нашего стандартного 20 МГц старикана, ессно, и близко по быстродействию не хватает. Так, а что у нас там есть на его базе? Тот же набор команд, 120 МГц? Берём! Прикидываю кусок кода на асме (какой уж тут высокий уровень?)... Да, прочитает поток данных с АЦП и не заткнётся.
Входной фильтр... 12й порядок, МАМА! Понимаю, что если считать его россыпью - как раз можно брать повторный курс, за годик управлюсь. Так, а что у нас в задании? А ничего про него нет, нагло берём уже почситанную и готовую микруху! Так, а там ещё и операционник сверхточный? Пригодится, щас мы им уровни сигнала к нужным для АЦП приведём!
Три бессонные ночи - и я впихиваю получившегося монстра в 0,0998% погрешности для худьшего случая. Рисую полную схему (питание, интерфейсы, флэшка) и уже на кураже развожу плату.
Проверяю ещё раз - требования задания соблюдены до буквы. Девайсина, правда, "живьём" получилась бы небюджетная - но цену мне в задание и не ставили, плевать.
Фанфары, барабанная дробь. Приношу своему научруку уже практически готовый диплом.
С каменным лицом он перелистывает принципиальную схему и математику. Прикидвает сам на пальцах - да, ошибки нет, я уложился в заданные параметры.
Он снимает очки, поворачивается ко мне и говорит - "Знаете, я вам этого не сказал... Но вообще погрешность на высоких частотах можно было взять и побольше!"
Уже к защите (да, допустили), я начал понимать идею. Дать студенту заведомо невыполнимые требования, чтобы он потыркался и посидел ночами месячишко. А когда он обессиленный придёт без идей - разрешить ему взять погрешность побольше, чтобы вписаться в существующую элементную базу.
Но у меня-то была работа. И всего неделя. И я это "невыполнимое" задание взял, и СДЕЛАЛ!
Не исключено, что тупо повезло - все компоненты "монстра" были довольно свежими, на годик-другой пораньше - и не факт, что получилось бы...
На защите ржала вся кафедра. Вопрос "сам ли делал" не поднимался - ТАКОГО зверя им ещё не приносили, но вопросами помучали всё равно - чисто проверить, понимал ли я, что и зачем сделал. Убедились, что таки да, ещё раз беззлобно поржали и отпустили с пятёркой.
Девайс-монстр мой, кот и лампа мои, тег "моё".