Hub Module PROMs Dans Notes --------------------------------- Original Rev. 28-Aug-2017 Current Rev. 2-Sept-2018 This file is just a collection point for information about the two type of EEPROMs used on the Hub Module: - the IPMC Management Bus FRU & SDR PROM - the Ethernet Switch PROM Note that there are 3 of the Ethernet Switch PROMs on the Hub Module and currently I believe that they all need to contain the same data. Note that there is an optional 2nd I2C Bus PROM on the Hub Module PCB that we may decide to use in the future. This is an I2C PROM on the Hub's Sensor I2C bus that for example the Hub could use to store at the hardware level persistent information that must be available to the Hub's FPGA, e.g. its network address or something like that. PROM Types used on the Hub Module: ---------------------------------- Ethernet Switch PROMs U35 U36 U37 Atmel AT93C66B 3 Wire Serial EEPROMs in SOIC_8 package Full part number actually ordered: Atmel Part Num: AT93C66B-SSHM-B 4,096 bits organized as 512 x 8 or 256 x 16 operating on the Hub as 256x16 (Org Pin is Hi) from a 3V3 supply I think that these are officially 3 Wire "Microwire Bus" devices. I think that Microchip and Atmel have compatible chips. Pins: 1 Chip Select 8 VCC 1V7 to 5V5 2 mA max current draw 2 Serial Clock 7 Not Connected 3 Data In 8 Organization Low -> 8 bit Hi -> 16 bit 4 Data Out 5 Ground Body Width: 3.81 min 3.99 max mm Pin Tip Width: 5.79 min 6.20 max mm I2C Bus PROMs U41 IPMC I2C Management Bus U1541 IPMC I2C Sensor Bus ST Micro M24256 I2C EEPROMs in SOIC_8 package 256k bits (32k Bytes) in 64 Byte Pages Operating on the Hub from a 3V3 supply Full part number actually ordered: ST-Micro Part Num: M24256-DRMN8TP/K U41 has its 3 Chip Enable Address Pins (1,2,3) all tied LOW which puts it at I2C address for Memory Array 1010 000 msb to lsb for ID Page 1011 000 U41 pin 7 its Write Control is left floating and that Enables Write Operations to this device. Pins: 1 Enable_0 8 VCC 1V8 to 5V5 2.5 mA max current draw 2 Enable_1 7 Write_Control_Bar Low -> Enable Write 3 Enable_2 8 Serial Clock 4 Ground 5 Serial Data Body Width: 3.80 min 3.90 typ 3.99 max mm Pin Tip Width: 5.80 min 6.00 typ 6.20 max mm 2-3 Wire Serial Buses: ---------------------- The 3-wire nomenclature is a general category including the SPI and Microwire buses. The Microwire is a subset of SPI with slightly different timing and data latching. MICROWIRE is a 3Mbps [full-duplex] serial 3-wire interface standard defined by National Semiconductor. The MICROWIRE protocol is essentially a subset of the SPI interface. Microwire is a serial I/O port on micro-controllers, so the Microwire bus will also be found on EEPROMs and other Peripheral chips. Atmel seems to make: I2C, SPI, and Microwire EEPROMs. Atmel I2C EEPROM typ part number: AT24Cwxyz Atmel SPI EEPROM typ part number: AT25wxyz Atmel Microwire EEPROM typ part number: AT93cxyz An Atmel equivalent for the ST-Micro Part Num: M24256-DRMN8TP/K appears to be Atmel Part Num: AT24C256C (32k x 8) SOIC-8 ZIF Sockets and Adaptors: --------------------------------- Logical Systems Body Knee Tip Pitch PA8SO1-03-3 PA8SO1-03-6 3.9 5.0 6.0 1.27 mm PA8SO1-2006-3 PA8SO1-2006-6 5.3 6.8 7.8 1.27 mm 3M 208-7391-55-1902 most rational socket with easy to use latch and a notch to let one get tweezers in to place / lift out the device. I used two of the nice 3M sockets. Loading the Software: --------------------- I picked a relatively old version of the PonyProg software just because it was a stable version and it could clearly handle all of the parts that I'm interested in for Hub. In consultation with Philippe I'm using one of the old spare D-Zero TCC machines for the Hub PROM Programmer just because this computer is used for nothing else and it can clear do the job. Specifically the machine used is D-Zero TCC #4. It has a spare disk inside of it all ready to run but not connected or powered. There is no intent to put this computer onto the building network so there are no issues about break in to this box. The PROM Files are just carried to this machine on a thumb drive. Note that by mistake I forgot about how the D-Zero machines were setup with only the operating system on drive C: and all of the applications and user files on drive D:. Thus by mistake I installed PonyProg on C: For now I'm just leaving it there. # login as user > cd C:\ > mkdir C:\PROM_Prog\ > copy E:\PonyProg_V207c.zip C:\PROM_Prog\ > copy E:\setup.exe C:\PROM_Prog\ # login as administrator > C:\PROM_Prog\setup.exe # this installed PonyProg into C:\Program Files\ # and I would have liked it in D:\Program Files\ # but for now I will leave it on C:\ For now I just have the working versions of the PROM files in D:\Temp\. The official version of these fiels are on other machines. Use of the Hub PROM Programmer: ------------------------------- Run the PROM Programmer from just the normal User account. The software itself have all of the normal PROM Programmer commands such as: select device, fill buffer from file, Read, Write, Verify, store buffer in a file. For now I've just used straight hex files aka .bin There are separate sockets for the microwire and I2C PROMs that take care of most of the wiring pinout differences. When working with an I2C part you must first install the data-out data-in pin jumper. Use the On-Off toggle switch to turn On the power to the PROM sockets after the part is latched into the socket and turn it Off before removing the part. The PonyProg software seems rational and it takes all of its outputs to the zero voltage level at the end of its operations. The full PonyProg .html instructions are on the web and on the PROM Programmer machine. Operations for the small 93C66 PROMs for the Switch are fast and complete in 5 or 10 seconds. Notes from Cooking Enet Swch PROMs for Four Hubs 29-Aug-2018 -------------------------------------------------------------- The target is to cook Enet Switch PROMs for all Hub Modules that are currently at MSU. These PROMs just setup correctly the LEDs on the Enet Switches - they do not yet enable Jumbo Packets or anything like that. Recall how we want the Enet Switch LEDs on the Hub to work: Green is ON only if the speed is 1 Gbps Yellow is ON if a link has been established Yellow Flashes is the link is moving data Hub SN-04 already has its three Enet Switch PROMs installed. In this run I'm cooking PROMs for Hubs: SN-05, SN-06, SN-07, and SN-08. The steps to cook Enet Switch PROMs are: - Power ON the pc, Exit the Trics-II program, Click OK to the message about not sufficient privilege to add new hardware, and start the PonyProg PROM programming program Start --> Programs --> PonyProg --> PonyProg2000 - Setup PonyProg on the right side of the top bar menu for: MicroWire16EEPROM 9366 - Open (aka read into the programmer's buffer) the current data file for the Hub's Enet Switch PROMs: hub_at93c66b_prom_for_bcm53128_switch_rev4.bin This data file is in: D:\Temp\ Its contents are: A8 02 12 01 02 20 - With the jumper on the programmer assembly removed (the jumper is removed for uWire PROMs and it is installed for I2C PROMs): Programmer assembly power switch is Off Install new blank PROM is the left uWire socket Turn the programmer assembly power switch On Click "Write Device" in the PonyProg top bar menu Cooking and Verification takes about 5 seconds Turn the programmer assembly power switch Off Remove the newly cooked PROM from the uWire socket - Notes: In the PonyProg top bar menu I do not see an icon to run just a Verification pass on the part but under the pull-down Commands menu item you can select the Verification pass option. Do NOT click the "Save Device to Disk" icon in the PonyProg top bar menu. If you click it, PonyProg will overwrite the disk file that you have just previously read into the buffer. That's right - PonyProg does NOT ask for the name of a file to write, rather it just overwrite the disk file that you previously read into the programmer. Recall that the Hub Enet Switch PROMs are Atmel AT93C66B devices.