Audio/Variodyn

From eqqon

(Difference between revisions)
Jump to: navigation, search
m (Reverted edits by Zelenka (Talk); changed back to last version by Henon)
m
Line 1: Line 1:
 +
==subpages==
 +
{| class="eqqon_table2" style="text-align:right;"
 +
|------------
 +
||
 +
:[[Image:Awx terminal 2008 01 27.png|120px| |AudioWorx D1 Terminal]] [[/AudioWorx D1 Terminal]]
 +
|------------
 +
||
 +
:[[/PaProtocol]]
 +
 +
|}
 +
 +
==Overview==
Variodyn is the name of a paging system. the name itself an artificial word constructed from the word ''variable'' and ''dynamic'' - representing the properties of a new generation of paging systems - was introduced about 1975 at germany for the analog paging system developed by siemens.
Variodyn is the name of a paging system. the name itself an artificial word constructed from the word ''variable'' and ''dynamic'' - representing the properties of a new generation of paging systems - was introduced about 1975 at germany for the analog paging system developed by siemens.
Line 28: Line 40:
<p style="text-align:right">thanks to harry for helping</p>
<p style="text-align:right">thanks to harry for helping</p>
-
=The PA Protocol=
+
=Features of the Variodyn Systems=
-
The Variodyn D1 system can be controlled via commands transmitted via ethernet. the protocol used was designed around 1993 to handle new communication requirements. as initially designed for serial communication the protocol has a robust resynchronisation ability, and a weak checksum algorithm which can be implemented easily on small microcontrollers. Nowadays, the protocol is used inside a TCP channel to communicate with a controlling computer via ethernet. The TCP channel provides a session layer and also error correction and retransmission, so the weak checksum algorithm of the protocol itself is no longer a drawback.
+
<center>
 +
{| class="eqqon_table2" style="vertical-align:center; text-align:center; border-collapse:collapse;"
 +
|+ table: comparision of functions
 +
|--------------
 +
|| || '''Variodyn D1''' || '''Variodyn 3000''' || '''Variodyn 2030''' || '''Variodyn 2000'''
-
----
+
|-------------- style="border-top:1px solid; border-bottom:1px solid;"
-
;Version 7 (german only)
+
|colspan="5"|system complexity
-
This is the latest version used by Variodyn 3000 and early versions of the Variodyn D1 Software.
+
-
----
+
|--------------
-
;Version 8 (german only)
+
||modules || 9 || >50 || >70 || >50
-
Several extensions used by the Variodyn D1 System since Version 1.8 are added.
+
-
:supported by DOM V1.8, V1.9, V2.0, V2.1
+
-
----
+
|--------------
-
;Version 9 (english only)
+
||technology
-
: First there are some helper macros to keep the protocol layer simple for programming. All messages are created on the heap, with maximal message size. The read and write functions automatically convert to/from network byte order.
+
|| digital control<br>digital audio
 +
|| digital control<br>analog audio 
 +
|| digital control<br>analog audio 
 +
|| key and relay wired control<br>analog audio
-
/* helper macros to write pa protocol messages */
+
|-------------- style="border-top:1px solid; border-bottom:1px solid;"
-
#define PAMSG_MAXSIZE 10000
+
|colspan="5"|basic public address functions
-
typedef struct { unsigned char b[PAMSG_MAXSIZE], cs; int i; } pamsg_t;
+
-
+
-
#define pa_new_message(m, mid, d1,d2,d3,d4, s1,s2,s3,s4) \
+
-
  pamsg_t *(m) = (pamsg_t*)malloc(sizeof(pamsg_t));\
+
-
  (m)->i=0; (m)->cs=0;\
+
-
  (m)->b[(m)->i++]=0xfe;\
+
-
  pa_wr8(m,d1),pa_wr8(m,d2),pa_wr8(m,d3),pa_wr8(m,d4);\
+
-
  pa_wr8(m,s1),pa_wr8(m,s2),pa_wr8(m,s3),pa_wr8(m,s4);\
+
-
  pa_wr8(m,mid);\
+
-
  (m)->i=12;
+
-
+
-
#define pa_wr8(m,d) ((m)->b[(m)->i++]=(unsigned char)(d)>=0xf9?(m)->b[(m)->i++]=0xff,~(unsigned char)(d):(unsigned char)(d),(m)->cs+=(unsigned char)(d))
+
-
#define pa_wr16(m,d) (pa_wr8(m,(d)>>8),pa_wr8(m,(d)))
+
-
#define pa_wr32(m,d) (pa_wr8(m,(d)>>24),pa_wr8(m,(d)>>16),pa_wr8(m,(d)>>8),pa_wr8(m,(d)))
+
-
+
-
#define pa_finish_message(m) do{\
+
-
                        int j=(m)->i;\
+
-
                        if((j-12)%256>0xf9) memmove(&((m)->b[13]),&((m)->b[12]),j-12);\
+
-
                        (m)->i=10; pa_wr16(m,j-12);\
+
-
                        (m)->i=j;\
+
-
                        pa_wr8(m,0x100-(m)->cs);\
+
-
                        (m)->b[(m)->i++]=0xfd;\
+
-
                        }while(0)
