T V S 5 0 1 A O P E R A T I O N _____________ _________________ [Programming Instructions] (Version 21) March 30, 1987 This manual describes the how to initialize and control the TVS501A repeater controller. Examples are given following the initial instructions. DTMF tones are required to communicate with the controller. One source of programming on the bench is to connect the speaker output of an auto-patch capable handheld to the audio input and adjust the levels as described in the installation instructions. In normal remote operation, the audio input would be connected to the speaker terminals of a control receiver, or to a telephone line. The device has several control modes. The initial programming mode is used to enter the maintenance mode password into the system, and to initialize any other parameters: The initial programming mode is enabled by a jumper. When the jumper is not installed, the maintenance mode password cannot be set, thus protecting remote sites from inadvertent changes. The maintenance programming mode is entered using the maintenance password. It allows all parameters to be set other than the maintenance password. It also allows the control password to be set. The normal control mode sets repeater parameters and modes. It is accessed by the normal control password sequence. If enabled by a maintenance mode option, this mode can change operating parameters. Otherwise it can only affect operational status: on/off, timers, controlled outputs, and alarms. The user control mode, if enabled, allows non- priviledged users to query certain system status information, to control digital output number 3, and to request temporary access to the link. 1 Any control mode may be exited by entering "*" at the function level. A function may be aborted after the first digit is entered by entering "*" or "#". In order to enter the initial parameters of the system, the program mode resistor (designated J2) must be connected between +5 and Pin 1 of U6. The following control sequence should then be entered, regardless of whatever sounds may be coming from the uninitialized system: "###42123". This will cause the system to initialize the EEPROM with default values. Some of these values will be later changed to customize the installation. Before this step, the behavior of the processor will be unpredictable. The ID will be random, the timers will be random, and the response tones may or may not be present. The initial parameter set function takes about 30 seconds, and will key PTT once a second while it is operating. In order to enter the maintenance mode password (master password), the program mode resistor (designated J2) must be connected between +5 and Pin 1 of U6. At that point, entering "###" (via DTMF) will enter the initial program mode. The system will respond "RDY" . The EEPROM Entry Mode function ("88") should then be entered to allow modification of the EEPROM. The "Set Maintenance Password" function ("49") should then be entered. The system will respond with "GO" in Morse Code. The maintenance password should then be entered using the following decimal entry procedure: The password may be from 1 to 8 digits in length. Each digit is entered as the binary number corresponding to the DTMF digit, as follows: "0" = 000, "1" = 001, "2" = 002, etc, "A" = 013, "B" = 014, "C" = 015, "D" = 010. Pound and Asterisk may not be used in the password. Note: The last digit of the password must have the code value plus 128. Thus, if the last digit is "4", it should be entered as "132". When the last digit has been entered, the system will respond with "RDY". While in this mode, all other functions may also be used. It is recommended that when the initial parameters have been set, J2 should be cut. This will avoid inadvertently leaving the system vulnerable to remote programming by those without the password. To enter Normal Control Mode, one sends "#" followed by the correct control password. A reply of "RDY" means entry was successful, while no response is given for failure. To enter Maintenance Control Mode, one sends "##*" followed by the maintenance control password. 2 When entering any control mode, the access codes must be entered within 10 seconds or the attempt will time out and "CTO" will be heard. Control sequences are then entered as two digit codes. Any control sequence which alters EEPROM parameters cannot be entered until the system is in the EEPROM Entry Mode. This is accomplished with function "88". There is a timer on control functions. The timer expires a set time after the last digit of a control sequence has been entered. When it times out, "CTO" is heard, and the system leaves control mode. Any control mode can be turned off manually with "*". A function can be cancelled after the first digit by "#". User Control Mode is entered by "##" followed by the one digit site ID. This allows users to read the uncommitted inputs and the alarm lead states. This mode may be disabled by a command entered from password protected control modes. All functions requiring decimal entry require the following procedure: Enter the function code; The system responds "GO"; Enter 3 digits of decimal; The system will again prompt "GO"; Enter 3 more; Keep it up until the last digit has been entered; If a value greater than 127 was entered, the system will treat it as the last digit and exit this mode; otherwise, the last digit must be followed by "*". [Not recommended] 3 C O N T R O L E X A M P L E S The examples show the various methods of controlling the system. Following the examples is a detailed description of each control function. To enter a Maintenance Password of "123": "###" ==> RDY (With programming jumper in) "88" ==> RDY (Set EEPROM Change Mode) "49" ==> GO (Set Maintenance Password) "001" ==> GO (Set "1") "002" ==> GO (Set "2") "131" ==> RDY (Set "3" as last: 3 + 128 => 131) "*" ==> S (optional: Exit Control Mode) (Remove programming jumper) To enter a Control Password of "321", and to allow normal control mode to change parameters: "#123"==> RDY (Enter Maintenance Control Mode) "88" ==> RDY (Set EEPROM Change Mode) "30" ==> GO (Set Control Password) "003" ==> GO (Set "3") "002" ==> GO (Set "2") "129" ==> RDY (Set "1" as last: 1 + 128 => 129) "47" ==> RDY (Enable normal mode to change parms) "*" ==> S (optional: Exit Control Mode) To enter an ID of "DE AB" from normal control mode if enabled: "#321"==> RDY (Enter Normal Control Mode) "88" ==> RDY (Set EEPROM Change Mode) "31" ==> GO (Set ID) "068" ==> GO (Set "D" - see below) "069" ==> GO (Set "E") "032" ==> GO (Set space"); "064" ==> GO (Set "A") "193" ==> RDY (Set "B" as last) Now to enter a reset timer of one half second: "24" ==> GO (Set Reset Timer Function) "005" ==> RDY (5 x 100 Milliseconds) To exit Normal Control Mode: "*" ==> S (Exit Control Mode) 4 C O N T R O L C O D E S The following notes apply to control codes: [1] - May be used in user control mode [2] - Always available in normal control mode [3] - Optionally available in normal control mode [4] - Only available in maintenance mode [5] - Only available if programming jumper is present "00" - [2] Reset Processor (This tests the watchdog timer). "01" - [2] Enable Repeater. "02" - [2] Disable Repeater. "03" - [2] Enable Link Access. "04" - [2] Disable Link Access. "05" - [2] Enable Timer. "06" - [2] Disable Timer. "07" - [3] Enable Reset Beep. "08" - [3] Disable Reset Beep. "09" - [3] Set Response Time. This is the interval between when the last digit of a control sequence is entered until the controller gives its morse code response. The value is entered in 100 millisecond units. Thus, "002" sets a .2 second delay. "10" - [2] Set Output Zero (CPU Pin 25, Collector PP). "11" - [2] Clear Output Zero. "12" - [2] Set Output One (CPU Pin 26). "13" - [2] Clear Output One. "14" - [2] Set Output Two (CPU Pin 28). "15" - [2] Clear Output Two. "16" - [3] Set Analog Alarm Low Threshold. If analog input #3 drops below this value, the analog alarm will be triggered. The value is in digitizer counts with a minimum of 000 corresponding to zero volts, and a maximum of 255 5 corresponding to the maximum value for that converter. For example, to set a mimimum value of three volts when the converter is scaled for a maximum of five volts (see function 41), one would enter the value (3/5)*255 which is 153. After this is set, any time the voltage falls below 3 volts, the alarm will be triggered, and will remain triggered until reset by function 24. A value of 000 here will prevent the low-alarm from triggering. "17" - [3] Set Analog Alarm High Threshold. If the analog input number 3 voltage rises above this value, the analog alarm is set. The value is calculated using the method described above for function 16. A value of 255 here will prevent the high-alarm from triggering. "18" - [3] Enable Fast Reset. This causes the time out timer to reset immediately after COR goes away (goes high). "19" - [3] Disable Fast Reset. The time out timer is reset after COR goes away plus the time in the reset timer parameter. "20" - [2] Enable Alarm Zero. If CPU Pin 9, Designator B, changes state, Alarm Zero will sound. The COR Reset Beep will change to a code: rptr#, alarm #; i.e.: "1A" (#1 rptr, analog alarm) until the alarm is reset (function 24). "21" - [2] Disable Alarm Zero. "22" - [2] Enable Alarm One. If CPU Pin 18, Designator D, changes state, Alarm One will sound. The COR Reset beep will change to a code: see "20", above. "23" - [2] Disable Alarm One. "24" - [2] Reset Alarms. This will cause the reset beeps to return to normal, and will arm the alarms so that they will again fire on the next alarm condition. "25" - [3] Set Auto-save Mode. All parameter changes will be saved to the system EEPROM as soon as they are made. Saving function changes may be undesirable in some systems where standard settings are periodically changed - such as whether a repeater is enabled or not. However, control operators may forget to save the parameters, so if they are changed infrequently, this option should be used. The EEPROM has a useful life of about 10,000 changes. "26" - [3] Clear Auto-save Mode. "27" - [2] Save options manually. Parameters and modes which have changed while in Non-Auto-save mode will now be stored into the EEPROM. 6 "28" - [2] Enable User Mode. User Control Mode is allowed. "29" - [2] Disable User Control Mode. "30" - [4] Set Control Password. Max length is 8 digits. See examples on p.4. "31" - [3] Set ID in EEPROM. The ID is stored by entering the decimal equivalent of the ASCII codes for the characters. The last character must have 128 added to the code. Max length is 64 char. See examples & table of codes. "32" - [3] Set Site ID for User Control Mode. The one digit "site ID" number is entered added to 128. So,for site ID of "3", enter "131". This will allow users limited access the system by "##3". "33" - [3] Set Reset Timer. This is the interval between COR going away and the resetting of the timeout timer. The reset beep (if enabled) occurs at that time. The COR Reset Timer value is entered in 100 millisecond units. Thus "008" sets a .8 second timer. "34" - [3] Set Tail Timer. This is the time that the repeater stays keyed after the reset timer is reset. 100 millisecond units. "35" - [3] Set Time-out Timer. If COR is present for too long and the timers are enabled, the controller will sound "TO" and then deactivate PTT. This function sets the time until that time-out. 10 second units. "36" - [3] Set Morse Code Dit Time. This sets the speed of the morse code messages from the system. The units are 10 milliseconds. A setting of "005" will correspond to about 20 WPM. "37" - [4] Dump the EEPROM. You don't want to do this unless you know more about the software than is given in these instructions! "38" - [4] Dump a RAM Byte. You probably don't want to do this either! "39" - [4] Dump an EEPROM Byte. Likewise, sort of uninteresting. "40" - [3] Set Tones. All tones made by the controller can be varied in frequency. See below for complete details. 7 "41" - [3] Set A/D multiplier factors. This function sets the voltage scale to be read at the A/D ports. Select and input A/D channel 0 thru 3: "000" selects channel 0, "001" channel 1, etc. Then select an input voltage scale to be used: "000" = 0-5V, "001" = 0-10V, "002" = 0-15V, "003" = 0-20V, and "004" = 0-25V. See installation instructions. "42" - [5] Initialize the EEPROM to defaults (See above). "43" - [3] Set Control Timeout. This is the number of 10 second units that the system will remain in a control mode after the last control has been entered. "44" - [3] Set Morse Code Speed for numeric output. Procedure is the same as in "36" above. "45" & "46" - Not used. "47" - [4] Allow functions flagged with a [3] to be used in normal control mode. "48" - [4] Don't allow functions flagged with a [3] to be used in normal control mode. "49" - [5] Set Maintenance Password. Max length 8 digits. "50" - [1] Read A/D Channel 0 "51" - [1] Read A/D Channel 1 "52" - [1] Read A/D Channel 2 "53" - [1] Read A/D Channel 3 "54" - [1] Read A/D Channel 0 from last time PTT was off. "55" - [1] Read A/D Channel 1 from last time PTT was off. "56" - [1] Read A/D Channel 2 from last time PTT was off. "57" - [1] Read A/D Channel 3 from last time PTT was off. "58" - [1] Read A/D Calibration. "59" - [3] Set temporary link access timer. This function is used to control user access to the link via functions 71 and 72. If the value is zero, the link cannot be brought up from user mode. A value from 1 through 254 will allow the link to be brought up from user mode, but it will time out a set time after it is last used. The time out is the value entered multiplied by 10 seconds. Thus, an entry of 30 will be 300 seconds or 5 minutes. A value of 255 will allow the link to be brought up from user mode, and it will stay up until it is commanded down. 8 "60" - [1] Send ID. "61" - [1] Output the PROM Checksum. "62" - [1] Output the Software Version. (Vxx) "63" - [1] Read Input Zero. (HI or LO) "64" - [1] Read Input One. (HI or LO) "65" - [1] Read Alarm Zero. (HI or LO) "66" - [1] Read Alarm One. (HI or LO) "67" - [1] Read bits on CPU I/O Port A. This will read the 8 bit I/O port and output the result as a decimal number. "68" - [1] Read bits on CPU I/O Port B. This will read the 8 bit I/O port and output the result as a decimal number. "69" - [1] Read bits on CPU I/O Port C. This will read the 8 bit I/O port and output the result as a decimal number. "70" - [1] Read bits on CPU I/O Port D. This will read the 8 bit I/O port and output the result as a decimal number. "71" - [1] Request temporary access to the link. See function 59 for a description of the facility allowing user mode access to the link. "72" - [1] Disconnect link access which was established by function 71. "73" - [1] Set output 3. "74" - [1] Clear output 3. 9 M O R E E X A M P L E S _______ _______________ Setting A to D Multipliers: "#321" ==> RDY (Set Normal Control Mode) "88" ==> RDY (Set Entry Mode) "41" ==> GO (Set A/D Multiplier Factors) "000" ==> GO (Select A/D Channel 0) "003" ==> RDY (Set 0-20V Range) "88" ==> RDY (Set Entry Mode) "41" ==> GO (Set A/D Multiplier Factors) "001" ==> GO (Select A/D Channel 1) "003" ==> RDY (Set 0-15V Range) etc... A/D Voltage readings can be obtained in either normal control mode or user control mode (if enabled). The system will respond with four digits of Morse Code corresponding to the voltage read: "#123" ==> RDY (Enter Normal Control Mode) "50" ==> 1234 (Channel Zero voltage [scaled] is 12.34V) Users who do not have control access may use this function in user control mode (if enabled) as follows: "##1" ==> RDY (Enter User Control Mode) "50" ==> 0456 (Channel zero has 4.56V present [scaled]) The same method is used to read the status of the alarms and inputs (functions 63 through 66). System response will be either "HI" or "LO". 10 TONE SETTING PROCEDURE Set Tone Frequency: The tone of all beeps, messages and ID made by the controller can be independently changed as follows: "#123" ==> RDY - Enter Normal Control Mode. "88" ==> RDY - Set EEPROM Change Mode. "40" ==> GO - Set Tones. "001" ==> GO - Change Tone 1 - (OK RDY Message). "032" ==> RDY - Tone Value. Tone value may be any number from 0 through 255. All entries require 3 digits (16 would be entered as 016). The most pure tones are 016, 032, 064, and 128. Other numbers will provide a wide variety of unusual tones (for example, try setting the reset beep to "240"). The Message Designations are: 000 - TO (Time Out) 001 - OK (Recovered from a Time-Out) 002 - E (Beep with link and timer active) 003 - I (Beep with no link but timer active) 004 - E (Beep with link but no timer) 005 - I (Beep with no link and no timer) 006 - RDY (Ready to accept a command) 007 - S (Control Mode Exit) 008 - NO (Control access or function invalid) 009 - NP (Cannot program EEPROM due to strap setting or wrong mode) 010 - CTO (Control mode has timed out) 011 - LTO (Link has timed out) 012 - RESET (Processor has started over) 013 - GO (Ready to accept decimal value) 014 - LO (Input is LOW) 015 - HI (Input is HIGH) 016 - Alarm n 0 0 0 (Alarm Zero has fired - n is the site ID) 017 - Alarm n 1 1 1 (Alarm One has fired - n is the site ID) and Alarm n A A A (Analog Alarm has fired - n is the site ID) 018 - n0 (Reset Beeps when Alarm Zero has fired - n is the site ID) 019 - n1 (Reset Beeps when Alarm One has fired - n is the site ID) nA (Reset Beeps when Analog Alarm has fired - n is the site ID) 020 - E (Beep after each digit input when altering EEPROM) 021 - T (Reset Beep after Transmission from the Link) 022 - LD (Temporary Link Access has Timed Out) 023 - [the ID] 024 - [numeric outputs] 11 A S C I I C O D E S /-047 A-065 L-076 W-087 0-048 B-066 M-077 X-088 1-049 C-067 N-078 Y-089 2-050 D-068 O-079 Z-090 3-051 E-069 P-080 4-052 F-070 Q-081 5-053 G-071 R-082 .-046 (period) 6-054 H-072 S-083 --045 (hyphen) 7-055 I-073 T-084 -032 (space) 8-056 J-074 U-085 /-047 (slant bar) 9-057 K-075 V-086 12