Enable FFT function on TDS210/TDS220/TDS224 - Page 1
Forum section: electronics / testgear

author: sd_tony
author_rank: Contributor
timestamp: October 03, 2023, 02:32:21 am
content: Tektronix TDS210/220/224 are entry level digital oscilloscope, it needs a TDS2MM measurement extension module to support some additional measurements functions such as FFT, pulse rising/falling time, and pulse positive and negative width etc. TDS2MM module is not easy to find, it can be reworked from TDS2CM which is still expensive these days. I managed to reverse engineered a TDS2MM module and created an equivalent module which can enable these additional measurement functions, however, it doesn’t come with any communication function (GPIB/UART/Parallel).Schematic is attached, this module consists of a Flash, a SRAM, a PLD, two 8-bit bus transceiver, and a 50-pin connector. The PLD is the key of this module, it has three functions: address decoder, bus transceiver direction control, and GPIB/UART emulator. The original TDS2MM module has a GPIB controller and a UART transceiver, the scope will check the status of these two transceivers during boot, if any of them was not detected correctly, the module will be considered as not installed.the picture of this module is as below, it can be inserted into a blank module cover, a TDS2CM module cover, or you can insert it into the scope extension slot directly if you don't have the cover, it just works fine.The parts list are as below, if you want to use different part, be careful about the timing, especially the PLD, the image is for that specific part, it may not work for other PLDs. For RLASH and SRAM, the latency should be < 70ns:FLASH:SST39SF040-55-4C-NHE-TSRAM:IS62C1024AL-35QLIPLD:ATF16V8BQL-15JUBus Transceiver:SN74AHCT245DW50-pin connector:A3-50DA-2DS(71)If you have a TDS210/220/224 scope and don’t have TDS2MM module yet, you can create one with all the files I have shared, it’s going to be a fun project, enjoy!

author: sd_tony
author_rank: Contributor
timestamp: October 03, 2023, 02:40:49 am
content: The TDS2MM module firmware and PLD image are attached, you can program FLASH and PLD with any compatible programmer. To make the DIY process easier, two PLCC sockets are installed on the module, so you can insert the FLASH and PLD into socket after programing.

author: virtuallyjeffers
author_rank: Newbie
timestamp: December 18, 2023, 03:02:47 am
content: Hi Tony - Thank you for sharing this!Can you please specify the size of the interface board? I'm embarassed to say that I earned a couple of degrees in EE 30 yrs ago, but have only recently began getting back into it as a hobby, I couldn't afford any of the equipment then. I recently purchased a TDS220 from Ebay and fixed the SMPS board to get my feet wet again, which brought the scope back to life. I've been looking at different scopes for FFT when I ran across your post and realized I have 1/2 of my problem solved. I've looked at PCB ordering sites, and KiCad, but I'm still trying to figure all of these things out.If you could offer any help, I would really appreciate it sir.

author: zrq
author_rank: Frequent Contributor
timestamp: December 18, 2023, 04:22:38 pm
content: Beautiful job.However to me it seems a firmware patch would do the job easier.

author: Jams_engineer
author_rank: Newbie
timestamp: December 26, 2023, 11:23:45 am
content: Dear Tony,Just a quick note to say a massive thanks for your Tektronix TDS2MM project. Your reverse engineering work is fantastic, and it's a game-changer for folks like me with a TDS210 for more than 20 years. The files you shared and your dedication are a treasure trove!Quick question: Any chance we can add USB-UART functionality easily? Would love to use it with the TDSCS2 OpenChoice software. Let me know your thoughts!Thanks a bunch,Jams

author: j_221
author_rank: Newbie
timestamp: February 22, 2024, 02:56:41 am
content: Mild necroposting, but... WOWThank you, Tony!

author: sd_tony
author_rank: Contributor
timestamp: March 12, 2024, 05:03:11 am
content: Thank you guys for your warmed feedback, I'm attaching the gerber file for the PCB, you should be able to send it to any PCB house for fabrication, if you want it to fit to your existing cover, the PCB thickness should be about 1.6mm.

author: thomasx
author_rank: Contributor
timestamp: April 05, 2024, 12:01:55 am
content: Quote from: sd_tony on October 03, 2023, 02:32:21 amThis is really amazing work you have done!I already have a TDS2CM module in my scope, do you know if it would be possible to upgrade this to a TDS2MM module with the help of your work?

author: thomasx
author_rank: Contributor
timestamp: April 05, 2024, 12:06:09 am
content: Quote from: Jams_engineer on December 26, 2023, 11:23:45 amI tried the OpenChoice software the other day, but it was impossible to get it to work with my TDS210. It gets a connection to the scope sporadically, but I never managed to get anything but the ID and at one occasion it managed to read out the settings from the scope, but never a screen capture or waveform download.Hardcopy to printer or terminal program works fine though, but not OpenChoice.Do you have any tricks to get it working, or are you running it on an old version of windows? I tried it on Win11.

