Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КУ авт имп-фаз ЭП.doc
Скачиваний:
17
Добавлен:
07.02.2015
Размер:
6.31 Mб
Скачать

Структура компьютерной системы управления двух-координатного электропривода.

3.1. Структурная схема управляющего вычислительного комплекса.

Структурная схема показана на рисунке 3.1. В состав структуры входят:

-IBM-PC, в качестве управляющей микро-ЭВМ сLPT-порта которой снимаются управляющие импульсы для регулируемого привода, а также сигналы управления электроавтоматикой станка и считываются сигналы датчиков;

- импульсно-фазовый преобразователь;

- фазовый дискриминатор ФД, выполняющий функции регулятора положения;

- регулируемый электропривод;

- механизм продольного перемещения фрезерного станка;

- синусно-косинусный вращающийся трансформатор, в качестве датчика положения;

- формирователь обратной связи;

- блок входных-выходных сигналов для управления релейной автоматикой.

В данной структуре на микро-ЭВМ возлагается задача формирования и выдачи в реальном времени текущего задания на следящий привод по одной координате. В каждом цикле управления микро ЭВМ передает приращение пути, которое должен отработать привод. Вид входного сигнала следящего привода - последовательность импульсов формируемая на LPT-порту ЭВМ и транслируемая устройством сопряжения. За один цикл обмена ЭВМ может выдать либо один импульс приращения по координатам X, Y, либо выдать команду на исполнительные механизмы, либо считать информацию с датчиков.

Регулятор положения выполнен на фазовом дискриминаторе, который преобразует модулированные по фазе импульсные сигналы тактовых импульсов и импульсов, поступающих с формирователя обратной связи, в частотно-модулированный сигнал управления приводом.

рис. 3.1 Упрощенная система управления двух-координатным электроприводом.

3.2 Управляющий вычислительный комплекс.

Любой IBM PC - совместимый компьютер представляет собой реализацию так называемой фон-неймановской архитектуры вычислительных машин. Эта архи­тектура была представлена Джорджем фон Нейманом еще в 1945 году и имеет следующие основные признаки. Машина состоит из блока управления, арифме­тико-логического устройства (АЛУ), памяти и устройств ввода-вывода. В ней реализуется концепция хранимой программы: программы и данные хранятся в одной и той же памяти. Выполняемые действия определяются блоком управле­ния и АЛУ, которые вместе являются основой центрального процессора. Цент­ральный процессор выбирает и исполняет команды из памяти последовательно, адрес очередной команды задается «счетчиком адреса» в блоке управления. Этот принцип исполнения называется последовательной передачей управления. Дан­ные, с которыми работает программа, могут включать переменные - именован­ные области памяти, в которых сохраняются значения с целью дальнейшего использования в программе. Фон-неймановская архитектура - не единственный вариант построения ЭВМ, есть и другие, которые не соответствуют указанным принципам (например, потоковые машины). Однако подавляющее большинство современных компьютеров основаны именно на указанных принципах, включая и сложные многопроцессорные комплексы, которые можно рассматривать как объединение фон-неймановских машин. Конечно же, за более чем полувековую историю ЭВМ классическая архитектура прошла длинный путь развития. Тем не менее ПК можно разложить «по полочкам» следующим образом.

Центральный процессор (АЛУ с блоком управления) реализуется микропро­цессором семейства х86 - от 8086/88 до Pentium 4 и Athlon. При всей внутренней суперскалярности, суперконвейеризированности и спекулятивностисовременного процессора внешне он соблю­дает вышеупомянутый принцип последовательной передачи управления. Набор арифметических, логических и прочих инструкций насчитывает несколько сотен, а для потоковой обработки придуман принцип SIMD - множество комплектов данных, обрабатываемых одной инструкцией (расширения ММХ, 3DNow!, SSE). Процессор имеет набор регистров, часть которых доступна для хранения операндов, выполнения действий над ними и формирования адреса инструкций и операндов в памяти. Другая часть регистров используется процессором для служебных (системных) целей, доступ к ним может быть ограничен (есть даже программно-невидимые регистры). Все компоненты компьютера представляются для процессора в виде наборов ячеек памяти или (и) портов ввода-вывода, в кото­рые процессор может производить запись и (или) считывание содержимого.

