Общие принципы разработки программно-аппаратного терминала с CAN-шиной, его основные физические интерфейсы. Структурная схема разрабатываемого устройства. Схема подключения микроконтроллера. Схема подключения микроконтроллера Atmega128 и для ПЭВМ.
Аннотация к работе
Система команд виртуального процессора, разработанная с учетом особенностей программирования микросхем, обеспечивает управление всеми выводами панельки программатора, имеет доступ к внутренним регистрам и штатным подпрограммам программатора, позволяет создавать простой и эффективный код, обеспечивающий высокую скорость работы с микросхемой. Благодаря технологии универсальных алгоритмов программаторы позволяют значительно уменьшить количество переходных панелек, необходимых для работы с микросхемами в различных корпусах, а также работают с многими переходниками и адаптерами от других программаторов. Внутрисхемное программирование (последовательное программирование или ISP программирование) возможно только тех микросхем, которые рассчитаны на данный режим (ISP mode). Поскольку для программирования многих микросхем используются напряжения, значительно превышающие напряжение питания, устройство должно выдерживать эти напряжения. Микросхемы, имеющие возможность внутрисхемного программирования, обычно имеют специальную схему, генерирующую напряжения, необходимые для программирования, из обычного напряжения питания, а также схему для коммуникации с программатором посредством последовательного интерфейса.На этапе конструкторско-технологического проектирования необходимо, согласно заданию, произвести разработку печатной платы, определить материал для изготовления печатной платы, технологию изготовления печатной платы, ее размеры. Печатные платы предназначены для электрического соединения элементов схемы между собой и в общем случае представляют вырезанный по размеру материал основания, содержащий необходимые отверстия и проводящий рисунок, который может быть выполнен как на поверхности, так и в объеме основания. Однако, вместе с тем, такие элементы очень чувствительны к деформации печатной платы, что порождает еще одно требование к печатной плате. Печатная плата должна иметь достаточно большую жесткость, чтобы исключить порчу SMD элементов изза принудительной деформации печатной платы. В частности, имеется возможность доступа ко всем элементам на более низких уровнях иерархии, например, при работе с печатной платой имеется возможность изменить расположение выводов и графику контактных площадок корпусов компонентов.Организация ввода информации 110 100 Синтаксический и семантический анализ входного языка и генерация кодов команд 4900 550Эффективный фонд времени работы одного работника (Фэф) рассчитывается по формуле (6.9): Фэф = Дг - Дп-Дв = 120 - 35 - 4 = 81 , (6.9) где Дг - количество дней; В разработке первого и второго ПО будут принимать участие по одному программисту согласно таблице 6.9 для первого программного обеспечения и таблице 6.10 для второго программного обеспечения. Для организации работы и осуществления контроля по охране труда руководитель организации создает службу охраны труда (вводит должность специалиста по охране труда) в соответствии с Типовым положением о службе охраны труда организации, утвержденным постановлением Министерства труда и социальной защиты Республики Беларусь от 24 мая 2002г. В целях профилактики производственного травматизма и профессиональных заболеваний, улучшения условий и охраны труда работников в организации реализуются мероприятия по охране труда в соответствии с Положением о планировании и разработке мероприятий по охране труда, утвержденным постановлением Министерства труда Республики Беларусь от 23 октября 2000г. Обучение, инструктаж и проверка знаний работников по вопросам охраны труда осуществляется в соответствии с Типовым положением об обучении, инструктаже и проверке знаний работников по вопросам охраны труда, утвержденным постановлением Министерства труда Республики Беларусь от 29 августа 1996г.Согласно заданию к дипломному проекту необходимо было разработать программно-аппаратный терминал с CAN-шиной. При проектировании программно-аппаратного терминала с CAN-шиной необходимо было учитывать требования к конструкции терминала.
План
Содержание функций Объем функции строк исходного кода (LOC)Содержание функций Объем функции строк исходного кода (LOC)
Введение
Быстрое развитие микроэлектроники и широкое применение ее изделий в различных сферах человеческой деятельности, в том числе и промышленности, а так же высочайшая степень сложности выполняемых ими функций являются одними из основных двигателей научно-технического прогресса.
Важное место среди цифровых интегральных микросхем занимают микроконтроллеры. Микроконтроллеры представляют собой эффективное средство автоматизации разнообразных объектов и процессов. Это универсальные приборы, их применение в электронных устройствах самого различного назначения постоянно расширяется. Использование микроконтроллеров в системах управления обеспечивает достижение высоких показателей эффективности при низкой стоимости. Разработкой и производством МК занимаются многие фирмы, специализирующиеся в области полупроводниковой электроники. Среди них Microchip, Scinex, Atmel, Motorola, Zilog, Cypress, Texas Instruments, Philips и другие.
Типичный микроконтроллер сочетает в себе функции процессора и периферийных устройств , может содержать ОЗУ и ПЗУ . По сути, это однокристальный компьютер , способный выполнять простые задачи. Использование одной микросхемы, вместо целого набора, как в случае обычных процессоров, применяемых в персональных компьютерах, значительно снижает размеры, энергопотребление и стоимость устройств, построенных на базе микроконтроллеров. Микроконтроллеры являются основой для построения встраиваемых систем , их можно встретить во многих современных приборах. Микроконтроллеры сегодня используются во всей бытовой технике, промышленных установках и станках, датчиках, регуляторах и иных приложениях, где не требуется большая вычислительная мощность. Например, в каждом современном автомобиле имеется несколько микроконтроллеров, управляющих двигателем, подвеской, кондиционером, акустической системой, приборной панелью. Основной тенденцией развития микроконтроллеров, является повышение степени интеграции, уменьшение числа внешних элементов, необходимых для нормальной работы. На кристалле микросхемы размещают не только компараторы, аналого-цифровые и цифроаналоговые преобразователи, но и всевозможные нагрузочные и "подтягивающие" резисторы, цепи сброса.
Выходные буферы МК рассчитывают на непосредственное подключение наиболее типичных нагрузок. Почти любой из выводов МК разработчик может использовать по своему усмотрению в качестве входа или выхода. В результате довольно сложный по выполняемым функциям прибор часто удается выполнить всего на одной микросхеме. Сегодня имеет смысл конструировать на МК даже такие приборы, для реализации которых традиционными методами потребовалось бы не менее десятка логических микросхем средней и малой степени интеграции.
Главное отличие МК от обычной микросхемы: он не способен делать что-либо полезное, пока в его внутреннее (иногда внешнее) запоминающее устройство не занесена программа - набор кодов, задающий последовательность операций, которые предстоит выполнять. Разработка управляющих программ осуществляется на персональных компьютерах, при этом большинство производителей предлагает бесплатные средства программирования и отладки проектов. Процедуру записи кодов в память МК называют его программированием.
Темой данного дипломного проекта является разработка программно-аппаратного терминала с CAN-шиной. Этот терминал будет предназначен для внутрисхемного программирования устройств по CAN-интерфейсу и будет состоять из аппаратной части, связывающей ПЭВМ и программируемое устройство, и программной оболочки. Данный терминал представляет собой своего рода устройство сопряжения между ПЭВМ и программируемым устройством.
Главным преимуществом технологии внутрисхемного программирования является возможность объединения процесса программирования и тестирования при производстве, исключив отдельную фазу программирования компонентов перед окончательной сборкой. Технология также позволяет производителям устройств обойтись без закупки заранее запрограммированных компонентов, выполняя программирование прямо в процессе производства. Это позволяет снизить стоимость производства и вносить изменения в программируемую часть устройства без остановки производства.
Для предприятия выпускаемого электронную продукцию для транспортных средств с экономической точки зрения будет выгодно использовать данное устройство, т.к. именно в сфере автомобилестроения широкое применение нашли CAN-технологии. Этому есть множество причин. Протокол CAN уже более 10 лет активно используется во всем мире. Он показал свою качественность и надежность. Сейчас на рынке представлены тысячи различных CAN-изделий. CAN поддерживается развитой системой инструментальных средств, позволяющих быстро и легко проектировать CAN-сети. Протокол CAN реализован в кремнии, что позволяет быстро проектировать высокоэффективные, высокоскоростные, высоконадежные и в то же время дешевые системы. Помимо высоконадежного алгоритма передачи и обработки ошибок, протокол CAN имеет механизм, позволяющий отключать удаленный узел и тем самым не допускать блокирование сети.
1 Системотехническое проектирование
1.1 Основные функции разрабатываемого устройства
На стадии системотехнического проектирования будут разработаны общие принципы, по которым необходимо будет разработать программно-аппаратный терминал с CAN-шиной. При проектировании необходимо определить основные функции, которые будет выполнять устройство, описать используемые интерфейсы.
Контроллер локальной сети (CAN) был разработан немецкой автомобильной фирмой Robert Bosch в 1980 году для автомобильных приложений. Целью разработки нового интерфейса было повышение надежности передачи информации по последовательному интерфейсу от различных узлов автомобиля, с сокращением общего числа проводников. CAN интерфейс нашел широкое применение в системах автоматизации, автомобильной технике, медицинском оборудовании и др. CAN-шина широко используется для связи узлов электроники в транспортных средствах. Следовательно, очевидна необходимость наличия устройства для программирования данных узлов внутрисхемно, без извлечения микросхем. Данную задачу выполняют программаторы с функцией внутрисхемного программирования. Рассмотрим подробнее некоторые из множества программаторов с данной функцией.
Программаторы пятой версии ТРИТОН и ТРИТОН - это современные профессиональные программаторы микросхем, предназначенные для разработки, технического обслуживания и промышленного производства средних объемов. Современная элементная база и автоматическая сборка обеспечивают высокую надежность программаторов, а использование алгоритмов, рекомендованных фирмами-производителями, и уникальные схемотехнические решения гарантируют высочайшее качество записи микросхем. Программное обеспечение, выполненное в классическом стиле, работает со всеми версиями Windows, легко в освоении, обеспечивает удобную работу и имеет огромное количество сервисных возможностей для поддержки всех режимов работы микросхем.
Виртуальный процессор и компилятор скрипт файлов, позволяют пользователю написать свой собственный алгоритм работы с микросхемой и выполнить его без изменения прошивки в программаторе. Система команд виртуального процессора, разработанная с учетом особенностей программирования микросхем, обеспечивает управление всеми выводами панельки программатора, имеет доступ к внутренним регистрам и штатным подпрограммам программатора, позволяет создавать простой и эффективный код, обеспечивающий высокую скорость работы с микросхемой.
Программаторы ТРИТОН и ТРИТОН имеют высококачественную универсальную заменяемую панельку с нулевым усилием для программирования более 3000 современных микроконтроллеров и микросхем памяти в корпусах от DIP-8 до DIP-40 без дополнительных адаптеров. Для работы с микросхемами в других корпусах предлагается широкий выбор стандартных, универсальных и специальных переходных панелей и адаптеров, что позволяет поддерживать более 11000 микросхем. Благодаря технологии универсальных алгоритмов программаторы позволяют значительно уменьшить количество переходных панелек, необходимых для работы с микросхемами в различных корпусах, а также работают с многими переходниками и адаптерами от других программаторов.
Встроенный микропроцессор с Flash-памятью и возможностью самопрограммирования позволяет легко обновлять программное обеспечение и расширять список поддерживаемых микросхем через Интернет. Единое программное обеспечение и универсальные алгоритмы, единая аппаратная база и однотипные процессоры позволяют неограниченное время поддерживать программаторы, даже снятые с производства.
Основные характеристики: - интерфейс USB 2.0 Full speed, скорость обмена до 250КБ/с. (только на модели V5.7T);
- скорость обмена с компьютером до 460800 бод, при использовании переходников USB-COM;
- схема программатора оптимизирована для работы с микросхемами памяти больших объемов;
- возможность настройки алгоритмов для сокращения времени записи микросхем;
- возможность программного распределения сигналов по выводам панельки программатора;
- поддержка микросхем в любых корпусах через стандартные переходники pin-to-pin);
- возможность работы с любыми переходниками и адаптерами от других программаторов;
- возможность самостоятельного добавления микросхем с различной цоколевкой и системой команд;
- встроенный графический редактор drag-and-drop для переназначения сигналов.
CHIPPROG-ISP - универсальный ISP программатор поддерживающий внутрисхемное программирование микросхем в устройстве пользователя (ISP режим In-System Programming). Внутрисхемное программирование (последовательное программирование или ISP программирование) возможно только тех микросхем, которые рассчитаны на данный режим (ISP mode). Как правило, микросхемы допускающие внутрисхемное программирование, имеют встроенные системы, которые, помимо прочего, обеспечивают коммуникацию с внутрисхемным программатором по последовательному интерфейсу (вариации протокола JTAG, SPI, UART).
Характеристики внутрисхемного программатора CHIPPROG-ISP: - Количество внутрисхемно программируемых микросхем не ограничено аппаратной архитектурой (последовательное программирование);
- 14-выводной разъем с защитой от неправильного подключения;
- Внутрисхемный программатор подключается к компьютеру через USB 2.0 совместимый порт;
- Возможность работы нескольких программаторов под управлением одного компьютера (мильтипрограмматорный режим работы);
- Внутрисхемный программатор имеет на корпусе кнопку, запускающую выполнение любой выбранной операции.
Программатор PICKIT2 построен на базе контроллера PIC18F2550 с поддержкой USB 2.0, поэтому удалось создать дешевый программатор, который получает питание от USB и не требует дополнительного источника питания. Через USB порт так же осуществляется обновление прошивки программатора, т.е. PICKIT2 может сам обновить свое программное обеспечение без применения дополнительных средств.
Программатор PICKIT 2 работает под управлением своей собственной оболочки или под управлением среды разработки MPLAB IDE. При работе программатора под управлением оболочки “PICKIT 2 Programmer” PICKIT2 позволяет стирать, программировать и проверять память программ и EEPROM, устанавливать защиту кода, редактировать содержимое Flash и EEPROM.
Программно-аппаратный терминал разрабатывается для программирования устройств по CAN-интерфейсу. Таким образом, разрабатываемое устройство представляет собой программатор с функцией внутрисхемного программирования. Программатор позволяет программировать микросхемы непосредственно в устройствах пользователя. Для этого не только микросхема, но и само устройство должны поддерживать режим внутрисхемного программирования. В устройстве должно быть предусмотрено подключение программатора, в данном случае через CAN-интерфейс. Поскольку для программирования многих микросхем используются напряжения, значительно превышающие напряжение питания, устройство должно выдерживать эти напряжения. Подключаемое устройство не должно оказывать шунтирующего влияния на сигналы программатора. Как правило, все эти требования подробно описаны в фирменных спецификациях по программированию на каждую микросхему.
Микросхемы, имеющие возможность внутрисхемного программирования, обычно имеют специальную схему, генерирующую напряжения, необходимые для программирования, из обычного напряжения питания, а также схему для коммуникации с программатором посредством последовательного интерфейса.
В качестве управляющего элемента в программно-аппаратном терминале будет использоваться контроллер на базе однокристальной ЭВМ.
Программное обеспечение для данного контроллера будет работать по специализированному протоколу передачи данных. Протокол передачи данных предназначен для взаимодействия устройств в локальной системе управления.
1.2 Обзор семейств микроконтроллеров
Микроконтроллер - микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает в себе функции процессора и периферийных устройств, может содержать ОЗУ и ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи. Использование одной микросхемы, вместо целого набора, как в случае обычных процессоров, применяемых в персональных компьютерах, значительно снижает размеры, энергопотребление и стоимость устройств, построенных на базе микроконтроллеров.
При проектировании микроконтроллеров приходится соблюдать баланс между размерами и стоимостью с одной стороны и гибкостью и производительностью с другой. Поэтому существует огромное количество типов микроконтроллеров, отличающихся архитектурой процессорного модуля, размером и типом встроенной памяти, набором периферийных устройств, типом корпуса и т. д.
В настоящее время выпускается целый ряд типов МК. Все эти приборы можно условно разделить на четыре основных класса: - 8-разрядные периферийные МК, к которым можно отнести PIC-контроллеры (Microchip), контроллеры семейства UPI-42 (Intel), контроллеры AVR (Atmel) и другие подобные. Отличительными особенностями периферийных МК являются: гарвардская архитектура памяти (с Flash CMOS или без); RISC-архитектура процессора; небольшие объемы адресуемой памяти (ОЗУ, ПЗУ) - до 100 КБ; 8-разрядный процессор и система команд, не нацеленная на решение сложных вычислительных задач; не предусмотрена возможность аппаратного формирования сигналов внешней системной магистрали; малые габаритные размеры и электропотребление. Они используются для построения простых систем логического управления (PIC16C5X, PIC16C6X, 18042), небольших локальных систем цифрового автоматического управления, не требующих высокой скорости и точности (PIC16C7X, PIC17CXX, PIC1400), иногда они используются для построения «интеллектуальных» датчиков систем сбора и обработки информации;
- 8-разрядные универсальные МК, к которым можно отнести контроллеры семейств MCS-48, MCS-51;151;251 (Intel, Atmel и других производителей), контроллеры семейств НС5-НС11 (Motorola), Z8 (Zilog) и другие подобные. Они используются для построения локальных МК систем программно-логического, цифрового автоматического управления и систем сбора-обработки информации средней и малой производительности. Достаточная производительность, простота системы команд, внутренней архитектуры и большая номенклатура встроенных в микроконтроллеры дополнительных устройств определяют широкое распространение их в настоящее время;
- 16-разрядные универсальные МК, к которым можно отнести контроллеры семейств MCS-96;196;296 (Intel), контроллеры семейства С16Х (Infineon), контроллеры семейств НС12, НС16 (Motorola). Это высокопроизводительные контроллеры, предназначенные для использования в различных системах реального времени: цифрового, логического управления, сбора и обработки информации, системах связи, обработки речи и изображений, где требуется высокая скорость реакции на внешние события. Система команд этих контроллеров оптимизирована по быстродействию (RISC-архитектура) либо ориентирована на быструю обработку сигналов и включает специальные команды реализации нечетких регуляторов, быстрого вычисления сверток сигналов. Широкая номенклатура встроенных устройств позволяет строить на его базе высокоэффективные распределенные микропроцессорные системы;
- 32-разрядные МК, к которым можно отнести контроллеры семейства ARM на основе расширенной RISC-архитектуры - THUMB с экономией памяти ARM7DTMI (Atmel, Intel), контроллеры на основе процессорных ядер CPU32, COLDFIRE, POWERPC (Motorola) и другие подобные. Используются в специальных системах, требующих достаточно высокой производительности, они реализуют команды сигнальной обработки. Быстродействие от 15 до 60 миллионов инструкций в секунду (тактовая частота до 350 МГЦ);
- контроллеры (процессоры) цифровой обработки сигналов (DSP - digital signal processor), к которым относятся сигнальные процессоры семейства TMS320C3X (Texas Instruments), SHARC (Analog Device), ЦРВ77ХХ (NEC), K1813BE1 (Россия) и другие. Они характеризуются либо высокой скоростью выполнения операций с плавающей точкой, либо системой команд, ориентированной на выполнение операций быстрого преобразования Фурье, фильтрации сигналов. Используются как вспомогательные процессоры в эффективных системах управления реального времени. Имеют разрядность АЛУ от 16 до 32 бит и производительность до 120 миллионов операций с плавающей точкой в секунду. К данным контроллерам можно отнести и семейство MIPS-контроллеров (Mobile Internet Phone System), предназначенных для мобильных систем интернет-телефонии.
Для реализации задач, поставленных в данной дипломной работе, оптимальным выбором будет использование 8-разрядных универсальных микроконтроллеров. Рассмотрим более подробно технические характеристики МК семейства Mega фирмы Atmel.
Как и все микроконтроллеры AVR фирмы Atmel, микроконтроллеры семейства Mega являются 8-разрядными микроконтроллерами, предназначенными для встраиваемых приложений. Они изготавливаются по малопотребляющей КМОП-технологии, которая в сочетании с усовершенствованной RISC-архитектурой позволяет достичь наилучшего соотношения быстродействие/энергопотребление.
На основе стандартных семейств выпускаются микроконтроллеры, адаптированные под конкретные приложения: - со встроенными интерфейсами USB, CAN, контроллером LCD;
- со встроенным радиоприемо-передатчиком - серии АТАХХХХ, ATAMXXX;
- для управления электродвигателями - серия AT90PWMXXXX;
- для автомобильной электроники;
- для осветительной техники.
К числу особенностей микроконтроллеров AVR семейства Mega относятся следующие: - FLASH-память программ объемом от 8 до 128 Кб (число циклов стирании/записи не менее 1000);
- оперативная память (статическое ОЗУ) объемом от 1 до 4 КБ;
- память данных на основе ЭСППЗУ (EEPROM) объемом от 512 Б до 4 КБ (число циклов стирании/записи не менее 100000);
- возможность защиты от чтения и модификации памяти программ и данных;
- возможность программирования непосредственно в системе через последовательные интерфейсы SPI и JTAG;
- возможность самопрограммирования;
- возможность внутрисхемной отладки в соответствии со стандартом IEEE 1149.1 (JTAG);
- различные способы синхронизации: встроенный RC-генератор с внутренней или внешней времязадающей RC-цепочкой или с внешним резонатором (пьезокерамическим или кварцевым);
- внешний сигнал синхронизации;
- наличие нескольких режимов пониженного энергопотребления; наличие детектора снижения напряжения питания (brownout detector, BOD);
- возможность программного снижения частоты тактового генератора (не во всех моделях).
Характеристики процессора: - полностью статическая архитектура;
- АЛУ подключено непосредственно к регистрам общего назначения;
- большинство команд выполняются за один машинный цикл;
- многоуровневая система прерываний; поддержка очереди прерывании;
- до 27 источников прерываний (из них до 8 внешних);
- наличие программного стека во всех моделях семейства;
- наличие аппаратного умножителя.
Характеристики подсистемы ввода/вывода: - программное конфигурирование и выбор портов ввода/вывода;
- выводы могут быть запрограммированы как входные или как выходные независимо друг от друга;
- возможность подключения ко всем входам внутренних подтягивающих резисторов.
Периферийные устройства: - 8-разрядные таймеры/счетчики (таймеры Т0 и Т2). В ряде моделей эти таймеры/счетчики могут работать в качестве часов реального времени (в асинхронном режиме);
- 16-разрядные таймеры/счетчики (таймеры T1 и Т3);
- сторожевой таймер WDT;
- генераторы сигнала с ШИМ разрядностью 8 бит (один из режимов работы 8-разрядных таймеров/счетчиков Т0 и Т2);
- одно-, двух- и трехканальные генераторы сигнала с ШИМ регулируемой разрядности (один из режимов работы 16-разрядных таймеров TI и ТЗ). Разрешение ШИМ-сигнала для разных моделей составляет от 8 до 10 бит или от 1 до 16 бит;
- аналоговый компаратор;
- многоканальный 10-разрядный АЦП как с несимметричными, так и с дифференциальными входами;
Ядро микроконтроллеров AVR семейства Mega, выполнено по усовершенствованном RISC-архитектуре (enhanced RISC). Арифметико-логическое устройство (АЛУ), выполняющее все вычисления, подключено непосредственно к 32-м рабочим регистрам, объединенным в регистровый файл.
В микроконтроллерах AVR реализована гарвардская архитектура, которая характеризуется раздельной памятью программ и данных, каждая из которых имеет собственные шины доступа к ним. Такая организация позволяет одновременно работать как с памятью программ, так и с памятью данных. Разделение шин доступа позволяет использовать для каждого типа памяти шины различной разрядности, причем способы адресации и доступа к каждому типу памяти также различны.
1.3 Интерфейсы терминала
Основными физическими интерфейсами в программно-аппаратном терминале будут: RS232, CAN-bus.
Ассоциация электронной промышленности (EIA) развивает стандарты по передаче данных. Стандарты EIA имеют префикс "RS". "RS" означает рекомендуемый стандарт, но сейчас стандарты просто обозначаются как "EIA" стандарты. RS232 был введен в 1962. Он развивался, и в 1969 была представлена третья редакция (RS232C). Четвертая редакция была в 1987 (RS232D, известная также под EIA232D).
RS232 - интерфейс передачи информации между двумя устройствами на расстоянии до 20м. Он был разработан для простого применения, однозначно определяемого по его названию: "интерфейс между терминальным оборудованием и связным оборудованием с обменом по последовательному двоичному коду", т.е. интерфейс между терминалом (DTE) и модемом (DCE) по передаче последовательных данных согласно рисунку 1.1.
Рисунок 1.1 - Схема интерфейса RS232
Для соединения многих устройств достаточно минимального набора цепей интерфейса RS-232: RD, TD и Signal Ground. Схема соединения изображена на рисунке 1.2.
Рисунок 1.2 - Схема соединения с минимальным набором цепей
В RS232 используются два уровня сигналов: логические 1 и 0. Логическую 1 иногда обозначают MARK, логический 0 - SPACE. Логической 1 соответствуют отрицательные уровни напряжения, а логическому 0 - положительные. Соответствующие значения напряжений представлены в таблице 1.1.
Таблица 1.1 - Уровни сигналов данных
Уровень Передатчик Приемник
Логический 0 От 5 В до 15 В От 3 В до 25 В
Логический 1 От-5 В до -15 В От -3 В до -25 В
Не определен От -3 В до 3 В
На рисунке 1.3 показана эквивалентная электрическая схема при обмене последовательными данными по стандарту RS-232C. Эта эквивалентная схема независима от того, где расположен генератор в DTE или DCE.
Характеристики сигнала обмена данными по стандарту RS-232C включены в международный стандарт ITU-T v.28.
Идея создания Controller Area Network (CAN) появилась в конце 80-х у Роберта Боша. Идея заключалась в том, чтобы создать сетевое решение для распределенных систем, работающих в реальном времени. Соединение может быть более устойчивым к помехам при использовании витой пары. Первоначально создавалась для автомобильного назначения, но в настоящее время используется в разнообразных системах управления, в т.ч. индустриальных, работающих в насыщенной помехами окружающей среде.
CAN протокол связи стандартизирован согласно ISO 11898-1 (2003). Этот стандарт главным образом описывает слой обмена данными состоящий из подраздела логического контроля (LLC) и подраздела контроля доступа (MAC), и некоторых аспектов физического слоя ISO/OSI модели. Остальные слои протокола оставлены на усмотрение разработчика сети.
CAN - система на серийной шине приспособленная для организации сети интеллектуальных устройств, так же как датчиков и исполнительных устройств в системе или подсистеме.
Интерфейс CAN-bus обеспечивает высокий уровень защиты данных от повреждения даже при работе в сложных условиях (сильные помехи), при этом достигается достаточно большая скорость передачи данных (до 1 Мбит/с).
Высокая степень и надежности сети благодаря развитым механизмам обнаружения и исправления ошибок, самоизоляции неисправных узлов, нечувствительность к высокому уровню электромагнитных помех обеспечивает сети широчайшую сферу применения.
Шина CAN-bus представляет собой двухпроводной интерфейс, имеющий линейную сетевую структуру, к которому подключаются устройства. На концах линии установлены резисторы (терминаторы) сопротивлением 120 Ом в соответствии с рисунком 1.4. Сигнал передается по двум линиям can_high (CANH) и can_low (CANL). Логический 0 регистрируется когда на can_high сигнал выше чем на can_low. Логическая единица в обратном случае.
Рисунок 1.4 - Схема подключения к интерфейсу CAN-bus
Подключение устройств имеет структуру, показанную на рисунке 1.5. В его состав обязательно входит CAN контроллер, отвечающий за организацию интерфейса и CAN трансивер, отвечающий за прием и передачу данных. Обмен данными между трансивером и контроллером идет по последовательному интерфейсу (сигналы Tx, Rx).
Рисунок 1.5 - Внутренняя структура устройства
Дифференциальный режим передачи позволяет эффективно бороться с сильными электромагнитными помехами. Это достигается за счет того, что электромагнитный импульс воздействует на обе линии данных (CANH и CANL). Уровень сигнала в них меняется, но разница остается постоянной.
Быстродействие CAN сети достигается благодаря механизму недеструктивного арбитража шины посредством сравнения бит конкурирующих сообщений. Т.е. если случится так, что одновременно начнут передачу несколько контроллеров, то каждый из них сравнивает бит, который собирается передать на шину с битом, который пытается передать на шину конкурирующий контроллер. Если значения этих битов равны оба контроллера пытаются передать следующий бит. И так происходит до тех пор пока значения передаваемых битов не окажутся различными. Теперь контроллер, который передавал логический ноль (более приоритетный сигнал) будет продолжать передачу, а другой контроллер прервет свою передачу до того времени пока шина вновь не освободится. Конечно, если шина в данный момент занята, то контроллер не начнет передачу до момента ее освобождения.
Эта спецификация CAN исходит из предположения, что все CAN контроллеры принимают сигналы с шины одновременно. Т.е. в одно и то же время один и тот же бит принимается всеми контроллерами в сети. С одной стороны такое положение вещей делает возможным побитовый арбитраж, а с другой стороны ограничивает длину CAN-bus. Сигнал распространяется по CAN-bus с огромной, но конечной, скоростью и для правильной работы CAN нужно, чтобы все контроллеры "услышали" его почти одновременно. Почти, потому что каждый контроллер принимает бит в течение определенного промежутка времени, отсчитываемого системным часам. Таким образом, чем выше скорость передачи данных, тем меньшая длина CAN-bus возможна.
Стандартом регламентировано несколько значений для скорости передачи данных. Максимальная скорость сети CAN в соответствие с протоколом равна 1 Мбит/с. При скорости в 1 Мбит/с максимальная длина кабеля равна примерно 40 м. Ограничение на длину кабеля связано с конечной скоростью распространения сигнала и механизмом побитового арбитража (во время арбитража все узлы сети должны получать текущий бит передачи одновременно, т.е. сигнал должен успеть распространится по всему кабелю за единичный отсчет времени в сети).
Скорость шины, в свою очередь, определяет максимальное значение длины шины в соответствии с таблицей 1.2.
Таблица 1.2 - Соотношение скорости передачи и длины шины
Скорость передачи, кбит/с Длина шины, м Номинальная длительность бита, мкс
1000 30 1
800 50 1.25
500 100 2
250 250 4
125 500 8
62.5 1000 20
20 2500 50
10 5000 100
Данные значения скорости и длины шины достижимы с использованием стандартных кабелей и трансиверов и использование оптоволокна не обязательно.
В CAN не существует явной адресации сообщений и узлов, сообщения не имеют явной адресации приемника. Источник выставляет на шину свой идентификатор и данные, а приемник самостоятельно, исходя из решаемых задач, обрабатывает принятые данные от данного источника, либо игнорирует их.
Протокол CAN нигде не указывает, что поле арбитража должно использоваться как идентификатор сообщения или узла. Таким образом, идентификаторы сообщений и адреса узлов могут находиться в любом поле сообщения (в поле арбитража или в поле данных, или присутствовать и там, и там).
С другой стороны, стандарт протокола предусматривает возможность удаленного запроса данных (RTR). В отличие от предыдущего описания, приемник не ожидает появления необходимых данных, а запрашивает данные у необходимого узла.
Точно также протокол не запрещает использовать поле арбитража для передачи данных.
Стандарт CAN не регламентирует, каким образом конкретные приложения будут передавать специфичные для себя данные по сети CAN. Таким образом возникает потребность в использовании какого-нибудь протокола верхнего уровня. Можно придумать свой протокол, который позволял бы приложениям работать с CAN сетью просто и удобно, но едва ли стоит тратить на это силы, если уже существует множество высокоуровневых протоколов на основе CAN технологии. Причем это открытые протоколы, т.е. можно получить уже готовые спецификации и даже участвовать в дальнейшем развитии данных систем.
CAN протокол определяет безопасную передачу небольших пакетов данных из пункта А в пункт Б используя общую линию коммуникации. Протокол не содержит средств контроля потока, адресацию, не предоставляет передачу сообщений более чем 8 бит, не осуществляет установку соединения и т.д. Перечисленные свойства определяются HLP (Протоколами Высшего Порядка). Условия HLP получены и состоят из семи порядков: - OSI модели (Open Systems Interconnect Model);
- CANKINGDOM;
- CANOPEN/CAL;
- DEVICENET;
- J1939;
- OSEK;
- SDS.
HLP обычно определяет: - параметры запуска;
- распределение идентификатора сообщения среди различных устройств в системе;
- интерпретация содержимого блоков данных;
- статус взаимодействия в системе.
2 Структурное проектирование
На основе схемы электрической структурной при дальнейшем проектировании будет построена схема электрическая принципиальная, как детальная реализация схемы электрической структурной.
Структурная схема разрабатываемого устройства может быть представлена как совокупность функциональных блоков, соединенных между собой. Программно-аппаратный терминал с CAN-шиной предназначен для передачи информации, от компьютера по интерфейсу RS232, в память подключенного устройства по интерфейсу CAN-bus, и обратно.
Согласно техническому заданию, программно-аппаратный терминал выполнен в виде самостоятельного устройства, снабженного микроконтроллером, осуществляющим связь между интерфейсами.
На рисунке 2.1 показана структурная схема разрабатываемого устройства.
В структуре преобразователя можно выделить следующие блоки: - микроконтроллер;
- контроллер CAN-bus;
- приемопередатчик CAN-bus;
- подключенные устройства CAN-bus;
- приемопередатчики RS232;
- ПЭВМ;
- блок питания 5V.
Рисунок 2.1 - Структурная схема разрабатываемого устройства
Рассмотрим каждый из структурных блоков, входящих в состав системы, отдельно. ПЭВМ, к которой подключается разрабатываемый терминал, будет осуществлять передачу информации в подключенные устройства. К подключенным устройствам терминал подключается через интерфейс CAN-bus.
Контроллер CAN-bus необходим для связи приемопередатчика CAN-bus с микроконтроллером и наоборот. Сам контроллер CAN-bus соединен с микроконтроллером посредством шины SPI. Интерфейс SPI - синхронный последовательный интерфейс - предназначен для организации обмена между двумя устройствами, причем одно из них является инициатором обмена (master), второе - пассивное (slave ).
Основные характеристики SPI интерфейса: - полнодуплексный 3-проводный синхронный обмен данными;
- режим работы ведущий или ведомый;
- обмен данными с передаваемыми первыми старшим или младшим битами;
- четыре программируемые скорости обмена данными;
- флаг прерывания по окончании передачи.
Структурная схема SPI интерфейса показана на рисунке 2.2.
Рисунок 2.2 - Структурная схема SPI интерфейса
Вывод PB1(SCK) является выходом тактового сигнала ведущего микроконтроллера и входом тактового сигнала ведомого. По записи ведущим CPU данных в SPI регистр начинает работать тактовый генератор SPI и записанные данные сдвигаются через вывод выхода PB2(MOSI) ведущего микроконтроллера на вывод входа PB2 (MOSI) ведомого микроконтроллера. После сдвига одного байта тактовый генератор SPI останавливается, устанавливая флаг окончания передачи (SPIF). Если в регистре SPCR будет установлен бит разрешения прерывания SPI (SPIE), то произойдет запрос прерывания. Вход выбора ведомого PB0(SS), для выбора индивидуального SPI устройства в качестве ведомого, устанавливается на низкий уровень. При установке высокого уровня на выводе PB0(SS) порт SPI деактивируется и вывод PB2(MOSI) может быть использован в качестве вывода входа. Режим ведущий/ведомый может быть установлен и программным способом установкой или очисткой бита MSTR в регистре управления SPI.
Два сдвиговых регистра ведущего и ведомого микроконтроллеров можно рассматривать как один разнесенный 16-разрядный циклический сдвиговый регистр. При сдвиге данных из ведущего микроконтроллера в ведомый одновременно происходит сдвиг данных из ведомого микроконтроллера в ведущий, т.е. в течение одного цикла сдвига происходит обмен данными между ведущим и ведомым микроконтроллерами.
Приемопередатчик CAN-bus необходим для преобразования последовательного потока данных от микроконтроллера в дифференциальный сигнал и наоборот. Структурная схема приемопередатчика CAN показана на рисунке 2.3.
Приемопередатчик RS232 необходим для преобразования уровней сигнала последовательного потока данных микроконтроллера в сигнал интерфейса RS232 и наоборот.
Микроконтроллер является центральным звеном в устройстве. На него возложены задачи по реализации моста между интерфейсом CAN-bus и RS232. Микроконтроллер будет выполнять функции приема и передачи данных между двумя физическими интерфейсами, преобразуя форматы кадров и поддерживая протоколы передачи данных.
Для того чтобы минимизировать количество дополнительных элементов, нужно выбрать микроконтроллер, интегрирующий в себе как можно полнее запрашиваемые функции. Изучив номенклатуру предлагаемых микроконтроллеров, остановим свой выбор на микроконтроллере семейства AVR фирмы ATMEL.
AVR-архитектура объединяет мощный гарвардский RISC-процессор с раздельным доступом к памяти программ и данных, 32 регистра общего назначения, каждый из которых может работать как регистр-аккумулятор, и развитую систему команд фиксированной 16-бит длины. Регистровый файл также доступен как часть памяти данных. 6 из 32-х регистров могут использоваться как три 16-разрядных регистра-указателя для косвенной адресации. Большинство команд выполняются за один машинный такт с одновременным исполнением текущей и выборкой следующей команды, что обеспечивает производительность до 1 миллиона инструкций в секунду на каждый 1 МГЦ тактовой частоты. Встроенные аналоговый компаратор, сторожевой таймер, порты SPI и UART, таймеры/счет
Вывод
TXD, RXD предназначены для обмена данными с контроллером CAN bus и поэтому в разрабатываемом преобразователе будут подключены непосредственно к контроллеру CAN-bus. Выводы CANH, CANL - это физический интерфейс CAN-bus. Эти выводы будут подключены к разъему, который будет подключаться к необходимым устройствам. Для минимизации отражения сигнала в шине используется оконечная нагрузка шины (bus termination). ISO-11898 требует, чтобы шина CAN имела номинальную характеристику входного полного сопротивления линии передачи в 120 Ом. Поэтому обычное значение согласующего резистора для каждого конца шины составляет 120 Ом.
Схема подключения приемопередатчика CAN-bus изображена на рисунке 3.9.
Для реализации приемопередатчика интерфейса RS232 будет использоваться микросхема MAX232.
УГО микросхемы изображено на рисунке 3.10, а ее цоколевка на рисунке 3.11.
Назначение выводов микросхемы MAX232 представлено в таблице 3.4.
Рисунок 3.10 - УГО микросхемы MAX232
Рисунок 3.11 - Цоколевка микросхемы MAX232
Таблица 3.4 - Назначение выводов микросхемы MAX232
Обозначение Описание
C1 , C1- Подключение внешнего конденсатора удвоителя напряжения порядка 100НФ.
V , V- Выходное напряжение (положительное и отрицательное).
C2 , C2- Подключение внешнего конденсатора инвертора напряжения порядка 100НФ.
T2out, T1out Выходы передатчика RS232.
R2in, R1in Входы приемника RS232.
R2out, R1out Выходы приемника ТТЛ/КМОП.
T1in, T2in Входы передатчика ТТЛ/КМОП.
GND Общий вывод питания микросхемы.
VCC Напряжение питания 5В.
Емкость применяемых конденсаторов C7, C8, C14, C16 указана в документации производителя и равна 1МКФ. Микроконтроллер подключается к выводам T1in-R1out. ПЭВМ подключена к паре T1out-R1in.
Схема подключения приемопередатчика интерфейса RS232 изображена на рисунке 3.12.
В качестве разъема для связи с ПЭВМ выберем стандартный, изображенный на рисунке 3.13.
Рисунок 3.13 - Разъем для подключения к ПЭВМ
Терминал будет работать от сети с напряжением 220В, а т.к. все микросхемы терминала рассчитаны на напряжение питания 5В, то будем использовать блок питания. Схема представлена на рисунке 3.14.
Рисунок 3.14 - Схема блока питания
Блок питания состоит из понижающего трансформатора Т1, выпрямителя, в качестве которого используется диодный мост RS602, и стабилизатора L7805ACV со стандартной схемой обвязки.
Емкости конденсаторов, применяемых в обвязке стабилизатора, указаны производителем в документации: C18, С20 равны 100НФ, а C13 равны 10МКФ. Конденсатор С18 будет использоваться для сглаживания напряжения питания, конденсатор C13 используется для фильтрации низкочастотных помех, а конденсатор C20 используется для фильтрации высокочастотных помех.
Схема электрическая принципиальная разрабатываемого устройства изображена на чертеже БРГТУ.007817.012 Э3.
4 Конструкторско-технологическое проектирование
4.1 Разработка конструкции терминала
На этапе конструкторско-технологического проектирования необходимо, согласно заданию, произвести разработку печатной платы, определить материал для изготовления печатной платы, технологию изготовления печатной платы, ее размеры.
Конструирование представляет собой сложный комплекс взаимосвязанных работ, при выполнении которых необходимы учет разносторонних требований к конструкции устройства, знание современной технологии, схемотехники, теории надежности и других теоретических и прикладных дисциплин. От успешного решения задач конструирования зависят такие характеристики, как надежность, объем, вес, технологичность, удобство эксплуатации. Качество разработанной конструкции определяется степенью соответствия ее техническим требованиям. Неудачные конструкторские решения могут привести, например, к невозможности обеспечения работоспособности ЭВМ изза несоблюдения теплового режима или к значительному снижению быстродействия.
Технология производства является совокупностью производственных процессов и документов для изготовления изделия, а также научное описание способов производства (способы изменения формы, размеров, физических и химических свойств, структуры и состава исходного материала). Также технология производства определяет все ресурсы, затраченные на производство изделия (временные, материальные и другие).
Основными задачами при разработке конструкции являются: - обеспечение надежности эксплуатации;
- обеспечение удобства использования;
- обеспечение герметичности и стойкости к агрессивным средам;
- обеспечение широкого температурного диапазона работы.
Таким образом, для обеспечения надежности, герметичности, удобства и широкого температурного диапазона необходимо выбрать материал для разрабатываемого устройства. В качестве корпуса для терминала хорошо подойдет полый параллелепипед из пластика. Пластмасса или пластик - это общий термин для широкого диапазона синтетических или полусинтетических изделий полимеризации. Они состоят из органического сгущения синтетической смолы или ступенчато-полимеризованных (аддитивных) полимеров и могут содержать другие вещества, чтобы улучшить износоустойчивость или экономичность. Пластмассы могут быть сформированы в пленки или волокна. Пластмасса может классифицироваться многими способами, но наиболее часто по основам полимера (поливинил хлорид, полиэтилен, метакрилат полиметила и другие акрилаты, силиконы, полиуретаны и т.д.).
Пластмассы характеризуются малой плотностью (0,85-1,8 г/см?), чрезвычайно низкой электрической и тепловой проводимостью, не очень большой механической прочностью. При нагревании (часто с предварительным размягчением) они разлагаются. Не чувствительны к влажности, устойчивы к действию сильных кислот и оснований, отношение к органическим растворителям различное (в зависимости от химической природы полимера). Физиологически почти безвредны. Свойства пластмасс можно модифицировать методами сополимеризации или стереоспецифической полимеризации, путем сочетания различных пластмасс друг с другом или с другими материалами, такими как стеклянное волокно, текстильная ткань, введением наполнителей и красителей.
Чтобы утилизировать пластик его нужно должным образом сжечь при высоких температурах, единственными произведенными химикалиями будут вода, углекислый газ и углеродистая зола. Если же его сжечь без достаточного количества кислорода или при более низких температурах он может произвести ядовитые пары и другие опасные побочные продукты. Пластик может быть переработан, и из переплавленного материала можно будет сделать скамейки для парка, игрушки и цветочные горшки.
Наличие корпуса у разрабатываемого устройства обеспечит надежность эксплуатации, удобство использования, герметичность и стойкость к агрессивным средам.
4.2 Разработка печатной платы
Исходными данными к разработке топологии печатной платы является схема электрическая принципиальная, установочные размеры радиоэлементов узла и рекомендации по разработке монтажа для выбранной серии микросхем.
Печатные платы предназначены для электрического соединения элементов схемы между собой и в общем случае представляют вырезанный по размеру материал основания, содержащий необходимые отверстия и проводящий рисунок, который может быть выполнен как на поверхности, так и в объеме основания.
Печатные платы классифицируются по нескольким параметрам: - по числу проводящих слоев (одно-, двух- и многослойные);
- по плотности проводников (свободные - ширина проводников и расстояние между ними 0,5 мм, уплотненные - 2,5 мм);
- по виду материала основы (органический диэлектрик - текстолит, керамические материалы или на основе металлов);
- по способу изготовления (химическое травление, электрохимическое осаждение);
- по способу нанесения проводников (обработка фольгированных диэлектриков, нанесение тонких токопроводящих слоев).
Многослойные печатные платы (МПП) обеспечивают существенно большую плотностью размещения печатных проводников, что приводит к уменьшению массы и габаритов готового изделия. То же самое относится и к уплотненным печатным платам.
Характеристики готовой печатной платы зависят от конкретного сочетания исходных материалов, а также от технологии, включающей и механическую обработку плат.
При разработке конструкции печатных плат решаются следующие задачи: - схемотехнические - трассировка печатных проводников, минимизация количества слоев;
- радиотехнические - расчет паразитных наводок, параметров линий связи;
- теплотехнические - температурный режим работы печатной платы, теплоотвод;
- конструктивные - размещение элементов на печатной плате, контактирование;
- технологические - выбор метода изготовления, защита.
Высокая сложность современных схем приводит к необходимости автоматизации задач размещения, трассировки, расчета тепловых режимов, электромагнитного взаимодействия компонентов на печатной плате.
По существу, задача размещения и трассировки сводится к перебору (полному или частичному) возможных вариантов размещения соединяемых элементов и нахождения оптимального. Критерием оптимальности является минимальная сумма длин всех размещаемых на плате печатных проводников (либо более сложные целевые функции).
Разрабатываемая печатная плата должна иметь достаточно малые габариты, это определяется стремлением сделать программно-аппаратный терминал как можно меньших размеров без ухудшения его характеристик.
Для того, чтобы уменьшить размер печатной платы, необходимо применять радиоэлементы с маленькой установочной площадью. В качестве большинства таких элементов могут выступать малогабаритные SMD элементы.
Преимущество использования SMD элементов заключается не только в том, что они обладают малыми геометрическими размерами и, как правило, лучшими электрическими характеристиками, по сравнению с классическими выводными элементами, но и в том, что у этих элементов отсутствуют выводы, что позволяет уменьшить паразитные индуктивные и емкостные связи. Малогабаритный SMD элемент, как правило, обладает контактными площадками, которые занимают большой процент их общей площади, что улучшает теплоотведение от этих элементов. Малые размеры этих элементов приводят к тому, что они меньше греются.
SMD элементы на плату крепятся поверхностным монтажом и, как правило, полностью соприкасаются с печатной платой всей своей поверхностью, что обеспечивает лучшее теплоотведение [2]. Так же, малые размеры SMD элементов определяют то, что при изменении температуры окружающей температуры в больших пределах, они обладают малым коэффициентом температурной деформации, так как сами по себе они очень малы. Малая деформация элементов при изменении температуры значительно снижает нагрузку на паяное соединение и на сам элемент, что значительно увеличивает надежность устройства. Однако, вместе с тем, такие элементы очень чувствительны к деформации печатной платы, что порождает еще одно требование к печатной плате. Печатная плата должна иметь достаточно большую жесткость, чтобы исключить порчу SMD элементов изза принудительной деформации печатной платы.
Малогабаритные SMD элементы припаиваются на контактные площадки, расположенные со стороны установки элементов. Существует возможность использовать однослойную печатную плату, однако чтобы выполнить требования по обеспечению минимальной ширины печатного проводника и минимального расстояния между печатными проводниками, данные элементы необходимо было бы располагать на достаточно большом расстоянии друг от друга. Большую часть печатной платы занимали бы печатные проводники, которые осуществляют соединение припаиваемых элементов. Такой вариант изготовления печатной платы не приемлем, так как не позволит достичь малых габаритов платы, поэтому необходимо применять двухстороннюю печатную плату, а соединение между слоями осуществлять по средствам металлизированных отверстий.
Печатные проводники, расположенные на разных слоях печатной платы желательно располагать перпендикулярно друг другу либо под углом, так как параллельное размещение проводников на разных слоях приведет к повышению паразитных емкостей между ними, что может сказаться на работе устройства. Однако, не исключено, что на разных слоях платы проводники могут располагаться параллельно, в таком случае, необходимо их разносить на некоторые расстояния друг от друга, либо уменьшать участки, где проводники идут параллельно. Следует учитывать, что, к примеру, параллельное расположение какого либо сигнального печатного проводника и общего печатного проводника на плате не будет давать отрицательного результата, однако взаимное параллельное расположение сигнальных печатных проводников может сильно сказаться на качестве устройства[3].
Как уже говорилось ранее, устанавливаемые элементы имеют достаточно малые геометрические размеры и расстояния между выводами. Разрабатываемая печатная плата согласно ГОСТ 23.751-86 имеет третий класс точности.
Третий класс точности изготовления печатных плат имеет следующие характеристики: - минимальная ширина печатного проводника: 0,25 мм;
- минимальное расстояние между краями соседних элементов разрабатываемого рисунка: 0,25 мм;
- минимальная гарантированная ширина пояска вокруг отверстия: 0,1 мм;
- отношение номинального значения диаметра наименьшего из отверстий, к толщине печатной платы: 0,33 мм.
Разводку печатной платы произведем при помощи САПР производства компании Altium P-CAD 2006. Система P-CAD 2006 представляет собой новейшую версию популярного пакета для сквозного проектирования аналоговых, цифроаналоговых и аналого-цифровых устройств и для автоматизированного проектирования печатных плат. В частности, она позволяет выполнять следующие операции: - подбирать элементную базу в соответствии с техническим заданием;
- вести библиотеки символов, топологических посадочных мест и моделей компонентов;
- осуществлять графический ввод схемы и ее упаковку на печатную плату;
- выполнять трассировку в ручном, интерактивном и автоматическом режимах;
- проводить смешанное аналого-цифровое моделирование на основе ядра SPICE3;
- выявлять ошибки в схеме и печатной плате, вплоть до анализа целостности сигналов и перекрестных искажений;
- выпускать полный комплект конструкторско-технологической документации для передачи на предприятие - изготовитель печатных плат.
В состав данного программного комплекса входит несколько тесно интегрированных между собой модулей.
Library Executive - диспетчер библиотек, значительно упрощающий процесс подбора элементной базы для конкретного проекта. Библиотеки P-CAD отличаются удобным интерфейсом и позволяют эффективно структурировать в табличной форме упаковочную информацию о нумерации и именовании выводов компонентов, логической эквивалентности выводов и прочих параметрах. Кроме того, они содержат обширную базу данных о продукции ведущих мировых производителей микроэлектроники (Motorola, Analog Devices, AMD, Texas Instr. и т. д.).
Symbol Editor - графический редактор для формирования условно-графических обозначений (УГО) библиотечных компонентов. Оснащен средствами для автоматизации разработки логических компонентов и для проверки правильности полученных символов.
Pattern Editor - графический редактор для формирования посадочных мест компонентов. В его состав входит программа-мастер Pattern Wizard, облегчающая процесс создания корпусов для типовых компонентов (например, интегральных микросхем).
Schematic - графический редактор для ввода принципиальных схем изделия. К числу его сильных сторон стоит отнести возможность получения многолистовых схем (в том числе с иерархической структурой), наличие средств для проверки проекта и для редактирования библиотек символов компонентов. Применение специально созданных шрифтов, удовлетворяющих требованиям российских ГОСТОВ и внедренных в систему проектирования, позволяет использовать на схеме и ПП надписи на русском языке.
РСВ - графический редактор, позволяющий пользователю самостоятельно или с помощью набора функций Visual Placement Area (VPA) разместить модули на монтажно-коммутационном поле и провести трассировку проводников в ручном, интерактивном или автоматическом режимах. Осуществляет контроль над соблюдением технологических норм и правил и дает возможность создавать на плате особые участки, в которых не действуют назначенные для всего проекта ограничения.
Document Toolbox - включенная в приложения РСВ и Schematic утилита, значительно облегчающая подготовку конструкторской документации. В частности, она предназначена для нанесения на чертежи вспомогательной информации: динамически обновляемых списков и отчетов, диаграмм и таблиц, технологических и учетных сведений, списков соединений, выводов подключения питания т.д.
Автотрассировщики - особые модули для автоматической прокладки проводников на печатной плате. Входящее в состав базового пакета приложение Quick Route позволяет вести трассировку на простых двухсторонних печатных платах по фиксированным сеткам. Для более сложных проектов, предусматривающих использование компонентов с большим числом выводов и малым расстоянием между ними, имеет смысл дополнительно приобрести сеточный трассировщик Pro Route или бессеточный трассировщик Situs.
Interroute Gold и Advanced Route - дополнительные наборы команд для РСВ, позволяющие в интерактивном режиме прокладывать проводники, автоматически раздвигая помехи. Существенно облегчают и ускоряют ручную и интерактивную трассировку.
Эти мини-программы извлекают данные из открытых проектов (схем или печатных плат), обрабатывают их, составляют отчеты или добавляют в проект атрибуты или геометрические объекты. В частности, российскими специалистами разработан комплект DBX-утилит для оформления документации, отвечающей требованиям национального стандарта ЕСКД, Справочник конструктора (Constructor Reference) и т.д.
INTERPLACE/PCS - многофункциональная DBX-утилита, облегчающая размещение компонентов. Входящий в ее состав инструмент PCS (Parametric Constraint Solver) позволяет на начальной стадии реализации проекта сформулировать набор правил проектирования, которыми впоследствии станут руководствоваться прочие модули системы.
Protel Advanced Sim - основанная на языке описания Spice 3f5 система цифрового, аналогового и цифроаналогового моделирования. Обеспечивает возможность выполнять анализ по самым различным параметрам (постоянному току, частоте, спектральным характеристикам, шуму, температуре, переходным процессам), а также статистический анализ методом Монте-Карло, расчет передаточной функции, нулей и полюсов.
Signal Integrity - инструмент для анализа влияния конструкции печатной платы на условия распространения сигналов (задержка, потери, паразитные наводки, согласование с источниками и нагрузками).
В P-CAD 2006 используются принципы, отличающие ее от других пакетов для ПК. В частности, имеется возможность доступа ко всем элементам на более низких уровнях иерархии, например, при работе с печатной платой имеется возможность изменить расположение выводов и графику контактных площадок корпусов компонентов. В редакторе PCB существуют режимы ручной и продвинутой (полуавтоматической) трассировки проводников.
Количество элементов и схема электрическая принципиальная обуславливает выбор двухсторонней печатной платы. Так как слои будут соединены между собой при помощи металлизации отверстий, то плата должна быть изготовлена комбинированным методом.
Материал печатной платы выберем согласно ГОСТ 10316-78 c учетом требований к жесткости и стойкости при нагреве. Таким образом, был выбран стеклотекстолит марки СФ-2-35-1,5, представляющий собой стеклотекстолит фольгированный двухсторонний, нагревостойкий, с толщиной фольги 0,35 мм и имеющий толщину 1,5 мм.
Рисунок печатной платы изображен на чертеже БРГТУ.007817.012.
5 Разработка программного обеспечения
5.1 Разработка программного обеспечения для микроконтроллера
Целью является разработка программного обеспечения (ПО) для микроконтроллера Atmega128 программно-аппаратного терминала. Для разработки программного обеспечения микроконтроллера используется язык программирования С, среда AVRSTUDIO 4, компилятор WINAVR.
Во время разработки ПО будут использоваться протоколы передачи данных SPI, CAN 2.0, RS232.
CAN - последовательный протокол связи, который эффективно поддерживает распределенное управление в реальном масштабе времени с высоким уровнем безопасности.
Область применения - от высокоскоростных сетей до дешевых мультиплексных шин. В автоматике, устройствах управления, датчиках используется CAN со скоростью до 1 Мбит/с.
Задача данной спецификации состоит в том, чтобы достигнуть совместимости между любыми двумя реализациями CAN - систем. Однако, совместимость имеет различные аспекты относительно, например электрических элементов и интерпретации данных, которые будут передаваться.
Для достижения прозрачности проекта и гибкости реализации, CAN был подразделен на различные уровни согласно модели ISO/OSI: - уровень передачи данных (Data Link Layer);
- подуровень логического управления линией (LLC);
- подуровень управления доступом к среде передачи (MAC);
- физический уровень (Physical Layer).
В предыдущих версиях спецификации CAN функции LLC и MAC подуровней, уровня передачи данных, были описаны в уровнях, обозначенных как объектный уровень и канальный уровень.
Область LLC подуровня: - обеспечение сервиса для передачи данных и для удаленного запроса данных;
- решение, какие сообщения, полученные LLC подуровнем, должны быть фактически приняты;
- обеспечение средствами для управления восстановлением и уведомления о перегрузке.
Область MAC подуровня главным образом - протокол передачи, то есть: арбитраж, проверка на ошибки, сигнализация и типизация ошибок. Внутри MAC подуровня решается, является ли шина свободной для начала новой передачи или возможен только прием данных.
В MAC подуровень также включены некоторые элементы битовой синхронизации. Все это находится внутри MAC подуровня и не имеет никакой возможности к модификации.
Область физического уровня - фактическая передача битов между различными узлами с соблюдением всех электрических правил.
Внутри одной сети, физический уровень одинаков для всех узлов.
Однако существует свобода в выборе физического уровня. Цель этой спецификации - определить MAC подуровень и небольшую часть LLC подуровня уровня передачи данных и описать действие протокола CAN на окружающие уровни
Основные характеристики: - приоритетность сообщений;
- гарантированное время отклика;
- гибкость конфигурации;
- групповой прием с синхронизацией времени;
- система непротиворечивости данных;
- обнаружение ошибок и их сигнализация;
- автоматическая ретрансляция испорченных сообщений, как только шина снова станет свободной;
- различие между нерегулярными ошибками и постоянными отказами узлов и автономное выключения дефектных узлов.
Для достижения безопасности передачи данных, в каждом узле CAN имеются мощные средства самоконтроля, обнаружения и сообщения об ошибках.
Имеются два формата, которые отличаются по длине поля идентификатора: - кадры с 11-разрядным идентификатором - называются стандартными кадрами;
- кадры, содержащие 29 разрядные идентификаторы, называются расширенными кадрами.
Кадр данных передает данные от передатчика приемнику. Кадр удаленного запроса данных передается узлом, чтобы запросить передачу кадра данных с тем же самым идентификатором.
Кадр ошибки передается любым узлом при обнаружении ошибки на шине.
Кадр перегрузки используется, чтобы обеспечить дополнительную задержку между предшествующим и последующим кадром данных или кадром удаленного запроса данных.
Кадры данных и кадры удаленного запроса данных могут использоваться и в стандартном и в расширенном формате; они отделяются от предшествующих кадров межкадровым пространством.
В таблице 5.1 представлена структура информационного пакета.
Таблица 5.1 - Формат информационного пакета
Поле данных Название Значение
1 Начало кадра Это поле состоит из одиночного нулевого бита
2 Поле арбитража В стандартном формате поле арбитража, состоит из 11 разрядного идентификатора и RTR-бита. Биты идентификатора обозначены. В расширенном формате поле арбитража состоит из 29 разрядного идентификатора, SRR-бита, IDE-бита, и RTR-бита
3 Поле управления Поле управления состоит из шести бит: код длины данных (DLC), бит IDE, который передается нулевым уровнем (см. выше), и зарезервированный бит r0.
4 Поле данных Поле данных состоит из данных, которые будут переданы внутри кадра данных. Оно может содержать от 0 до 8 байт, каждый содержит 8 бит, которые передаются, начиная с MSB.
5 Поле CRC Содержит последовательность CRC и CRC - разделитель
6 Поле подтверждения Поле подтверждения имеет длину два бита и содержит: "область подтверждения" и разделитель подтверждения.
7 Конец кадра Каждый кадр данных и кадр удаленного запроса данных ограничен последовательностью флагов, состоящей, из семи единичных бит.
За реализацию данного протокола будет отвечать CAN-контроллер, который обеспечивает взаимодействие с сетью. Таким образом, протокол CAN реализуется на аппаратном уровне. Данные на CAN-контроллер будут передаваться через SPI интерфейс.
Интерфейс SPI позволяет осуществлять высокоскоростную синхронную передачу данных между микроконтроллером AVR и периферийными устройствами или между несколькими микроконтроллерами AVR. В большинстве случаев этот интерфейс имеет второе назначение - он используется для внутрисхемного программирования (ISP).
Взаимодействие между двумя устройствами SPI всегда осуществляется между устройством в режиме Master (далее по тексту «ведущий») и устройством в режиме Slave (далее по тексту «ведомый»). В отличие от некоторых периферийных устройств, таких как датчики, которые могут выступать только в роли ведомых, интерфейс SPI микроконтроллеров AVR может быть сконфигурирован как для работы в режиме ведущего, так и для работы в режиме ведомого. Режим работы интерфейса SPI микроконтроллера AVR определяется битом master (MSTR) регистра управления интерфейсом SPI (SPCR). Особое внимание следует уделить линии SS, подробнее о которой будет написано далее в разделе «Системы с несколькими ведомыми функционирование линии SS».
SPI содержит четыре сигнальных линии. Это линия генератора сдвига (SCK), линия «Выход ведущего вход ведомого» (Master Out Slave In или MOSI), линия «Вход ведущего выход ведомого» (Master In Slave Out или MISO) и линия выбора ведомого с низким активным уровнем (SS) [5]. Когда SPI включен, направление передачи данных на выводах SCK, MOSI, MISO и SS изменяется в соответствии с таблицей 5.2.
Таблица 5.2 - Направление выводов в режимах ведущего и ведомого
Вывод Направление в режиме ведущего Направление в режиме ведомого
MOSI Определяется пользователем Вход
MISO Вход Определяется пользователем
SCK Определяется пользователем Вход
__SS Определяется пользователем Вход
Из таблицы видно, что автоматически инициализируются только входные линии. Выходные линии должны быть явно инициализированы программой. Это сделано с целью избежать повреждения портов.
RS232 - популярный протокол, применяемый для связи компьютеров с модемами и другими периферийными устройствами.
Скорость передачи информации по RS-232 измеряется в Бодах. Эта единица названа в честь Эмиля Бодо (Jean Maurice-Emile Baudot) (1845-1903), французского инженера по телеграфии, изобретателя первого печатающего устройства для телеграфа (телепринтера) , представленного на Международной Телеграфной конференции в 1927. Максимальная скорость согласно стандарту 20000 Бод. Однако современное оборудование может работать значительно быстрее. Не имеет значения, на сколько быстрое (медленное) ваше соединение - максимальное число чтения за секунду можно установить с помощью используемого программного обеспечения.
При передаче по последовательному каналу контроль четности может быть использован для обнаружения ошибок при передаче данных. При использовании контроля четности посылаются сообщения подсчитывающие число единиц в группе бит данных. В зависимости от результата устанавливается бит четности. Приемное устройство также подсчитывает число единиц и затем сверяет бит четности.
Для обеспечения контроля четности компьютер и устройство должны одинаково производить подсчет бита четности. То есть, определиться устанавливать бит при четном (even) или нечетном (odd) числе единиц. При контроле на четность биты данных и бит четности всегда должны содержать четное число единиц. В противоположном случае соответствует для контроля на нечетность.
Проверка на четность - это простейший способ обнаружения ошибок. Он может определить возникновение ошибок в одном бите, но при наличии ошибок в двух битах уже не заметит ошибок. Также такой контроль не отвечает на вопрос какой бит ошибочный. Другой механизм проверки включает в себя Старт и Стоп биты, циклические проверки на избыточность, которые часто применяются в соединениях Modbus.
В программе необходимо обрабатывать данные, поступающие от интерфейса RS232 и интерфейса CAN-bus.
Сначала необходимо проинициализировать микроконтроллер, для чего используются функция void usart_init(void) - инициализация USART. Так же необходима инициализация внутренних регистров микроконтроллера. USART проинициализируем таким образом: скорость передачи 9600 бод, данные передаются по 8 бит, бит паритета отсутствует, 1 стоповый бит.
Для приема/передачи данных через USART будут использоваться функции get_usart() и put_usart(), которые предназначены для посимвольного обмена данными.
После того, как принят информационный пакет из линии RS232, он анализируется на наличие ошибок (функция анализа ERRORANALYS()). Если все в порядке, то после конвертации информационного пакета происходит его передача в линии CAN-bus через SPI (функция передачи spi_transmit()). После этого происходит передача ответного информационного пакета из линии CAN-bus (ответный информационный пакет spi_receive()). После конвертации ответного информационного пакета происходит передача его в линии RS232.
Схема алгоритма работы разрабатываемого программно-аппаратного терминала изображена на чертеже БРГТУ.07817 - 12 90 00.
5.2 Разработка программного обеспечения для ПЭВМ
Целью является разработка программного обеспечения (ПО) для ПЭВМ, выполняющего функцию управления программно-аппаратным терминалом. Для разработки программного обеспечения для ПЭВМ используется язык программирования С , среда разработки С Builder 6.
C Builder - одна из самых мощных систем, позволяющих на самом современном уровне создавать как отдельные прикладные программы Windows, так и разветвленные комплексы, предназначенные для работы в корпоративных сетях и в интернет.
Объектно-ориентированное программирование (сокращенно ООП) - это в наше время совершенно естественный подход к построению сложных (и не очень сложных) программ и систем. Когда вы открываете любую программу Windows, вы видите окно с множеством кнопок, разделов меню, окон редактирования, списков и т.п. Все это объекты. Причем сами по себе они ничего не делают. Они ждут каких-то событий - нажатия пользователем клавиш или кнопок мыши, перемещения курсора и т.д. Когда происходит подобное событие, объект получает сообщение об этом и как-то на него реагирует: выполняет некоторые вычисления, разворачивает список, заносит символ в окно редактирования. Такая программа Windows и есть объектно-ориентированная программа [6].
Приложение, построенное по принципам объектной ориентации - это не последовательность каких-то операторов, не некий жесткий алгоритм. Объектно-ориентрованная программа - это совокупность объектов и способов их взаимодействия. Отдельным (и главным) объектом при таком подходе во многих случаях можно считать пользователя программы. Он же служит и основным, но не единственным, источником событий, управляющих приложением.
В программе необходимо передавать данные через COM-порт и обрабатывать данные, поступающие от интерфейса RS232. Программа представляет собой приложение, с помощью которого пользователь сможет осуществлять управление работой программно-аппаратного терминала. Для этого пользователю будет предложено меню, посредством выбора пунктов которого он сможет выполнять какие-либо операции.
Для организации меню в программе мы воспользовались компонентов MAINMENU. Главное меню представлено на рисунке 5.1 и содержит следующие пункты: - пункт “Открыть” - вызов диалогового окна для выбора и подтверждения файла hex, который необходимо открыть (использовали компоненту OPENDIALOG) ;
- пункт “Сохранить” - вызов диалогового окна для указания места, в котором нужно сохранить текущий открытый файл, и его имени (использовали компоненту SAVEDIALOG);
- пункт “Редактировать” - делает доступной опцию редактирования открытого файла;
- пункт “Передать” - начинает передачу данных, содержащихся в текущем файле;
- пункт “Выход” - закрывает приложение.
Рисунок 5.1 - Главное меню
Пункт “Печать” - позволяет настроить опции печати и выполнить печать.
Для реализации окна редактирования используется компонента Memo, которая является окном редактирования многострочного текста. Она снабжена множеством функций, свойственных большинству редакторов.
Для реализации передачи и приема данных через COM-порт использовали библиотеку TRCOMPORT.lib. Функция TRCOMPORTWRITEANDREAD() осуществляет непосредственно прием и передачу данных. Для побайтового считывания данных из файла будет использована стандартная функция ввода/вывода fscanf();
Схема алгоритма работы разрабатываемого приложения для программно-аппаратного терминала изображена на чертеже БРГТУ.07817.012 - 12 91 00.
6 Расчет экономических показателей
6.1 Описание разрабатываемого устройства
В данном проекте разрабатывается аппаратная и программная часть программно-аппаратного терминала с CAN-шиной. Он представляет собой аппаратное устройство и программную прошивку микроконтроллера, являющуюся неотъемлемой частью устройства, а так же программное приложение на ПЭВМ.
Этот терминал будет предназначен для внутрисхемного программирования устройств по CAN-интерфейсу и будет состоять из аппаратной части, связывающей ПЭВМ и программируемое устройство, и программной оболочки.
Главным преимуществом технологии внутрисхемного программирования является возможность объединения процесса программирования и тестирования при производстве, исключив отдельную фазу программирования компонентов перед окончательной сборкой. Технология также позволяет производителям устройств обойтись без закупки заранее запрограммированных компонентов, выполняя программирование прямо в процессе производства. Это позволяет снизить стоимость производства и вносить изменения в программируемую часть устройства без остановки производства.
Устройства с CAN-интерфейсом используются во многих областях применения касающихся разнообразнейших сторон жизнедеятельности человека. Среди них можно выделить основные : - транспорт - CAN был первоначально разработан для использования во внутренних автомобильных сетях;
- производство - CAN используется в различных отраслях производственной промышленности, в основном для управления встроенными устройствами контроля, а также для фабричной автоматизации, автоматизации процессов и производства энергии;
- строительство - CAN используется как внутренняя сеть во внедорожном транспорте (например, для строительства дорог), для автоматизации зданий, например, для управления лифтами, для встроенного контроля автоматических дверей, для контроля систем обогрева, вентиляции и кондиционирования;
- сельское хозяйство - CAN используется в стационарном сельскохозяйственном оборудовании, а также в сельскохозяйственных и лесохозяйственных транспортных средствах;
- медицина - CAN используется в качестве встроенной сети в медицинских приборах и оборудовании в операционных комнатах и на интенсивных станциях.
6.2 Расчет экономических показателей при разработке терминала
К основным экономическим показателям относятся себестоимость продукции и отпускная цена.
Себестоимость - это стоимостная оценка используемых в процессе производства продукции (работ, услуг) природных ресурсов, сырья, материалов, топлива, энергии, основных фондов, трудовых ресурсов и других затрат на ее производство и реализацию.
Отпускная цена - цена на продукцию, отпускаемую за
Список литературы
1. 8 bit Microcontroller with 32K in system programmable Flash ATMEGA 128 -
Atmel Corporation. http://www.atmel.com/dyn/products/product_parameters.asp, 2008 г.
2. Зарубежные микросхемы, транзисторы, тиристоры, диоды SMD - Справочник - Наука и техника, 2008 год.
3. Варакута С. А. Управление качеством продукции: Учебное пособие - М.: ИНФРА-М, 2001.
4. А.П. Родан, А.А. Куприянов. Практический самоучитель P-CAD 2006. Система проектирования печатных плат - Издательство: Наука и техника, 2009 г.
5. Интерфейсы ПК: справочник - СПБ: ЗАО «Издательство «Питер», 1999.
6. Архангельский А. Я. Программирование в среде C Builder 6 - Москва, Издательство Бином, 2003 г.