author: rh100605
author_rank: Regular Contributor
timestamp: April 23, 2024, 09:18:52 am
content: Having seen the schematic for this board I was interested in how a small PLD decoded the UART and IEE488 chip selects to fool the scope into thinking they were present.So I downloaded the OPAL suite of programs that includes a 16bit DOS program (JED2EQN) to reverse the .JED files to the original .PLD file that is compiled by WINCUPL (from the Atmel/Microchip site). I used a 16bit pc emulator (DOSBOX) to run the programs under Windows 10 and shortened file names to the old DOS 8.3 format.JED2EQN outputs in ABEL format not CUPL. You must insert all the semicolons and latched statements. The Atmel site has a document describing the conversion.The PLD file below has the same checksum as the one supplied by SD_tony when compiled by WINCUPL. The comments refer to the schematic ./* JED2EQN -- JEDEC file to Boolean Equations disassembler (Version V002); Copyright (R) National Semiconductor Corporation 1990,1991; Disassembled from TDSMM.JED. Date: 3-10-124*/Name Name ;PartNo 00 ;Date 11/03/2024 ;Revision 01 ;Designer Engineer ;Company m ;Assembly None ;Location ;Device g16v8 ; /*Library DLIB-h-40-11 ;*//* *************** INPUT PINS *********************//*PIN 1 = CLK ;*/ /* externally connected to IO5 */PIN 2 = i2 ; /* D3 */PIN 3 = i3 ; /* A17 */PIN 4 = i4 ; /* Rd/not Write */PIN 5 = i5 ; /* A18 */PIN 6 = i6 ; /* A19 */PIN 7 = i7 ; /* A20 */PIN 8 = i8 ; /* not LDS */PIN 9 = i9 ; /* not MS *//* *************** OUTPUT PINS *********************//* PIN 20 = VCC ; */ /* */PIN 19 = o19 ; /* Not RAM */PIN 18 = o18 ; /* Not ROM */PIN 17 = o17 ; /* IO3 */PIN 16 = o16 ; /* IO4 */PIN 15 = o15 ; /* IO5 */PIN 14 = o14 ; /* IO6 */PIN 13 = rf13 ; /* Not connected */PIN 12 = o12 ; /* IO8 */PIN 11 = !OE ; /* GND *//*CLK i2 i3 i4 i5 i6 i7 i8 i9 GND/OE o12 rf13 o14 o15 o16 o17 o18 o19 VCC*//*@ues 3030200000000000*//*equations */! o19 = !i3 & !i5 & !i6 & i7 & !i8 & !i9 ;o19.oe = 'b' 1 ;! o18 = !i7 & !i8 & !i9 ;o18.oe = 'b' 1 ;o17 = i3 & i4 & i5 & !i6 & i7 & !i8 & rf13 & !i9 ;o17.oe = 'b' 1 ;! o16 = i4 & i5 & !i6 & i7 & !i8 & !i9# i3 & i4 & !i5 & i6 & i7 & !i8 & !i9 ;o16.oe = 'b' 1;o15 = i3 & !i4 & i5 & !i6 & i7 & !i8 & !i9;o15.oe = 'b' 1 ;o14 = i3 & i4 & i5 & !i6 & i7 & !i8 & !rf13 & !i9# !i3 & i4 & i5 & !i6 & i7 & !i8 & !i9 ;o14.oe = 'b' 1 ;rf13.d = i2 ; /* !registered output *//* rf13.oe = 'b' 1 ; */o12 = i4 & i9 ;o12.oe = 'b' 1 ;/* * checksum of original C4AA3 */

author: dmmartindale
author_rank: Contributor
timestamp: October 20, 2024, 06:52:28 pm
content: Does the basic oscilloscope have the resources needed for the FFT option without the added hardware?This board adds a 512 kB flash RAM which is programmed. It likely contains the code for calculating the FFT and the FFT display user interface, as well as the additional math functions. There may not be enough free space in the basic scope for the additional code without the extra flash RAM.This board also adds a 128 kB static RAM. The TDS210 FFT seems to be calculated from 2048 samples, so a typical FFT algorithm would need 4096 words of scratch/output memory. These would likely be 16 or 32 bit words, so the FFT is likely to need 8kB or 16 kB of RAM that isn't needed for other functions. The inclusion of extra RAM on the board suggests that the basic scope doesn't have enough built-in RAM for the FFT calculation.I don't see why Tektronix would include both of these in the original TDS2MM if in fact there was sufficient code and data RAM in the base oscilloscope.(I have a TDS210, purchased new in the 1990s, which includes the TDS2MM).

author: trendtop
author_rank: Newbie
timestamp: December 31, 2024, 04:22:58 am
content: Hi Tony, truly appreciate for your work and sharing all the source for this project. I believe it is not too difficult to DIY it by follow your shared info.I have a TDS 220, would like to have one of this module, just wondering if you have any more spare finished module that you already built and is willing to sell? then I will be more interested to buy one from you instead of I build it from scratch.Thanks

author: Bryan
author_rank: Frequent Contributor
timestamp: March 21, 2025, 05:36:20 am
content: Hello:Has anyone had the pcb manufactured and built the board as per the parts list etc. Tony does not seem to be active on the forum any longer , curious if others have any luck and does it work properly.

author: trendtop
author_rank: Newbie
timestamp: April 05, 2025, 05:36:50 pm
content: Since I didn't get response from Tony, then I used the info shared by Tony and ordered the PCB and parts, and built the board by myself. it worked out great!Thanks to Tony again!

author: Bryan
author_rank: Frequent Contributor
timestamp: April 07, 2025, 04:11:29 am
content: Thanks for the info. If you have a board left over for sale I might be interested, share the same flag