Память располагается во многих компонентах компьютера. Оперативная память (ОЗУ) - самый большой массив ячеек памяти со смежными адресами - реализуется, как правило, на модулях (микросхемах) динамической памяти. Для повышения про­изводительности обмена данными (включая и считывание команд) оперативная память кэшируется сверхоперативной памятью. Оперативная память вместе с кэшем всех уровней (в настоящее время до трех) представляет собой единый массив памяти, непосредственно доступный процессору для записи и чтения данных, а также считывания программного кода. Кроме оперативной память включает также постоянную (ПЗУ), из которой можно только считывать команды и данные, и некоторые виды специальной памяти (например, видеопамять графического адаптера). Вся эта память вместе с оператив­ной располагается в едином пространстве с линейной адресацией. В любом ком­пьютере обязательно есть постоянная память, в которой хранится программа начального запуска компьютера и минимально необходимый набор сервисов (ROM BIOS). Память дополняется устройствами хранения данных, например, дисковыми. Эти устройства предназначены для записи данных с целью последу­ющего считывания (возможно, и на другом компьютере). От рассмотренной выше памяти, называемой также внутренней, устройства хранения отличаются тем, что процессор не имеет непосредственного доступа к данным по линейному адресу. Доступ к данным на устройствах хранения выполняется с помощью специаль­ных программ, обращающихся к контроллерам этих устройств.

Устройства ввода-вывода (УВВ) служат для преобразования информации из внутреннего представления в компьютере (биты и байты) в форму, доступную окружающим, и обратно. К традиционным устройствам ввода относятся клавиатура, мышь, джойстик, к устройствам вывода - дисплей, принтер. Существует еще большой класс коммуни­кационных устройств, предназначенных для передачи информации между компьютерами и (или) их частями

Процессор, память и устройства взаимодействуют между собой с помощью шин и интер­фейсов, аппаратных и программных; стандартизация интерфейсов делает архи­тектуру компьютеров открытой.

Компьютер работает в двоичной системе счисления - минимальным информа­ционным элементом является бит, который может принимать значение 0 или 1. Этим значениям соответствуют различимые физические состояния ячейки, чаще всего - уровень напряжения (низкий или высокий). Биты организуются в более крупные образования - ячейки памяти и регистры. Каждая ячейка памяти (ре­гистр) имеет свой адрес, однозначно ее идентифицирующий в определенной си­стеме координат. Минимальной адресуемой (пересылаемой между компонента­ми компьютера) единицей информации является байт, состоящий, как правило, из 8 бит. Однако, существуют процессоры и компьютеры с разрядностью обрабатываемого слова не кратной 8 (например, 5, 7, 9...), и их байты не восьмибитные, но в мире PC, столкновение с ними маловероятно. Также в некоторых системах (обычно коммуникационных) совокупность восьми соседних бит данных называют октбитом. Название «октет» обычно подразумевает, что эти 8 бит не имеют явного адреса, а характеризуются только своим местоположением в длинной цепочке бит.

Обозначение и порядок бит и байт шин адреса и данных, принятое в аппара­туре PC, пришло от процессоров Intel 8086/88 (и даже от 8080). Самый млад­ший бит LAB (Least Significant Bit) имеет номер 0, старший (MSB - Most Signi­ficant Bit) бит байта - 7, слова - 15, двойного слова - 31. На рисунках принято старший бит изображать слева, а младший - справа.

Поясним разницу между ячейками памяти, портами и регистрами. Ячейки памя­ти служат лишь для хранения информации - сначала ее записывают в ячейку, а потом могут прочитать, а также записать иную информацию. Порты ввода-вывода, как правило, служат для преобразования двоичной информации в какие-либо физические сигналы и обратно. Например, порт данных параллельного интерфейса формирует электрические сигналы на разъеме, к которому обычно подключают принтер. Порт состояния того же интерфейса электрические сигна­лы, поступающие от принтера, отображает в виде набора бит, который может быть считан процессором. Регистр - довольно широкое понятие, которое зачас­тую используется как синоним порта.

