Поиск по сайту:

 


По базе:  

микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Компоненты > Radiocrafts

реклама

 




Мероприятия:




Протокол связи RC232

Встроенный протокол связи RC232 (не путать с RS-232) реализован в целом ряде модулей RADIOCRAFTS.

Особенности протокола RC232

  • Пакетный протокол передачи данных с полностью реализованным уровнем доступа к среде MAC (Medium Access Control)
  • "Прозрачный" и буферизированный режимы передачи данных
  • Адресация
  • Физический радиоканал (нижний уровень)
  • Несколько схем пониженного энергопотребления
  • Простой UART интерфейс
  • Совместимость с RS232/422/485
  • Возможность реализации аппаратного управления потоком данных
  • Реализация различных топологий для передачи данных
    • Точка-точка
    • Точка - несколько модулей (звезда)
    • Peer-to-peer (P2P)

Протокол RC232 позволяет организовать работу нескольких модулей в одной зоне при условии "радиовидимости". Необходимо помнить, что по этому протоколу работают все модули, кроме серии RC 22xx. Количество одновременно работающих в зоне модулей может достигать 65536 - 256 кластеров по 256 модулей в каждом кластере. При этом модули могут работать в следующих режимах:

  • Пакетном режиме - "буферированном". При этом передаваемые через последовательный порт байты накапливаются в о внутреннем буфере, а затем передаются в эфир пакетом определенного формата;
  • Прозрачном асинхронном режиме - "не буферированном". Заявленный режим возможен как частный случай пакетного режима с числом байтов данных в пакете равным единице;
  • Параметр PACKET_LENGTH изменяет размера внутреннего буфера, по заполнении которого данные передаются в эфир. Передача данных может быть инициирована также при обнаружении символа окончания пакета - параметр PACKET_END_CHARACTER или по "тайм-ауту" - паузе в передаче байтов через последовательный порт - параметр PACKET_TIMEOUT;
  • Адресация передаваемых данных определенному модулю в кластере или всем модулям в кластере. Каждый модуль имеет адрес кластера SYSTEM_ID и собственный адрес в кластере. Значения UNIQUE_ID должны быть различными у модулей в одном кластере. Для передачи данных необходимо задать адрес модуля, которому они предназначены - DESTINATION_ID. Таким образом DESTINATION_ID должен содержать UNIQUE_ID адресуемого модуля.

Принцип адресации модулей для передачи данных в конфигурации точка-точка

В случае широковещательной посылки, когда данные предназначены всем модулям в кластере в регистр DESTINATION_ID записывается значение широковещательной посылки BROADCAST_ID, по умолчанию равной 0хFF = 255

Принцип адресации модулей при широковещательной посылке

  • Включать или отключать верификацию передаваемых данных с использованием циклического избыточного кода (CRC) - параметр CRC_MODE. Если верификация включена и принят пакет с ошибкой, он не передается на выход последовательного порта и теряется. Для того, чтобы не терять ошибочные данные, верификацию необходимо отключить. В этом случае, задача анализа ошибок должна решаться в программе пользователя.

Все модули серий RC10x0, RC12x0, RC2000 и RC2100 имеют асинхронный последовательный интерфейс UART и синхронный последовательный интерфейс, подобный I2C.

UART поддерживает работу как с управлением потоком (flow control), так и без него - параметр DATA_INTERFACE. Поскольку данные, поступающие через UART, накапливаются во внутреннем буфере, рекомендуется использовать режим с управлением потоком с помощью сигналов CTS, RTS (задaется параметром UART_FLOW_CTRL). Скорость передачи данных через UART составляет 19200 кБод и может быть изменена только у модулей серии RC12x0 UART_BAUD_RATE. UART также позволяет работать с интерфейсом RS485. При этом вывод CTS/RXTX/RXEN соединяется с выводом управления передачей (приемом) микросхемы-драйвера RS485.

Параметры конфигурации модуля можно считать из памяти по команде "Test mode 0" (символ "0", шестнадцатиричное значение 0х30) и просмотреть с помощью программы Look RS232 или принять поток байтов параметров с помощью контроллера в embedded устройстве. Программа Hyperterminal, к сожалению, не позволяет корректно отобразить параметры модуля. Параметры конфигурации модуля и их адреса представлены в таблице.

Таблица. Параметры конфигурации модуля и их адреса