+
-
+
-
#define pa_message_length(m) ((m)->i)
+
-
+
-
#define pa_delete_message(m) do { if(m) free(m); (m)=0; } while(0)
+
 +
|--------------
 +
||monitoring || yes || yes || yes || yes
-
;simple transmitter example - communication check
+
|--------------
-
:This example code creates a message from ''DOM 33'' to ''DOM32'' with message id 0x0b. There is one data byte (0x00) at the data body.
+
||autonomous generated signals || yes || yes || yes || yes
-
void main (void)
+
|--------------
-
  {
+
||autonomous audio storage || yes || yes || yes || no
-
  int i;
+
-
  pa_new_message(m, 0x0b, 0,33,1,0, 0,0x20,1,0);
+
-
  pa_wr8(m,0);
+
-
  pa_finish_message(m);
+
-
 
+
-
  /* send the message(m,pa_message_length(m)); */
+
-
 
+
-
  printf ("%10s [%d] bytes:","message",pa_message_length(m));
+
-
  for (i=0;i<pa_message_length(m);i++) printf (" %02x",m->b[i]); }
+
-
  printf("\n");
+
-
  pa_delete_message(m);
+
-
  }
+
-
;simple receiver example -  
+
|--------------
-
/* suggest - untested code sample
+
||sinal processing || yes || no || no || no
-
#define pa_validate_message(m) do{\
+
-
                        int j=(m)->i=0;\
+
-
                        if((j-12)%256>0xf9) memmove(&((m)->b[13]),&((m)->b[12]),j-12);\
+
-
                        (m)->i=10; pa_wr16(m,j-12);\
+
-
                        (m)->i=j;\
+
-
                        pa_wr8(m,0x100-(m)->cs);\
+
-
                        (m)->b[(m)->i++]=0xfd;\
+
-
                        }while(0)
+
-
int pa_validate_message(pamsg_t *m) {
+
-
  int j;
+
-
  for (j=0,m->i=0; i<PAMSG_MAXSIZE && m->b[m->i]!=0xfd; ++m->i) {
+
-
    if (m->b[m->i] > 0xf9) { ++j; m->b[j]=~m->b[j]; }
+
-
    m->b[m->i] = m->b[j];
+
-
    }
+
-
  if((j-12)%256>0xf9) memmove(&((m)->b[13]),&((m)->b[12]),j-12);\
+
-
  (m)->i=10; pa_wr16(m,j-12);\
+
-
  (m)->i=j;\
+
-
  pa_wr8(m,0x100-(m)->cs);\
+
-
  (m)->b[(m)->i++]=0xfd;\
+
-
}
+
-
*/
+
-
<div style="clear:both;"></div>
+
|--------------
-
==PA Protocol notes and examples==
+
||environmental noise compensation || yes || yes || no || no
-
===Example - activate and deactivate a audio route===
+
-
{| style="border-collapse:collapse; padding:0px; border-spacing:0px;"
+
-
|+'''sequence diagram'''
+
-
|------- style="width:100%; border-bottom:3px solid #e0e0e0;"
+
-
|colspan="3"|
+
-
{| style="width:100%;"
+
-
|-------
+
-
||client
+
-
|style="text-align:right;"|server
+
-
|}
+
-
|-------
+
-
|| ||[[Image:arrow_lr.png]] COMMAND activate route ||
+
-
|-------
+
-
|| ||[[Image:arrow_rl.png]] RESPONSE activate route ||
+
-
|-------
+
-
|| ||[[Image:arrow_rl.png]] RESPONSE destination busy info ||
+
-
|-------
+
-
|colspan="3"|if everything is well configured, the audio route is avtivated now
+
-
|-------
+
-
|| ||[[Image:arrow_lr.png]] COMMAND deactivate route ||
+
-
|-------
+
-
|| ||[[Image:arrow_rl.png]] RESPONSE deactivate route ||
+
-
|-------
+
-
|| ||[[Image:arrow_rl.png]] RESPONSE destination busy info ||
+
-
|}
+
-
<div style="clear:both;"></div>
+
|--------------
-
===Example - receiving system messages===
+
||multiple connections || yes || yes || yes, max 4 || no
-
<div style="clear:both;"></div>
+
|--------------
-
===Example - receiving audio route busy information===
+
||connection priority || yes || yes || no || no
 +
 
 +
|--------------
 +
||connection conflict management || yes || yes || no || no
 +
 
 +
|--------------
 +
||connect group of lines || yes || yes || no || no
 +
 
 +
|--------------
 +
||remote administration || yes || yes || no || no
 +
 
 +
|--------------
 +