Каждый байт (ячейка памяти, порт) имеет собственный уникальный физи­ческий адрес. Этот адрес устанавливается на системной шине процессором, ког­да он инициирует обращение к данной ячейке или порту. В семействе х86 и PC-совместимых компьютерах пространства адресов ячеек памяти и портов ввода-вывода разделены. Нынешние процессоры имеют раз­рядность физического адреса памяти 32 и даже 36 бит, что позволяет адресовать до 4 и 64 Гбайт соответственно. Пространство ввода-вывода использует только младшие 16 бит адреса, что позволяет адресовать до 65 384 однобайтных регист­ров. Пространства памяти и портов ввода-выво­да неравнозначны не только по объему, но и по способам обращения. Способов адресации к ячейке памяти в х86 великое множество, в то время как для адреса­ции ввода-вывода их существует только два. К портам ввода-вывода обращаются только по реальным адре­сам, правда, и здесь возможна виртуализация, но уже чисто программными сред­ствами операционной системы. И, наконец, самое существенное различие про­странств памяти и портов ввода-вывода: процессор может считывать инструк­ции для исполнения только из пространства памяти. Конечно, через порт ввода можно считать фрагмент программного кода (что и происходит, например, при считывании данных с диска), но для того, чтобы этот код исполнить, его необхо­димо записать в память.

Регистры различных устройств могут быть приписаны как к пространству портов ввода-вывода, так и к пространству памяти. Под портом устройства, как правило, подразумевают регистр, связанный с этим устройством и приписанный к пространству портов ввода-вывода. Точность вышеприведенной терминологии, конечно же, относительна. Так, к примеру, ячейки видеопамяти (тоже память!) служат в основном не для хранения информации, а для управления свечением элементов экрана.

Все устройства подключаются к компьютеру через внешние интерфейсы или с помощью специализированных адаптеров или контроллеров, встраиваемых в си­стемную плату или размещаемых на платах (картах) расширения. Адаптер явля­ется средством сопряжения какого-либо устройства с какой-либо шиной или ин­терфейсом компьютера. Контроллер служит тем же целям сопряжения, но при этом подразумевается его некоторая активность - способность к самостоятельным дей­ствиям после получения команд от обслуживающей его программы. Сложный кон­троллер может иметь в своем составе и собственный процессор. Все внешние интерфейсы компьютера, естественно, тоже имеют свои адаптеры или контроллеры. Для взаимодействия с программой (с помощью процессора или сопроцессоров) адаптеры и контроллеры обычно имеют регистры ввода и вывода, которые могут располагаться либо в адресном простран­стве памяти, либо в специальном пространстве портов ввода-вывода. Кроме того, используются механизмы аппаратных прерываний для сигнализации программе о событиях, происходящих в периферийных устройствах. Для обмена информаци­ей с устройствами применяется и механизм прямого доступа к памяти DMA (Direct Memory Acces), а также прямое управление шиной.

Периферийные устройства подключаются к тем или иным интерфейсам сис­темных устройств. Так, например, винчестер, подключенный к контроллеру АТА системной платы, является периферийным устройством; отдельных ресурсов он не занимает - процессор к нему обращается через ресурсы контроллера АТА. А вот сам контроллер АТА является системным устройством и занимает ресур­сы (порты, прерывание), независимо от того, подключены ли к нему периферий­ные устройства. Точно так же периферийным устройством является и принтер - он подключается к системному устройству (LPT-порту, контроллеру USB и т. п.).

Рассмотрим более подробно работу LPT-порта.

Традиционный, он же стандартный, LPT-порт называется SPP (Standart Parallel Port) и является однонаправленным портом, через который программно реализуется интерфейс Centronics. Название и назначение сигналов разъёма порта (табл. 3.1) соответствует интерфейсу Centronics.

Табл. 3.1 Разъём стандартного LPT-порта.

Контакт DB-25S

Назначение

I/O

Reg. Bit

Сигнал

1

O/I

CR.0\

Strobe #

2

O/(I)

DR.0

