СКАМКО_тех описание (961955), страница 5
Текст из файла (страница 5)
На плате установлена ППЗУ D5 объемом 2кБайта, предназначенная для хранения калибровочных данных, программ калибровки, тестирования и т.п.
Кроме того, на плате установлена дополнительная оперативная память D3 объемом 32кБайта, подключенная к микроконтроллеру через регистр D2.
В состав центрального модуля входит разъем XT5, служащий для подключения программатора AVR prog. Однако в первой версии платы была допущена ошибка. Вследствие нее разъем XT5 может быть использован для связи по SPI интерфейсу, но для программирования необходимо использовать разъем X2. Программирование микроконтроллера осуществляется через последовательный периферийный интерфейс SPI, в режиме последовательного программирования. Схема включения микросхем в этом режиме приведена на рисунке 2.5.
Рис 2.5
На плате установлено 4 джампера:
J1 определяет сигнал, приходящий на вход USART0 микроконтроллера. В положении 2-1 на ножку RXD приходит сигнал RXDI, использующийся при программировании через SPI интерфейс. В положении 2-3 – сигнал RX_D, поступающий с микросхемы MAX232. Для программирования нужно установить положение 2-1, для режима нормальной работы 2-3.
J2 служит для включения режима защиты EEPROM (микросхема D5) от записи. В положении 2-3 на вход микросхемы D5 WP приходит низкий уровень – память защищена от записи. В положении 2-1 – высокий уровень – запись разрешена.
J3, J4 служат для разрешения линий синхросигналов XBUSA и XBUSB. Джамперы должны быть установлены в положение 2-1.
Блок связи с ПК
Приемопередатчик последовательного интерфейса MAX232 реализует интерфейс RS-232C для связи с ПК.
Скорость обмена данными по стандартному интерфейсу RS-232С составляет 57600 бод.
Рис 2.6
Блок входов ТО
Данный блок служит для получения сигналов с технологического оборудования. Технологическое оборудование подключается с помощью разъемов X15 и X16. Входы IN19, IN18 подключены через триггеры шмитта D13 ко входам счетчиков микроконтроллера Atmega128 T2 и Т1 соответственно. Входы IN17 и IN16 подключены через триггеры шмитта D13 к входам внешних прерываний микроконтроллера Atmega128 INT6 и INT5 соотвтетственно. Остальные 16 входов IN0…IN15 подключены через восьмиразрядные не инвертирующие буферы D11 и D12, которые подключены к микроконтроллеру через дешифратор D10 и через линию адреса микроконтроллера Atmega128 А0…А8. Для работы с цифровыми входами нужно обращаться к «переменной по адресу». Адрес лежит в диапазоне от 8000h до 800Fh. Дешифратор подключается к микроконтроллеру по линиям A8, A9 и A15. Он формирует сигналы RD0 и RD1 для обращения к буферам D11 и D12 и соответствующим им входам технологического оборудования. Для избежания неопределенного электрического состояния ко входам подключены резисторы R47 и R48, которые «подтягивают» уровень входов до 5 В.
Блок выходов ТО
Данный блок служит для управления технологическим оборудованием. Все 20 выходов OUT0…OUT19 являются цифровыми. Технологическое оборудование подкючается с помощью разъемов X14 и X13. Разъемы через ключи дарлингтона D15, D16, D17, которые, в свою очередь, подключены к микроконтроллеру через не инвертирующие восьмиразрядные триггеры (по фронту сигнала) D6 и D8, а так же выводы микроконтроллера Atmega128…F7. Триггеры подключаются к микроконтроллеру по линии адреса A0…A8 и переключаются сигналами WR0 и WR1 с дешифратора D10. Для работы с цифровыми выходами нужно записывать «переменную по адресу». Адрес лежит в диапазоне от 8000h до 800Fh.
Блок связи с приводными контроллерами
Cвязь с приводными контроллерами осуществляется через разъемы DIN0…DIN6. Сигналы с концевых датчиков поступают на разъем XT1, а затем на соответствующие ножки A10, B10 и A11, B11 разъемов DIN0…DIN6. Обмотки двигателей подключаются через разъем XT3 к материнской плате, а затем через разъемы DIN0…DIN6 к соответствующим приводным контроллерам.
6.5 Модуль сопряжения машины верхнего уровня и контроллера управления приводами по RS-232.
Интерфейс RS-232C соединяет два устройства. Линия передачи первого устройства соединяется с линией приема второго и наоборот (полный дуплекс) Для управления соединенными устройствами используется программное подтверждение (введение в поток передаваемых данных соответствующих управляющих символов). Возможна организация аппаратного подтверждения путем организации дополнительных RS-232 линий для обеспечения функций определения статуса и управления.
Интерфейс RS-232C предназначен для подключения к компьютеру стандартных внешних устройств (принтера, сканера, модема, мыши и др.), а также для связи компьютеров между собой. Данные в RS-232C передаются в последовательном коде побайтно. Каждый байт обрамляется стартовым и стоповыми битами. Данные могут передаваться как в одну, так и в другую сторону (дуплексный режим).
Рис. 2.1.
Таблица 2.1.
| Стандарт | EIA RS-232-C, CCITT V.24 |
| Скорость передачи | 115 Кбит/с (максимум) |
| Расстояние передачи | 15 м (максимум) |
| Характер сигнала | несимметричный по напряжению |
| Количество драйверов | 1 |
| Количество приемников | 1 |
| Схема соединения | полный дуплекс, от точки к точке |
PC имеет 25-контактный DB25P или 9-контактный DB9P (Рис. 1.2) разъем для подключения RS-232C. Мы используем DB9P. Назначение контактов разъема приведено в таблице 1.2.
Рис. 2.2.
Таблица 2.2.
| Наименование | Направление | Описание | Контакт | Контакт |
| DCD | IN | Carrie Detect (Определение несущей) | 8 | 1 |
| RXD | IN | Receive Data (Принимаемые данные) | 3 | 2 |
| TXD | OUT | Transmit Data (Передаваемые данные) | 2 | 3 |
| DTR | OUT | Data Terminal Ready (Готовность терминала) | 20 | 4 |
| GND | - | System Ground (Корпус системы) | 7 | 5 |
| DSR | IN | Data Set Ready (Готовность данных) | 6 | 6 |
| RTS | OUT | Request to Send (Запрос на отправку) | 4 | 7 |
| CTS | IN | Clear to Send (Готовность приема) | 5 | 8 |
| RI | IN | Ring Indicator (Индикатор) | 22 | 9 |
Назначение сигналов следующее:
FG - защитное заземление (экран).
TxD - данные, передаваемые компьютером в последовательном коде (логика отрицательная).
RxD - данные, принимаемые компьютером в последовательном коде (логика отрицательная).
RTS - сигнал запроса передачи. Активен во все время передачи.
CTS - сигнал сброса (очистки) для передачи. Активен во все время передачи. Говорит о готовности приемника.
DSR - готовность данных. Используется для задания режима модема.
SG - сигнальное заземление, нулевой провод.
DCD - обнаружение несущей данных (детектирование принимаемого сигнала).
DTR - готовность выходных данных.
RI - индикатор вызова. Говорит о приеме модемом сигнала вызова по телефонной сети.
Заметим, что контроллеры RS-232, применяемые в персональных компьютерах, имеют выходной ток равный 10мА максимум.
Для подключения произвольного УС к компьютеру через RS-232C обычно используют трех- или четырехпроводную линию связи, но можно задействовать и другие сигналы интерфейса. Нам будет достаточно трёхпроводной линии с каналами TxD, RxD и GND. Формат данных интерфейса RS-232 изображён на рис 2.3.
Рис2.3.
Рис2.4.
Обмен по RS-232-C осуществляется с помощью обращений по специально выделенным для этого портам COM1 (адреса 3F8h...3FFh, прерывание IRQ4), COM2 (адреса 2F8h...2FFh, прерывание IRQ3), COM3 (адреса 3F8h...3EFh, прерывание IRQ10), COM4 (адреса 2E8h...2EFh, прерывание IRQ11). Однако MS Windows XP не предоставляет пользователю таких больших возможностей доступа к работе с этими портами. В этой операционной системе COM-порты представляются в качестве файлов. Поэтому для работы с ними используются API функции операционной системы.
Обмен машины верхнего уровня с с универсальным асинхронным приёмопередатчиком UART0 микроконтроллера Atmega128 осуществляется по разработанному нами протоколу.
Работа передатчика УСАПП разрешается путем установки бита разрешения передачи (TXEN) в регистре UCSRB. После разрешения, функция вывода TxD как обычного порта заменяется на функцию выхода последовательной передачи данных. Скорость связи, режим работы и формат посылки должны быть установлены однократно перед началом какой-либо передачи.
Начало передачи инициируется записью передаваемых данных в буфер передатчика. ЦПУ может загрузить буфер передатчика путем записи в регистр UDR, расположенный в памяти ввода-вывода. Буферизованные данные в буфере передатчика будут перемещены в сдвиговый регистр, после того как он будет готов к отправке новой посылки. Запись в сдвиговый регистр новых данных происходит в состоянии ожидания (когда передача завершена) или сразу после завершения передачи последнего стоп-бита предыдущей посылки. Если в сдвиговый регистр записаны новые данные, то начинается передача одной посылки на скорости, определенной в регистре скорости связи, битом U2X или XCK в зависимости от выбранного режима работы.
Работа приемника УСАПП разрешается, если записать лог. 1 в бит разрешения работы приемника (RXEN) в регистре UCSRB. После разрешения работы приемника обычное назначение вывода RxD заменяется на альтернативное: вход последовательного ввода данных приемника УСАПП. Скорость связи, режим работы и формат посылки должны быть установлены однократно перед началом выполнения приема данных. Если используется синхронная работа, то вывод XCK будет использоваться для синхронизации связи.
Приемник начинает прием данных только после определения действительного старт-бита. Выборка следующих за старт-битом бит данных происходит с частотой равной скорости связи или частотой сигнала XCK и размещается в сдвиговом регистре приемника. Второй стоп-бит приемником игнорируется. После получения первого стоп-бита, т.е. когда последовательная посылка полностью принята и находится в сдвиговом регистре приемника, содержимое сдвигового регистра перемещается в приемный буфер. Приемный буфер считывается при чтении регистра ввода-вывода UDR.
7. ПО
7.1 Структура ПО верхнего уровня
В данную структуру входят следующие модули ( рис. 7.1)
Рис 7.1.
Ядро управления. Представляет собой сервер COM-автоматизации, в котором содержаться все основные функции, константы и переменные, необходимые для функционирования программной оболочки и передачи данных как между модулями программы, так и обмена с операционной системой Windows XP.
Интерпретатор робото-ориентированного языка. Представляет собой язык высокого уровня. Он основан на языке JavaScript, однако для большей наглядности мною была введена система макрокоманд, напоминающая по синтаксису и функциональности робото-ориентированный язык ARPS. Пользователю предоставляется возможность добавления новых функций и операторов, написанных на языке C++. Работа с ними осуществляется с помощью стандартных приемов Jscript. Условно, команды можно разделить на команды пользователя и команды монитора. Задача монитора – получив директивы, введенные оператором с клавиатуры, выполнить операции, указанные в этих директивах. С помощью мониторных директив можно обучать робот определенным точкам, отображать информацию о положении всех звеньев манипулятора и о состоянии контроллеров приводов (например,выводить содержимое буфера команд), загружать и записывать программы, запускать калибровку или рабочий режим робота. Однако использование текстовой консоли для вызова команд монитора не требуется. Все функции можно вызвать из графической оболочки одним нажатием кнопки.














