Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программное управление технологическим оборудованием

.pdf
Скачиваний:
1
Добавлен:
29.11.2025
Размер:
11.79 Mб
Скачать

Рис. 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

#define FOSC 7370000 #define FCY (FOSC / 2) _FOSCSEL(FNOSC_F RC)

#define BAUDRATE 9600

#define BRGVAL

(((FCY/BAUDRATE)/16)-1)

void main()

 

{

 

AD1PCFGL =

 

0xff;

 

TRISBbits.TRISB

 

2

= 1;

RPINR18bits.U1

 

RXR

= 2;

RPOR1bits.RP3R = 3;

U1MODEbits.ST

 

SEL

= 0;

U1MODEbits.PD

 

SEL

= 0b00;

U1MODEbits.BR

 

GH

= 0;

 

=

U1BRG

BRGVAL;

U1MODEbits.UA

 

RTEN

= 1;

U1STAbits.UTXE

 

N

= 1;

while (1)

{

if (U1STAbits.URXDA == 1)

{

//настройка работы микроконтроллера

//от внутреннего тактового генератора

//Задание скорости обмена

//Расчѐт предделителя

//Отключение входов АЦП

//Вход RX

//Задание выводу RP2 функции входа RX

//Задание выводу RP3 функции выхода TX

//1 стоп-бит

//8-битные данные, без бита чѐтности

//Работа модуля на обычной скорости

//Установка требуемой скорости

//Включить модуль UART

//Разрешение передачи данных

//Проверка буфера приѐмника

//на наличие данных

597

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]