Parameter Description Address hex Argument dec Factory setting hex (dec) Comment
Radio configuration
RF_CHANNEL Default RF channel 0x00 RC1040: 1-5
RC1080: 1-8
RC1090: 1-9
RC1240: 1-69
RC1250: 1-80
RC1280: 1-80
RC1290: 1-51
0x03 (3)
0x02 (2)
0x05 (5)
0x36 (54)
0x31 (49)
0x29 (41)
0x1A (26)
See data sheet for channel frequencies. For variants not listed here, refer to the specific data sheet.
RF_POWER Default RF output power 0x01 RC1040: 1-5
RC1080: 1-5
RC1090: 1-5
RC1240: 1-5
RC1250: 1-5
RC1280: 1-5
RC1290: 1-5
0x05 (5)
0x05 (5)
0x05 (5)
0x05 (5)
0x05 (5)
0x05 (5)
0x04 (4)
See data sheet for output power levels. For variants not listed here, refer to the specific data sheet.
RF_DATA_RATE Default RF data rate 0x02 RC10x0: 1-5
RC1240: NA
RC1250: NA
RC1280: NA
RC1290: 3-5
0x05 (5)
0x03 (3)
0x02 (2)
0x03 (3)
0x03 (3)
RC1240 and RC1280 have fixed data rate.
1: 1.2 kbit/s
2: 2.4 kbit/s
3: 4.8 kbit/s
4: 9.6 kbit/s
5: 19.2 kbit/s
For variants not listed here, refer to the specific data sheet.
Reserved   0x03   0x00 (0)  
Reserved   0x04   0x02 (2)  
RSSI_MODE RSSI mode 0x05 RC10x0 only:
0:Disabled
1: Analogue RSSI enabled
0x01 (1) RC12x0 does not have analogue RSSI. Use the 'S' command instead.
Reserved   0x06   0x64(100)  
Reserved   0x07   0x00 (0)  
Reserved   0x08   0x00 (0)  
Reserved   0x09   0x00 (0)  
Radio packet configuration
PREAMBLE_LENGTH   0x0A 4-8 bytes 0x08 (8) Do not set above 8
SOF_CHARACTER   0x0B-0x0D   0xD391D A Do not change
ABSOLUTE_MAX_PACKET_LENGTH   0x0E   0x80 (128) Limited by hardware. Do not change.
PACKET_LENGTH Max packet length. When buffer is full, modem will transmit data 0x0F 0x01-0x80 (1-128) 0x80 (128)  
PACKET_TIMEOUT Time before modem timeout and transmit buffered data 0x10 0x00-0xFE
(0-254)
0x00 (0): None
0x01 (1): 32 ms
0x02 (2): 48 ms
0x03 (3): 64 ms
0x7C (124): 2 s
0xF9 (249): 4 s
0x7C
(124)
None means packet timeout is disabled (not 0 s). Use packet length or end character instead. Timeout value is (PACKET_TIMOEOUT x16 ms) + 0/16 ms min/max 0xFE (254) is max, giving 4.080 sec. Default is 2 s = 0x7C (124)
PACKET_END_CHARACTER   0x11 0: None
0x0D (13): CR
0x0A (10): LF
0x5A (90): 'Z'
0x00 (0) ASCII character
Medium access, addressing and network management
Reserved   0x12   0x02 (2)  
MAC_MODE   0x13 0:Transparent
1: Buffered
0x01 (1) Transparent means using RXEN and TXEN.
ADDRESS_MODE   0x14 0: No addressing
1: Reserved
2: Use addressing
0x02 (2) Using addressing adds SYSTEM_ID and DESTINATION_ID to the radio packet. Set to 0 in transparent mode.
CRC_MODE   0x15 0: None
2: CRC16
0x02 (2) Set to 0 in transparent mode.
Reserved   0x16   0x00 (0)  
Reserved   0x17   0x00 (0)  
Reserved   0x18   0x00 (0)  
UNIQUE_ID Unique ID (UID) 0x19 0-255 0x01 (1)  
SYSTEM_ID System (net or family) ID (SID) 0x1A 0x00-0xFF (0-255) 0x01 (1)  
Reserved   0x1B   0x0A (10)  
Reserved   0x1C   0x0A (10)  
Reserved   0x1D   0x0A (10)  
Reserved   0x1E   0x0A (10)  
Reserved   0x1F   0x01 (1)  
Reserved   0x20   0x01 (1)  
DESTINATION_ID Default destination address 0x21   0x01 (1) Set to same as BROADCAST_ADDRESS when broadcasting.
Reserved   0x22   0x01 (1)  
Reserved   0x23   0x00 (0)  
Reserved   0x24   0x00 (0)  
Reserved   0x24   0x00 (0)  
Reserved   0x26   0x00 (0)  
Reserved   0x27   0x04 (4)  
BROADCAST_ADDRESS Broadcast address 0x28 0x00-0xFF (0-255) 0xFF (255) All nodes accept messages to this address.
Reserved   0x29   0x08 (8)  
Reserved   0x2A   0x00 (0)  
Reserved   0x2B   0x00 (0)  
Reserved   0x2C   0x00 (0)  
Reserved   0x2D   0x00 (0)  
Reserved   0x2E   0x00 (0)  
Reserved   0x2F   0x00 (0)  
Data and configuration interface, UART Serial Port
UART_BAUD_RATE Baud rate 0x30 RC12x0 only:
0x00: Not used
0x01: 600
0x02: 1200
0x03: 2400
0x04. 4800
0x05: 9600
0x06: 19200
0x06 (6) BE CAREFUL IFCHANGING AS HOST MAY LOOSE CONTACT WITH MODULE! Does not take effect until module is re-booted /reset. RC10x0 UART baud rate cannot be changed.
Reserved   0x31   0x08 (8)  
Reserved   0x32   0x00 (0)  
Reserved   0x33   0x01 (1)  
Reserved   0x34   0x05 (5)  
UART_FLOW_CTRL UART flow control 0x35 0: None
1:CTS only
3:CTS/RTS
4:RXTX(RS485)
0x00 (0) Set to 0 in transparent mode.
DATA_INTERFACE Data interface 0x36 0x00: UART using RXD and TXD 0x01: Synchronous interface (SDA, SCL) using RXEN and TXEN for direction control 0x00 (0) When buffered mode is selected for MAC_MODE use UART. For flow control, see above. When transparent mode is selected for MAC_MODE use Synchronous interface.
Reserved   0x37   0x01 (1)  
Re served   0x38   0x2B (43)  
Reserved   0x39   0x00 (0)  
Reserved   0x3A   0x01 (1)  
Exit from memory configuration   0xFF No argument should be sent   To exit from command mode the 'X' command must be sent after '>' is received.

