__________________________ AIO-16 Card, version 1.7.0 __________________________ Code image CRC: eea8 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 _____________ 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 or later.) ___________________ DIP Switch Settings ___________________ Position Description -------- ----------- 1 Must be open (closed => boot to GERMS monitor) 2 Closed => do not check for babbling keypanels 3-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.7.0 -------------------- * Added support for advanced KP-Series features The following features require v1.7.0 of the AIO-16A: - Upload and download of keypanel configuration - Keypanel mirroring - Voice messaging - Real-time control of the panel from AZedit New in version 1.6.2 -------------------- * Fixed handling of SCSI back-card In versions 1.5.0 through 1.6.1, the AIO-16 card would operate normally as long as no more than 7 panels were connected to either group of 8. However, once 8 panels were connected to a group, the I/O card would no longer poll to discover panels trying to power up. Thus, if one panel were disconnected and then reconnected, it would remain at stars. The only solution was to reset the I/O card. New in version 1.6.1 -------------------- * Added support for downloading keypanels in parallel When the AIO-16 has an MDR back-card, keypanels connected to the AIO-16 are now downloaded in parallel. Thus, downloading multiple keypanels takes the same amount of time as downloading a single panel. * Babbling panels are now reported to the MCII-e If a babbling keypanel is detected, this is now reported to the MCII-e, and it will appear in the AZedit alarms. New in version 1.5.4 -------------------- * Support FPGA version 1.5 AIO-16 v1.5.4 adds support for FPGA version 1.5, which eliminates control bus errors that occur with FPGA version 1.4. (If an older version of AIO-16 firmware is used with FPGA version 1.5, some cards may reset spontaneously.) AIO-16 v1.5.4 recognizes FPGA version 1.5 and prints the correct information in the firmware version string. Earlier versions of AIO-16 firmware would report "FPGA unknown" if used with version 1.5. New in version 1.5.3 -------------------- * It was possible for key talk on/off messages (sent by the keypanel, forwarded by the AIO-16 card to the MCII-e) to be lost sporadically, so that the intercom and the keypanel had different ideas of which keys were on. Fixed. New in version 1.5.2 -------------------- * In V1.5.0 and V1.5.1, if using a SCSI (rather than MDR) backcard, keypanels connected to ports 9-16 (SCSI on J2) would not power-up. Fixed. New in version 1.5.1 -------------------- * Detection and reporting of "babbling" keypanels can be disabled via DIP switch Normally, the AIO-16 card tries to detect "babbling" keypanels (keypanels that are reporting "too many" key closures in a given window of time). This prevents broken keypanels from flooding the intercom with too many key requests. However, in some systems, especially where a Key Group is controlled by a single master key or GPIO input, it is possible for a keypanel to legitimately generate a lot of key requests. In this case, you can disable the "babbling" detection by turning on DIP switch position #2. New in version 1.5.0 -------------------- * Added support for trunking of up to 255 intercoms * Added support for new keypanel protocol New keypanel protocol is required for full support of intercoms #32 and above. When using new keypanel protocol, firmware download times are cut in half. Existing keypanels are fully supported, although they will not be able to access scroll lists for intercoms 32 and above. New in version 1.4.2 -------------------- * Version string includes FPGA revision information The version string now includes FPGA revision information. If the card is using the latest version of FPGA firmware, the version string includes the following text: FPGA v1.4 If it is running an earlier version, the version string includes the following: FPGA pre-1.4 If the processor cannot determine the FPGA version, it displays the following: FPGA unknown (This should not happen with any existing FPGA image.) * Added support for downloading new FPGA image This version of firmware supports downloading new versions of the FPGA image. Downloading the FPGA is done in the same manner as downloading firmware. When updating the FPGA image, please refer to the associated Technical Service Bulletin. NOTE: Once a new FPGA image has been downloaded, the card will save the image to flash, and then reboot. However, the card will not start using the new FPGA image automatically. You must hit the reset button on the I/O card to force the card to restart and reload the FPGA. WARNING: If you download a new FPGA image, and then some disruption occurs while the card is reprogramming its flash (e.g. the card is reset, or the power fails), the card will no longer be operable, and will need to be sent back to the factory to be reprogrammed. New in version 1.4.1 -------------------- * Improved keypanel messaging When attached keypanels are operating in Unicode, or 8-character ASCII mode, it was possible for some keypanel messages to be lost because of internal queue overflows in the AIO-16. The symptoms could be missing key assignments, ??? displayed for volumes, or incorrect key colours. 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.