Changes in DCC Tester Firmware Version 1.4 (from version 1.3) GENERAL NOTES ============= Grounding via the RS232 Port ---------------------------- The RS232 port is NOT electrically isolated from the DCC signal. The DCC signal is rectified and used to power the DCC Tester. The 'GROUND' from the rectifier bridge is then connected to the RS232 ground. As a result, DCC Track Voltage measurements should be made WITHOUT the RS232 cable connected. If your booster outputs (not chassis ground) are connected to ground in any way, you could cause a short-circuit across the DCC Tester, with serious damage resulting. Please be careful. Baud Rates on the RS232 Port ---------------------------- The PRICOM Universal Uploader is used to load the firmware image into the FLASH of the DCC Tester. The Uploader talks to a "Booter" inside the DCC Tester. This communication happens at 9600 baud, no matter what you set the DCC Tester for. As a result, the DCC Tester can dump DCC data though the RS232 port at a rate different than the BOOTER messages. To help minimize the confusion, the DCC Tester sends out a "Greetings..." message at bootup using the 9600 baud rate. This message will display in the Universal Uploader window. Once the message is sent, the DCC Tester will change baud rates to the Serial Setup Screen configured rate. If you start to dump packets with the Universal Uploader window still open, you may see 'garbage' or other strange behavior. This is due to the baud rate changing after boot. If you have your own software to monitor the data dump from the DCC Tester, or use a terminal emulation program such as HyperTerm, you may see some 'garbage' at boot time since the "Greetings..." message is sent at 9600 baud, and the terminal program would probably be using a rate higher than 9600. We do suggest that you use the default of 115200 baud for data dumping as using 9600 can cause packet loss because the RS232 port can not keep up at this slower rate. DCC Boosters and "THRESHOLD" setting in the General Setup screen ---------------------------------------------------------------- The NMRA DCC Specification S-9.1 states the minimum and maximum times for a '1' bit. These timings are give from 2 different perspectives; a Booster, and a Decoder. The DCC Tester General Setup screen allows you to set these thresholds for use in your DCC Tester. We have observed that some manufactures of Command Station/Boosters will conform to the Decoder timing specification, but do NOT conform to the Booster specification. As an example, one system tested uses a '1' time of 52.4uS to 52.8uS. This violates the DCC S-9.1 specification that a "Power Station" should put out a '1' time of 55uS to 61uS. The system in question still obeys the S-9.1 "Decoder" specification of 52uS to 64uS. The original DCC Tester bit-timing thresholds have been left for you to use and are called "RELAXED" in that they are slightly looser, and will cause less bit-error readings if you are more interested in packet decoding. OPS MODE PROGRAMMING SCREEN --------------------------- We did not implement this feature yet. External Power Source for the DCC Tester ---------------------------------------- You can supply an external power source to your DCC tester so that it will not loose statistics or captures during a track short, or turning on and off the track power. Using a modular cable, supply 8-12VDC to pin 1 & 2 of the PNET Jack. This connector is symmetrical, so reversing the plug will not cause any problems. Accidentally connecting this power cable to the RS232 jack will not cause any problems either. PNET Connector Pinout: 1-BUS Power (input of 8-12VDC, 70-80MA) 2-Ground 3-Data- 4-Data+ 5-Ground 6-BUS Power (input of 8-12VDC, 70-80MA) A wall-wart of 9VDC works perfect for this task. Be aware the ground for the DCC Tester, RS232 port, and the PNET jack are all connected, so the external PNET power source needs to 'float', in other words, it needs to be isolated from the booster, command station, and PC. A 9V Battery could also be used, but might not last too long. The DCC Tester power source will be the higher of the 2 voltage, so when track power is supplied (12V-18V) the external PNET power source would not be used at all. This makes a 9V battery a bit more attractive. NOTE: Keep in mind that when the track power is 'turned off', the booster output can 'hover' around 0V and cause the DCC Tester to falsely acquire bits. Most of those bits will be 'BAD'. In the case of my Digitrax DCS200, and NCE PHPRO, the BAD BIT counter will count quite rapidly when the track power is turned off. If you simply un-plug the Track Input from the DCC Tester, there is no way to guarantee that you un-plugged it exactly at a packet boundary. A similar situation occurs when plugging-in to the DCC Tester. When the power is supplied from the DCC Rails, the DCC Tester automatically clears all the statistics, so you don't see this behavior. However, if you already have power supplied thought the PNET jack, the DCC Tester will NOT clear the statistics when first receiving DCC power, so the same BAD BITS situation occurs. For these reasons, the External Power Source for the DCC Tester may be of limited usefulness. SCREEN BY SCREEN LIST OF CHANGES ================================ Quick summary screen -------------------- -Now shows track voltage ("15.5V") instead of PASS/LOW/FAIL -Since the bit-timing thresholds are settable now (see General Setup Screen below), the "BIT TIMING" PASS/FAIL is calculated from the BIT ERRORS display instead of the actual received bit timing. This is because if a bit was too short, it is not recognized as a bit at all, and thus is added to the "SHORT BIT" totals, making the BAD BITS count higher. The threshold for PASS/FAIL is now .005% (was .05%), if the BAD BITS to TOTAL BITS ratio is higher than .005% it is considered "FAIL". So in fact the PASS/FAIL is derived from bit timing, bit indirectly. Bit Summary screen ------------------ -Changed Track Voltage to only display 2 decimal places ("15.53"), and updates only once per second. Address Summary screen ---------------------- -Lowest & Highest addresses now show 2-digit (xxx) or 4-digit (xxxx) addresses Address Detail screen --------------------- -Now contains a counter of the total Accessory Addresses received Mobile Address List Screen -------------------------- -All addresses now use the format of xxx for 2-digit and xxxx for 4-digit addresses -Pressing SEL now also clears the LCD to remove old data, was messy before Accessory Address List Screen ----------------------------- -New screen to show the most recent 32 active Accessory Addresses and the Packet Count to each. -This screen is listed in order of the packets being received. The most recent packet will be shown on the BOTTOM of the list. -For your convenience, the list automatically scrolls to the bottom with each packet reception. -You can scroll up and down on this list, only the most recent 32 addresses are available. -While using the UP and DOWN keys to scroll, the automatic scrolling to the last entry is disabled for 10 seconds. After 10 seconds, the list will resume automatic scrolling to the bottom. -Each time a new accessory packet is received, that address is move to the bottom of the list since it was the most recent. Accessory Monitor Screen ------------------------ -New screen to show the current state of the accessories listed in the Accessory Address List. This screen can only track the current state of the most recent 32 accessory decoders. -Scrolling and auto-scrolling behavior is the same as the Accessory Address List Screen described above. Data Monitor Screen ------------------- -Now correctly separates 2-digit and 4-digit decoding. In v1.3 the 2 and 4 digit decoding was mixed together. This was especially problematic with NCE systems which allow the same number to be used as 2 digit and 4 digit simultaneously. Added new General Setup Screen ------------------------------ Use this screen to select the bit-timing thresholds. Available settings are "DECODER", "BOOSTER", and "RELAXED". Each of these settings represents the NMRA timings specified in S9.1 for Decoder and Booster. Additionally there is a Relaxed mode that will allow most or all booster/command stations to pass so you can just decode the packets. If you are not concerned with the validity of the bit-timings, use the default setting of "RELAXED". Added new Serial Setup Screen ----------------------------- -Use this screen to set the RS-232 baud rate, and the packet dump format and filtering. -Baud rates supported: 9600, 19200, 38400, 57600, 115200. We suggest using the highest rate your PC/MAC can tolerate. At 9600 baud, the DCC packets can overrun the serial port! -Formats supported: "Disabled"=No DCC Data is sent to the Serial Port, "Decoded Text"=Viewable with any terminal emulation program, "RAW Binary"=Packets are sent in the following format <0xFF><0x0D>, and "Packetized Binary"=PRICOM STX/ETX raw format with CRC protection (contact us if you want the protocol for this format). -Filters supported: "No Filtering"=all data is sent out the serial port, "Mobile Only"=only sends packets addressed to Multi-Function decoders, "Accessory Only"=only sends packets addressed to Accessory decoders. -No attempt was made to remove redundant data packets, so if you send the Mobile Decoder data to the serial port, you will have lots of data sent to your terminal program. However, having the repeated data allows external software to see ALL the DCC data on the rails. SERIAL DUMP FORMAT ================== In Decoded Packet format, these are the possible output strings: - "Broadcast Decoder Reset" = Packet addressed as a broadcast, and the function is "Decoder Reset" - "Broadcast Packet" = Packet was addressed as a broadcast, but not a decoder reset - "Broadcast STOP Packet" = Decoder STOP packet send at a broadcast - "Decoder Idle Packet" = This is sent by many command stations as a way to fill the rails with something - "Unknown Address Sequence" = We don't know how to decode this address sequence Most 'normal' packets will come in this format: ADR=aaaa CMD=cccccccc (the rest depends on the CMD) where aaaa is always 4 characters, cccccccc is always 8 characters. ADR=aaaa is the Decoder Address, " nnn" is used for 2-digit addresses with a leading space "nnnn" is used for 4-digit addresses. With NCE, a single number can be used as 2-digit AND 4-digit simultaneously, this leading space is the only way to tell if it was the 2-digit version. Sample Decoded Packets ---------------------- Speed Packet: "ADR= 003 CMD=Speed STP=14/28 DIR=Rev SPD=S16" -STP=14/28 or STP=128 -DIR=Fwd or DIR=Rev -SPD=Stop, SPD=E-Stop, SPD=Sxx (where xx=01 to 14 or 28) Speed Packet: "ADR= 003 CMD=Speed STP=128 DIR=Fwd SPD=S016" -STP=14/28 or STP=128 -DIR=Fwd or DIR=Rev -SPD=Stop, SPD=E-Stop, SPD=Sxxx (where xx=001 to 128) Function Packet: "ADR= 003 CMD=Function GRP=F0-4 VAL=10100 -GRP=F0-4, F5-8, or F9-12 -VAL=bbbbb where each 'b' is the current state of the Function in order 0-4. (sample has F0&F2 ON) Function Packet: "ADR= 003 CMD=Function GRP=F9-12 VAL=0101 -GRP=F0-4, F5-8, or F9-12 -VAL=bbbb where each 'b' is the current state of the Function in order 9-12. (sample has F10&F12 ON) Accessory Packet:"ADR= 003 CMD=Accessry VAL=Closed/N(ON) ACT=On -CMD=Accessry is spelled wrong to fit in the 8 character field -VAL=Closed/N(ON) or Thrown/R(OFF) -ACT=On or Off (this shows the state of the 'Activate' bit) Accessory Packet:"ADR= 003 CMD=Accessry VAL=Thrown/R(OFF) ACT=Off -CMD=Accessry is spelled wrong to fit in the 8 character field -VAL=Closed/N(ON) or Thrown/R(OFF) -ACT=On or Off (this shows the state of the 'Activate' bit) SERIAL PORT COMMANDS ==================== You can send a single ASCII (keyboard) character to control the current Serial Port state. This will work in any of the Text, Binary, or Packet modes to control the DCC Tester Serial output data. “G” = GO - Enable the dumping in Decoded Text Mode “B” = Binary - Enable the dumping in BINARY MODE “P” = Packet - Enable the dumping in PACKET MODE “S” = STOP - Halt the dumping “Q” = Query - Dump all the DCC Tester statistics (Not Implemented, will be in v1.5) “A” = Accessory - Accessory Only (filter mode = Accessory Only) “M” = Mobile - Mobile Only (filter mode = Mobile Only) “F” = Filter - No Filters (filter mode = none, send ALL date) “V” = Version - Give me the DCC Tester Version Number Since the DCC Tester will respond with the dumping disabled, you can control the Port Output with a program or Terminal Emulation Program (HyperTerm on the PC) right at DCC Tester power on. No user intervention is required on the DCC Tester. To use these commands, setup a terminal screen such as HyperTerm on the PC, set the Baud Rate to match the DCC Tester (Default is 115200), with NO HANDSHAKING, or "Flow Control" set to "NONE". When you power-up the DCC Tester, you should see a "Greetings..." Message from the DCC Tester on your Terminal Screen. Now you can hit the 'G' key to start the Text Dump. Now hit the 'M' key to see only Mobile Addresses, or 'A' key to see only Accessory Addresses, or the 'F' key to see ALL addresses (filter off). When finished, you can hit the 'S' key to Stop the data dump.