Difference between revisions of "RIO unit - Release Notes"
From Zenitel Wiki
(→LED red/orange/green behavior tuned) |
(→LED red/orange/green behavior tuned) |
||
Line 268: | Line 268: | ||
|- | |- | ||
− | | | + | | slow blink amber|| |
+ | * Missing POLL from exchange, i.e. low level problem with communication; either no communication at all, or the AlphaCom ignores this RIO’s address. | ||
|- | |- | ||
− | | | + | | fast blink amber|| * Missing activity on communication line in the middle of a message transfer |
|- | |- | ||
| --- || --- | | --- || --- |
Revision as of 12:32, 23 June 2008
Software in production: AMC 09.01<br\> Software released date: 2003-05-06<br\> Note: Additional features available in 08.27<br\> Note 1: We sometimes do bugfixes in older versions while working with a new version. You can’t read the list version by version, and always assume that a correction is included in the next. Be aware of high release numbers, e.g. 06.05 vs. 07.01. Check version dates, and also comments for each version. <br\> Note 2: For each software version the NVRAM version is listed. If the NVRAM version is different, the AMC board must be coldstarted, and then you must do a SendAll from AlphaPro to restore the configuration.<br\><br\>
Contents
- 1 RIO 02.13 (2001-01-25)
- 2 RIO 02.12 (1999-01-27)
- 2.1 Release: Standard, bugfixes and minor additions
- 2.2 Functional Changes
- 2.2.1 Fast Reset of RCOs when no traffic on data bus
- 2.2.2 DIP switches read periodically
- 2.2.3 Communication statistics logged every hour
- 2.2.4 Support for simple logging for the exchange
- 2.2.5 Message terminal trace for broadcast messages
- 2.2.6 PONG message optional parameters adjusted
- 2.2.7 DEVICE_INFO optional parameters added
- 2.2.8 Changed internal time reference from counter to RTI
- 2.2.9 Error dump with backtrace
- 2.2.10 Test commands
- 2.2.11 EEPROM stores trace mode and reset time
- 2.3 Errors Corrected
- 3 RIO 02.11 (1998-12-23)
- 4 RIO 02.10 (1998-12-14)
- 5 RIO 02.03 (1998-04-30)
RIO 02.13 (2001-01-25)
Release : New MCU 68HC11E1 replacing 68HC11A1.
EEPROM and Watchdog enabled on the new MCU.
Software is still compatible with 68HC11A1.
Functional changes
EEPROM protection in the new MCU removed.
The EEPROM and CONFIG are protected by the BPROT register that was not used in 68HC11A1. It is cleared during startup to enable EEPROM and CONFIG writings.
New IAR version used.
This should not affect RIO functionality, but has required some changes in the project files "cstartup.s07" and "lnk6811.xcl".
Errors Corrected
Observation: The RIO did not respond to commands after the first one unless a hash (#) was applied in front, but this should not be necessary. Correction: The terminal command function was not prepared for the "LF" character following the "CR", and would take it as the first character of the next command.
Restart time stored as random number
Observation: A RIO that is powered up would store the reset time as a random number (often FFFF) rather than 0000. When the correct time is received from the exchange max. 20 seconds later, this time is stored as reset time. I.e. the problem is just cosmetic, but it may be confusing. Correction: The instructions storing the time were executed before the time had been initialized. Fixed.
RIO 02.12 (1999-01-27)
Release: Standard, bugfixes and minor additions
Recommended used with AMC 07.30 (AMC 07.09) or newer.
Functional Changes
Fast Reset of RCOs when no traffic on data bus
The RIO previously held RCOs active for 3-5 minutes. This may cause problems for applications which have manual backup in case the exchange fails, as there is no indication of exchange failure. This has now been changed so that no data bus activity will reset RCOs after 15 seconds. If bus activity resumes, the exchange is informed, and it will refresh RCOs from it’s internal state.
DIP switches read periodically
It’s now possible to change the switches, and they take effect immediately. Every time a switch is changed, the RIO resets to adjust for the new setting. If a terminal is connected, you can see the device number, protocol version and link mode as part of the reset printout. (If you select point-to-point, the terminal is connected to the exchange port and there will be no immediate response, but when the RIO becomes lonely after 15 seconds it will print the switch settings as a reminder).
Communication statistics logged every hour
One line with error counter plus message counter for own messages and total messages on the bus is printed. Printing one per hour makes it easy to see if communication problems occurs on certain times of the day, and if it’s dependent on the volume of RIO data protocol traffic.
Support for simple logging for the exchange
The data protocol messages STATUS_REPORT and LOG_STRING are received and printed. With AMC 07.30 it’s possible to re-direct the exchange’s log port to external devices like PCs, and the RIO has been used to test this feature and is now able to work as a log device. (.ex_profile.line_monitoring.report1_addr)
Properties:
- Requires RIO to be on a multidrop bus, and there should be no normal RIOs on this bus (due to speed requirement for RCI/RCOs)
- Proper time stamp incl. seconds
- Line error messages for stations are printed in a simple format (no details)
- The event handler’s LOG action generates text which is printed here
- Log can contain RCI/RCO activity, or just exchange activity
With AMC08.00 it will be possible to create several call logs, e.g. one for each guard in a parking. You can then place one RIO near each guard!
Message terminal trace for broadcast messages
Added trace of broadcast messages. Note that a RIO bus should normally NOT operate with broadcast active, as it generates a lot of extra messages thus reducing the response time drastically. The addition was done to extend the RIOs bus analyser capacity in general.
PONG message optional parameters adjusted
02.10 had a message format which was re-considered due to some other on-going development work. As these parameters are optional and just human readable for debuging, it was decided to change quickly.
DEVICE_INFO optional parameters added
Preparations for error reporting in AMC 08.00 where the log port’s device up messages may contain device name and software version info. This info is collected by the other RIOs, and can be inspected using the terminal D (show all devices) command. Observe that this is only sent after reset, and if this RIO has been reset after the others, the D command will just show “unknown”.
Changed internal time reference from counter to RTI
The previous softwares used a free-running counter which was re-started by software to measure time. This caused some load-dependent variations. Now the processor’s built-in RealTimeInterrupt is used, giving a very steady reference.
Error dump with backtrace
When a data line error occurs, the last message is dumped along with the error message, thus making it possible to see link details even if the data protocol trace is switched off.
Test commands
Several commands used for software testing which can cause controlled data link errors to see that both the RIO and the exchange behaves correctly.
EEPROM stores trace mode and reset time
The RIO’s microcontroller 68HC11A1 contains EEPROM which becomes active with the coldstart procedure for the watchdog. This is now used to store the protocol trace mode over reset, and it logs the number of resets, plus the time of the last reset.
Errors Corrected
Re-sending of RCI changes worked only for pin 1
Observation: If the RIO sends a RCI change message to the exchange, and this is not ACKed properly, the message is lost after 2 retransmissions/timeout. The RIO stops scanning such an input until it’s armed again from the exchange. The exchange still waits for a RCI change message. Effect: The RCI pin becomes blocked. This error affected all pins except pin 1.
Correction: OK. The RIO will re-send changed RCIs every 10 seconds until the exchange accepts it!
Re-fresh of RCI hardware periodically
Observation: RCIs stuck low. Reported to exchange e.g. when the exchange is reset. Corrected only by hardware resaet of RIO.
Correction: The IIC circuits used as digital inputs are software configurable per pin as either inputs or outputs, by setting bits in an internal register in the circuit (set as inputs by hardware reset.) These direction control bits can be changed by EMC, which causes an input to be stuck low. Now, these registers are initialised by software after system restart, and re-written every minute.
Detection of faulty /non-powered IICB I/O board
Observation: If the IICB board is not powered, the RIO will still work OK on the data communication, and no indication is given in the exchange. Sometimes the RIO will behave strangely, disturbing data communication a lot.
Correction: The software now monitors the IIC bus going to the IICB board, and whenever a change bad/OK occurs, it will inform the exchange. When the board is bad, the RIO will cause device error. When the board becomes OK, AMC will refresh the outputs immediately. The LED will flash slowly red/green.
Retransmit when EOT did not work
Observation: If a message got the response EOT (rather than ACK/NAK/timeout), no further retransmissions would take place.
Correction: All EOTs rather than those following messages decremented the retransmit counter. Fixed.
Communication errors due to high traffic
Observation: Extreme traffic could cause error messages (even if retransmissions lost no messages).
Correction: Tuned internal priorities to skip less important tasks during peak traffic. Added some measurement code to get things under control.
RIO 02.11 (1998-12-23)
Release: Test only
First installation of 02.10 pinpointed some minor problems.
No installations of this version!
Changes/corrections are described under 02.12.
RIO 02.10 (1998-12-14)
Release: Standard, bugfix for noisy multidrop, terminal trace
Large RIO installations still had stability problems.
This version only delivered to Norwegian Post Giro.
Recommended used with AMC 07.30 (AMC 07.09) or newer.
Functional Changes
Terminal user interface for faultfinding
A RIO operated in multidrop RS485 mode can have a PC/terminal connected to the RS232 port. The screen will log data messages on the data line (both to this RIO, and to other RIOs), including timestamp messages from the exchange. If necessary, more detailed data protocol trace can be activated using simple commands on the keyboard (type H for Help):
- P (protocol analysis, 4 levels)
- I (show RCI inputs, pin values + which pins are monitored by exchange)
- O (show RCO outputs)
- S (various board status)
- D (devices on the bus with status)
- = (system actions: “=+” will reset the RIO)
- % (data protocol software testing)
- M (memory inspect for software testing)
See separate RIO Application Note for details.
Setting of ports immediately
In 02.03 it was attempted to correct communication problems by delaying RCO pin setting, thus introducing a pin response delay of 50-100 ms. This has been changed back to immediate setting.
- This means that a RIO RCO changes some 60-80 ms after an exchange RCO.
- Best-case timing if used with audio events are:
- - Connection tone of 350 ms will have RIO RCO the last 250 ms
- - Cancel tone of 160 ms will have RIO RCO the last 80 ms
- If more than one RIO RCO is being set by the same event, there is an additional delay of 120 ms per RCO due to data line traffic.
- Note that RCIs on the same bus can cause delays of 300 ms or more.
- If you need to control audio equipment with RIO RCO, all these RIOs should be on a single audio bus, and no RCIs should be active on this bus. Each exchange event should cause only one output change (RCOs on different buses will be activated nearly simultaneously, though).
The output pins are refreshed every 500 ms, in case electric noise manages to switch of the output latches.
Message RESET_TAKEN is sent to exchange after reset
Earlier, a quick RIO reset would be detected by the exchange after 3 missing PINGs, i.e. 2 minutes.
Now, the RIO informs the exchange that a reset has taken place. The exchange (AMC 07.09/07.30) will reinitialise the RIO immediately, and restore RCO outputs. The RIO is up and running less than one second after the reset.
Message PONG has additional parameters
The terminal function can be used as a data bus analyzer, showing messages to/from all RIOs on the bus. Thus you can get information from all RIOs by connection to one of them.
The PONG messages sent every 40 seconds now has two additional parameters for system debuging:
- Software version.
- Versions prior to 02.10 will show zero as version.
- Problem counter.
- Each RIO counts communication problems like checksum errors, NAKs and timeouts for it’s own communication with the exchange. This number will indicate if a certain RIO has particular problems. (For debuging hints, see RIO application note).
LED red/orange/green behavior modified
- General status for communication, where red is worse, and green best
fast blink red | Power on indication and/or no activity on data line.
|
slow blink red | Some device is being polled, but not this RIO.
|
slow blink amber | This RIO is being polled by the exchange, but it’s not operational (no RCI/RCO functionality).
|
slow blink green | Normal operation mode
|
- During normal operation:
Indicate message traffic briefly to give an idea about how many messages are sent, and if transmission has problems (orange flashes when green blink).
slow blink amberm | Message in queue to be sent to exchange.
|
steady amber | Message is in being transmitted to the exchange
|
steady green | Message received successfully
|
steady red | Message not received/sent successfully
|
Even if there is no RCI/RCO activity, the RIO will PING/PONG with the exchange every 40 seconds causing LED flashes in amber.
The ACK/NAK indication is reset by the next poll of this device, normally after 50 ms times the number of devices, sometimes later if there is much message traffic.
- During exceptional hardware states:
Non-operational hardware is indicated using flashing between red and green.
fast red/green | Special TEST mode used to activate watchdog (see description below) |
slow red/green | Hardware self-test has detected a problem:
|
random red/green/dark | May occur if the processor does not execute a sensible program, i.e. the EPROM is dead or missing. On older softwares w\o watchdog, electric noise could make the processor run wild. |
Note that the terminal feature will present texts indicating the same operational states. The texts will appear every time the LED changes, and also when the “S” (status) command is executed.
Error Corrected
ISO multidrop link layer caused delays and/or lost RCOs/RCIs
Observation: When using several RIOs on a multidrop line, the RCO operations was delayed and/or lost.
Correction: The RIO (and the exchange) handled noisy lines poorly.
- Much stricter character processing.
Previously one RIO could recognize an old address as it’s own, and would then transmit in parallel with the next addressed RIO!
- Endless retransmission of RCI_IS_ON/OFF, worked previously only for RCI 1 (might lock up the other pins forever)
- Tuned no-response timers, so that retransmissions would take place (inactive RIO would cause a 10 second delay in the exchange before communication progressed again)
Hardware watchdog enabled
Observation: The RIO board could become inoperative (reported as down by the exchange), and would never reset by itself. The LED would typically flicker red/green randomly. Also, power-on reset sometimes did not work if the RIO was powered by the exchange as this voltage comes up slowly due to high load.
Correction: The processor 68HC11 comes from factory with the internal COP function disabled. It must be enabled in a special test mode:
- Power down the RIO, open it and insert new software.
- Connect the two test pins found close to the processor.
- Power up the board. The LED will blink red/green.
- Power down the board, and remove test pin connection.
- Close the RIO mechanics again. Power up, now in operational mode.
The terminal function S (status) will show if the Watchdog is active or not.
RIO 02.03 (1998-04-30)
Release: Standard, performance upgrade AMC/RIO
Customers complained about delays and lost events.
Recommended used with AMC 07.03 (AMC 06.06) or newer.
Functional Changes
LED red/orange/green behavior tuned
Steady amber (normal power on indication) |
|
slow blink green (normal operation indication) |
|
slow blink amber |
|
fast blink amber | * Missing activity on communication line in the middle of a message transfer |
--- | --- |
--- | --- |