||configuration || configuration tool, telnet || configuration tool, EIA232 || no || no
 +
 
 +
|--------------
 +
||alarm mode || yes || yes || no || no
 +
 
 +
|--------------
 +
||power amplifier replacement || yes || yes || no || no
 +
 
 +
|--------------
 +
||loudspeaker line survey || yes || yes || yes, hardware || no
 +
 
 +
|--------------
 +
||power amplifier survey || yes || yes || yes, hardware || no
 +
 
 +
|--------------
 +
||earthfault survey || yes || yes || yes, hardware || no
 +
 
 +
|--------------
 +
||networking || yes, eth100 || yes, EIA232 || no || no
 +
 
 +
|--------------
 +
||time scheduling of connections || yes || no || no || no
 +
 
 +
|--------------
 +
||time synchronization || yes || yes || no || no
 +
 
 +
|}
 +
</center>
 +
 
 +
----
 +
==external links==
 +
:[http://www.av-digital.at av digital, manufacturer]
 +
:[http://www.variodyn.de german]
 +
:[http://www.variodyn.be belgium]
 +
:[http://www.variodyn.nl netherlands]
 +
:[http://gp.co.at/works/variodyn Greger Pauschitz] design by gp

Revision as of 09:35, 25 February 2008

Contents

subpages

AudioWorx D1 Terminal /AudioWorx D1 Terminal
/PaProtocol

Overview

Variodyn is the name of a paging system. the name itself an artificial word constructed from the word variable and dynamic - representing the properties of a new generation of paging systems - was introduced about 1975 at germany for the analog paging system developed by siemens.

history of the variodyn system

Variodyn
the first system was an fully analog system, consisting of several components pre amplifiers, mixers and power amplifiers. the paging behavior of an installation was made by wiring contacts and relays. line relays were installed to get better control where the signal is distributed and get a better cost effort due power amplifiers are expensive. with the line relays it was possible to drive more lines, not using all the lines at the same time. we have no more information about the components.
status: not in production
Variodyn 2000, developed 1985 by siemens
this was also an analog system. the new innovation was to design all the components mechanical and electrical compatible, so that the components could be combined in thousands of variations by wiring at the rack. the components also had the necessary paging switches on board and used electronic switches instead of relays to switch audio. there was also a small audio matrix (4x4) supported by each component, and the audio switches were easy controllable by external contacts. the main behavior of the system had to be implemented by relays which were supported by some components implementing often used behavior.
status: not in production
Variodyn 2030, developed 1987 by siemens
this is an extension for the variodyn 2000 devices. all the devices were designed to plug on a interface for digital control. with this interface the audio switches of the devices were controllable by a microprocessor. new components were developed to get user interaction from keys and switches and show the system's operating states via lights to the user. the software was then controlling the behavior of the audio switches and allowed then more complex behavior to implement than it was possible using only relays.
status: not in production
Variodyn 3000, developed 1991 by siemens
this is an analog system digitally controlled. the innovation was to replace the expensive parallel control bus used by the Variodyn 2000 system by a serial bus. this reduced also rack wiring complexity and allowed to build up larger systems. all the components use relays to switch audio and allows to control digitally the audio volume at each device. a more powerful processor controlling the behavior was also developed. then the software was enabled with a lot of features for paging systems. a configuration phase was introduced defining the behavior and devices installed at the system.
status: not in production
Variodyn D1, developed 2004 by av digital
this is a fully digital distributed system. only 10 different components allow to build small installations and grow up to very large installations. the benefits are detailed described at several websites. the system has overridden the features older one. over hundred installations are running worldwide.
status: in production
links: av digital, manufacturer | german | belgium | netherlands | design by gp


Variodyn is a resistered trademark by av digital gmbh.

thanks to harry for helping

Features of the Variodyn Systems

table: comparision of functions
Variodyn D1 Variodyn 3000 Variodyn 2030 Variodyn 2000
system complexity
modules 9 >50 >70 >50
technology digital control
digital audio
digital control
analog audio
digital control
analog audio
key and relay wired control
analog audio
basic public address functions
monitoring yes yes yes yes
autonomous generated signals yes yes yes yes
autonomous audio storage yes yes yes no
sinal processing yes no no no
environmental noise compensation yes yes no no
multiple connections yes yes yes, max 4 no
connection priority yes yes no no
connection conflict management yes yes no no
connect group of lines yes yes no no
remote administration yes yes no no
configuration configuration tool, telnet configuration tool, EIA232 no no
alarm mode yes yes no no
power amplifier replacement yes yes no no
loudspeaker line survey yes yes yes, hardware no
power amplifier survey yes yes yes, hardware no
earthfault survey yes yes yes, hardware no
networking yes, eth100 yes, EIA232 no no
time scheduling of connections yes no no no
time synchronization yes yes no no

external links

av digital, manufacturer
german
belgium
netherlands
Greger Pauschitz design by gp