Data 0

3

O/(I)

DR.1

Data 1

4

O/(I)

DR.3

Data 2

5

O/(I)

DR.3

Data 3

6

O/(I)

DR.4

Data 4

7

O/(I)

DR.5

Data 5

8

O/(I)

DR.6

Data 6

9

O/(I)

DR.7

Data 7

10

I

SR.6

Ack #

11

I

SR.7\

Busy

12

I

SR.5

PaperEnd

13

I

SR.4

Select

14

O/I

CR.1\

Auto Lf #

15

I

SR.3

Error #

16

O/I

CR.2

Init #

17

O/I

CR.3\

Select In #

18-25

-

-

GND

Примечания:

1 I/O задает направление передачи (вход-выход) сигнала порта. O/I обозначает выходные линии, состояние которых считывается при чтении из портов вывода; О(1) — выходные линии, состояние которых может быть считано только при особых условиях (см. ниже).

2 Символом «\» отмечены инвертированные сигналы (1 в регистре соответствует низкому уровню линии).

3 Вход Ack# соединен резистором (10 кОм) с питанием +5 В.

Адаптер LPT-порта SPP содержит три 8-битных регистра, расположенных по соседним адресам в пространстве ввода-вывода, начиная с базового адреса порта BASE (3BCh, 378h или 278h).

Data Register (DR) — регистр данных, адрес=ВА5Е. Данные, записанные в этот регистр, выводятся на выходные линии интерфейса. Данные, считанные из этого регистра, в зависимости от схемотехники адаптера соответствуют либо ранее за­писанным данным, либо сигналам на тех же линиях, что не всегда одно и то же. Если в порт записать байт с единицами во всех разрядах, а на выходные линии интерфейса через микросхемы с выходом типа «открытый коллектор» подать какой-либо код (или соединить ключами какие-то линии со схемной землей), то этот код может быть считан из того же регистра данных. Таким образом, на мно­гих старых моделях адаптеров можно реализовать порт ввода дискретных сигна­лов, однако выходным цепям передатчика информации придется «бороться» с выходным током логической единицы выходных буферов адаптера. Схемотехника ТТЛ такие решения не запрещает, но если внешнее устройство выполнено на микросхемах КМОП, их мощности может не хватить для «победы» в этом шинном конфликте. Однако современные адаптеры часто имеют в выходной цепи согласующий резистор с сопротивлением до 50 Ом. Выходной ток короткого замыкания выхода на землю обычно не превышает 30 мА. Простой расчет показы­вает, что в случае короткого замыкания контакта разъема на землю при выводе «единицы» на этом резисторе падает напряжение 1,5 В, что входной схемой при­емника будет воспринято как «единица». Так что такой способ ввода будет рабо­тать не на всех компьютерах. На некоторых старых адаптерах портов выходной буфер отключается перемычкой на плате. Тогда порт превращается в обыкно­венный порт ввода.

Status Register (SR) - регистр состояния, представляет собой 5-битный порт ввода сигналов состояния принтера (биты SR.4-SR.7), адрес=ВА5Е+1. Бит SR.7 ин­вертируется - низкому уровню сигнала соответствует единичное значение бита в регистре, и наоборот.

Ниже показано назначение бит регистра состояния (в скобках даны номера контактов разъема порта).

* SR.7 - Busy - инверсное отображение состояния линии Busy (11): при низ­ком уровне на линии устанавливается единичное значения бита - разре­шение на вывод очередного байта.

* SR.6 - Ack (Acknowledge) - отображение состояния линии Ack# (10).

* SR.5 - РЕ (Paper End) - отображение состояния линии Paper End (12). Еди­ничное значение соответствует высокому уровню линии - сигналу о кон­це бумаги в принтере.

* SR.4 - Select - отображение состояния линии Select (13). Единичное зна­чение соответствует высокому уровню линии - сигналу о включении прин­тера.

* SR.3 - Error - отображение состояния линии Error# (15). Нулевое значе­ние соответствует низкому уровню линии - сигналу о любой ошибке прин­тера.

