__________________________ AIO-16 Card, version 1.4.0 __________________________ Code image CRC: 2a8f Files: aio-16.hex - Motorola S-record file for downloading to AIO-16 flash via an AZedit connection to the ADAM master controller. aio-16.srec - Motorola S-record file for downloading to AIO-16 RAM using the Altera GERMs monitor. _____________ Compatibility _____________ Hardware: This code image is intended to run on the AIO-16 rev. 5 board, loaded with the APEX FPGA image whose GERMs monitor prompt is #A72A3038 AIO-101404 Controller: This code can be used with the following: - ADAM Master Controller v9.22.0 or later (single frame) - ADAM MCII-e v1.0.0 or later (single frame) - ADAM Peripheral Controller v10.13.0 or later (DBX systems) - ADAM PeriphII-e v1.14.0 or later (DBX systems) - ADAM MCII-e v2.0.5 or later (single frame, or multi-frame Tri-Bus) Supports both English and Japanese intercoms. Supports alpha sizes of 4, 6, 8, or 8 Unicode characters. Japanese features enabled by intercom at runtime. (Requires MCII-e V2.4.0) ___________________ DIP Switch Settings ___________________ Position Description -------- ----------- 1 Must be open (closed => boot to GERMS monitor) 2-7 Reserved, must be open 8 Must be open (closed => run diagnostics) ____________ Installation ____________ If the AIO-16 board is already running AIO-16 firmware, the "aio-16.hex" file can be downloaded to the card via AZedit. Otherwise, the Nios_Loader utility can be used to download a new image and copy it to flash. ______________ Change History ______________ New in version 1.4.0 -------------------- * Supports keypanels with up to 128 keys This requires ADAM MCII-e firmware v2.6.0 or later. In order to support more than 64 keys on a given port, the MC must be configured to support more than 64 keys per port, and both the keypanel and the I/O card must also support more than 64 keys. New in version 1.3.2 -------------------- * Fixed keypress handling for cards in DBX slave frame If an AIO-16 card was installed in a slave frame of a DBX system, with DBX v1.24.0 or later, keypresses weren't handled. Fixed. (This problem affected AIO-16 versions 1.2.0 through 1.3.1.) New in version 1.3.1 -------------------- * If a TIF-951 is connected to a port of an AIO-16 (using an MDR back-card), and the TIF is removed and replaced with a standard keypanel, when the keypanel requests a scroll list (either local or remote), it gets the initial scroll list correctly, but it would not get any scroll list updates. The only way to resolve the problem was to reset the AIO-16 card. Fixed. * Fixed problem with TIF-951 The AIO-16 card could get into a state where it did not handle a TIF-951 correctly: TIF phone line status (on-hook / ring / off-hook) was not reported to the matrix; and the wrong keys would turn on when an incoming ring signal was detected. Fixed. New in version 1.3.0 -------------------- * Supports English and Japanese intercoms A single build of the AIO firmware now supports both English and Japanese intercoms. Alpha sizes can be 4, 6, 8, or 8 Unicode characters. Japanese features are enabled by the intercom at runtime (requires MCII-e V2.4.0). New in version 1.2.0 -------------------- * Added support for a separate CWW key for the KP 32 CLD The KP 32 CLD supports up to 64 talk and 64 listen keys, plus a separate call-waiting window key. In earlier versions, key 16 was the CWW key, and these two keys operated in parallel. Starting with KP 32 CLD v1.2.0, the intercom now supports a separate CWW key, and key 16 is now a regular talk/listen key. This firmware will also work with intercoms that do not support a separate CWW key. * Panel could get corrupted local P-P scroll list It was possible for a keypanel to get a corrupted local P-P scroll list; the corruption could include default alphas (e.g. N025) for items that were scroll restricted. Fixed. The circumstances in which this could occur are fairly unusual. It would only occur in a trunked environment, in which there are a large number of remotely scrollable items; it would probably only occur if the intercom was powered up, and then trunking was connected at around the same time as a setup file (which changes alphas and/or scroll restrictions) was sent. New in version 1.1.5 -------------------- * In some systems, when the frame was powered on, certain AIO-16 cards might not pass audio until the cards were reset. Fixed. New in version 1.1.4 -------------------- * Added support for the KP 32 CLD family of panels AIO-16 firmware version 1.1.4 or later is required in order for colors to be displayed properly on the KP 32 CLD family of panels (including the DKP 16 CLD and the KP 12 CLD panels). It is also required in order to be able to configure the menu passwords and/or the screen saver for KP 12 CLD panels. * Improved control bus communications This version contains the control bus improvements that were implemented in v1.1.1B New in version 1.1.3 -------------------- * Improved control bus communications Note: This version does not have all of the control bus improvements that were implemented in v1.1.1B New in version 1.1.2 -------------------- * Internal version, for testing purposes only New in version 1.1.1B --------------------- * Improved control bus communications Even with v1.1.1A, certain control bus problems could cause the MCII-e to briefly lose communications with the AIO-16, and generate an alarm (in Japanese systems). Fixed. New in version 1.1.1A --------------------- * Fixed some control bus communications problems The MCII-e would occasionally have problems when sending a message to the AIO-16, which could cause an alarm (in Japanese systems). Fixed. New in version 1.1.1 -------------------- * First version which supports Katakana and Unicode * If a keypanel stops communicating, any queued messages for that panel are now discarded, rather than being transmitted. New in version 1.1.0 -------------------- * Added support for VOX VOX support allows UPL to test for "audio present" on any audio input. Also, if VOX is enabled on a specific port, if no device is connected to that port (i.e. it is a 4-wire audio-only port), then talk key #1 is automatically turned on whenever audio is detected. VOX support requires the following minimum versions: - AZedit v2.09.00 - ADAM MC v9.25.0 - ADAM MCII-e v1.1.0 - ADAM Periph Ctlr v10.15.0 - ADAM PeriphII-e v1.15.0 - DBX v1.15.0 * Support ISDN 2005 and PAM-32 Devices The ISDN 2005 (ISDN TIF) and the PAM-32 (in split-panel mode) respond at 2 consecutive polling IDs. These are now fully supported by the AIO-16. Previously, they could only be used if the AIO-16 was used in the multi-drop mode. New in version 1.0.0 -------------------- * Fix problem that prevented the AIO-16 from correctly responding to a command to force a keypanel to reboot if connected using the backcard for separate data channels for each port (bug case #22). New in version 0.1.2 -------------------- * Fix problem with startup code that caused OK LED to turn on even though it wasn't being used (bug case #12). * Fix problem in ASIC driver initialization that was responsible for unexpected audio in 4 frame DBX system (bug case #13). New in version 0.1.1 -------------------- * Change CODEC attenuation for nominal 0 dB output trim from 14 dB to 11.5 dB (attenuation register setting from 0x1C to 0x17). * Disable use of OK LED (lower of two LEDs at top of card edge). * Fix problem that could prevent AIO-16 from starting to poll keypanels after a reset when in a multiple frame system. New in version 0.1.0 -------------------- * Change the location of the buffer for assert messages: they are now preserved when the AIO-16 card resets. * Fix bug: wrong alpha size message didn't appear properly on ports 9-16 with shared data port backcard. * Panels displaying the wrong alpha size message will now power up without being disconnected if the conflicting panels are removed from the port group. * Add symbol lookup function to internal debugger and removed some obsolete temporary commands used during development. * Extended timeout for response to keypanel download message to allow slower keypanels to respond in time. * Changed the method used to work around the off-by one submix problem in the Nucleus ASIC (old method didn't work under all circumstances). Now, the first submix is never empty: it always includes at least one dummy term with zero gain. * Limit number to submixes according to the number of TDM clock cycles per sample period, rather than size of the Nucleus RAM tables. * Fixed bug: AIO-16 no longer resets because the idle task isn't running if a large number of crosspoints (several hundred) all change at the same time. * Fixed bug: Nucleus ASIC driver was failing after a large number of discrete sources had been used. * Added handler for spurious interrupts 19, 24, and 27. (These seem to be caused by a hardware problem in the Nios processor block). New in version 0.0.7 -------------------- * Changed UART ISR to keep characters even if received with a framing error (otherwise get problems with KP-12). * Charge UART receive errors (framing and overrun) to the appropriate port. * Don't send alpha broadcasts as directed messages to old protocol panels when using individual UART per port (was causing TIF-951 to disconnect). * In multidrop (shared data port mode), clear the alpha size for each group of ports (1-8 and 9-16) when there are no panels connected (in previous versions, it was necessary to reset the AIO-16). New in version 0.0.6 -------------------- * Output trim gain change. The CS4224 CODECs can only attenuate the output, so when the ADAM controller requests 0 dB output trim, the CS4224 CODEC is actually set to attenuate by 14 dB (and +14 dB output trim gives the maximum output level - no attenuation). The gain of the analog output stage will have to be increased by a further +14 dB to compensate. * Fixed some timeout problems in the keypanel polling code (this prevented the KP-32 from powering up when connected to multi-drop backcard, with shared data port for ports 1-8 and 9-16). * Fixed a problem that prevented the AIO-16 from polling keypanels after reset under some conditions. New in version 0.0.5 -------------------- * Fix bug: input trim value was used for both input and output trims. * Scroll lists now working. * Added code to detect TDM clock glitches and reset the CS4224 CODEC chips once the TDM clock reappears. * Crosspoint gain changes. The Nucleus ASIC only supports gain values of unity or less, while the ADAM intercom allows crosspoint gains up to +6dB. Changed the mapping of intercom gain values to Nucleus fader values so that the maximum intercom gain (+6dB) is mapped to the maximum fader value (+0dB). The gain of the analog output stage will have to be increased by +6dB to compensate. New in version 0.0.4 -------------------- * Fix bug: watchdog tripped if started in slot 8 and there was no clock. * Change usage of status LEDs on daughtercard: - Activity of first 24 tasks on red LEDs. - Link status of 16 ports on bottom 16 green LEDs - General status in top 8 green LEDs 23 - ISR Active 22 - Driving clock 21 - Tx to MC 20 - Rx from MC 19 - MC Slot 1 18 - MC Slot 2 17 - unused 16 - unused * Added some additional debug messages (reason for reboot, type of backcard, etc.). * Fix some problems with keypanel polling using multidrop backcard.