Автор работы: Пользователь скрыл имя, 03 Мая 2013 в 18:04, дипломная работа
Каждому методу определения температуры, в основе которого лежит зависимость между каким-либо внешним параметром системы и температурой, соответствует определенная последовательность значений параметра для каждого размера температуры, называемая температурной шкалой. Наиболее совершенной шкалой является термодинамическая температурная шкала (шкала Кельвина).
1. Введение. 3
2. Анализ технического задания. 5
3. Анализ известных разработок по теме дипломного проекта. 9
4. Разработка конструкции устройства. 12
4.1. Разработка структурной схемы устройства. 12
4.2. Разработка принципиальной схемы устройства. 12
4.3. Предварительная компоновка устройства. 15
4.4. Разработка, выбор и обоснование конструкции устройства. 17
4.5. Защита конструкции устройства от внешних и внутренних дестабилизирующих факторов. 20
4.5.1. Выбор способа теплозащиты 20
4.5.2. Выбор способа герметизации 23
4.5.3. Выбор способа виброзащиты 23
4.5.4. Выбор способа экранирования 24
4.5.5. Расчёт надёжности 25
4.6. Разработка печатной платы с использованием САПР. 30
5. Разработка технологии сборки устройства. 52
5.1. Отработка конструкции на технологичность и взаимозаменяемость. 52
5.2. Разработка технологической схемы сборки. 59
6. Разработка алгоритма работы и программного обеспечения устройства. 62
6.1. Разработка алгоритма работы устройства. 62
6.2. Разработка программного обеспечения. 77
7. Технико-экономическое обоснование. 81
8. Охрана труда и экологическая безопасность. 91
9. Заключение. 98
10. Литература. 100
Скрытый уровень
Для перехода на скрытый уровень необходимо включить питание прибора при нажатой кнопке . При этом на индикаторе появляется цифровое значение пароля. Кнопку необходимо удерживать в нажатом состоянии до появления на индикаторе символа conF. После отпускания кнопки прибор входит в меню конфигурационного уровня с одним дополнительным параметром PrL. Далее следует с помощью процедуры программирования параметров с цифровым значением задать параметру PrL значение пароля, которое высвечивалось на индикаторе прибора при включении питания, после чего прибор переходит на скрытый уровень.
Доступ к параметрам скрытого уровня и их программирование осуществляются так же, как и на параметрическом уровне.
Защита параметров от несанкционированного изменения
В приборе предусмотрена защита параметров от несанкционированного их изменения. Значение параметра SEcr определяет уровни, параметры которых защищены.
Запись данных на iButton происходит через строго фиксированные промежутки времени. С точки зрения устройства управления (микроконтроллера) запись происходит следующим образом.
Микроконтроллер (master–устройство), подключённый к считывающей чашке, всегда инициирует передачу с помощью посылки командного слова на прикладываемый к чашке ключ iButton (он играет роль подчинённого, или slave - устройства). К шине может быть подключено несколько slave–устройств. Подобно электрической вилке и розетке, которые определяют источник и потребитель энергии, контактное считывающее устройство в виде чашки является атрибутом master–устройства (которое в случае отсутствия внутреннего источника питания является источником энергии для iButton), а круглая металлическая «таблетка» iButton является slave–устройством. Такое точное разделение позволяет легко избежать конфликтов – соединения двух master–устройств.
Команды и данные посылаются бит за битом и собираются в байты, причём в начале передаётся наименее значащий бит LSB (Least Significant Bit). Синхронизация происходит по спаду импульса, когда мастер замыкает линию данных стоком выходного транзистора на общий провод. Через определённое время после этого происходит анализ состояния данных на линии (высокий или низкий уровень) для получения одного бита информации. В зависимости от направления передачи информации в текущий момент это делает либо master–устройство либо slave. Этот метод обмена информацией получил название передачи данных в тайм–слотах рисунок 6.1.1. Каждый тайм–слот отсчитывается независимо от другого, и при обмене данными могут быть паузы без возникновения ошибок.
Почти сразу после присоединения к считывающему устройству (через несколько микросекунд) iButton выдаёт импульс в линию, чтобы сообщить master–устройству, что оно присутствует на линии и ждёт команду. Этот сигнал называется presence pulse (импульс присутствия, далее–просто presence). Master может также давать запрос на iButton с целью получения presence путём посылки специального импульса, называемого импульсом сброса (reset pulse, далее – просто reset). Если iButton принял сигнал reset, он анализирует линию данных, и как только линия снова достигнет высокого уровня, iButton сгенерирует presence. Полная последовательность импульсов reset и presence показана на рисунке 6.1.2.
После выдачи presence iButton ожидает получения команды. Любая команда записывается в iButton с помощью последовательности тайм– слотов, передающих биты 1 и 0. Такая последовательность создаёт полный байт команды.
Для передачи данных в обратном направлении (чтение iButton) используются те же самые правила для представления 1 или 0. Поскольку iButton разработано как slave-устройство, оно оставляет master-устройству право определять начало каждого тайм-слота. Чтобы произвести чтение iButton, master для чтения одного бита данных просто генерирует тайм-слот записи логической 1 (именно тайм-слот записи, а не чтения). Если бит, который должен послать iButton, равен 1, то iButton просто ожидает появления следующего тайм-слота, пропуская текущий. При этом с линии данных master считывает 1. Если бит, который посылает iButton, равен 0, то iButton удерживает линию данных в состоянии низкого уровня определённое время и master считывает с линии данных 0.
Пример полной последовательности выполнения команды показан на рисунке 6.1.3. Толстая черная линия означает активность master-устройства. Красной линией обозначен ответ iButton.Тонкая черная линия показывает, что не активно ни одно из устройств. На левой осциллограмме временные интервалы полностью определены master-устройством. На правой осциллограмме начало тайм-слотов определяет master, а на остальное время активность переходит к iButton либо резистор ”подтягивает” линию к высокому уровню.
Запрограммированная лазерным лучом ROM-секция (ПЗУ) содержит 6-байтное уникальное для каждого устройства iButton число – серийный номер. Кроме того, во всех iButton записаны код типа устройства (family code) и проверочный байт CRC. Младшие 7 бит family code указывают на тип устройства. Старший бит family code используется в качестве флага в версиях, предназначенных для особых покупателей. Таким образом, можно закодировать 128 разновидностей устройств.
48-битный (6-байтный) серийный номер может представить любое десятичное число до 2,81*1014. Если выпускать в год 1000 биллионов (1012) устройств одного и того же типа, то этого числа хватит на 281 год. Кроме того, можно выпускать 128 типов различных устройств. Если старший бит family code установлен в 1, то устройство функционирует также, как и стандартное, однако серийный номер устанавливается по специальным правилам – часть серийного номера резервируется для обозначения конкретного покупателя (заказчика).
Рассмотрим один из самых простых типов iButton – DS1996. Он как раз и используется в проектируемом устройстве управления тепловыми процессами. Этот iButton является устройством, которое может служить уникальным электронным идентификатором чего-либо или кого-либо. DS1996 содержит ПЗУ (ROM ), запрограммированное на заводе. Поскольку информация записывается путем перерезания лазером связей в полисиликоне (нет зарядных элементов памяти или статических триггеров), DS1996 не нуждается в энергии для обеспечения работоспособности во время генерирования presence и в течение небольшого времени в любом из тайм–слотов, когда происходит операция чтения.
На рисуноке 6.2.1. показано, как организованы данные для DS1996. Первый байт, передаваемый ПЗУ, является кодом типа устройства - family code. После него идет уникальный сервисный номер (6 байт), у которого наименее значащий байт передается первый. Последний байт несет информацию Cyclic Redundancy Check (CRC), что означает проверочный циклический избыточный код. CRC специальным образом вычисляется на основе первых семи байт. Это позволяет быстро проверить правильность передачи информации – если CRC, вычисленный устройством master от первых семи байт совпадает с принятым от iButton, то чтение было полностью верным. Этот метод – одна из причин, по которой iButton не требует стабильного электрического контакта со считывающим устройством .
В сборнике стандартов от фирмы Dallas Semiconductor говориться, что “из-за особенностей разработки iButton и строгого заводского контроля DS1996 является уникальным электронным идентификатором, который невозможно подделать”. На мой взгляд, это верно, но с небольшими оговорками. Само собой, не существует двух совершенно одинаковых электронных ключей DS1996, один из которых подойдет вместо другого (откроет замок). Однако ничто не мешает злоумышленнику разработать прибор, который будет считывать ключ DS1996, и затем воспроизводить его последовательный код, полностью имитируя поведение slave–устройства DS1996. Имея такой прибор, злоумышленник может считать оригинал ключа и потом использовать его код, чтобы открыть замок. Кстати, на корпусе MicroCan нанесена гравировка, полностью воспроизводящая family code, serial number и даже CRC. Но для этого владелец ключа должен передать его злоумышленнику во временное пользование. Таким образом, копирование кода с электронного ключа очень похоже на снятие слепка с механического ключа. Разница только в технологиях, а также в том, что двух одинаковых ключей не бывает.
iButton являются устройствами, требующими для функционирования электрического контакта. Передача данных является асинхронной по отношению к битам (не используется внешний синхросигнал для их генерации) и полудуплексной (в определенный момент времени может идти передача только в одном направлении). Данные, передаваемые в iButton, могут интерпретироваться ими как команды (в соответствии с предопределенным форматом, зависящим от family code), которые сравниваются с информацией, заранее сохраненной в iButton для принятия решения (о предназначении команды), либо просто сохраняться внутри iButton для дальнейшего использования.
iButton делает выборку данных на линии посередине тайм-слота. По определению активная часть 1-Wire тайм-слота (tSLOT) составляет 60 мкс. В нормальном состоянии iButton будет делать выборку сигнала с линии после 30 мкс относительно спада сигнала.
Внутренняя величина базового времени iButton может отличаться от стандартной, следовательно, может меняться время выборки сигнала. Допустимый диапазон изменения составляет от 15 до 60 мкс. Это означает, что реальное чтение линии slave – устройством может произойти в любом месте относительно старта тайм-слота между 15 и 60 мкс, т.е. может изменяться в соотношении 1 к 4. Во время этого окна времени напряжение на линии должно оставаться либо ниже VILMAX (максимально допустимое напряжение низкого уровня), либо больше VILMIN (минимально допустимое напряжение высокого уровня).
Основные формы тайм-слотов записи единицы и записи нуля показаны на рисунке 6.1.3. Эти тайм-слота необходимы для записи команд и данных в iButton. По окончании активной части каждого тайм-слота iButton нуждается в паузе для подготовки следующего бита. Назовем это время временем восстановления trec (минимальная величина -1мкс). Это время восстановления можно рассматривать как неактивную часть тайм-слота, оно должно быть добавлено к длительности активной части тайм-слота для получения времени, затрачиваемого на передачу бита. Широкий допуск на тайм-слот и некритичное время восстановления позволяют медленным микропроцессорам легко выполнять временные требования для соединения с 1-Wire.
По рисунку 6.1.3 справедливы следующие соотношения : 60мкс < tSLOT < 120 мкс, 1 мкс < tlow1 < 15 мкс, 1 мкс < trec < ∞. 60 мкс < tlow0 < tSLOT < 120 мкс, 1 мкс < trec < ∞.
Теперь рассмотрим тайм-слоты чтения. Команды и данные посылаются в iButton путем комбинирования тайм-слотов, записывающих 0 и 1. Master генерирует тайм-слоты чтения для определения момента начала каждого бита. С точки зрения master, тайм-слоты записи единицы. Начиная с момента изменения уровня сигнала с высокого на низкий, iButton посылает один бит своего адресованного содержимого. Если передаваемый устройством iButton бит равен 1, то iButton оставляет линию данных без изменения. Если бит равен 0, iButton будет шунтировать линию (открывая канал своего выходного транзистора) в течение времени tRDV , или 15 мкс (рисунок 6.1.4.). В течение этого времени данные доступны для чтения устройством master.
Интервал tLOWR определяет время импульса низкого уровня, посылаемого устройством master. Оно должно быть с одной стороны, больше 1 мкс, но с другой – как можно меньше, чтобы увеличить окно выборки сигнала для master. В целях компенсации емкости линии интерфейса 1-Wire master должен делать выборку сигнала как можно точнее через 15 мкс после начала синхронизирующего перепада. Следующий за интервалом tRDV интервал tRELEASE является дополнительным, в течение которого iButton отпускает линию 1-Wire и напряжение возвращается к значению VPULLUP. Длительность tRELEASE может меняться в пределах от 0 до 45 мкс, номинальная величина - 15мкс.
Как упомянуто выше, интерфейс 1-Wire использует импульс reset. Этот импульс определен как импульс низкого уровня с минимальной длительностью 8 тайм-слотов или 480 мкс, за которым следует время reset с высоким уровнем на линии tRSTH и длительностью тоже 480 мкс (рисунок 6.1.4.). Это время нужно для того, чтобы iButton мог выдать импульс presence. Чтобы не маскировать сигналы прерываний от других устройств на шине 1-Wire, время tRSTL + tR должно быть всегда меньше 460 мкс.
Во время tRSTH на линии 1-Wire не разрешены никакие другие соединения. Импульс reset предназначен для обеспечение чистого старта, который прерывает любую синхронизацию других тайм-слотов. Если импульс master послал импульс reset, iButton будет ожидать время tPDH, а затем сгенерирует импульс presence длительностью tPDL. Это позволяет устройству master легко определить, присутствует или нет iButton на линии. Кроме того , если несколько iButton соединены параллельно (см. 5-ю часть [25]), master может измерить оба времени(tPDH и tPDL) и таким способом получить информацию о реальных временных допусках для всех устройств на на линии. Номинальные значения : 30 мкс – для tPDH и120мкс – для tPDL.
Устройства iButton специально разработаны для работы в плохих электрических соединений. Однако требуется некоторое минимальное время контакта, необходимое для пересылки команд и пакета данных. Оно зависит от вида выполняемой операции. Для DS1996, используемого в устройстве управления тепловыми процессами, это время не превышает 5 мс.
Рекомендуемый номинал нагрузочного резистора для линии 1-Wire 5 кОм. Эта величина была выбрана для обеспечения работы с контактами высокого сопротивления. Обычно считывающий узел master воспринимает напряжение меньше 0.8 В как низкий уровень. Поскольку на взаимодействие между master и iButton оказывает влияние постоянная времени шины 1-Wire, иногда может возникнуть необходимость использовать нагрузочный резистор с сопротивлением, меньшим 5 кОм.
Идеальным соединением между устройством master и iButton является короткий кабель с малой паразитной емкостью. В случае применения длинного кабеля появляется гораздо больше забот для обеспечения необходимых требований по постоянному и, в особенности, по переменному току. Появляются критические моменты для времени восстановления tREC и для чтения или записи бита 1. Время восстановления становится критичным, если для обмена данными необходимы два следующих друг за другом тайм-слота записи нуля.
Возможность распространения короткого импульса по длинному кабелю значительно ухудшается пропорционально длине кабеля.
Случается так, что короткий импульс полностью отфильтровывается и связь с iButton на дальнем конце кабеля становится невозможной. Можно легко увеличить расстояние передачи, просто увеличив величину tREC. Например, если увеличить tREC с 1 до 15 мкс, максимальная скорость передачи данных упадёт с 16,3 до 13,3 Кбит/с, однако импульс tREC длительностью 15 мкс позволяет значительно повысить надёжность передачи при длинном кабеле. Запись бита 1 можно так же улучшить путём уменьшения длительности tLOW1 тайм-слота записи 1, однако при этом нельзя выходить за нижнюю минимальную границу (см. рисунок 6.1.3.).