Inferno
#03
22 ноября 2002 |
|
Диплом - Диплом Alone Coder-а. Разработка программного обеспечения для специализированного логического анализатора. Комментарии к тексту диплома.
Комментарий к тексту диплома. Alone Coder Я решил, что имеет смысл опубликовать материал моей дипломной работы, чтобы она не пропала зря. Вдруг кому-нибудь поможет? Однако, текст диплома в чистом виде мало полезен, таких можно в инете грести лопа- тами, поэтому мой - будет прокомментирован от и до :) Начнём сначала. В институт (Рязанскую Государственную Радиотехническую Академию) я поступил в 1997 году. Специальность моя была "Прог- раммное обеспечение вычислительной техники и автоматизированных систем" (2204.00) Не спеша протекло время, и кончился пя- ты курс. Мы сдали госэкзамен и отпраздно- вали последний звонок. Вторая половина пя- того года осталась на написание диплома. Практика. Диплом разрешалось писать по выбору - либо на выпускающей кафедре (ВПМ), либо на произвольном предприятии. Некоторые предп- риятия развесили рекламу, в которой приг- лашали к себе выпускников. Я отказался от варианта написания на кафедре и пошёл пи- сать диплом на РКБ "Глобус".Это РКБ распо- ложено совсем рядом с моим домом,а в отде- ле кадров работает моя тётя, поэтому выбор мой должен быть вам понятен ;) Единствен- ное замечание в том, что предприятие госу- дарственное, с секретами,то есть много про него писать не буду. Сами догадаетесь, что не договорю :) А шпионы, надеюсь, не дога- даются ;) Итак, я заполнил документы,получил про- пуск и получил место работы и руководите- ля.Мне дали три темы на выбор,я выбрал ту, которая мне ближе - программирование одно- кристальной микроЭВМ. Справочник по этой ЭВМ мне дали сразу.Ничего сложного для во- сприятия в нём не оказалось. ────────────────────────────────────────── Но я немного отступлю от темы и поста- раюсь познакомить вас с людьми, имена ко- торых встретятся в тексте: - Дунин Владимир Евгеньевич - руководи- тель дипломного проектирования. - Минаев Антон Сергеевич - работает там же, сильно помогал :) - Парфилова Надежда Ивановна - консуль- тант от кафедры. - Быстрова Татьяна Михайловна - моя сес- трёнка. ────────────────────────────────────────── Был определён точный срок сдачи титуль- ного листа. На листе должны были быть соб- раны подписи трёх консультантов. В сущнос- ти, это было несложно. Экономист и эколог расписывались, проверив только, что в дип- ломе предусмотрены главы по их предмету. Консультанта по диплому достаточно было просто поймать. В институте выдавали бланк задания и титульный лист диплома, которые было нужно заполнить. Посовещавшись с В.Е., мы запол- нили черновой вариант, который я потом по- казал Н.И. и после пары замечаний перепи- сал набело. Сложность была в том, что лист задания включает в себя содержание будуще- го диплома и полный перечень графического материала. Предсказать их,когда диплом ещё не начат,чрезвычайно сложно. Пришлось имп- ровизировать на основе готовых, что навер- няка и подразумевалось. Дипломное проектирование. Текст диплома писался по частям. Первая часть - введение и технико-эко- номическое обоснование (я даже не знаю,как это расшифровывается) была написана ещё до начала работы, во время преддипломной пра- ктики. Так решил В.Е., и, я думаю, он был прав.Надо же было с чего-то начинать. Расчет времени измерения тоже писался до завершения программы, по меньшей мере частично.Это пришлось делать потому,что он подводил теоретическую базу под неё, хотя бы условно. С куска программы, отвечающего за передачу/сжатие,я и начинал писать про- грамму, причём на нём же и закончил - не такой уж он оказался простой :) Кстати, глазастый читатель сможет заметить в прог- рамме многие обороты,присущие чисто спект- румовскому программированию ;) Экономическую часть и БЖД необходимо было согласовывать с соответствующими пре- подавателями, и поэтому они писались отде- льно. Причем,написавший раньше получал вы- году в том смысле, что ему пришлось меньше стоять в очереди к преподавателю :) Осо- бенно если учесть,что обоим преподавателям нужно было показаться на глаза как минимум несколько раз :) Разумеется, эти две запутанные части на NN процентов являлись повтором соответст- вующий частей из дипломных работ прошлых годов. Например, моя часть о БЖД перекоче- вала из диплома Минаева А.С. :) Экономический расчет - довольно сложен. Дело в том, что рассчитанные по известным методикам (из библиотечных книжек) значе- ния приходилось аккуратно корректировать так,чтобы кровь из носа,а программа окупа- лась. То есть, стоила как можно дешевле и имела положительную экономическую отдачу. Более того,чтобы расчетный срок разработки соответствовал действительному времени ди- пломного проектирования. Остальные части записки я даже не смогу прокомментировать - ничего не помню из то- го, какие события были с ними связаны! 8) Так или иначе, но диплом получился средне- го допустимого размера, не сильно раздутый и не совсем уж пустой.Принципиальных огра- ничений на размер нам не ставили, но пре- дупредили - талмудов не писать! Для графо- манов, правда, была определённая лазейка - известно, что в текстовом редакторе Word можно менять как размер шрифта, так и меж- строчное расстояние, а с ними и ширину/вы- соту используемой части страницы. Никто особо не ругался за несоблюдение стандарт- ных параметров листа, но Танюшка где-то пронюхала про некий ГОСТ,на который следо- вало ориентироваться. Параметры страницы в моем дипломе были такие: Верхнее поле: 1,5 см; Нижнее поле: 1,5 см; Левое поле: 2,5 см; Правое поле: 1,25 см; Номер - в правом верхнем углу (расстоя- ние от верхнего края до колонтитула - 0,75 см, шрифт Times 14).Содержание - третья по счёту страница, непронумерованная; Шрифт для текста: Times New Roman 14; Межстрочный интервал: полуторный; Шрифт для программ: Courier New 10. Межстрочный интервал: одинарный; В чём измеряется размер шрифта в Ворде, я не знаю :) Оболочка журнала не позволила нам при- вести диплом со всеми этими параметрами, поэтому все специфические шрифты, формати- рования и т.п.показаны цветом - получилось даже чуть ли не лучше, чем было на самом деле! ;) После проверки консультантом от кафедры (Н.И.) было выявлено довольно много недо- чётов, и пришлось перепечатать и заменить 50 листов. Диплом к тому времени был уже переплетён, и его расплели заново. Диплом удалось сдать в срок, я был вторым после старосты,кто успел это :) Правда,потом нам назначили второй срок, но уже более жёст- кий, на сдачу диплома со всеми подписями. После этой сдачи диплом мы увидели бы то- лько на столе комиссии во время защиты. Защита. Рассмотрим теперь мою речь. У меня было два примера докладов в электронном виде - один побольше, один поменьше. Я со- вершенно не знал, какого размера должна быть моя лекция, поэтому сначала написал, сколько получилось. Дополнительным услови- ем было также то, что доклад должен быть основан на плакатах и обязательно должен давать ссылки на все представленные плака- ты (у меня их 7) в порядке их нумерации. Что того хуже, в процессе доклада должен демнстрироваться некий ролик, состав кото- рого был никому не известен. Ходили слухи, что он мог являться чем угодно - от анима- ции до скриншотов,переключаемых кнопкой. У меня не было анимации и даже идей по пово- ду неё (изображать тыкание мышкой по опци- ям не мог хотя бы потому, что у моей про- граммы нет интерфейса по определению :)), однако скриншотов у меня не было тоже, по тем же причинам, и я решил собрать рисунки из текста диплома и несколько дополнитель- ных иллюстраций (штук десять в сумме). Итак,первый вариант речи не ссылался ни на рисунки, ни на плакаты: ────────────────────────────────────────── Доклад, вариант 1 (8524 байта) Введение Темой данного дипломного проекта являе- тся разработка программного обеспечения для специализированного логического анали- затора. Логический анализатор представляет со- бой устройство,служащее для считывания по- следовательности логических уровней с нес- кольких сигнальных линий одновременно. При этом логический анализатор синхронизирует начало считывания с моментом появления не- которой заданной комбинации сигналов. Разрабатываемый на предприятии РКБ<Гло- бус> специализированный логический анали- затор (сокращённо СЛА) предназначен для использования в процессе наладки оборудо- вания, подключаемого к шине межмодульного интерфейса (ММИ), и ориентирован на снятие сигналов с этой шины. Применительно к данной задаче недостат- ками серийно выпускаемых аналогов являет- ся: - громоздкость (например, отечественный прибор <Анализатор временных диаграмм шес- тнадцатиканальный 825> весит 25 килограмм) - сложность подключения к шине (необхо- димо разместить множество щупов) - невозможность усовершенствования при- бора на предприятии. Особенность СЛА в том, что для достиже- ния портативности он лишён устройства ин- дикации, и роль этого устройства выполняет персональная ЭВМ,подключаемая к СЛА по по- следовательному интерфейсу RS-232. СЛА управляется командами, подаваемыми с ПЭВМ, и возвращает считанные данные на ПЭВМ по тому же последовательному порту. СЛА построен на базе однокристальной микроЭВМ (сокращённо ОЭВМ) AT89C52 фирмы Atmel. Эта микросхема входит в семейство MCS-51, отечественные аналоги - семейство МК51. На чертеже 2 приведена регистровая модель, распределение памяти и структурная схема этого микроконтроллера. Микроконтроллер имеет 256 байт резиден- тной памяти данных (сокращённо РПД) и 128 байт памяти регистров спецфункций (сокра- щённо РСФ). Регистры доступны по адресу в блоке РСФ. Верхняя половина РПД адресуется только с помощью косвенной регистровой ад- ресации.Микроконтроллер имеет средства ра- боты с однобитными данными - некоторые ре- гистры и адреса РПД допускают адресацию отдельных битов. Имеется четыре двунаправ- ленных 8-разрядных порта. Линии порта P3 могут использоваться для подключения пос- ледовательного интерфейса и внешних источ- ников прерываний. Через линии портов P0,P2 к микроконтроллеру можно подключить внеш- нюю память данных (ВПД) или внешнюю память команд. Функциональная схема устройства показа- на на чертеже 1. [Ред: Все рисунки ищите далее] Сигнал, снятый с шины, коммутируется на регистр. Схема управления выдаёт стробы записи содержимого регистра в двухпортовое ОЗУ.Частоту задаёт таймер-счётчик 1. Запи- сь в ОЗУ прекращается после переполнения счётчика 3. Счётчик 3 запускается после появления синхронизирующей комбинации, ко- торую обнаруживает схема сравнения. Схема сравнения запускается после переполнения счётчика 2. Значения в счётчики и в схему сравнения заносит микроконтроллер. Преимуществами такого устройства СЛА является: - быстрота и надёжность подключения - СЛА подключается к шине через один из сло- тов. - интерфейс пользователя - наглядный ди- алог оператора с логическим анализатором посредством ПЭВМ. - возможность составления баз данных си- гналов, что может позволить,например,прои- зводить автоматический поиск неисправности при отладке однотипных приборов. Постановка задачи В рамках данного дипломного проекта ре- шалась задача написания и автономной отла- дки программы для однокристальной микро- ЭВМ, управляющей работой СЛА. 1. Программа должна обмениваться данными с ПЭВМ по последовательному интерфейсу RS-232 со скоростью 19200 бод. 2. Формат посылок между СЛА и ПЭВМ должен соответствовать стандартам, принятым на предприятии. 3. Программа должна выполнять следующие основные функции:запуск и останов измере- ния, задание режимов измерения, передача данных измерения на ПЭВМ, самоконтроль и выдача состояния логического анализатора. 4. Все действия должны производиться по командам, передаваемым с ПЭВМ. Реализация После запуска и инициализации программа должна входить в бесконечный цикл приёма и обработки сообщений. Это показано на блок- схеме общего алгоритма, на чертеже 3. Соо- бщения принимаются кадрами, поэтому там же приведён алгоритм приёма кадра с обработ- кой ошибок,а также структура самого кадра. По команде <запуск измерения>, подавае- мой с ПЭВМ, программа заносит заданные ис- ходные значения в таймеры-счётчики и в схему сравнения, после чего запускается схема управления считыванием в ОЗУ. СЛА имеет несколько режимов синхрониза- ции запуска: когда синхронизирующая комби- нация приходится на начало,на середину или на конец интервала измерения. Возможен та- кже запуск с задержкой после синхронизиру- ющей комбинации. Программа обработки кома- нды <запуск измерения> пересчитывает вход- ные данные - параметры этой команды,подан- ной с ПЭВМ, в параметры схемы сравнения и начальные значения таймеров,после чего вы- даёт на схему управления импульс <пуск>. Этот алгоритм и структура кадра команды <запуск измерения> приведены на плакате 4. Считывание либо останавливается автома- тически после получения нужного числа то- чек, либо прерывается командой с ПЭВМ <ос- танов измерения>. Во время ожидания окончания считывания ПЭВМ передаёт запросы о состоянии логичес- кого анализатора. После считывания данных с шины к ОЗУ получает доступ микроконтроллер.По команде <читать канал> или <читать ОЗУ> данные из- мерения передаются на ПЭВМ. Расчёт общего времени измерения (куда входит в том числе время ожидания запуска и время прохождения запросов и ответных сообщений) показал,что в процессе передачи данных измерения желательно использовать сжатие (то есть компрессию). На базе мето- дов RLE мной был разработан метод, специа- льно предназначенный для сжатия такого ро- да информации,и оптимальный для реализации на данном микроконтроллере.Результаты рас- чёта времени измерения показаны на чертеже 5. На графиках показана зависимость време- ни измерения от относительной частоты из- меряемого сигнала. Сигнал с более высокой средней частотой хуже пакуется данным ме- тодом, поэтому перед передачей происходит подсчёт количества фронтов в сигнале на интервале измерения, и если это количество превышает предельное, передача идёт без сжатия. А если сигнал постоянный,то он ко- дируется одним байтом. Сжатие происходит параллельно с переда- чей данных на ПЭВМ.Алгоритм показан на че- ртеже 6. Вначале происходит анализ корректности параметров команды, происходит анализ ста- тистики сигнала,если он не был произведён. На основании этого анализа выбирается ме- тод кодирования (со сжатием или без сжа- тия). Сжатие происходит сегментами по 128 байт. Кодируются длины последовательностей одинаковых бит.Для повышения скорости гла- вного цикла (так как подсчёт длины после- довательности должен укладываться в проме- жуток времени между передачей байт) циклы подсчёта нулей и единиц реализованы разде- льно. Заключение (Экономика, БиЭП) В экономической части рассчитаны затра- ты на разработку устройства, а также подс- читан срок окупаемости разработки. Резуль- таты расчета окупаемости приведены на чер- теже 7. В разделе Безопасности и Экологичности Проекта проведен анализ условий труда на рабочем месте оператора. Сделаны выводы по кондиционированию помещения и приведены необходимые расчеты. *** К сожалению, на данный момент система наладки на основе специализированного ло- гического анализатора разработана не пол- ностью. Опытный образец устройства пока не собран,что не позволило провести верифика- цию в полном объёме.Программа отлаживалась на модели,с помощью программного интерпре- татора и специальной программы-генератора тестирующих последовательностей,написанной на Delphi. Результаты отладки приведены в записке. Преимуществами разработки устройств на однокристальных микроЭВМ является: - простота аппаратной части и поэтому легкость настройки. - распараллеливание разработки. Один ра- зработчик может проектировать аппаратную часть,другой - программу для микроконтрол- лера, третий - программу для управляющей ПЭВМ. - гибкость - возможность модификации и расширения функций программными средства- ми. Продолжением данной работы будет явля- ться комплексная отладка программы в сос- таве устройства, а также возможные модифи- кации и расширение функций. ────────────────────────────────────────── В институте выяснилось, что кнопкой пе- реключать картинки нехорошо (в смысле ни- как нельзя), то есть никуда не денешься, а автоматизировать процесс придётся. Труд- ность нашлась в том, что программа-демонс- тратор была не моя, а Минаева (чего добру пропадать, поюзали прошлогоднюю :). Тогда Минаев отдал мне исходники, а с ними кучу нестандартных компонентов для Delphi, ко- торые ещё установить надо, а без них прог- рамму не откомпилировать! Вставил таймер, исправил... Время, выделяемое для доклада,составля- ет 7 минут. Я прочитал доклад с экрана и решил, что 7 минут хватит. Тем не менее, стоило мне попробовать рассказать его наи- зусть (без бумажки, согласно предъявляемых требований), и я понял, что в тексте есть лишнее :) В первую очередь я стал сокращать длин- ные цепочки слов в труднозапоминающихся фразах, а также убрал некоторые абзацы,на- пример, выводы в конце. Вычеркнул и стал учить... У меня плохая память на текст (я плохой зубр ;),поэтому сразу возникли места (обы- чно начала абзацев), где спотыкаешься и не помнишь, что дальше. (Вы мотайте на ус,са- мим потом пригодится! :)) Я пометил такие места на бумажке восклицательным знаком и выучил особо. Потом расставил ссылки на плакаты (номера двух плакатов пришлось по- менять местами) и на картинки в демо-роли- ке, исходя их предположения, что они будут меняться равномерно (по 30 секунд на каж- дую из 13 картинок).То есть на защите вре- мя от времени я буду как бы кивать на эк- ран. Исходя из тех же предположений,я выб- росил части текста, не подходящие к рисун- кам (и не жалко :) Итак,точки в тексте,соответствующие на- чалу демонтрации плакатов,я пометил цифра- ми. Раскатал плакаты по столу, и,снимая по очереди, пытался рассказать речь. Картинки распределил примерно так: вна- чале висит заголовок,потом - когда про не- го рассказывают - "Анализатор 825",потом - рисунок корпуса AT89C52 из документации,во время показа функциональной схемы - струк- турная схема, потом длинный пассаж иллюст- рирует скриншот ассемблера, потом - табли- ца команд и запросов,абзац о сжатии должна была иллюстрировать схема формата сжатия, дальше - скриншоты процесса отладки и в конце концов - заключительный титр. Этот доклад уже существенно меньше пре- дыдущего: ────────────────────────────────────────── Доклад, вариант 2 (5173 байта) Логический анализатор представляет со- бой устройство,служащее для считывания по- следовательности логических уровней с нес- кольких сигнальных линий одновременно, с запуском по появлению некоторой заданной синхронизирующей комбинации сигналов. Раз- рабатываемый на предприятии РКБ <Глобус> специализированный логический анализатор (сокращённо СЛА) предназначен для исполь- зования в процессе наладки оборудования, подключаемого к шине межмодульного интер- фейса (ММИ), и ориентирован на снятие сиг- налов с этой шины. Применительно к данной задаче недостат- ками серийно выпускаемых аналогов являют- ся: - громоздкость (например, отечественный прибор <Анализатор временных диаграмм шес- тнадцатиканальный 825> весит 25 килограмм) - сложность подключения к шине (необхо- димо разместить множество щупов) - невозможность усовершенствования при- бора на предприятии. Особенность СЛА в том, что для достиже- ния портативности роль устройства индика- ции выполняет персональная ЭВМ. Чертеж 1 СЛА построен на базе однокристальной микроЭВМ AT89C52 фирмы Atmel Микрокон- троллер имеет 256 байт резидентной памяти данных. Имеется четыре двунаправленных 8- разрядных порта.Линии порта P3 могут испо- льзоваться для подключения последователь- ного интерфейса и внешних источников пре- рываний. Через линии портов P0,P2 к микро- контроллеру можно подключить внешнюю па- мять данных или внешнюю память команд. Функциональная схема устройства показа- на на чертеже Чертеж 2 Сигнал, снятый с шины, коммутируется на регистр. Схема управления выдаёт стробы записи содержимого регистра в двухпортовое ОЗУ. Частоту задаёт таймер-счётчик 1. За- пись в ОЗУ прекращается после переполнения счётчика 3. Счётчик 3 запускается после появления синхронизирующей комбинации, ко- торую обнаруживает схема сравнения. Схема сравнения запускается после переполнения счётчика 2. Значения в счётчики и в схему сравнения заносит микроконтроллер. Преимуществами СЛА является: - быстрота и надёжность подключения - через разъем. - наглядный диалог оператора с логичес- ким анализатором посредством ПЭВМ. - возможность составления баз данных си- гналов - можно автоматизировать наладку однотипных приборов. В рамках данного дипломного проекта ре- шалась задача написания и автономной отла- дки программы для однокристальной микро- ЭВМ,управляющей работой СЛА.Программа дол- жна обмениваться данными с ПЭВМ по после- довательному интерфейсу RS-232 со скорос- тью 19200 бод. Основные функции: запуск и останов измерения, задание режимов измере- ния, передача данных измерения на ПЭВМ,са- моконтроль и выдача состояния логического анализатора. Чертеж 3 После запуска и инициализации программа должна входить в бесконечный цикл приёма и обработки сообщений. Это показано на блок- схеме общего алгоритма, на чертеже Со- общения принимаются кадрами,поэтому там же приведён алгоритм приёма кадра с обработ- кой ошибок,а также структура самого кадра. СЛА имеет несколько режимов синхрониза- ции запуска: когда синхронизирующая комби- нация приходится на начало,на середину или на конец интервала измерения.Возможен так- же запуск с задержкой после синхронизирую- щей комбинации.Программа обработки команды <запуск измерения> пересчитывает пара- метры команды в параметры схемы сравнения и начальные значения таймеров, после чего выдаёт на схему управления импульс <пуск>. Чертеж 4 После считывания данных с шины к ОЗУ получает доступ микроконтроллер.По команде <читать канал> или <читать ОЗУ> данные из- мерения передаются на ПЭВМ. Чертеж 5 Расчёт общего времени измерения по- казал,что в процессе передачи данных изме- рения желательно использовать сжатие. На базе методов RLE мной был разработан ме- тод, специально предназначенный для сжатия такого рода информации, и оптимальный для реализации на данном микроконтроллере. На графиках показана зависимость време- ни измерения от относительной частоты из- меряемого сигнала. Сигнал с более высокой средней частотой хуже пакуется данным ме- тодом, поэтому перед передачей происходит подсчёт количества фронтов в сигнале на интервале измерения, и если это количество превышает предельное, передача идёт без сжатия. А если сигнал постоянный,то он ко- дируется одним байтом. Сжатие происходит параллельно с переда- чей данных на ПЭВМ. Алгоритм показан на чертеже Чертеж 6 Сжатие происходит сегментами по 128 бит. Кодируются длины последовательностей одинаковых бит.Для повышения скорости вну- треннего цикла (так как он должен уклады- ваться в промежуток времени между переда- чей байт) циклы подсчёта нулей и единиц реализованы раздельно. Автономная отладка проводилась с помо- щью программного интерпретатора и специа- льной программы-генератора тестирующих по- следовательностей, написанной на Delphi и включающей анализ содержимого ответных со- общений СЛА.Результаты отладки приведены в работе. В экономической части рассчитаны затра- ты на разработку устройства, а также подс- читан срок окупаемости разработки. Резуль- таты расчета окупаемости приведены на чер- теже. Чертеж 7 Опытный образец устройства пока не соб- ран.Продолжением данной работы будет явля- ться комплексная отладка программы в сос- таве устройства, а также возможные модифи- кации и расширение функций. На этом доклад закончен! ────────────────────────────────────────── Я поймал маму и стал доходчиво излагать текст. В третьей попытки получилось :) То- лько в последний раз удалось обойтись без заминок и отступлений. Дальше я поймал и Таню - рассказал доклад и ей. Получилось:) Оставалось не забыть речь до завтрашне- го дня ;) Я пошёл в институт с новой, синхронизи- рованной под доклад, версией ролика, и,что интересно, она не заработала! Причина была только в том, что Минаев соригинальничал и снабдил процесс переключения страничек ще- лчком на доступном звуковом устройстве,при отсутствии - на спикере. Через порт. И под wINDOWS nt не прокатило, кто же знал!!! Пришлось бегать домой, исправлять и нести обратно! Назавтра... В списке на защиту в этот день я был записан первым. Поэтому я оказался лишён полезного удовольствия послушать других... Защищаться мы должны были четвёрками. А точнее, так. Имелось два стенда для плакатов. На ка- ждом стенде помещается шесть. (Мой седьмой плакат с экономическим расчётом пришлось прикрепить с перехлёстом и,кроме того,спу- стить до самого пола.) Перед началом защи- ты четвёрка расклеивает все свои плакаты по стендам, входит комиссия, остаётся пер- вый докладчик, объясняет комиссии свою ра- боту, отвечает на вопросы и уходит. Прихо- дят два юноши из дипломников, поворачивают стенд, покидают зал, тут же входит второй докладчик,защищается,уходит. Комиссия тоже уходит отдыхать,но может пока полюбоваться плакатами. Двое в это время ставят второй стенд на место первого. Потом - защищаются третий и четвёртый студенты, и,наконец,ко- миссия уходит выставлять оценки. Когда она возвращается,счастливых студентов расстав- ляют в линейку и поздравляют с получением почётного звания инженера :) Разумеется, диплом выдадут потом :) Итак, мы разместили плакаты по стендам (при этом, разумеется, не хватило кнопок), и я остался защищаться. В комнате была комиссия и оператор. Ко- миссия - целиком из наших преподавателей, все свои, но всё-таки мне оказалось не по себе ;) На первых словах я поперхнулся и говорил не своим голосом,но потом смог вы- ровняться и заговорил увереннее.В картинки деморолика я не попал - точнее,попал толь- ко в первую, с осциллографом, сказалось то же волнение, но в выделенное время уложил- ся! А это уже половина удачной защиты :) Один человек из нашей группы не смог полу- чить красный диплом именно потому, что не смог хорошо прочитать доклад! (Но мне-то красный диплом и не светил ;)) Вопросы комиссии строились следующим образом. Сначала был зачитан отзыв руководителя дипломного проектирования (положительный). Потом была оглашена рецензия (отрица- тельная), и мне было предложено прокоммен- тировать,почему в тексте не оформлена про- граммная документация (подсказка: как она должна быть оформлена,не знает никто ;), и почему не приведены результаты отладки. Реценцию я и сам читал,поэтому справед- ливо возразил,что программная документация будет оформлена после комплексной отладки, а в прилагаемой пояснительной записке мож- но ознакомиться с листингом и списком про- цедур;заметил также,что результаты АВТОНО- МНОЙ отладки в тексте всё-таки приведены,а комплексная может состояться лишь после сборки макета устройства, ни больше ни ме- ньше. Никто не стал спорить, и мне всё-таки обратили внимание на недостатки работы (один из членов комиссии обязан был прочи- тать диплом). Недостатки оказались таковы- ми: 1. Список сокращений приведён в конце, что неудобно. Я согласился. 2. Показанная на одном из листов блок- схема алгоритма не имеет выхода (что непо- рядок, как тут же заметил присутствовавший преподаватель структурного программирова- ния). Я возразил, поскольку программа пре- дставляет собой прошивку ПЗУ, из которого выхода нет. А как же сброс, спросили меня? На этом претензии закончились. ────────────────────────────────────────── Надо сказать,что на самом деле в дипло- ме оказалось больше недостатков, многие из которых я обнаружил только сейчас %) В ос- новном это ошибки и неряшливости в оформ- лении: - В содержании подпункты четвёртой гла- вы нумеровались как 1.1, 1.2 и т.д. (обра- тите внимание, эта ошибка - уже на 4-й странице записки!!!) - Некоторые таблицы остались непронуме- рованы. - Некоторые разрядности на шинах, изоб- ражённых на функциональной схеме СЛА, при- ведены неверно. - В программе есть недосмотр - возмож- но, в некоторых случаях неверно определяе- тся длина блока при передаче. - (самый весёлый :) отсутствуют 71-72 страницы! Дамп памяти оказался на пересе- чении двух областей документа с независи- мой нумерацией страниц (так,видимо,захотел Word ;),и нумерация поехала при первой во- зможности, не помогла даже проверка в три пары глаз перед печатью! ────────────────────────────────────────── Дальше начались собственно вопросы. Ко- миссия не могла беседовать со студентами подолгу, и поэтому были заданы вопросы то- лько поверхностного характера: 1. Почему была выбрана именно эта мик- росхема? 2. Почему был выбран именно этот алго- ритм сжатия? Чем хуже Хаффман? (Объяснение было в тексте, я только озвучил его.) 3. Почему не использовались языки высо- кого уровня? Всё оказалось предсказуемо, поэтому от- ветить было не так уж и трудно :) И мне поставили пятёрку :) Happy end! Желаю успехов в защите! Alone Coder 7ix02
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября