Разработка интерфейса персонального компьютера
Существует несколько основных типов архитектуры АЦП, хотя в пределах каждого типа существует также множество вариаций. Различные типы измерительного оборудования используют различные типы АЦП. Например, в цифровом осциллографе используется высокая частота дискретизации, но не требуется высокое разрешение. В цифровыхмультиметрах нужно большее разрешение, но можно пожертвовать скоростью измерения… Читать ещё >
Разработка интерфейса персонального компьютера (реферат, курсовая, диплом, контрольная)
Количество аналоговых каналов равно 14. Разрядность АЦП равна 6. Диапазон измеряемого входного аналогового сигнала равен:0.+2,5.
Данный отчет состоит из трёх частей:
1 Постановочная часть
1.1 Цель курсового проекта Целью курсового проекта является закрепление теоретических знаний и формирование практических навыков при выполнении самостоятельной разработки интерфейсного устройства, приобретение навыков работы с отечественным и зарубежным информационно-справочным материалом.
1.2 Постановка задачи курсового проекта
1 Провести анализ способов сопряжения ПК с устройством.
2 Выбрать и обосновать технологическую часть разрабатываемого устройства.
3 Разработать структурную схему устройства.
4 Разработать функциональную схему преобразователя.
5 Разработать принципиальную электрическую схему преобразователя.
6 Разработать блок питания.
7 Разработать перечень элементов.
8 Спроектировать печатную плату преобразователя.
9 Разработать алгоритм работы программы микроконтроллера.
10 Разработать программное обеспечение преобразователя.
11 Определить требования к системе.
1.3 Анализ способов сопряжения ПК с устройством Объединение модулей микропроцессорного устройства в единую систему и взаимодействие микропроцессора с внешними устройствами происходит с помощью интерфейса (interface — сопрягать, согласовывать).
Интерфейс должен обеспечивать:
— простое и быстрое соединение данного устройства с любым другим, имеющим такой же интерфейс;
— совместную работу устройств без ухудшения их технических характеристик;
— высокую надежность.
Под стандартным интерфейсом понимается совокупность аппаратных, программных и конструктивных средств, необходимых для реализации взаимодействия различных функциональных компонентов в системах и направленных на обеспечение информационной, электрической и конструктивной совместимости компонентов.
Основными элементами интерфейса являются:
— совокупность правил обмена информацией (временные диаграммы и диаграммы состояний сигналов интерфейса);
аппаратная реализация (контроллеры);
программное обеспечение интерфейса (драйверы).
Для любого интерфейса, соединяющего (физически или логически) два устройства, различают три возможных режима обмена — дуплексный, полудуплексный и симплексный.
1 Дуплексный режим позволяет по одному каналу связи одновременно передавать информацию в обоих направлениях. Он может быть асимметричным, если пропускная способность в направлениях «туда» и «обратно» имеет существенно различающиеся значения, или симметричным.
2 Полудуплексный режим позволяет передавать информацию «туда» и «обратно» поочередно, при этом интерфейс имеет средства переключения направления канала.
3 Симплексный (односторонний) режим предусматривает только одно направление передачи информации (во встречном направлении передаются только вспомогательные сигналы интерфейса).
В зависимости от способа передачи данных различают два вида интерфейса — последовательный и параллельный. Я буду использовать интерфейс последовательного типа RC232.
Интерфейс RS-232C использует несимметричные приемники и передатчики, сигнал передается относительно общего провода (схемной земли). Интерфейс RS-232C не обеспечивает гальванической развязки устройств. В интерфейсе RS-232С оговариваются следующие электрические параметры.
Выходные сигналы:
— 0 задается диапазоном напряжения со стороны источника от +5 В до +15 В;
— неопределенное состояние — диапазон напряжения от -5 В до +5 В;
— 1 задается диапазоном напряжения от -5 В до -15 В.
Входные сигналы:
— 0 задается диапазоном напряжения со стороны приемника от +3 В до +25 В;
— неопределенное состояние — диапазон напряжения от -3 В до +3 В;
— 1 задается диапазоном напряжения от -3 В до -25 В.
Логической единице на входе приемника соответствует уровень напряжения -3 … -12 В. Для линий управляющих сигналов это состояние называют «ON», а для линий последовательных данных — «MARK». Логическому «0» соответствует напряжение +3 … +12 В (называемое «OFF» или «SPACE», соответственно). Между уровнями +3 … -3 В существует зона нечувствительности, обуславливающая гистерезис приемника. Состояние на выходе приемника изменяется только при пересечении напряжением порога +3 или -3 В.
Разъем и кабель порта RS232.
Стандартный последовательный порт имеет 9- контактный разъем. На рисунке 1.1 приведены назначения контактов этих разъемов.
Рисунок 1.1 — Схематичное представление разъема RS232(com порт) В таблице 1.1 представлено назначение выводов Com порта Таблица 1.1 — Назначение выводов
Контакт | Сигнал | Направление | Описание | |
CD | Вход | Обнаружена несущая | ||
RXD | Вход | Принимаемые данные | ||
TXD | Выход | Передаваемые данные | ||
DTR | Выход | Хост готов | ||
GND | ; | Общий провод | ||
DSR | Вход | Устройство готово | ||
RTS | Выход | Хост готов к передаче | ||
CTS | Вход | Устройство готово к приему | ||
RI | Вход | Обнаружен вызов | ||
На рисунках 1.2 и 1.3 показаны два типа соединения компьютера и внешнего устройства по протоколу RS232C. Стрелки показывают направление потоков данных. На рисунке 1.2 показано нуль-модемное соединение.
Рисунок 1.2 — Соединение с использованием нуль-модемного кабеля
На рисунке 1.3 изображено соединение использующее только три линии: первая — для передачи данных, вторая — для приема, третья — общая. Соединение организовано таким образом, что передаваемые данные от первого устройства поступают на приемную линию второго.
Рисунок 1.3 — Соединение при помощи трех линий В таблице 1.2 указано назначение сигналов последовательного интерфейса.
Таблица 1.2 — Сигналы последовательного интерфейса
Наим. | Характеристика | |
GND | Линия заземления. Общий провод для всех сигналов. | |
TD | Передаваемые данные. Последовательные данные передаются компьютером по этой линии. | |
RD | Принимаемые данные. Последовательные данные принимаются компьютером по этой линии. | |
RTS | Запрос на передачу. Линия взаимодействия, которая показывает, что компьютер готов к приему данных. Линия управляется со стороны компьютера; если взаимодействия не требуется, она может использо-ваться как двоичный выход. | |
CTS | Готовность к передаче. Линия взаимодействия, с помощью которой внешнее устройство сообщает компьютеру, что оно готово к передаче данных. | |
DTR | Компьютер готов. Линия взаимодействия показывает, что компьютер включен и готов к связи. Линия управляется со стороны компьютера. | |
DSR | Готовность внешнего устройства. Линия взаимодействия, с помощью которой внешнее устройство сообщает компьютеру, что оно включено и готово к связи. | |
2. Технологическая часть
2.1 Выбор и описание аналоговых коммутаторов Аналоговый коммутатор служит для переключения непрерывно изменяющихся электрических сигналов. Если коммутатор находится в состоянии «включено», его выходное напряжение должно по возможности точно равняться входному; если же коммутатор находится в состоянии «выключено», выходное напряжение должно быть как можно ближе к нулю или, во всяком случае, должно как можно меньше зависеть от входного.
Коммутатор состоит из электронных ключей, связанных определенным образом. Ключи аналоговых сигналов должны обеспечить неискаженную передачу сигналов от источников к приемникам, однако в процессе передачи могут возникнуть и помехи, которые зависят от самих ключей и сигнала управления, например наложение одного сигнала на другой.
Обычно устройство управления коммутатором является цифровым и действует либо по заранее установленной программе, либо под управлением микропроцессоров или мини-ЭВМ (в этом случае программа управления коммутатором может быть изменена). Для выбора определенного ключа и назначения его функции (т.е. включения или отключения) используется адресный дешифратор команд. Кроме того, при передаче сигналов возможны временные задержки, связанные или с быстродействием самих ключей, или с быстродействием устройства управления. И в том и в другом случае возможны потери частей передаваемых сигналов или их искажение[2].
Для исключения потерь при передаче сигналов, а также для согласования сопротивлений источников и приемников сигналов в состав коммутаторов могут входить различные согласующие и нормирующие усилители.
Если источники и приемники могут меняться местами, то коммутатор должен быть двунаправленным, т. е. обеспечивать передачу сигналов в обоих направлениях.
При коммутации сигнала и нагрузки можно использовать как одиночные ключи, так и их различные комбинации. Если источник сигнала имеет характеристики, близкие к характеристикам идеального источника напряжения (т.е. имеет малое внутреннее сопротивление), то для его коммутации целесообразно использовать последовательный или последовательно-параллельный ключ. Последовательно-параллельный коммутатор в любом рабочем состоянии он имеет выходное сопротивление, близкое к нулю[2].
Принцип работы коммутатора: на входы коммутатора приходят аналоговые сигналы, как только на адресные входы приходит сигнал один их входов коммутатора подключается к его выходу. Каждый из ключей от S0 до S3 представляет собой аналоговый КМОП-ключ. Дешифратор декодирует адрес, представленный в двоичном коде, и включает только адресованный ключ, блокируя остальные. Вход разрешения Е необходим для наращивания числа коммутируемых источников сигналов; если на этот вход поступает сигнал низкого уровня, то независимо от состояния адресных входов все ключи мультиплексора разомкнуты. Так как аналоговые ключи являются двунаправленными устройствами, аналоговый мультиплексор является одновременно и демультиплексором, т. е. сигнал может быть подан на вход мультиплексора и снят с избранного выхода.
Основными параметрами аналоговых коммутаторов являются[4]:
время переключения ключа ;
число входных каналов N показывает, какое количество датчиков или каналов может обслужить коммутатор;
коммутируемый ток, мА, — ток, протекающий по открытому каналу ключа;
коммутируемое напряжение, В, — максимально допустимое напряжение, прикладываемое между входом и выходом аналогового ключа;
сопротивление ключа в открытом состоянии ;
уровни напряжения по управляющему входу.
В соответствии с вариантом задания, число каналов аналоговых сигналов равно 13, диапазон изменения аналоговых сигналов от 0 до 8 вольт, следовательноможно выбрать 16-ти канальный коммутатор, работающий в диапазоне напряжения питания 0−8 вольт. Одной из известнейших компаний по производству аналоговых коммутаторов является компания MAXIM, сравним некоторые из них и сведем в таблицу 2.1[4].
Таблица 2.1 — Сравнение аналоговых коммутаторов
Модель | Кол-во каналов | Максимальное время включения [нс] | Максимальное время выключения [нс] | Напряжение питания [В] | |
Max336 | ±4,5…±20 | ||||
Max396 | ±2,7…±30 | ||||
MX7506 | ±4,5…±18 | ||||
Выберу коммутаторMX7506, его устройство позволяет использовать более низкий уровень входных сигналов. Аналоговый коммутатор MX7506 компании MAXIM представлен на рисунке 3.1 [14], а в таблице 2.1 представлены назначения выводов микросхемы [14], в таблице 2.2 — подключение каналов коммутатора.
Рисунок 2.1 — Схематичное представление аналогового коммутатораMX7506
Основные характеристики:
— входное сопротивление (макс.): 100Щ;
— низкая потребляемая мощность (PD): <1.2mW;
— время быстрого перехода (макс.): 500ns;
— TTL, CMOS совместимость;
— температурныйдиапазон, °С: -40.+85[14].
Таблица 2.2 — Назначение выводов микросхемыMX7506
Номер ножки | Обозначение | Назначение | |
V+ | Положительное напряжение питания | ||
2, 3, 13 | NC | Не используются | |
4.11 | S16. S9 | Аналоговый вход коммутатора S16… S9 | |
GND | Заземление | ||
14.17 | A3. A0 | Входы логического контроля А3. А0 | |
EN | Разрешающий сигнал для коммутатора | ||
19.26 | S1. S8 | Аналоговый вход коммутатора S1… S8 | |
V; | Отрицательное напряжение питания | ||
D | Выходной сигнал с коммутатора | ||
Буду использовать выводы аналогового коммутатора S1. S10, по количеству датчиков аналогового типа. На входы А3. А0 подается сигнал с программируемого контроллера. На вход ENразрешающий сигнал от микроконтроллера
2.2 Выбор и описание АЦП Надежность радиоэлектронной аппаратуры во многом определяются точностью измерения электрических характеристик, которые в свою очередь отображают реальные процессы. Измерения этих величин по большей части осуществляется в цифровом виде, это позволяет применять современные, сложные методы обработки данных для повышения достоверности результатов. Одним из первых элементов получения этих данных является АЦП, поскольку аналого-цифровые преобразователи (АЦП) переводят аналоговые величины, которые являются характеристиками большинства явлений «реального мира», в цифровой язык, используемый при разработке информации, вычислениях, процессе передачи данных и системах управления.
Аналоговые входные переменные при любом их происхождении обычно преобразуются с помощи преобразователей в напряжение или ток.
Они могут быть широкополосным и узкополосным. Они могут поступать напрямую от измеряющих датчиков или быть подвергнуты определенного рода предварительной аналоговой обработке (линеаризация, комбинирование, демодуляция, фильтрация, усилению и т. п.).
Выходные данные представляют собой группы уровней, имеющих цифровые значения. Уровни могут возникать одновременно параллельно, на шине выходах, последовательно (во времени) на одной линии или в качестве последовательности параллельных байтов или полубайтов. Например, 16-разрядное слово может занимать 16 битов или 16-разрядную шину или может быть разбито на два последовательных байта для 8-разрядной шины или четыре 4-разрядных полубайта для 4-разрядной шины.
Существует несколько основных типов архитектуры АЦП, хотя в пределах каждого типа существует также множество вариаций. Различные типы измерительного оборудования используют различные типы АЦП. Например, в цифровом осциллографе используется высокая частота дискретизации, но не требуется высокое разрешение. В цифровыхмультиметрах нужно большее разрешение, но можно пожертвовать скоростью измерения. Системы сбора данных общего назначения по скорости дискретизации и разрешающей способности обычно занимают место между осциллографами и цифровыми мультиметрами. Существуют также параллельные АЦП для устройств, требующих скоростной обработки аналоговых сигналов, и интегрирующие АЦП с высокими разрешением и помехоподавлением. Процесс аналого-цифрового преобразования предполагает последовательное выполнение следующих операций:
— выборка значений исходной аналоговой величины в некоторые заданные дискретные моменты времени, т. е. дискретизация сигнала по времени;
— квантование (округление до некоторых известных величин) полученной в дискретные моменты времени последовательности значений исходной аналоговой величины по уровню;
— кодирование — замена найденных квантованных значений некоторыми числовыми кодами.
Дискретизация сигнала во времени — это преобразование непрерывного аналогового сигнала в последовательность его значений в дискретные моменты времени. Эти значения называются отсчетами или выборками. В результате дискретизации непрерывного синусоидального сигнала получается дискретный сигнал. Обратное преобразование дискретного сигнала в непрерывный осуществляется с помощью операции, называемой интерполяцией. В результате этой операции промежутки между отсчетами заполняются по определенному закону.
Поэтому сигнал после дискретизации и интерполяции имеет относительно небольшие отличия от исходного сигнала, а самое главное — имеет такую же частоту, как и исходный непрерывный сигнал.
При квантовании непрерывному множеству мгновенных значений отсчетов аналогового сигнала ставят в соответствие конечное множество значений уровней квантования. Иначе говоря, каждое значение отсчета заменяется ближайшим к нему разрешенным значением.
Расстояние между соседними разрешенными уровнями квантования называют шагом квантования. Процедуру квантования можно рассматривать как результат прохождения входного сигнала через устройство с амплитудной характеристикой ступенчатой формы. Если в пределах этой характеристики шаг квантования постоянен, то квантование называют равномерным. Этот простейший вид квантования широко используется в цифровой технике. Он удобен для начального цифрового представления аналогового сигнала с целью их последующей обработки, а также последующего сокращения избыточности цифровых сигналов при передаче их по каналам связи.
Классификация аналого-цифровых преобразователей представлена на рисунке 2.3.
Рисунок 2.3 — Классификация аналогово-цифровых преобразователей Аналогово-цифровые преобразователи бывают:
Последовательные АЦП прямого преобразования, полностью последовательные АЦП (k=n), медленнее параллельных АЦП прямого преобразования и немного медленнее параллельно-последовательных АЦП прямого преобразования Параллельные АЦП прямого преобразования, полностью параллельные АЦП, содержат по одному компаратору на каждый дискретный уровень входного сигнала:
— дифференциального кодирования содержат реверсивный счётчик, код с которого поступает на вспомогательный ЦАП. Входной сигнал и сигнал со вспомогательного ЦАП сравниваются на компараторе;
— интегрирующие АЦП, также к ним относятся АЦП последовательного счета) содержат генератор пилообразного напряжения (в АЦП последовательного счета генератор ступенчатого напряжения, состоящий из счетчика и ЦАП), компаратор и счётчик времени.
Последовательно-параллельные АЦП прямого преобразования, частично последовательные АЦП, сохраняя высокое быстродействие позволяют значительно уменьшить количество компараторов;
— много контактные;
— многоступенчатые;
— конвейерные.
Выбор АЦП производится по максимальному входному напряжению и по частоте преобразования и точности преобразования.
Разрешение АЦП — минимальное изменение величины аналогового сигнала, которое может быть преобразовано данным АЦП — связано с его разрядностью. В случае единичного измерения без учёта шумов разрешение напрямую определяется разрядностью АЦП.
Разрешение по напряжению равно разности напряжений, соответствующих максимальному и минимальному выходному коду, делённой на количество выходных дискретных значений.
На практике разрешение АЦП ограничено отношением сигнал/шум входного сигнала. При большой интенсивности шумов на входе АЦП различение соседних уровней входного сигнала становится невозможным, то есть ухудшается разрешение. При этом реально достижимое разрешение описывается эффективной разрядностью (effectivenumberofbits, ENOB), которая меньше, чем реальная разрядность АЦП. При преобразовании сильно зашумлённого сигнала младшие разряды выходного кода практически бесполезны, так как содержат шум. Для достижения заявленной разрядности отношение С/Ш входного сигнала должно быть примерно 6 дБ на каждый бит разрядности (6 дБ соответствует двукратному изменению уровня сигнала). Наиболее известными компаниями производителями являются MAXIM, TexasInstruments и LinearTechnology. Результаты сравнения АЦП представлены в таблице 3.3.
Таблица 2.3 — Сравнение АЦП
Модель | Фирма Производитель | Разрядность | Входное напряжение [В] | Частота выборок в секунду [kSPS] | |
MX7672−10 | Maxim | 0…10 | |||
К1107ПВ1 | Maxim | 0…10 | |||
ADS774 | Maxim | 0…20 | |||
Выберу АЦП К1107ПВ1, т.к. он подходит по разрядности (необходимо 6 разрядов), напряжение питания схемы в необходимых пределах.
ИС К1107ПВ1 является 6-ти разрядным, аналого — цифровым преобразователем (АЦП), обладающим высокой скоростью преобразования, низким энергопотреблением, диапазонами входных сигналов, выбираемыми пользователем, встроенным источником опорного напряжения (ИОН) и тактовым генератором. АЦП преобразует аналоговые сигналы в выходной сигнал двоичного кода со скоростями дискретизации, вплоть до 90 М выборок/с. Возможность непосредственного подключения демодулированных полосовых сигналов делает ИС К1107ПВ1 идеальной для использования в широком диапазоне коммуникационных и контрольноизмерительных приложений.
Входной усилитель ИС К1107ПВ1 имеет полнодифференциальный вход, полосу аналогового сигнала 55 МГц (-0.5 дБ) и, программируемые пользователем, диапазоны с двойной амплитудой входного сигнала 125 мВ, 250 мВ, или 500 мВ. При подключении входных сигналов по переменной составляющей, входное смещение, типично, не превышает ¼ LSB. Динамические рабочие характеристики: количество эффективных бит (ENOB) составляет 5.85 при входном аналоговом сигнале 20 МГц, или 5.7 ENOB при входном сигнале 50 МГц.
ИС К1107ПВ1 имеет однополярное напряжение питания аналоговых каскадов +5 В и цифровых каскадов +3.3 В, для упрощения согласования с 3.3 В — процессорами цифровой обработки сигналов и с микропроцессорами. ИС выпускается в корпусе 24-pin SSOP.
Схема аналогово-цифрового преобразователя представлена на рисунке 2.4[13], а в таблице 2.4 представлены назначения выводов микросхемы.
Таблица 2.4 — Назначение выводов микросхемы К1107ПВ1
Номер ножки | Обозначение | Назначение | |
GAIN | Вход для выбора режима входных сигналов | ||
OCC+ | Положительный сигнал для компенсации | ||
OCC; | Отрицательный сигнал для компенсации | ||
IN+ | Вход для не инвертированного входного сигнала | ||
IN; | Вход для инвертированного входного сигнала | ||
6, 11, 14 | Vсс | Напряжение питания +5В | |
TNK+ | Тактовый сигнал положительного фронта | ||
TNK; | Тактовый сигнал отрицательного фронта | ||
9, 10, 12, 13 | GND | Заземление | |
N.C. | Не используется | ||
OGND | Заземление цифрового выхода | ||
VCCO | Дополнительное напряжение +3.3V ±300mV | ||
DCLK | Выход цифрового сигнала для ограничения выходных данных | ||
D0 | Цифровой выход АЦП D0… D6 | ||
D1 | |||
D2 | |||
D3 | |||
D4 | |||
D5 | |||
Основные характеристики:
— высокая частота дискретизации: 90 М выборок/с;
— низкая рассеиваемая мощность: 215 мВт;
— отличные динамические характеристики:
— 5.85 ENOB (эффективное количество битов) при 20 МГц, аналоговый входной сигнал;
— 5.7 ENOB при 50 МГц, аналоговый входной сигнал;
— INL (интегральная нелинейность) и DNL (дифференциальная нелинейность) ±¼LSB (младшего значащего разряда), типичное значение;
— входное смещение ±¼LSB (тип);
— встроенный источник опорного напряжения (ИОН) ;
— встроенный тактовый генератор с возможностью использования внешнего генератора;
— полоса входных усилителей с полнодифференциальными входами 55 МГц (-0.5 дБ) ;
— выбираемый пользователем, диапазон входных сигналов (двойная амплитуда): 125 мВ, 250 мВ, или 500 мВ;
— рассогласование смещения между каналами ¼ LSB (тип);
— рассогласование усиления 0.1 дБ и фазы 0.5, типичные;
— работа с одинарными/дифференциальными входными сигналами;
— гибкое питание, 3.3 В, CMOSсовместимые цифровые выходы.
Рисунок 2.5 — Функциональная схема микросхемы К1107ПВ1
2.3 Выбор и описание микроконтроллера Контроллер — электронная составляющая промышленного контроллера, специализированного (компьютеризированного) устройства, используемого для автоматизации технологических процессов. В качестве основного режима длительной работы контроллера, зачастую в неблагоприятных условиях окружающей среды, выступает его автономное использование, без серьёзного обслуживания и практически без вмешательства человека и являются устройствами реального времени.
В системах управления технологическими объектами логические команды преобладают над числовыми операциями, что позволяет при сравнительной простоте микроконтроллера (шины шириной 8 или 16 разрядов), получить мощные системы, действующие в режиме реального времени. В современных контроллер числовые операции реализуются наравне с логическими. В то же время, в отличие от большинства процессоров компьютеров, в контроллер обеспечивается доступ к отдельным битам памяти.
Из-за простоты схемы в качестве контроллера будет использоваться микроконтроллер Atmega8.
8-разрядные микроконтроллеры с 8 Кбайтамивнутрисистемно программируемой Flash памяти.
Отличительные особенности:
1 8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением.
2 Прогрессивная RISC архитектура 130 высокопроизводительных команд, большинство команд выполняется за один тактовый цикл.
3 32 8-разрядных рабочих регистра общего назначения.
4 Встроенный 2-цикловый перемножитель.
5 Энергонезависимая память программ и данных8 Кбайт внутрисистемно программируемой Flash памяти (In-SystemSelf-ProgrammableFlash). Обеспечивает 1000 циклов стирания/записи.
6 Дополнительный сектор загрузочных кодов с независимыми битами блокировки обеспечивает режим одновременного чтения/записи (Read-While-Write) 512 байт EEPROM обеспечивает 100 000 циклов стирания/записи.
7 1 Кбайт встроенной SRAM программируемая блокировка, обеспечивающая защиту программных средств пользователя.
8 Встроенная периферия:
9 Два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения.
10 Один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения.
11 Счетчик реального времени с отдельным генератором Три канала PWM.
12 8-канальный аналого-цифровой преобразователь (в корпусах TQFP и MLF).
13 Байт-ориентированный 2-проводный последовательный интерфейс.
14 Программируемый последовательный USART Последовательный интерфейс SPI (ведущий/ведомый).
15 Программируемый сторожевой таймер с отдельным встроенным генератором.
16 Встроенный аналоговый компаратор.
17 Выводы I/O и корпуса 23 программируемые линии ввода/вывода 28-выводной корпус PDIP, 32-выводной корпус TQFP и 32-выводной корпус MLF.
18 Рабочие напряжения 2,7 — 5,5 В (ATmega8L) 4,5 — 5,5 В (ATmega8).
19 Рабочая частота 0 — 8 МГц (ATmega8L) 0 — 16 МГц (ATmega8).
Рисунок 2.6 — Схематичное представление микросхемы Atmega8
Порты ввода-вывода также могут выполнять специальные функции для различных устройств ввода-вывода:
— Port A (PA7 — PA0) может использоваться как восьми разрядный аналоговый вход для АЦП. В этом случае AVCC — является контактом питания АЦП. Если АЦП не используется, то этот вывод должен быть соединен с источником питания напрямую, а в случае использования АЦП, подключение к источнику питания осуществляется через НЧ фильтр. AREF — опорное напряжение АЦП;
— Port B может использовать:
1 PB0(T0) и PB1(T1) — два входа таймеров.
2 PB2(AIN0) и PB3(AIN1) — два входа аналоговых компараторов.
3 PB4(SS), PB5(MOSI), PB6(MISO), PB7(SCK) — выводы для подключения интерфейса SPI.
— Port C может использовать:
1 PC0(SCL), PC1(SDA) — выводы интерфейса I2C.
2 PC5(TDI), PC4(TDO), PC3(TMS), PC2(TCK) — выводы для подключения интерфейса JTAG.
— Port D может использовать:
1 PD0(RXD), PD1(TXD) — выводы интерфейса UART (RS232).
2 PD2(INT0), PD3(INT1) — два входа внешних прерываний.
Специальные выводы микроконтроллера Atmega16:
1 RESET — вывод сброса c активным низким уровнем напряжения.
2 XTAL1 — вход для подключения кварцевого резонатора.
3 XTAL2 — выход для подключения кварцевого резонатора.
VCC и GND — подключение источника питания и общего провода
3. Проектная часть
3.1 Разработка структурной схемы устройства
Разработаем структурную схему проектируемого устройства. Для этого выясним из скольких блоков будет состоять разрабатываемое устройство. Структурная схема системы обработки аналогового сигнала состоит из:
1 Аналоговые датчики (с которых получаем аналоговый сигнал — АСj).
2 Коммутатора.
3 Аналогово-цифрового преобразователя (АЦП).
4 Микроконтроллера (МК).
5 Блока питания (БП).
6 Разъема RS232.
Наша система будет обрабатывать 10 аналоговых сигналов, диапазон измеряемого входного аналогового сигнала равен: 0.+5. Разрядность АЦП равна 6. Структурная схема устройства представлена на рисунке 3.1.
Рисунок 3.1 — Структурная схема устройства Блок питания обеспечивает работу Коммутатора, аналогово-цифрового преобразователя (АЦП) и микроконтроллера (МК). От МК на Коммутатор адрес подключаемого канала (А3.А0), к которому подключается один из аналоговых входов AC1. AC10.После чего МК отправляет разрешающий сигнал на АЦП, чтобы разрешить прием данных, в свою очередь на вход АЦП попадает сигнал от Коммутатора. Со следующим разрешающим сигналом от МК АЦП преобразовывает данные с аналогового в цифровые и передает их на входы МК (6 бит).Микроконтроллер обрабатывает полученные значения и передает их на вход RS232.
3.2 Разработка функциональной схемы устройства Разработаем функциональную схему проектируемого устройства. Для этого необходимо, во-первых, определить аппаратную и программную конфигурации; во-вторых — какие функции спецификации будут выполняться аппаратной частью, а какие — программной.
Функции, выполняемые аппаратной частью МПС:
1 Прием аналоговых сигналов от датчиков коммутатором.
2 Обработка полученного значения одного из каналов аналогово-цифровым преобразователем (АЦП).
3 Оцифровывание данных АЦП.
4 Прием оцифрованных данных микроконтроллером (МК).
5 Обработка данных МК.
6 Передача данных интерфейсом USB.
Функции, выполняемые программной частью МПС:
1 Управление приемом данных с датчиков.
2 Управление оцифровыванием аналогового сигнала от i-го датчика.
3 Управление передачей данных через интерфейс USB.
3.2.1 Устройства проектируемой подсистемы
Распределение разрядов МК за внешними устройствамипредставлена в таблице 3.1.
Таблица 3.1 — Используемые разряды портов МКи внешними устройствами
Наименование порта | Устройство | Назначение | |
PC6 | EN коммутатора | Разрешающий сигналкоммутатора | |
PС5.PC0 | D5.D0 АЦП | Передача данных на МК с АЦП | |
PB4.PB1 | AO0.AO3 коммутатора | Передача адреса на коммутатор | |
PB5 | RXD RS232 | Передача данных на RS232 | |
PD0 | GAIN | Управление режимом работы АЦП | |
Функциональная схема устройства преобразования аналоговых сигналов и их передачи через интерфейс RS232 представлена в приложении А.
3.3 Проектирование принципиальной электрической схемы преобразователя Принципиальная электрическая схема преобразователя представлена в приложении В
3.3.1 Разработка блока питания
Для того, чтобы разработать блок питания необходимо составить таблицу распределения питания для всех устройств (таблица 3.2).
Таблица 3.2 — Таблица питания микросхем
Название устройства | Значение напряжения | Название устройства | Значение напряжения | |
МК | +5 | АЦП | +5, +3,3 | |
Коммутатор | ±5 | |||
Для работы устройства необходимы три источника питания: +2.5 В, ±5 В. Напряжение ±5 В используется для питания АЦП, +2.5В — для задания опорного напряжения АЦП.
Силовая часть источника питания состоит из предохранителя на 1,5А и трансформатора с тремя вторичными обмотками, которые имеют средний вывод и предназначены для получения двуполярного напряжения.
Для получения напряжений постоянного тока на выходе трансформатора используются три диодных моста.
Для получения постоянного напряжения в основном применяют стабилизаторы напряжения серий 78 (положительное напряжение) и 79 (отрицательное напряжение). Они могут стабилизировать различные напряжения (+5, +9, +12, + 15, +24, -5, -9, -12, -15, -24 В и т. д.) с точностью 5%. Все стабилизаторы имеют автоматическую тепловую защиту от перегрева.
Электрическая принципиальная схема блока питания представлена на рисунке 3.4. Перечень используемых элементов — в таблице 3.4.
Рисунок 3.4 — Принципиальная схема блока питания
3.3.2 Разработка перечня элементов Перечень элементов представлен в приложении Б
3.3 Декомпозиция задачи Разрабатываемый программный продукт должен выполнять следующие функции:
— управлять разрабатываемым устройством;
— получать данные от разрабатываемого устройства, преобразуя их в удобный для пользователя вид;
отображать результаты работы разрабатываемого устройства Выбор среды программирования При разработке программного обеспечения необходимо, выбрать язык программирования.
В качестве языка программирования использовался Object Pascal в среде объектно-ориентированного программирования С++. Эта среда предоставляет необходимый набор инструментов для написания программного продукта, а также предоставляет удобный интерфейс для разработки программного обеспечения.
Описание структуры программы Программа содержит два модуля, один из них отвечает за взаимодействие программы с разработанным оборудованием, а второй модуль осуществляет управление первым, отвечает за визуализацию процессов и сохранение результатов.
Программа производит чтение сигнала с устройства, и полученное значение выводится на экран в виде графика.
Экранные формы работы программы
Требования к системе Для работы программы необходимы:
— наличие последовательного порта (COM);
— 1 Мбайт свободного пространства на жестком диске;
— не менее 32 Мбайт ОЗУ;
— микропроцессор не ниже уровня Pentium 3.
Заключение
интерфейс компьютер персональный В данном курсовом проекте в теоретической части был рассмотрен периферийный интерфейс компьютера, способ их взаимодействия с основными компонентами вычислительной системы. Также рассмотрен принцип аналогово-цифрового преобразования.
В ходе выполнения проектной части получены навыки работы со справочной литературой, выбора микросхем по заданным параметрам, разработки принципиальной схемы устройства на цифровых микросхемах, проектирования печатной платы и разработки блока питания.
Список использованных источников
1. Бродин В. Б. Системы на микроконтроллерах и БИС программируемой логики / В. Б. Бродин, А.В. КалининМ.: ЭКОМ, 2002.
2. Бурькова Е. В. Освоение микропроцессорной техники в формировании информационной компетентности студентов: учебное пособие / Е. В. Бурькова — Челябинск: Изд-во Южно-Уральского отделения РАО, 2005. — 209 с.
3. Васильев В. Н. Электронные промышленные устройства / В. Н. Васильев, Ю. М. Гусев, В. Н. Миронов — М.: Высшая школа, 1988. — 303с.
4. Каган Б. Н. Основы проектирования микропроцессорных устройств автоматики / Б. Н. Каган, В. В. Сташин — М.: Энергоатомиздат, 1987. — 304с.
5. Корнеев В. В. Современные микропроцессоры / В. В. Корнеев, А.В. КиселёвМ.: Нолидж, 2000. — 320 с.
6. Новиков Ю. В. Основы микропроцессорной техники / Ю. В. Новиков, П. К. Скоробогатов — М.: ИНТУИТ.РУ. «Интернет-Университет Информационных технологий», 2003.-440с.
7. Новиков Ю. В. Основы цифровой схемотехники. Базовые элементы и схемы. Методы проектирования /Ю.В. Новиков — М.: Мир 2001.-379 с.
8. Предко М. Руководство по микроконтроллерам. Том I / М. Предко — М.: Постмаркет, 2001. — 416 с.
9. Предко М. Руководство по микроконтроллерам. Том II / М. Предко — М.: Постмаркет, 2001. — 488 с.
10. Пухальский Г. И. Проектирование микропроцессорных устройств: учебное пособие для вузов / Г. И. Пухальский — СПб.: Политехника, 2001;544 с.
11. Пятибратов А. П. Вычислительные системы, сети и телекоммуникации / А. П. Пятибратов, К. П. Гудыко, А.А. КириченкоМ.: Высшая школа, 2000.
12. Ремизевич Т. В. Микроконтроллеры для встраиваемых приложений. От общих подходов — к семействам HC 05 и HC 08 фирмы MOTOROLA. справочник / Т. В. Ремизевич — М.: ДОДЕКА, 2000.
13. Тавернье К. PICмикроконтроллеры. Практика применения. / К. Тавернье — М.: ДМК Пресс, 2000.
14. Хоровиц П. Искусство схемотехники / П. Хоровиц, У. Хилл — М.: Мир, 1998. — 704 с.
15. Шевкопляс Б. В. Микропроцессорные структуры. Инженерные решения: справочник / Б. В. Шевкопляс — М.: Радио и связь, 1990 — 512 с.
Приложение Принципиальная электрическая схема преобразователя Листинг программы
//Electron18
#include «stdafx.h»
#define STYLBTN WS_CHILD|BS_DEFPUSHBUTTON|WS_VISIBLE
#define STYLEDT WS_CHILD|WS_VISIBLE|WS_BORDER|WS_TABSTOP
//data main window
HINSTANCE hInst;
LPCTSTR szTitle="COMAPIc v.1.00″ ;
LPCTSTR szWindowClass="SimpleWinClass" ;
//data control
LPCTSTR CLSBUTN="BUTTON" ;
LPCTSTR CPBUT1="Open port" ;
LPCTSTR CPBUT2="Close port" ;
LPCTSTR CPBUT3="Read port" ;
LPCTSTR CPBUT4="Write port" ;
LPCTSTR CLSEDIT="EDIT" ;
LPCTSTR CPEDT1;
LPCTSTR CPEDT2="Hello World!" ;
HWND HWNDBTN1;
HWND HWNDBTN2;
HWND HWNDBTN3;
HWND HWNDBTN4;
HWND HWNDEDT1;
HWND HWNDEDT2;
HMENU ID_BTN1=(HMENU) 101;
HMENU ID_BTN2=(HMENU) 102;
HMENU ID_BTN3=(HMENU) 103;
HMENU ID_BTN4=(HMENU) 104;
//App message
LPCTSTR lpCapApp = «App message» ;
char lpApp1[40] = «Open port HANDLE:» ;
LPCTSTR lpApp2 ="Close port" ;
LPCTSTR lpApp3 ="Data read: Ok" ;
LPCTSTR lpApp4 ="Data write: Ok" ;
//error message
LPCTSTR lpCapERR ="Error Message" ;
char lpERR1[40]={" Open port Error:" };
char lpERR2[40]={" DCB Structure ERROR:" };
char lpERR3[40]={" SetComm Function ERROR:" };
char lpERR4[40]={" Read port ERROR:" };
char lpERR5[40]={" Write port ERROR:" };
char lpERR6[40]={" Close port ERROR:" };
DWORD Mem1;
LPCTSTR Par1 ="%lu" ;
//data com port
HANDLE HWNDCOM;
LPCTSTR lpNumCOM="COM1:" ;
LPCTSTR COMSETTING="Com1: baud=1200 parity=N data=8 stop=1″ ;
char Buf[255];
DWORD LenBuf;
DCB DCB1;
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);
void PurgeBuf ()
{int a;
for (a=0;a<255;a++)
{
Buf[a]=0×20;
}
return;
}
int APIENTRY WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MSG msg;
WNDCLASSEX wcex;
HWND hWnd;
hInst=hInstance;
wcex.cbSize = sizeof (WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc= (WNDPROC)WndProc;
wcex.cbClsExtra= 0;
wcex.cbWndExtra= 0;
wcex.hInstance= hInstance;
wcex.hIcon= LoadIcon (NULL, IDI_APPLICATION);
wcex.hIconSm= 0;
wcex.hCursor= LoadCursor (NULL, IDC_ARROW);
wcex.hbrBackground= (HBRUSH)(4);
wcex.lpszMenuName= 0;
wcex.lpszClassName= szWindowClass;
RegisterClassEx (&wcex);
hWnd = CreateWindow (szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, 20, 20, 800, 200, NULL, NULL, hInstance, NULL);
if (!hWnd)
{
return FALSE;
}
ShowWindow (hWnd, SW_SHOWNORMAL);
UpdateWindow (hWnd);
while (GetMessage (&msg, NULL, 0, 0))
TranslateMessage (&msg);
DispatchMessage (&msg);
}
return 0;
}
LRESULT CALLBACK WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
int wmId, wmEvent;
int Retval;
switch (message)
{
case WM_COMMAND:
wmId = LOWORD (wParam);
wmEvent = HIWORD (wParam);
switch (wmId)
{
case 101: //open port
HWNDCOM=CreateFile (lpNumCOM, GENERIC_READ|GENERIC_WRITE, NULL, NULL, OPEN_EXISTING, NULL, NULL);
if (HWNDCOM==INVALID_HANDLE_VALUE)
{
Mem1= GetLastError ();
wsprintf (&lpERR1[16], Par1, Mem1);
MessageBox (0,lpERR1,lpCapERR, 0);
}
else
{
wsprintf (&lpApp1[17], Par1, HWNDCOM);
MessageBoxA (0,lpApp1,lpCapApp, 0);
Retval=BuildCommDCB (COMSETTING,&DCB1);
if (Retval==0)//error DCB
{
Mem1= GetLastError ();
wsprintf (&lpERR2[20], Par1, Mem1);
MessageBox (0,lpERR2,lpCapERR, 0);
}
Retval=SetCommState (HWNDCOM,&DCB1);
if (Retval==0)//error SetCom
{
Mem1= GetLastError ();
wsprintf (&lpERR3[23], Par1, Mem1);
MessageBox (0,lpERR3,lpCapERR, 0);
}
}
break;
case 102://close port
Retval=CloseHandle (HWNDCOM);
if (Retval==0) //error close port
{
Mem1= GetLastError ();
wsprintf (&lpERR6[17], Par1, Mem1);
MessageBox (0,lpERR6,lpCapERR, 0);
}
else
{
MessageBox (0,lpApp2,lpCapApp, 0);
}
break;
case 103://read port
PurgeBuf ();
Retval= ReadFile (HWNDCOM,&Buf, 255,&LenBuf, NULL);
if (Retval==0) //error read port
{
Mem1= GetLastError ();
wsprintf (&lpERR4[16], Par1, Mem1);
MessageBox (0,lpERR4,lpCapERR, 0);
}
else
{
SendMessageA (HWNDEDT1,WM_SETTEXT, sizeof Buf,(LPARAM) Buf);
MessageBox (0,lpApp3,lpCapApp, 0);
}
break;
case 104://write port
PurgeBuf ();
SendMessage (HWNDEDT2,WM_GETTEXT, sizeof Buf,(LPARAM) Buf);
Retval= WriteFile (HWNDCOM,&Buf, sizeof Buf,&LenBuf, NULL);
if (Retval==0) //error write port
{
Mem1= GetLastError ();
wsprintf (&lpERR5[17], Par1, Mem1);
MessageBox (0,lpERR5,lpCapERR, 0);
}
else
{
MessageBox (0,lpApp4,lpCapApp, 0);
}
break;
default:
{
return DefWindowProc (hWnd, message, wParam, lParam);
}
}
break;
case WM_CREATE:
HWNDBTN1= CreateWindowEx (0,CLSBUTN, CPBUT1, STYLBTN, 10,10,100,20,hWnd, ID_BTN1,hInst, 0);
HWNDBTN2= CreateWindowEx (0,CLSBUTN, CPBUT2, STYLBTN, 10,40,100,20,hWnd, ID_BTN2,hInst, 0);
HWNDBTN3= CreateWindowEx (0,CLSBUTN, CPBUT3, STYLBTN, 10,70,100,20,hWnd, ID_BTN3,hInst, 0);
HWNDBTN4= CreateWindowEx (0,CLSBUTN, CPBUT4, STYLBTN, 10,100,100,20,hWnd, ID_BTN4,hInst, 0);
HWNDEDT1= CreateWindowEx (0,CLSEDIT, CPEDT1, STYLEDT, 120,70,600,20,hWnd, 0, hInst, 0);
HWNDEDT2= CreateWindowEx (0,CLSEDIT, CPEDT2, STYLEDT, 120,100,600,20,hWnd, 0, hInst, 0);
break;
case WM_DESTROY:
PostQuitMessage (0);
break;
default:
return DefWindowProc (hWnd, message, wParam, lParam);
}
return 0;
}
// stdafx. cpp: source file that includes just the standard includes
//COMAPIc.pch will be the pre-compiled header
//stdafx.obj will contain the pre-compiled type information
#include «stdafx.h»
// TODO: reference any additional headers you need in STDAFX. H
// and not in this file
// stdafx. h: include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
#if !defined (AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444 553 540 000__INCLUDED_)
#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444 553 540 000__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define WIN32_LEAN_AND_MEAN// Exclude rarely-used stuff from Windows headers
#include
// TODO: reference additional headers your program requires here
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined (AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444 553 540 000__INCLUDED_)