ENGLISH SYSTEM ARCHITECTURE In order to control the DMA series amplifiers through the communication protocol, the following devices are required: 1. a PC <> RS485 converter, for example usb <> RS485; 2. an RS485 <> RDNET converter (on RJ45 connector). This device shall map on the RS485 connector (for example DB-9) the pinout necessary to communicate with the DMA device via RDNet protocol.
Page 5
Note Through this architecture it is possible to control only the devices connected via the RDNET BOARD DMA accessory, and therefore it is not possible to control the devices connected via BUS, as shown in the following figure.
1 stop Bus maximum length 600 m (optimum) 1000 m (maximum) Physical layer of communication between central and remote units EIA-485 Dynamic assignment of addresses to remote units Addressing mode Unicast/Broadcast SYSTEM REQUIREMENTS Firmware version DMA 82 DMA 162 DMA 162P...
COMMUNICATION FRAME DESCRIPTION The communication frame is made of a sequence of bytes ordered as follows: The message frame begins with the STX symbol and ends with the ETX symbol. In this way, if the destination loses the boundaries of a frame, regains it when the next STX and ETX pair arrive. However, there is a problem: in the transmission of binary data, the byte corresponding to the STX and ETX encoding can appear inside the frame, introducing confusion.
Page 8
The range of addresses is divided as follows: • The ADDR = 0x00 address corresponds to the default address of each slave. • The address ADDR = 0XFF is reserved for broadcast messages that all slaves recognize. After the ADDR field the LENGTH field comes which indicates the length in bytes of the DATA field. The CMD field is used to indicate to the slave the type of action to be taken.
Page 9
In the event of no response or incorrect response (mismatched control codes), the master makes some attempts to interrogate the same slave. The master can easily discriminate the type of response from the length, in fact: no data implies a positive response, a length equal to 1 identifies an error, otherwise the data relating to the query are reported.
REGISTRATION SEQUENCE To be able to logically distinguish the slaves from each other, it is necessary to assign a unique address to each node connected on the line. This assignment is made dynamically during the bus start-up phase. Sequentially, starting from the remote unit physically closest to the master, an address is assigned for each slave. In this way the master gets the arrangement of the remote units, knowing their relative position.
Page 11
Registration takes place according to the following block diagram:...
Page 12
Procedure description: 1. The Master unit sets ID_SLAVE = 1 as the first address to be assigned to the first Slave unit on the line. The Master unit sends the SET_ID command to assign address. This command has as the address of the recipient the value ADDRESS = 0, regardless of the Slave unit to which it is transmitted and as the only DATA [0] = ID_SLAVE = 1.
Page 13
If the Slave unit with address SLAVE_ID = n does not respond with an ACK command, the Master unit retries sending the command after a timeout period. If the expected number of attempts is exceeded, an exception is raised in the registration procedure (SET_ID = TRUE, SET_RELE = TRUE, RESET_TIMER_RELE = FALSE).
PROTOCOL COMMANDS SLAVE STATUS REQUEST Description: sends the status request to the slave. The slave responds with a sequence of N bytes describing the status of the device. <FUNCTION> <ADDRESS> <LENGTH> <CMD> <DATA[0..N-1]> Slave status request ACK sending <DATA[0..10]> No ACK sending ERROR CODE PAYLOAD STATUS BYTE 1...
Page 15
BYTE 4 - channel 2 signal value BYTE 5 - reserved BYTE 6 - reserved BYTE 7 - live flags: - bit 1: paging on air (1 on air, 0 no active) - bit 2: OUT A busy - bit 3: OUT B busy - bit 4: reserved - bit 5: reserved - bit 6: reserved...
Page 16
ACK sending No ACK sending ERROR CODE SLAVE RELÈ CLOSING Description: forces the closing of the relay, the LINK line is deactivated and the slave terminates the communication channel. The slave responds with the sequence ACK or No ACK before switching. <FUNCTION>...
Page 18
- bit 8: not used BYTE 6 to 8 - reserved BYTE 9 - input code OUT A BYTE 10 to 31 - reserved BYTE 32 to 35 - volume OUT B BYTE 36 - OUT B flags: - bit 1: reserved - bit 2: reserved - bit 3: mute flag - bit 4: not used...
Page 19
BYTE 149 to 160 - reserved BYTE 161 to 164 - mono volume PAGING BYTE 165 to 176 - reserved OUTPUTS COMMANDS CODE 0x31 SET VOLUME OUTPUT BYTE 1 - output code BYTE 2 to 5 - gain value CODE 0x32 SET GENERAL VOLUME OUTPUT BYTE 1 to 4 - gain value OUT A...
Page 20
- bit 1: mute/unmute flag OUT A (1/0) - bit 2: mute/unmute flag OUT B (1/0) - bit 3: mute/unmute flag OUT C (1/0) - bit 4: mute/unmute flag OUT D (1/0) - bit 5: not used - bit 6: not used - bit 7: not used - bit 8: not used CODE 0x3E...
Page 21
CODE 0x42 GENERAL VOLUME INPUT BYTE 1 to 4 - gain value IN1 L BYTE 5 to 8 - gain value IN1 R BYTE 9 to 12 - gain value IN2 L BYTE 13 to 16 - gain value IN2 R BYTE 17 to 20 - gain value EXT L BYTE 21 to 24...
DMA 162P COMMANDS <FUNCTION> <ADDRESS> <LENGTH> <CMD> <DATA[0..N-1]> COMMAND CODE ACK sending CODE <DATA[0..10]> No ACK sending CODE ERROR CODE PAYLOAD STATUS INIT COMMANDS CODE 0x11 INIT GENERAL BYTE 1 - fw revision BYTE 2 - general flags: - bit 1: stereo/mono flag OUT A e B - bit 2: reserved - bit 3: bridge mode flag OUT A e B - bit 4: reserved...
Page 23
- bit 8: not used BYTE 6 to 8 - reserved BYTE 9 - input code OUT A BYTE 10 to 31 - reserved BYTE 32 to 35 - volume OUT B BYTE 36 - OUT B flags: - bit 1: reserved - bit 2: reserved - bit 3: mute flag - bit 4: not used...
Page 24
OUTPUTS COMMANDS CODE 0x31 SET VOLUME OUTPUT BYTE 1 - output code BYTE 2 to 5 - gain value CODE 0x35 ROUTING BYTE 1 - output code BYTE 2 - input code CODE 0x3A SET MUTE OUTPUT BYTE 1 - output code BYTE 2 - mute flag: - bit 1: mute/unmute flag...
Page 25
- bit 5: not used - bit 6: not used - bit 7: not used - bit 8: not used OUPUT CODES OUT A 0x01 OUT B 0x02 INPUT CODES 0x01 0x02 CH3_IN1_R (*) 0x03 CH4_IN1_L (*) 0x04 IN1 L+R 0x05 (*) Bus channel 3 and 4 are physically overlaid with the inputs RCA1L and RCA1R.
ITALIANO ARCHITETTURA DEL SISTEMA Per poter controllare gli amplificatori della serie DMA attraverso il protocollo di comunicazione sono necessari i seguenti dispositivi: 4. un convertitore PC <> RS485, ad esempio usb <> RS485; 5. un convertitore RS485 <> RDNET (su connettore RJ45). Questo dispositivo deve mappare sul connettore RS485 (ad esempio DB-9) il pinout necessario per dialogare con il dispositivo DMA tramite protocollo RDNet.
Page 27
Nota Tramite questa architettura è possibile controllare solo i dispositivi collegati tramite scheda accessoria RDNET BOARD DMA, e non è quindi possibile controllare i dispositivi collegati tramite BUS, come mostrato nella figura seguente.
600 m (optimum) 1000 m (maximum) Layer fisico di comunicazione tra unità centrale ed unità remote EIA-485 Assegnazione dinamica degli indirizzi alle unità remote Modalità di indirizzamento Unicast/Broadcast REQUISITI DI SISTEMA Revisione firmware minima DMA 82 DMA 162 DMA 162P...
DESCRIZIONE DEL FRAME DI COMUNICAZIONE Il frame di comunicazione è composto da una sequenza di byte così ordinati: Il frame di messaggio inizia con il simbolo di STX e termina con il simbolo di ETX. In questo modo, se la destinazione perde traccia dei confini di un frame la riacquista all'arrivo della prossima coppia STX e ETX.
Page 30
L’intervallo di indirizzi è stato così suddiviso: • L’indirizzo ADDR = 0x00 corrisponde a quello di default di ogni slave. • L’indirizzo ADDR = 0XFF è riservato per i messaggi di broadcast che tutti gli slave riconoscono. Dopo il campo di ADDR segue il campo di LENGTH che indica la lunghezza in byte del campo DATA. Il campo CMD serve ad indicare allo slave il tipo di azione da intraprendere.
Page 31
Il master, nel caso di mancata risposta o di risposta errata (codici di controllo non corrispondenti) effettua di seguito alcuni tentativi di interrogazione dello stesso slave. Il master discrimina facilmente il tipo di risposta dalla lunghezza, infatti: nessun dato implica una risposta positiva, una lunghezza pari ad 1 identifica un errore, diversamente vengono riportati i dati relativi all’interrogazione.
SEQUENZA DI REGISTRAZIONE Per poter distinguere logicamente gli slave tra loro, è necessario assegnare un indirizzo univoco a ciascuno nodo collegato sulla linea. Tale assegnazione viene fatta in modo dinamico in fase di start-up del bus. In modo sequenziale, a partire dalla unità remota fisicamente più vicina al master, viene assegnato un indirizzo per ogni slave.
Page 33
La registrazione avviene secondo il seguente schema a blocchi:...
Page 34
Andando a descrivere la procedura: 11. L’unità Master imposta come primo indirizzo da assegnare alla prima unità Slave della linea ID_SLAVE = 1. L’unità Master invia il comando SET_ID di assegnazione indirizzo. Tale comando ha come indirizzo del destinatario il valore ADDRESS = 0, indipendentemente dalla unità Slave a cui viene trasmesso e come unico DATA[0] = ID_SLAVE = 1.
Page 35
18. Se l’unità Slave di indirizzo SLAVE_ID = n riceve correttamente tale comando per l’arresto del timer di controllo del timeout del relè risponde con un comando di ACK all’unità Master. La procedura continua al punto 9. Se l’unità Slave di indirizzo SLAVE_ID = n non risponde con un comando di ACK, l’unità Master ritenta l’invio del comando dopo un periodo di timeout.
COMANDI DI PROTOCOLLO RICHIESTA STATUS SLAVE Descrizione: inoltra allo slave la richiesta di status. Lo slave risponde con una sequenza di N byte che descrivono lo stato del dispositivo. <FUNCTION> <ADDRESS> <LENGTH> <CMD> <DATA[0..N-1]> Richiesta Status Slave Invio ACK <DATA[0..10]> Invio No ACK CODICE ERRORE PAYLOAD STATUS...
Page 37
BYTE 4 - channel 2 signal value BYTE 5 - reserved BYTE 6 - reserved BYTE 7 - live flags: - bit 1: paging on air (1 on air, 0 no active) - bit 2: OUT A busy - bit 3: OUT B busy - bit 4: reserved - bit 5: reserved - bit 6: reserved...
Page 38
APERTURA RELÈ SLAVE Descrizione: impone l’apertura del relè (posizione di bypass INPUT to LINK, questo slave non sarà più terminato). Lo slave risponde con la sequenza ACK o No ACK prima di eseguire la commutazione. <FUNCTION> <ADDRESS> <LENGTH> <CMD> <DATA[0..N-1]> Apertura Relè...
Page 40
- bit 8: not used BYTE 6 to 8 - reserved BYTE 9 - input code OUT A BYTE 10 to 31 - reserved BYTE 32 to 35 - volume OUT B BYTE 36 - OUT B flags: - bit 1: reserved - bit 2: reserved - bit 3: mute flag - bit 4: not used...
Page 41
BYTE 149 to 160 - reserved BYTE 161 to 164 - mono volume PAGING BYTE 165 to 176 - reserved OUTPUTS COMMANDS CODE 0x31 SET VOLUME OUTPUT BYTE 1 - codice output BYTE 2 to 5 - valore guadagno CODE 0x32 SET GENERAL VOLUME OUTPUT BYTE 1 to 4 - valore guadagno OUT A...
Page 42
- bit 1: mute/unmute flag OUT A (1/0) - bit 2: mute/unmute flag OUT B (1/0) - bit 3: mute/unmute flag OUT C (1/0) - bit 4: mute/unmute flag OUT D (1/0) - bit 5: not used - bit 6: not used - bit 7: not used - bit 8: not used CODE 0x3E...
Page 43
CODE 0x42 GENERAL VOLUME INPUT BYTE 1 to 4 - valore guadagno IN1 L BYTE 5 to 8 - valore guadagno IN1 R BYTE 9 to 12 - valore guadagno IN2 L BYTE 13 to 16 - valore guadagno IN2 R BYTE 17 to 20 - valore guadagno EXT L BYTE 21 to 24...
COMANDI DMA 162P <FUNCTION> <ADDRESS> <LENGTH> <CMD> <DATA[0..N-1]> COMANDO CODE Invio ACK CODE <DATA[0..10]> Invio No ACK CODE CODICE ERRORE PAYLOAD STATUS INIT COMMANDS CODE 0x11 INIT GENERAL BYTE 1 - revisione fw BYTE 2 - general flags: - bit 1: stereo/mono flag OUT A e B - bit 2: reserved - bit 3: bridge mode flag OUT A e B - bit 4: reserved...
Page 45
- bit 8: not used BYTE 6 to 8 - reserved BYTE 9 - input code OUT A BYTE 10 to 31 - reserved BYTE 32 to 35 - volume OUT B BYTE 36 - OUT B flags: - bit 1: reserved - bit 2: reserved - bit 3: mute flag - bit 4: not used...
Page 47
- bit 5: not used - bit 6: not used - bit 7: not used - bit 8: not used CODICI OUPUT OUT A 0x01 OUT B 0x02 CODICI INPUT 0x01 0x02 CH3_IN1_R (*) 0x03 CH4_IN1_L (*) 0x04 IN1 L+R 0x05 (*) Il canale bus 3 e 4 sono fisicamente sovrapposti con gli ingressi RCA1L e RCA1R.
Need help?
Do you have a question about the DMA 82 and is the answer not in the manual?
Questions and answers