I have a new page on modding the FYGM for "normal" use [[nokia_fygm:modding|here]] ====== Nokia FYGM GNSS Receiver ====== The Nokia FYGM is a GNSS receiver intended for providing a GNSS-disciplined timing signal into the {{ ::7318-manual.pdf |Nokia Flexi Multiradio 10 Base Station}}. As of early 2021 they can be found on eBay as unopened new-old-stock from a variety of sellers for $50-80. The units include the receiver in a nice cast aluminum enclosure, a mounting bracket, and a 2m(?) data cable which has a locking 12 pin DIN on the FYGM end and an HDMI connector on the base station end. The FYGM uses a ublox LEA-M8T GNSS receiver which is an excellent receiver for timing applications. The purpose of this page and namespace is to provide a repository of information about these modules because as it stands there is very little information about them online. {{:board-annotated.png?350|}} {{:fygm-board-bottom.png?350|}} (Click for larger versions) ===== UART Data ===== In the FYGM's default configuration, it outputs a limited selection of messages in UBX format at 115200 baud. Upon powerup, the 8051 sends a string of configuration options to the M8T to put it into TIME mode and make a few other changes. I have captured the messages sent from the 8051 to the M8T and decoded them with [[https://gpsd.io/ubxtool.html|ubxtool]]. You can see the decoded messages [[nokia_fygm:startup#decoded_with_ubxtool|here]], and the raw hex [[nokia_fygm:startup#raw_hex|here]]. Before I decoded it, I captured this communication with a USB logic analyzer. This video is no longer needed, but I'm going to leave it here because it's an interesting look at how these devices communicate with eachother. It also serves as a reminder to the power of being able to see signals. {{youtube>5orgInonP6I?large}} If you wish to prevent the 8051 from operating at all, this can be done by holding its reset line low. This is easily achieved by adding a jumper across pins 7 and 9 (RST and GND) of J7. [[https://wiki.millerjs.org/lib/exe/detail.php?id=nokia_fygm&media=8051_reset.png|See here.]] A caveat of limiting the 8051's operation, however, is that the RS422 lines are not operational, as they as passed through the 8051. I don't know why that is, yet, but it's worth knowing. I'm looking into workarounds for this, and they will probably involve running the M8T's TxO and RxI directly to the RS422 transceivers. ===== Headers ===== The FYGM has three headers with which it can be interacted. Some boards have J3 and J7 populated, but not all. They use standard 0.1" pin pitch headers so it's trivial to add pins. Additionally, there is enough clearance to put the lid back on if these headers are installed, but there will probably not be enough room to have leads connected to them //and// put the lid back on. If you're suitably crazy, you can use standard M3 standoff extensions to get around this, [[https://ljck.org/lib/exe/detail.php?id=nokia_fygm&media=fygm_lifted_lid.png|like I did]]. == J2 == J2 connects to the locking DIN connector. It carries power, ground, and three RS422 pairs. ^ Pin ^ Signal ^ Back End ^ | 1 | DC 15-30v | | | 2 | Control In | U4-B | | 3 | Control In | U4-A | | 4 | Data Out | U4-Z | | 5 | Data Out | U4-Y | | 6 | Ground | | | 7 | PPS | U3-AY | | 8 | PPS | U3-BZ | == J3 == J3 is a standard 3v3 UART. It connects directly to the LEA-M8T. It runs at 115200 baud by default. ^ Pin ^ Signal ^ Notes ^ | 1 | GND | | | 2 | Tx | | | 3 | Rx | Disconnected by default. Put a jumper on R17 to enable. | | 4 | 3v3 | | == J7 == J7 is a "standard" C8051F34x debug header. On the FYGM, pins 6, 8, and 10 are disconnected. Pin 5 is connected through a resistor, whereas pin 7 is connected straight through. Bridging pins 7 and 9 cause the chip to go into a reset state and if applied before board power, can be used to prevent the MCU from booting entirely. {{::c8051f34x_debug.png |}} ===== Chips ===== ===== Datasheets ===== ^ ID ^ Purpose ^ Manufacturer ^ Model ^ Datasheet ^ | U1 | DC/DC Regulator | TI | TPS55340 | https://www.ti.com/lit/ds/symlink/tps55340.pdf | | U2 | GNSS Receiver | u-blox | LEA-M8T | https://www.u-blox.com/sites/default/files/NEO-LEA-M8T-FW3_DataSheet_%28UBX-15025193%29.pdf | | U3 | RS422 Transceiver | TI | SN65HVD1474 | https://www.ti.com/lit/ds/symlink/sn65hvd1473.pdf | | U4 | RS422 Transceiver | Maxim | MAX3490 | https://datasheets.maximintegrated.com/en/ds/MAX3483-MAX3491.pdf | | U5 | DC Regulator | Micrel | MIC5219 | https://www.mouser.com/datasheet/2/268/mic5219-1082354.pdf | | U6 | DC Regulator (3v) | Unk ||| | U7 | DC Regulator (3v3) | Unk ||| | U8 | 8051 MCU | Silicon Labs | C8051F340 | https://www.silabs.com/documents/public/data-sheets/C8051F34x.pdf | | U9 | 32kbit I2C EEPROM | ST | 24C32WP | https://www.st.com/resource/en/datasheet/cd00001012.pdf | | U10 | Unk |||| | U11 | 8mbit SPI Flash | Microchip | SST25VF080B | http://ww1.microchip.com/downloads/en/DeviceDoc/20005045C.pdf |