Программное управление технологическим оборудованием
.pdf
Рис. 1.1. Формат передачи данных интерфейса RS232
Из рисунка видно, что исходное состояние линии последовательной передачи данных – уровень логической 1. Это состояние линии называют отмеченным – MARK. Когда начинается передача данных, уровень линии переходит в 0. Это состояние линии называется пустым – SPACE.
Стартовый бит START сигнализирует о начале передачи данных. Далее передаются биты данных (вначале младшие, затем старшие).
Затем передаётся бит чётности. Бит чётности имеет такое значение, чтобы в пакете битов общее количество единиц было чётно либо нечётно, в зависимости от настройки параметров связи. Этот бит служит для обнаружения ошибок, которые могут возникнуть при передаче. Приёмное устройство заново вычисляет чётность данных и сравнивает результат с принятым битом чётности. Если чётность не совпала, то считается, что данные переданы с ошибкой.
конце посылки передаются один или два стоповых бита STOP, сигнализирующие
завершении передачи. Затем до прихода следующего стартового бита линия снова переходит в состояние MARK.
Использование бита чётности, стартовых и стоповых битов определяют формат передачи данных. Очевидно, что передатчик и приёмник должны использовать один и тот же формат данных.
Другая важная характеристика – скорость передачи данных. Она так же должна быть одинаковой для передатчика и приёмника. Скорость передачи данных измеряется в бодах (бит в секунду).
самом простейшем случае интерфейс RS232 требует 2 сигнальные линии
– TD (transmit data) и RD (received data). Линия TD используется для передачи данных, линия RX
для приёма. Таким образом, при соединении двух устройств, необходимо
591
линию TD первого подключить на линию RD второго, и линию TD второго подключить на линию RD первого.
1.2 Модуль последовательного интерфейса микроконтроллера
Модуль последовательного интерфейса микроконтроллеров семейства dsPIC33 (UART) является асинхронным дуплексным интерфейсом с расширенной функциональностью и имеет следующие преимущества:
1.увеличенная скорость передачи;
2.аппаратный контроль чётности;
3.тактовый генератор модуля имеет 16-битный предделитель, который обеспечивает установку скорости обмена данных в широких пределах с высокой точностью;
4.4-уровневый буфер приёмника и передатчика;
5.аппаратное управление направлением передачи данных;
6.реализация физического уровня IrDA.
Рис. 1.1. Упрощенная схема модуля асинхронного обмена данными
1.3 Аппаратно-программная архитектура модуля последовательного интерфейса микроконтроллера
Для управления параметрами обмена данными, а так же контроля передачи и приёма данных по последовательному интерфейсу используется следующая группа регистров:
1.U1MODE – регистр установки режимов работы;
2.U1STA – регистр управления/состояния порта;
3.U1RXREG – регистр-приёмник данных;
4.U1TXREG – регистр передачи данных;
5.U1BRG – регистр установки скорости обмена.
592
Биты управляющих регистров и их назначение представлены в таблицах 1.1-1.10.
Таблица 1.1
Биты регистра U1MODE
Обозначени |
UARTE |
|
|
|
IRE |
|
RTSM |
|
|
|
|
|
|
|
|||
е |
|
N |
- |
|
USIDL |
N |
|
D |
|
- |
UEN<1:0> |
|
|||||
Номер |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
бита |
|
15 |
|
14 |
|
13 |
12 |
|
11 |
|
10 |
9 |
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Обозначени |
|
|
LPBA |
|
ABAU |
URXI |
|
|
|
|
|
|
STSE |
|
|||
е |
|
WAKE |
CK |
|
D |
NV |
|
BRGH |
PDSEL<1:0> |
|
L |
|
|||||
Номер |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
бита |
|
7 |
|
6 |
|
5 |
4 |
|
3 |
|
2 |
1 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 1.2 |
|
|||
|
|
|
Назначение некоторых битов регистра U1MODE |
|
|
|
|
|
|||||||||
Номер |
|
|
|
|
|
|
|
|
Описан |
|
|
|
|
|
|
||
|
Обозначение |
|
|
|
|
|
|
ие |
|
|
|
|
|
|
|||
бита |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Разрешение работы |
|
|
|
|
|
|
|
|
|
|||
15 |
|
UARTEN |
|
порта |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
UARTEN = 1: Работа порта |
|
|
|
|
|
|
||||||
|
|
|
|
|
разрешена |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
UARTEN = 0: Работа порта |
|
|
|
|
|
|
||||||
|
|
|
|
|
запрещена |
|
|
|
|
|
|
|
|
|
|
||
9-8 |
|
UEN<1:0> |
|
Управление выводами портов |
|
|
|
|
|
|
|||||||
|
|
|
|
|
UEN = 11: Выводы U1TX, U1RX, BCLK1 включены и |
|
|
||||||||||
|
|
|
|
|
используются |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
UEN = 10: Выводы U1TX, U1RX, ~U1CTS, ~U1RTS |
|
|
|
|||||||||
|
|
|
|
|
включены и |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
используются |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
UEN = 01: Выводы U1TX, U1RX, ~U1RTS включены и |
|
|
||||||||||
|
|
|
|
|
используются |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
UEN = 00: Выводы U1TX, U1RX включены и |
|
|
|
|||||||||
|
|
|
|
|
используются |
|
|
|
|
|
|
|
|
|
|
||
|
|
BRG |
|
Установка скорости обмена |
|
|
|
|
|
|
|||||||
3 |
|
|
H |
|
порта |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BRGH = 1: Работа порта на повышенной |
|
|
|
|
|
|||||||
|
|
|
|
|
скорости |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BRGH = 0: Работа порта на обычной |
|
|
|
|
|
|
||||||
|
|
|
|
|
скорости |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
593 |
|
|
Окончание таблицы 1.2
|
|
|
|
Выбор формата данных и |
|
|
|
|
|
|||
2-1 |
PDSEL<1:0> |
чётности |
|
|
|
|
|
|
|
|||
|
|
|
|
PDSEL = 11: 9-битные данные, без бита |
|
|
|
|||||
|
|
|
|
чётности |
|
|
|
|
|
|
|
|
|
|
|
|
PDSEL = 10: 8-битные данные, проверка на |
|
|
||||||
|
|
|
|
нечётность |
|
|
|
|
|
|
|
|
|
|
|
|
PDSEL = 01: 8-битные данные, проверка на |
|
|
||||||
|
|
|
|
чётность |
|
|
|
|
|
|
|
|
|
|
|
|
PDSEL = 00: 8-битные данные, без бита |
|
|
|
|||||
|
|
|
|
чётности |
|
|
|
|
|
|
|
|
|
|
STSE |
|
|
|
|
|
|
|
|
|
|
0 |
|
|
L |
Выбор количества стоповых бит |
|
|
|
|
|
|||
|
|
|
|
STSEL = 1: 2 стоповых |
|
|
|
|
|
|
||
|
|
|
|
бита |
|
|
|
|
|
|
|
|
|
|
|
|
STSEL = 0: 1 стоповый |
|
|
|
|
|
|
||
|
|
|
|
бит |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 1.3 |
||
|
|
|
|
Биты регистра U1STA |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
||
Обозначени |
|
UTXISEL |
UTXI |
UTXIS |
|
UTXBR |
UTXE |
|
UTXB |
TRMI |
|
|
е |
|
|
1 |
NV |
EL0 |
- |
K |
N |
|
F |
T |
|
Номер |
|
|
|
|
|
|
|
|
|
|
|
|
бита |
|
15 |
14 |
13 |
12 |
11 |
10 |
|
9 |
8 |
|
|
|
|
|
|
|
|
|
|
|
||||
Обозначени |
|
URXISEL<1: |
ADDE |
RIDL |
|
FER |
|
OER |
URX |
|
||
е |
|
|
0> |
|
N |
E |
PERR |
R |
|
R |
DA |
|
Номер |
|
|
|
|
|
|
|
|
|
|
|
|
бита |
|
7 |
6 |
5 |
4 |
3 |
2 |
|
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 1.4 |
||
|
|
|
Назначение некоторых битов регистра U1STA |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Номер |
|
|
|
|
|
|
Описан |
|
|
|
|
|
|
Обозначение |
|
|
|
ие |
|
|
|
|
|
||
бита |
|
|
|
|
|
|
|
|
|
|
|
|
10 |
UTXEN |
Разрешение передачи данных |
|
|
|
|
|
|||||
|
|
|
|
UTXEN = 1: Передача данных разрешена, вывод |
|
|
||||||
|
|
|
|
U1TX |
|
|
|
|
|
|
|
|
|
|
|
|
контролируется модулем последовательного |
|
|
||||||
|
|
|
|
интерфейса. |
|
|
|
|
|
|
|
|
|
|
|
|
UTXEN = 0: Передача данных запрещена. |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
594 |
|
Окончание таблицы 1.4
9 |
UTXBF |
Состояние буфера передатчика |
|
UTXBF = 0: Буфер передатчика не заполнен
0 URXDA Состояние буфера приёмника
UTXBF = 1: Буфер приёмника содержит данные
UTXBF = 0: Буфер приёмника пуст
Таблица 1.5
Биты регистра U1RXREG
Обозначени |
|
|
|
|
|
|
|
|
|
|
|
|
|
е |
|
|
- |
- |
|
- |
- |
- |
|
- |
- |
URX8 |
|
Номер бита |
|
15 |
14 |
|
13 |
12 |
11 |
|
10 |
9 |
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Обозначени |
|
|
|
|
|
|
|
|
|
|
|
|
|
е |
|
|
|
|
|
|
URX<7:0> |
|
|
|
|
||
Номер бита |
|
7 |
6 |
|
5 |
4 |
3 |
|
2 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 1.6 |
||
|
|
Назначение некоторых битов регистра U1RXREG |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Номер |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Обозначение |
|
|
|
|
Описание |
|
|
|
|
|||
бита |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
URX |
8-й бит принятых данных (в режиме 9-битных |
|
|
||||||||
8 |
|
8 |
данных) |
|
|
|
|
|
|
|
|
||
|
|
|
|
Биты 7-0 принятых |
|
|
|
|
|
|
|||
7-0 |
URX<7:0> |
данных |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
Таблица 1.7 |
|
|
|
|
|
|
|
|
|
|
|
Биты регистра U1TXREG |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Обозначени |
|
|
|
|
|
|
|
|
|
|
|
|
|
е |
|
|
- |
- |
|
- |
- |
- |
|
- |
- |
UTX8 |
|
Номер бита |
|
15 |
14 |
|
13 |
12 |
11 |
|
10 |
9 |
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Обозначени |
|
|
|
|
|
|
|
|
|
|
|
|
|
е |
|
|
|
|
|
|
UTX<7:0> |
|
|
|
|
||
Номер бита |
|
7 |
6 |
|
5 |
4 |
3 |
|
2 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
595 |
|
|
|
Таблица 1.8 |
|
Назначение некоторых битов регистра U1TXREG |
|
Номер |
|
|
|
Обозначение |
Описание |
бита |
|
|
|
UTX |
8-й бит передаваемых данных (в режиме 9-битных |
8 |
8 |
данных) |
7-0 |
UTX<7:0> |
Биты 7-0 передаваемых данных |
2 Электрическая схема к лабораторной работе
На рис.2.1 приведена электрическая схема к лабораторной работе.
Рис. 2.1. Электрическая схема к лабораторной работе
В стенде связь микроконтроллера с внешним устройством осуществляется по интерфейсу RS232. Для возможности подключения к компьютерам, имеющим более современную шину – шину USB, в стенде применена микросхема FT232RL. Данная микросхема абсолютно прозрачно для пользователя преобразует поток данных последовательного интерфейса в поток данных шины USB, позволяя работать с устройством через виртуальный COM-порт аналогично реальному COM-порту.
3 Пример выполнения работы
Задача: Разработать программу для учебного стенда, принимающую и отправляющую в ответ принятые данные по последовательному интерфейсу RS232 от внешнего устройства.
Листинг программы:
#include <P33FJ32MC204.h>
596
char data = U1RXREG; U1TXREG = data;
}
}
}
4 Варианты индивидуальных заданий к лабораторной работе
Разработать программу для учебного стенда, позволяющую выполнить следующие действия:
1.Вывести на LCD принятые по последовательному интерфейсу данные. После каждого полученного байта данных передать внешнему устройству количество принятых данных.
2.По запросу внешнего устройства передать ему информацию о состоянии тумблеров SA2..SA10.
3.Отобразить принятые по последовательному интерфейсу данные на LED. В случае приёма определённой последовательности данных отправить внешнему устройству соответствующее сообщение.
4.Периодически производить отправку сообщений по последовательному интерфейсу. На LED вывести количество принятых ответных сообщений.
5 Контрольные вопросы
1.Каким образом происходит последовательная передача данных?
2.Для чего предназначен модуль последовательной передачи данных микроконтроллера?
3.Каким образом изменить скорость передачи данных последовательного порта?
4.Каким образом задаётся режим работы модуля последовательной передачи данных микроконтроллера?
598
4.ПРОГРАММИРОВАНИЕ УЧПУ
Написать коментарий к каждой строке следующих программ обработки деталей на станках с УЧПУ:
-линейная нтерполяция;
%0002 |
|
|
N0010 |
G54 G92 X0.000 Z50.000 |
|
N0020 |
G59 |
|
N0030 |
G00 X60 Z60 |
|
N0040 |
T0101 |
|
N0050 |
G00 X20.000 Z0.000 |
|
N0060 |
G96 S120 M04 |
|
N0070 |
G01 |
X-1.000 Z0.000 F200 |
N0080 |
G00 X14.000 Z1.000 |
|
N0090 |
G01 |
X20.000 Z-25.000 |
N0100 |
G00 X50.000 Z60.000 |
|
N0110 |
G53 G56 T0000 M30 |
|
-круговая интерполяция ; |
||
%0001 |
|
|
N0010 |
G54 G92 X0.000 Z50.000 |
|
N0020 |
G59 |
|
N0030 |
G00 X60.000 Z60.000 |
|
N0040 |
T0303 |
|
N0050 |
G00 X40.000 Z0.000 |
|
N0060 |
G02 |
X40.000 Z-20.000 I10.000 K-10.000 |
N0070 |
G00 X60.000 Z60.000 |
|
N0080 |
G53 G56 T0000 M30 |
|
%0003 |
|
|
N0010 |
G54 G92 X0.000 Z50.000 |
|
N0020 |
G59 |
|
N0030 |
G00 X60.000 Z60.000 |
|
N0040 |
T0303 |
|
N0050 |
G00 |
X40.000 Z-20.000 |
N0060 |
G03 |
X40.000 Z0.000 I10.000 K10.000 |
N0070 |
G00 X60.000 Z60.000 |
|
N0080 |
G53 G56 T0000 M30 |
|
-многопроходной цикл: |
||
N0010 |
G54 G92 X0.000 Z50.000 |
|
N0020 |
G59 |
|
N0030 |
G00 X60.000 Z60.000 |
|
N0040 |
T0101 |
|
N0050 |
G96 S120 F200 M03 |
|
599
N0060 G00 X42.000 Z2.000
N0070 G84 X16.000 Z-30.000 D3=2000 D0=1000 D2=1000
N0080 G00 X60.000 Z60.000
N0090 G53 G56 T0000 M30
-контурная обработка:
%
00001
(PROGRAM NAME - CONTOUR 1) N100 G21
N102 GO G17 G40 G49 G80 G90 (FREZA D5)
N104 Т1 Мб
N106 GO G90 G54 Х25. Y-27.5 S2000 М3 N108 G43 HI Z100.
N110 Z10.
N112 G1 Z-4. F100.
N116 X-27.5
N118 Y20.
N120 G2 X-20. Y27.5 R7.5 N122 G1X1.036 N124 X27.5 Y1.036 N126 Y-20. N128 G2 X20. Y-27.5 R7.5
N130 G1Z6.
N132 GO Z100.
N134 M5
N136 G91G28 ZO.
N138 G28 XO. YO.
N140 M30
%
00002
(PROGRAM NAME - CONTOUR2 ) N100 G21 N102 GO G17 G40 G49 G80 G90 ( FREZA D5 ) N104 T1 M6
N106 GO G90 G54 X25. Y-35. S2000 М3 N108 G43H1Z100.
N110 Z10.
N112 G1 Z-4.F100.
N114 G41 D1 Y-30.
N116 G3 Х20. Y-25. R5.
N118 Gl Х-25.
N120 Y20.
N122 G2 Х-20. Y25. R5.
N124 Gl Х0.
N126 X25. Y0.
N128 Y-20.
N130 G2 Х20. Y-25. R5.
600