Модули управляются системой команд через последовательный порт. Можно выполнить настройку, используя программу для работы с последовательным портом ПК , например "Hyperterminal", подключив модуль с помощью микросхемы-адаптера RS-232. Такое сопряжение уже выполнено на плате из комплекта разработчика. Никакого специального программного обеспечения не требуется. Команды позволяют изменять параметры модуля - частотный канал, мощность передатчика, адрес модуля в кластере, номер кластера, скорость передачи данных, считывать уровень сигнала в приемном тракте (RSSI) и другие.

Перечень команд для управления модулем приведен в таблице.


Parameter Command Argument in hex (decimal) Note
Channel 'C' - 0x43 RC1040: 0x01-0x05 (1-5)
RC1080: 0x01-0x08 (1-8)
RC1090: 0x01-0x09 (1-9)
RC1240: 0x01-0x45 (1-69)
RC1250: 0x01-0x50 (1-80)
RC1280: 0x01-0x50 (1-80)
RC1290: 0x01-0x33 (1-51)
Data is stored in volatile memory only. For variants not listed here, refer to the specific data sheet.
Output power 'P' - 0x50 0x01-0x05 (1-5) Data is stored in volatile memory only.
Signal Strength (RSSI) 'S' - 0x53 RC12x0: return one byte indicating the signal strength
RC10x0: No function
 
Destination address 'T' - 0x54 0x00 - 0xFF (0-255) Data is stored in volatile memory only.
Memory configuration 'M' - 0x4D (Address, Data): see list of parameters below. 0xFF exits memory configuration. Used to enter memory configuration menu. Parameters changed are stored in non-volatile memory.
Exit command 'X' - 0x58 (none) Exit to normal operation mode. All changes of parameters take effect.
Sleep mode 'Z' - 0x5A (none) CONFIG pin must be asserted while in SLEEP mode. Exit sleep mode by releasing CONFIG pin.
Test mode 0 '0' - 0x30 (none) List all configuration memory parameters
Test mode 1 '1' - 0x31 (none) TX carrier (lower FSK frequency)
Test mode 2 '2' - 0x32 (none) TX modulated signal RC10x0: FSK square wave
RC12x0: PN9 sequence
Test mode 1 must be used before 2 can be used. Return to Test mode 1 before exiting configuration mode

Таким образом, можно реконфигурировать сеть в процессе работы. Модуль переводится в режим конфигурирования отрицательным перепадом напряжения на выводе CONFIG. Выход из режима конфигурирования производится подачей команды 0xFF (Exit from memory configuration), после чего происходит запись установок в энергонезависимую память. Команда "X" переводит модуль в рабочий режим, теперь все байты, принимаемые по последовательному порту, интерпретируются, как данные.

Ниже для примера приведена последовательность действий по настройке модуля на 3-й канал:

  1. Подать низкий логический уровень на вывод CONFIG
  2. После подтверждения ">" подать на CONFIG высокий логический уровень
  3. Команда "C" (0х43) ответ модуля - ">"
  4. Аргумент "3" (0х03) дожидаемся ответа модуля - ">"
  5. Выход из режима конфигурации - команда "Х" (0х58)





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru
©1998-2023 Рынок Микроэлектроники