* SR.2 - PIRQ - флаг прерывания по сигналу Ack# (только для порта PS/2). Бит обнуляется, если сигнал Ack# вызвал аппаратное прерывание. Еди­ничное значение устанавливается по аппаратному сбросу и после чтения регистра состояния.

* SR[1:0] - зарезервированы.

Control Register (CR) - регистр управления, адрес=ВА5Е+2. Как и регистр дан­ных, этот 4-битный порт вывода допускает запись и чтение (биты 0-3), но его выходной буфер обычно имеет тип «открытый коллектор». Это позволяет кор­ректно использовать линии данного регистра как входные при программирова­нии их в высокий уровень. Биты 0, 1, 3 инвертируются.

Ниже показано назначение бит регистра управления.

* CR[7:6] - зарезервированы.

* CR.5 - Direction - бит управления направлением передачи (только для портов PS/2, см. ниже). Запись единицы переводит порт данных в режим ввода. При чтении состояние бита не определено.

* CR.4 - AcklNTEN (Ack Interrupt Enable) - единичное значение разрешает прерывание по спаду сигнала на линии Ack# (сигнализацию запроса сле­дующего байта).

* CR.3 - Select In - единичное значение бита соответствует низкому уров­ню на выходе Select In# (17) - сигналу, разрешающему работу принтера по интерфейсу Centronics.

* CR.2 - Init — нулевое значение бита соответствует низкому уровню на выходе Init# (16) - сигнал аппаратного сброса принтера.

* CR.1 - Auto LF - единичное значение бита соответствует низкому уровню на выходе Auto LF# (14) — сигналу на автоматический перевод строки (LF - Line Feed) по приему байта возврата каретки (CR). Иногда сигнал и бит называют AutoFD или AutoFDXT.

* CR.O - Strobe — единичное значение бита соответствует низкому уровню на выходе Strobe# (1) — сигналу стробирования выходных данных.

Запрос аппаратного прерывания (обычно IRQ7 или IRQ5) вырабатывается по отрицательному перепаду сигнала на выводе 10 разъема интерфейса (Ack#) при установке CR.4=1. Во избежание ложных прерываний контакт 10 соединен рези­стором с шиной +5 В. Прерывание вырабатывается, когда принтер подтверждает прием предыдущего байта. Как уже было сказано, BIOS это прерывание не ис­пользует и не обслуживает.

Перечислим шаги процедуры вывода байта по интерфейсу Centronics с указа­нием требуемого количества шинных операций процессора (сигналов шины ISA).

1. Вывод байта в регистр данных (1 цикл IOWR#).

2. Ввод из регистра состояния и проверка готовности устройства (бит SR.7 - сигнал Busy). Этот шаг зацикливается до получения готовности или до сра­батывания программного тайм-аута (минимум 1 цикл IORD#).

3. При получении готовности выводом в регистр управления устанавливает­ся строб данных, а следующим выводом строб снимается. Обычно, чтобы переключить только один бит (строб), регистр управления предваритель­но считывается, что к двум циклам IOWR# добавляет еще один цикл IORD#.

Видно, что для вывода одного байта требуется 4-5 операций ввода-вывода с регистрами порта (в лучшем случае, когда готовность обнаружена по первому чтению регистра состояния). Отсюда вытекает главный недостаток вывода через стандартный порт — невысокая скорость обмена при значительной загрузке про­цессора. Порт удается разогнать до скоростей 100-150 Кбайт/с при полной за­грузке процессора, что недостаточно для печати на лазерный принтер. Другой недостаток - функциональный - сложность использования в качестве порта ввода.

Стандартный порт асимметричен - при наличии 12 линий (и бит), нормаль­но работающих на вывод, на ввод работает только 5 линий состояния. Если не­обходима симметричная двунаправленная связь, на всех стандартных портах ра­ботоспособен режим полубайтпого обмена - Nibble Mode. В этом режиме, назы­ваемым также Hewlett Packard Bi-tronics, по линиям состояния одновременно при­нимаются 4 бита данных, пятая линия используется для квитирования. Таким образом, каждый байт передается за два цикла, а каждый цикл требует по край­ней мере 5 операций ввода-вывода.