ECG-DR4/Updating

Introduction


The ECG-DR4 (usually called a "DR4") from J1SYS has firmware that can be updated via the ICSP (In Circuit Serial Programmer) headers on the PCB. There are 5 micro-controllers; one is the master and the other four are the slaves. The master and slave chips are different types and use different firmware. You must load the correct firmware for each chip. It may be necessary to update the firmware for the master and slaves at the same time, as one may rely on the other for new / changed features.

The DR4 uses a special split signal ICSP cable which was provided with the unit. Examples of how to connect it to the board for firmware upgrades are detailed below. The instructions below are for use with the MPLAB software and PicKit 3 ICSP programmer.

Procedure


Here's what the ICSP cable looks like. The end with the 6 pin connector is using in conjunction with the 6 pin male header piece (visible in bag) to plug into the PicKit3. Make sure the arrows on the 6 pin connector and the PicKit3 are aligned.



Disassembly



To open the case we recommend the procedure shown in this and the following photos. First remove the 4 screws from the back of the case, but leave the rear plate in place. It will be held by friction with the RJ45 and power connectors.



Next gently pull the unit with the rear panel still attached. Please note the slots that the board was riding in. You will need to insert it the same way later. Place the unit on a non conductive padded surface.

ICSP Connector Positions





Here's the ICSP plugs set up for updating the master micro-controller. The two pin connector is connected to I1 and the three pin connector is connected to I2. Arrows are matched to arrows.



Here is the connection for updating slave #1. The two pin connector is connected to IX1 and the three pin connector is connected to IA2. Arrows are matched to arrows.



Here is the connection for updating slave #2. The two pin connector is connected to IX1 and the three pin connector is connected to IB2. Arrows are matched to arrows.



Here is the connection for updating slave #3. The two pin connector is connected to IX1 and the three pin connector is connected to IC2. Arrows are matched to arrows.



Here is the connection for updating slave #4. The two pin connector is connected to IX1 and the three pin connector is connected to ID2. Arrows are matched to arrows.



Master Programming


Plug your PicKit 3 into a spare USB port, then start MPLAB. Once it has loaded, click Configure > Select Device to bring up the device selection window. From the device drop-down list, select PIC32MX340F512H and click OK.

A dialog saying "New firmware must be downloaded for PicKit 3 to work with the part selected. Click OK to continue." may pop up at this stage. If it does, click OK and wait for MPLAB to download the programming firmware to the Pickit 3. You will see some activity in the PicKit 3 tab of the output window for up to a minute or so. When MPLAB is ready you will see "PicKit 3 Connected" and possibly an error stating "PK3Err0045: You must connect to a target device to use Pickit 3". This is not a problem and just a warning that the PicKit 3 cannot "see" the chip in the DR4 yet.

Then, click File > Import and browse to the ECGMaster32-DR4r1.1-v1.3.1a.hex file (latest version at time of writing) and click Open. The last line of the build tab of the output window should read "Loaded C:\...\ECGMaster32-DR4r1.1-v1.3.1a.hex." which indicates that the hex file has been loaded into memory.

Now, connect the ICSP cable to the headers marked I1 and I2 as per the first photo in Connector Positions above. The other end of the ICSP cable (6 pin connector) plugs into the PicKit 3. Make sure the arrows on the Pickit 3 and the 6 pin header are aligned. Then power up the DR4. The PicKit 3 tab of the output window should now read "Target Detected, Device ID Revision = 50900053" or similar.

Click Programmer > Program to initiate the ICSP operation. The PicKit 3 tab of the output window will show "Programming...", then "Programming/Verify complete" once it is done. Disconnect the ICSP cable from the PicKit 3 and DR4. The PicKit 3 tab of the output window will show "Target Removed". You can then move onto updating the slave PICs if required.

Slave Programming


In MPLAB, click Configure > Select Device to bring up the device selection window. From the device drop-down list, select PIC24HJ64GP202 and click OK.

A dialog saying "New firmware must be downloaded for PicKit 3 to work with the part selected. Click OK to continue." may pop up at this stage. If it does, click OK and wait for MPLAB to download the programming firmware to the Pickit 3. You will see some activity in the PicKit 3 tab of the output window for up to a minute or so. When MPLAB is ready you will see "PicKit 3 Connected" and possibly an error stating "PK3Err0045: You must connect to a target device to use Pickit 3". This is not a problem and just a warning that the PicKit 3 cannot "see" the chip in the DR4 yet.

Then, click File > Import and browse to the ECGSlave24-DR4r1.1-v1.3.1.hex file (latest version at time of writing) and click Open. The last line of the build tab of the output window should read "Loaded C:\...\ECGSlave24-DR4r1.1-v1.3.1.hex." which indicates that the hex file has been loaded into memory.

Now, connect the ICSP cable to the headers marked IX1 and IA2 as per the second photo in Connector Positions above. The other end of the ICSP cable (6 pin connector) plugs into the PicKit 3. Make sure the arrows on the Pickit 3 and the 6 pin header are aligned. Then power up the DR4. The PicKit 3 tab of the output window should now read "Target Detected, Device ID Revision = 00003003" or similar.

Click Programmer > Program to initiate the ICSP operation. The PicKit 3 tab of the output window will show "Programming...", then "Programming/Verify complete" once it is done.

To program slave PIC # 2, move the 3 pin part of the ICSP cable to header IB2.

Click Programmer > Program to initiate the ICSP operation. The PicKit 3 tab of the output window will show "Programming...", then "Programming/Verify complete" once it is done.

To program slave PIC # 3, move the 3 pin part of the ICSP cable to header IC2,

Click Programmer > Program to initiate the ICSP operation. The PicKit 3 tab of the output window will show "Programming...", then "Programming/Verify complete" once it is done.

To program slave PIC # 4, move the 3 pin part of the ICSP cable to header ID2.

Click Programmer > Program to initiate the ICSP operation. The PicKit 3 tab of the output window will show "Programming...", then "Programming/Verify complete" once it is done.

Disconnect the ICSP cable from the PicKit 3 and DR4. The PicKit 3 tab of the output window will show "Target Removed".

Reassembly


OK, it is time to put the board back in the case. Gently slide the board in the grooves until it is almost all the way in. Then gently press the board in the last little bit while guiding the 4x RJ45 slave connector into position. We have found that if you stand the case vertically while inserting the board that it will usually centre itself with no guidance and fall right into place with gentle firm pressure.

Conclusion


Remember that the default IP is 10.10.10.10 and the protected areas use: admin / EthConGwy for the username and password respectively.



J1SYS

This page has been seen 39 times.