7K Digital Audio Board Revision 2.0 19-Aug-2007 Vyex LLC www.vyex.
INTRODUCTION 1 LIMITED HARDWARE WARRANTY 2 COPYRIGHT NOTICE AND LIMITED SOFTWARE WARRANTY 2 TRADEMARKS 3 INSTALLATION 4 Installation into the rack mount cabinet.
9702 – Playback Speed Factor 14 9710 – Play Random File 14 9720 – Send Serial Characters 15 9790 – Force 7KDAB Reset 15 9796 – Load 7K Patch file 16 9797 – Provide RTC data to DAB 16 9798 – Load 7K-IMAGE.BIN 16 9799 – Save 7K-IMAGE.
Command line interface commands available with 7K firmware 2.04 #!; - Issuing commands to the 7K RFP – Remote Front Panel SCRIPT – Execute text file to program the 7K controller 27 27 28 29 FIRMWARE UPDATE PROCEDURE.
{PW} 76 ff yyyy (zzzz) New Switches {PW} 63 16 x {PW} 63 19 x {PW} 63 33 x {PW} 63 34 x {PW} 63 35 x {PW} 63 36 x {PW} 63 92 x {PW} 63 93 x {PW} 63 94 x {PW} 63 95 x {PW} 63 96 x {PW} 63 97 x {PW} 63 98 x IF-THEN-ELSE 49 Daylight Savings time correction Ignore Landline Busy Input Enable “OK” Command Responses Enable “?ERR” Command Responses Courtesy message can be queued during message playback Suppress command responses within macro execution User Soft Switch 1 User Soft Switch 2 User Soft Switch 3 User
Introduction Thank you for purchasing the 7K Digital Audio Board (DAB). The DAB has been designed as a “drop-in” replacement for the Speech Synthesizer board in the S-Com 7K repeater controller, but does more than just talk. The DAB utilizes a fast, FLASH based, single chip microprocessor to support audio playback from a FLASH based MultiMedia Card (MMC) which is used to store digitized speech files played back in response to commands from the 7K repeater controller.
Limited Hardware Warranty Vyex LLC warrants that its products will be free from defects in materials and workmanship for a period of one year from the date of shipment. This warranty does not cover damage caused by any of the following: • • • • • Physical damage of any kind. Improper installation or connection. Electro-static discharge damage caused by improper product handling. Lightning. Any product in which the customer has attempted to make field repairs or modifications.
In no event shall Vyex LLC or its suppliers be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use this Vyex LLC product, even if Vyex LLC has been advised of the possibility of such damages.
Installation CAUTION: The DAB is a static sensitive electronic device. Proper precautions should be exercised when handling the DAB. Installation and connection of the DAB can only be performed with power removed from the controller. Installation into the rack mount cabinet. The DAB is installed in the controller cabinet to the left of the repeater controller circuit board and secured in place with four 6-32 screws.
Installing the FLASH Card The multi-media FLASH card should be inserted into the connector as shown, with the gold contacts facing downward. When the card is not installed in the DAB, do not touch the gold contacts. 7KDAB, Version 2.
Updating the 7K repeater controller firmware An EPROM containing new firmware for the 7K has also been included with the DAB. This new firmware provides better integration between the DAB and 7K controller as well as providing new, generic, features to the 7K itself. When version 2.04 firmware is installed in the 7K, the 7K will need to be re-initialized before it will work, and the user will need to reload their program into the controller.
Using the DAB LED Status indicator The DAB has a dual color surface mount LED mounted near the board edge near the FLASH card connector. If the FLASH card is present upon power up, the dual color LED on the DAB should briefly illuminate green as the FAT file system code initializes its internal variables. If the FLASH card is removed, both LED’s will illuminate and provide a yellowish glow to indicate the absence of the card.
Basic use In its simplest form, the DAB will mimic the original S-Com speech synthesizer board, and thus it is compatible with any version of 7K firmware that supported the speech board. The default speech library included with the DAB includes digitized versions of the original TI speech synthesizer vocabulary. The recordings of the TI speech synthesizer have been low pass filtered to provide a sound which is less harsh than the original speech synthesizer.
Supported WAV File formats For those that wish to create their own WAV files, you will need to know about some specific constraints of exactly what the DAB does and does not support. PCM. 8 or 16 bit linear (uncompressed) values, in either mono or stereo format. The maximum supported sample rate is 22.05kHz. muLaw. This is a logarithmically compressed format which stores 8 bits per sample and expands to approximately 12 bits of precision. Mono and Stereo forms are supported.
Recommended editing programs Adobe Audition, formally Syntrillium Software’s Cool Edit Pro product, is a preferred tool we use here. http://www.adobe.com/ SoX – Sound eXchange is a useful tool that claims to be the “swiss army knife of sound processing programs”. This useful utility can convert from just about any sound format to another format, change sample rates, pitch, speed, filter, etc. http://sox.sourceforge.net/ Goldwave – is a low cost, simple digital audio editor. http://www.goldwave.
File system requirements The Multi-Media Card needs to be formatted with a DOS FAT16 file format. For smaller media types, the default of the format program you utilize may format the card with a FAT12 file system, and you will need to override the default settings. Example: To format a 16MB card under Windows 2000, open a Command Prompt Window and type: FORMAT d: /a:1024 Where ‘d’ equals the drive letter corresponding to the MMC card, and 1024 equals the size, in bytes, of each cluster.
File system structure for the Audio Files The WAV files need to be stored in a predetermined manner in order on the FLASH card. The Root directory needs to contain a “WAV” subdirectory, and the WAV subdirectory needs to contain additional four digit numeric subdirectories corresponding to the “hundreds” portion of the word number to be spoken. Within each of those subdirectories, up to 100 WAV files can be stored.
DAB-BOOT.BIN This file contains the small bootstrap loader used to reprogram the microcontroller. If this file exists, its contents are checked against its program storage space in FLASH memory. If they are different, the microcontroller will reprogram this portion of the FLASH memory. 7K-IMAGE.BIN This file contains an image of the 7K controller’s battery backed SRAM. Special commands can be used to save or restore the contents of the controllers programming. 7K-PATCH.
9702 – Playback Speed Factor When this word is spoken, the word that follows it is used as a playback speed multiplier against the playback rate specified in the WAV file header. The word value supplied is specified as a percentage of the playback speed with 0100 (100%) being the normal playback rate. The value specified can range from 1 to 255%, but if the resulting playback rate exceeds the sample rate limits for the WAV file, the playback rate will be limited to appropriate maximum playback rate.
9720 – Send Serial Characters In order to allow a modem to share the same phone line that the repeater controller is connected to, one or more macros will need to be created in the 7K to cause the modem to answer, or place a call on its own. Once special word 9720 is encountered, the decimal of each word encountered after it will be used to determine which ASCII character to send on the serial port. Any word value greater than 0256 will exit the ASCII character mode.
Notice: The following special word commands were included to aid in the overall firmware development process and are somewhat experimental. While they are implemented, they are not supported at this time, but are documented here for the sake of completeness. Whenever any of these special word commands are issued, 100% of the 7K’s CPU time is dedicated to executing the associated command.
Morse Code Features Message File Location Text files containing the desired message along with special control sequences to control pitch, speed, and amplitude can be stored in the same directory structure along with the audio files. As with the audio files, the Morse code filenames begin with the four digit numeric value of the desired phrase number, but in this case use the file extension “CW”. When the 7K controller commands the 7KDAB to play a given word, the 7KDAB will first check to see if a ‘xxxx.
Speed Two different control characters are supported for setting the speed. For normal cadences, the percent sign ( % ) is used to select a speed ranging from 1 to 50 words-per-minute. For code practice purposes, the inter-character speed may be supplied separately by using the asterisk ( * ) character to select a speed ranging from 1 to 50 words-per-minute.
7KDAB ‘Busy’ message If the 7K attempts to command the 7KDAB to play a file while the 7KDAB is otherwise preoccupied with another action which requires the use of the FLASH file system (such as the user uploading new files to the card), after waiting for 2 seconds, the 7KDAB will play a short CW message in place of the desired word. By default, the message is simply “BZ”, but can be changed by specifying a message of up to 9 characters. This message is specified in the “CONFIG.
Using the Serial Port Hardware Interface Connecting the DB-9 serial port connector to a PC type computer can be accomplished with a straight through cable. The DB-9 connector pinout is as follows: 1. 2. 3. 4. 5. 6. 7. 8. 9. No Connection Transmit Data from DAB Received Data to DAB Ready to send from PC Ground DTR from DAB Connected to pin 8 Connected to pin 7 No Connection When the DAB sees pin 4 go ready, it will start a new command line session.
Connecting a Modem to the Serial Port Since every modem tends to be a bit different, it is not possible to provide a single example that will work for everyone, but we can point out the important steps that need to be taken. First, the modem itself needs to be configured as follows: • • • • • • • Fixed DTE Speed. Possible command “AT&B1” Normal Carrier Detect (CD) operation. In other words, CD should indicate whether or not a carrier is present. Possible command “AT&C1” Normal DTR operation.
The Command Line Interface Using the Command Line interface (CLI) the user can effect the management of files on the FLASH card. Upon gaining access to the DAB’s command line interface the user is presented with the prompt: 7kDAB-> As a preface to the list of the following commands, it is important to note that the file system software in the DAB is single threaded. This means that while a WAV file is being played, file system management commands are temporarily locked out.
DIR – Directory command While similar to the directory command under MS-DOS, this command does not accept any parameters. It simply lists all the files within the present working directory. Example: 7kDAB-\>dir MMC Card MID: 6, PNM: KODAK , PSN: 428348449 08/19/2003 14:04 [D----] WAV 01/01/2001 01:00 [-----] 82 CONFIG.INI Free Space is: 2160 clusters, 2211840 bytes The first line of information shows manufacturer information about the MMC card contained in the card identifier.
DEL – Delete File While similar to the delete file command under MS-DOS, this command will only delete files in the present working directory, and will not accept wild cards. Example: 7kDAB-WAV\4300>del 4380.wav File Deleted REN – Rename File While similar to the delete file command under MS-DOS, this command will only rename files in the present working directory, and will not accept wild cards. Example: 7kDAB-\WAV\5000>ren 5024.wav 5035.wav File 5024.WAV renamed to 5035.
SY – Send Y-Modem Allows a file to be sent from the DAB to the users computer via the serial port. Most any popular terminal program written in the past 10-15 years will support Y-Modem file transfers. Since each program is different, please consult that software’s documentation for use of the file transfer capabilities of your terminal emulation program. The filename you wish to download into your computer should be specified on the command line, and needs to exist in the present working directory.
STOP – Stop current WAV file playback Immediately terminates the playback of any WAV file. This may be useful if the command line user wishes to interrupt the playback of a long WAV file in order to gain access to file management commands. TIME – Display or Set the current Time and Date This command will display or set a time of day clock in the 7KDAB. The time and date maintained within the 7KDAB will be used for the time and date stamp on any files written to the FLASH card.
Command line interface commands available with 7K firmware 2.04 #!; - Issuing commands to the 7K Perhaps one of the more appealing additions to the 7K firmware, when used in conjunction with the DAB, is that commands to the 7K can be entered on the serial port. Any digits preceded with an exclamation point will be sent to the 7K and treated as DTMF digits that appear to originate from within the controller.
RFP – Remote Front Panel The remote front panel command allows real time viewing of the controller activity via the serial port. When this command is invoked a representation of the controller’s front panel, along with some additional data is displayed on your screen. A group of three reverse video spaces is used to form a block to denote an indicator that is ‘lit’ whereas a lower case ‘o’ is used to indicate an indicator which is ‘dark’.
“Hyperterm” users will need to visit the Hilgraeve website http://www.hilgraeve.com/ and download a current version of this free terminal emulator in order for all characters to be properly displayed. For many years, Microsoft has bundled Hilgraeve’s terminal emulation software with Windows, and those bundled versions have some issues with some of the commands that the DAB uses. Hilgraeve’s website is silent as to when the bug(s) related to the screen redraw functions were addressed, but their version 6.
Firmware Update Procedure. The product firmware can be updated by placing a new firmware image file in the root directory of the MMC card. This can be accomplished in one of two ways. MMC card reader/writer attached to your computer running Windows It is beyond the scope of this manual to provide a tutorial on the use of specific computer peripherals, as well as to make specific brand name recommendations for these third party devices.
Appendix A Library Contents 7K SSM Words Words 0001 through 0597 and 4097 through 4388 are simply recorded versions of the S-COM SSM library using the latest speech ROM versions. Please refer to the appropriate S-COM documentation for a list of those words. In addition to the standard library two additional synthesized words are included in the library: • • 4389 – Milwaukee 4390 – Repeater (a pleasant sounding version) Sean Caldwell Words A A.M. A.P.U. A.T.V.
average B back backbone backhaul backup bad baker Baltimore band Bangor bank Barbara barometric bars Base bath Baton Rouge battery baud Bavarian bay beacon beam bearing Beautiful Beaverton beer bell below Bernadino between big Billings Birmingham Bismarck Black Bloomsburg blowing Blue bluff Boeing Boise bolt boost booster Boston bound box bozo 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146
club Coast co-ax code coil cold college Colorado Columbia Columbus com combiner come command common communication Communications compact Compact_Flash complete Complex compressor computer Concord Concord (alternate) condition configuration Conflicts Conifer connect Connecticut connector constant consumption contact contactor control controller converging converter cool cooling copper correct county course coverage cowl craft crane 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1
E.T.A.
galley gallons gap Garden gas gate Gateway gauge gear generate Generator Geneva George Georgia Germantown get Gilbert Glendale_Heights glide go gold golf good good afternoon good evening good morning good night good_bye grain Grand_Rapids gray greater greater than Green Green_Bay Greenwich (GREN-itch) grid ground group gun gundish gust gusting_to H H.F.
is Island isolation it Item its J Jackson Jacksonville Janesville January Jefferson jig Joaquin John Join Joint Juliet July junction June Juneau just K KA9FUR Kansas Kellysville Kenley Kenosha Kentucky kerchunk Kewaunee key Keyboard kicks kill killer kilo (KEE-lo) king knob knots L Labrador LaCrosse Lafayette Lake Lambs land landing Lansing 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 174
midpoint Mid-Wisconsin mike mile miles Military mill milli (MILL-ee) million Milwaukee min mini Minneapolis Minnesota minus minute minutes Mississippi Missouri mist mixture mobile mode modem moderate modify modulation module Moline monday monitor mono Monroe Montana Montgomery month monthly Montpelier more more than morning moron moron , whoop whoop moron alert Morse motor Mount mountain mouse move 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883
ouch our out outdoor outer output outside over overcast overload overlook overspeed Owego (oh-WEE-go) Oxford P P.L. P.L.L. P.M.
Richland Richmond Ridge rig right ring river road Roanoke Rochester Rockford Rocky Rocky Ridge Rodman Roger rollout Romeo room Route Roxboro RS232 run running runway S S.Comm S.H.F. S.S.B. S.T.L. S.W.R.
station stationary status stereo stern stop storm street strength strobe structure studio Sugar Summerfest Sunday sunset Superior supply Sussex Swapfest switch switched switching Sword sysop system T T.R.L. T.S.L.
V.H.E. V.H.F. V.O.R. V.S.W.R. Vaca vacuum Valley Valley Forge valve variable VCO vector vectors Vera verify Vermont version Vertical very Victor Victoria video Violet Virginia Virginia Beach visibility visual voice Voltage volts volume vortac W W9HHX WR3IRS W.W.V. W.W.W.
Test Tones 5000 5001 5002 5003 5004 5005 5006 5007 5008 5010 5011 5012 5020 5021 5022 5023 5024 7KDAB, Version 2.0, 19-Aug-2007 Duration 2 Sec. 2 Sec. 2 Sec. 2 Sec. 2 Sec. 2 Sec. 2 Sec. 2 Sec. 2 Sec. 280ms 385ms 200ms 900ms 2 Sec. 1 Sec. 2 Sec.
Appendix B ASCII Character Chart Dec Char Name Dec Char Dec Char Dec Char 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ^@ ^A ^B ^C ^D ^E ^F ^G ^H ^I ^J ^K ^L ^M ^N ^O ^P ^Q ^R ^S ^T ^U ^V ^W ^X ^Y ^Z ^[ ^\ ^] ^^ ^_ NUL SOH STX ETX EOT ENQ ACK BEL, \a BS, \b TAB, \t LF, \n VT, \v FF, \f CR, \r SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 SP
Appendix C – Morse Code Characters A B C D E F G H I ·— —··· —·—· —·· · ··—· ——· ···· ·· J K L M N O P Q R ·——— —·— ·—·· —— —· ——— ·——· ——·— ·—· Period [ . ] Comma [ , ] Question Mark [ ? ] Apostrophe [ ‘ ] Exclamation Mark [ ! ] Forward Slash [ / ] Open Parenthesis [ ( ] Close Parenthesis [ ) ] Ampersand [ & ] 7KDAB, Version 2.
Appendix D Version History Product Firmware Revisions Product firmware revision history is available on the website support page: http://www.vyex.com/support.html User Manual Revisions 1.0c – 1-Sept-2003 • First General release. 1.2 – 21-Oct-2003 • • Added new command word 9710 Corrected sample rate limitations for WAV files. ADPCM will support a maximum of 16kHz, not 22.05kHz as previously stated. 1.3 – 10-Dec-2003 • • • Added PCB revision “E” schematic.
Appendix E 7K Version 2.04 Release Notes Disclaimer While this software is derived from SCOM’s Version 2.03b firmware, it is not supported by SCOM. Any support issues related to this software need to be directed to Vyex LLC. The copyright for this software is still held by SCOM and it is SCOM’s sole discretion that determines how this firmware may be made available.
New Commands {PW} 16 Stop playback of current speech word Issuing this command will kill a spoken word currently in progress. It’s intent is to provide a means of halting a long informational message. {PW} 24 xxxx Remove Command From Macro Removes last command from Macro ‘xxxx’. Reports “OK” if successful, or “? LAST” if there is only one command left in the macro. To delete the last command in the macro, you need to delete the macro and re-create it.
{PW} 49 90/91/92/93 xx Message Handler Initial Message Delay Timer’s 90 through 93 now allow the user to determine the initial message delay value for individual message types. In previous versions, these timer delay values were fixed at 1.0 seconds. The user can now specify a timer value of zero to 5.0 seconds with 100ms resolution.
{PW} 76 ff yyyy (zzzz) IF-THEN-ELSE ‘ff’ is the feature to be tested ‘yyyy’ is the macro to be executed if the feature tests non-zero / true. ‘zzzz’ is the optional macro to be executed if the feature tests zero / false.
New Switches {PW} 63 16 x Daylight Savings time correction This switch defaults to ‘off’. If switch is turned on, one hour will be added to the Real Time Clock at 2:00am on the first Sunday in April, and one hour will be subtracted at 2:00am on the last Sunday in October. {PW} 63 19 x Ignore Landline Busy Input This switch defaults to ‘off’.
{PW} 63 92 x User Soft Switch 1 {PW} 63 93 x User Soft Switch 2 {PW} 63 94 x User Soft Switch 3 {PW} 63 95 x User Soft Switch 4 {PW} 63 96 x User Soft Switch 5 {PW} 63 97 x User Soft Switch 6 {PW} 63 98 x User Soft Switch 7 All user switches default off and survive power failure. The user can test switch conditions with new user command 76. 7KDAB, Version 2.
Changed Commands {PW} 02 f … CTCSS Encoder Function code ‘f’ 0 1 2 3 4 7 8 ‘xxx’ 9 ‘x’ Description CTCSS Encoder OFF CTCSS Encoder ON continuously when transmitter is active Tx1 coupled OFF delay. Turns on when Transmitter goes active, and turns off when delay timer expires. Receiver for Tx1 coupled OFF delay. Turns on when any receiver with a path to Tx1 goes active, and turns off when delay timer expires. Receiver for Tx1 coupled loss OFF delay.
{PW} 40 r xxx Set Transmit Timeout Timers The new ‘r’, receiver, parameter allows the user to independently set different transmit timeout timer values based on the active receiver(s). Valid values are 1, 2, or 3. The valid range for ‘xxx’ remains the same. A value of ‘0’ (zero) disables the timeout timer for a given receiver. The timeout logic was changed such that each receiver now has its own timeout timer. Once ANY timer is started, it is not reset until the courtesy message event occurs.
New Message Types Four new message types were added to support interruptible speech and Morse messages. 9901 9902 9911 9912 9961 9962 - CW Primary - CW Secondary - Beep Primary - Beep Secondary - Speech Primary - Speech Secondary Primary messages will cease playback if a receiver with its path enabled to a transmitter associated with the message playback is active at the time the playback commences, or any time during message playback.
Bug Fixes and Changes Version 2.04 Special Messages 9860 through 9895 will no longer cause the controller to crash. Fixed a problem that could cause the hardware watchdog to trip during cold initialization. Note: When upgrading from one version 2.04 variant to another, there is no need to cold initialize the controller. Version 2.04a This version fixes the macro corruption problem in commands 00, 02, 40, 50, 76, and 96. A potential problem related to the courtesy beep was addressed.
Version 2.04f • • • • • Fixed a problem introduced in version 2.04a related to being able to queue multiple courtesy beep messages while a message playback was already in progress. Added separate time-out timer reset delay timers to prevent a situation where a short transmission on one receiver could prematurely cause a time-out of a receiver with a longer time-out time set.
Appendix F Schematics Revision F 7KDAB, Version 2.
Revision E 7KDAB, Version 2.
Revision D1 7KDAB, Version 2.
Daughter board used with Digital Audio Boards prior to revision “E”, to correct speech bus voltage overshoot problem. 7KDAB, Version 2.
Appendix G – Daughter PCB Installation The daughter board must be used in conjunction with 7KDAB revisions A through D1. The board is properly installed when the writing on the printed circuit board is correctly oriented when viewed from the front of the controller. When installing the daughter board, take care to properly align the female header connector with the Speech connector on the 7K main printed circuit board.