{"id":204,"date":"2012-08-06T22:28:02","date_gmt":"2012-08-07T02:28:02","guid":{"rendered":"http:\/\/ahdesign.us\/blog\/?p=204"},"modified":"2014-04-18T10:41:04","modified_gmt":"2014-04-18T14:41:04","slug":"motorola-mcm5101-fram-adapter","status":"publish","type":"post","link":"https:\/\/ahdesign.us\/blog\/motorola-mcm5101-fram-adapter\/","title":{"rendered":"Motorola MCM5101 RAM to FRAM Adapter"},"content":{"rendered":"<p>Over the past few weeks, I&#8217;ve been doing a bunch of repairs on an old Williams System 6 pinball MPU and Driver boards.\u00a0 There were actually two sets of MPU boards to fix and two sets of driver boards to go over.\u00a0 One driver board was known to have problems, and the other was supposedly a gone-over, upgraded, tested-good driver board, which cost a good amount of money.\u00a0 I&#8217;ll have a post dedicated to that atrocity shortly.<\/p>\n<p>Anyway, in the process of fixing both MPU boards (neither booted), it just so happened that the MCM5101 SRAM (or 5101 RAM as shown in the Williams schematic) on both boards was bad.\u00a0 This SRAM is the battery-backed memory that saves game settings, high-scores, and other statistics.\u00a0 These chips are not in production anymore and haven&#8217;t been for a long time, so obtaining new parts would be tough to do, and supposedly even NOS (New Old Stock) parts could be bad too.\u00a0 This left me with a few options:\u00a0 Hack some other SRAM I had laying around onto the boards, buy someone&#8217;s super-expensive (like $30 each) FRAM adapters, or make my own FRAM adapter.<\/p>\n<p><a href=\"https:\/\/ahdesign.us\/blog\/wp-content\/uploads\/2012\/08\/MCM5101-FRAM-Adapter.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-205\" title=\"MCM5101 FRAM Adapter\" src=\"https:\/\/ahdesign.us\/blog\/wp-content\/uploads\/2012\/08\/MCM5101-FRAM-Adapter.jpg\" alt=\"Motorlola MCM5101 FRAM Adapter\" width=\"656\" height=\"388\" \/><\/a><\/p>\n<p>Obviously I chose #3 above, but I did hack on an old SRAM just to make sure that the MCM5101&#8217;s were indeed bad.\u00a0 The other non-5101 RAM passed the memory tests in <a href=\"http:\/\/pinballeon.com\/williams\/ewilliams.htm\" target=\"_blank\">Leon&#8217;s test ROM<\/a>, so the 5101 RAM&#8217;s were definitely bad.\u00a0 Now, I was left with making my own FRAM adapter.<\/p>\n<p><!--more--><\/p>\n<p>The design of a FRAM-&gt;MCM5101 RAM adapter was quite easy actually.\u00a0 The 5101 RAM luckily is a pretty standard asynchronous SRAM part, which means a parallel, asynchronous FRAM from Ramtron would work just fine, as both had the same control signals.\u00a0 Ramtron also has 5V FRAM, such as the <a href=\"https:\/\/ahdesign.us\/blog\/wp-content\/uploads\/2012\/08\/FM16W08_ds.pdf\">FM16W08<\/a>, which makes it even easier to plop in place of the 5101 RAM.\u00a0 Really the hardest part of this project was finding out the distance between the two rows of pins, as most of the 5101 datasheets do not list any mechanicals, and the 5101 RAM is an oddball width for a DIP part.<\/p>\n<p>Checking out the MCM5101 datasheet here: <a href=\"https:\/\/ahdesign.us\/blog\/wp-content\/uploads\/2012\/08\/mcm5101.pdf\">MCM5101<\/a>, it becomes apparent that this is a 4-bit device with separate pins for input and output for each data bit.\u00a0 The output driver is tristate capable, so I&#8217;m not sure what the purpose of separating the input from the output circuitry for each data bit.\u00a0 Regardless, in the Williams schematic, they have the input\/output of each bit connected together as in all memory devices of today.\u00a0 To adapt this to the FRAM, 4 of the 8 data bits are used, and the remainder of the 8 bits are left floating.\u00a0 Normally you&#8217;d strap unused input pins to GND or VCC, but in this case I left them floating since the chip would try to drive those strapped pins when data is read out of the part.\u00a0 It just didn&#8217;t sound like a good idea, so I left them floating, even though leaving possible inputs floating isn&#8217;t the best idea either.\u00a0 Probably the best thing to do would be to strap each unused pin via a 1K or so resistor to GND or VCC to ensure that the chip is protected when it tries to drive a value out.\u00a0 I didn&#8217;t do this in order to keep the part count low.<\/p>\n<p>Speaking of floating inputs, the new FRAM chip is higher density than the old 5101, so there&#8217;s more address bits to deal with.\u00a0 I strapped the unused address bits to GND (safer than strapping w\/o a resistor to VCC).\u00a0 Alternatively, some DIP switches could have been added to allow for saving multiple sets of game settings, high-scores&#8230;etc just by setting the unused address bits high or low.<\/p>\n<p>Lastly, on the MCM5101, there are two chip enables: one active high and one active low.\u00a0 At least in the case of the Williams System 6 schematic, chip enable 2 is only deasserted when the game is reset, so I didn&#8217;t need to use it since the new FRAM only has one active-low chip enable.<\/p>\n<p>Here&#8217;s the\u00a0<a href=\"https:\/\/ahdesign.us\/blog\/wp-content\/uploads\/2012\/08\/MCM5101-FRAM-Adapter.zip\">MCM5101 FRAM Adapter<\/a> source so you can make your own boards, see how I hooked things up&#8230;etc.\u00a0 I may sell bare PCBs if there&#8217;s interest.\u00a0 I&#8217;m not going to offer completed units as it&#8217;s easy enough for anyone to go to Digikey\/Mouser and order the parts needed (4 total parts) to complete this adapter for much less than a similar, larger adapter.\u00a0 The design works great in place of the 5101 and it was a cheap, fun little project too (keep in mind this was only tested on a Williams System 6)!<\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<p>The MCM5101 FRAM Adapter is copyrighted under the <a title=\"Creative Commons Attribution 3.0 License\" href=\"https:\/\/ahdesign.us\/blog\/obdii\/license.pdf\" target=\"_blank\">Creative Commons Attribution 3.0 license<\/a>.\u00a0 If you use these sources for creating your own adapter that you post online, please attribute my adapter as the original source (as the license states).<\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<p><center><a href=\"http:\/\/creativecommons.org\/licenses\/by\/3.0\/\" rel=\"license\"><img decoding=\"async\" src=\"http:\/\/i.creativecommons.org\/l\/by\/3.0\/88x31.png\" alt=\"Creative Commons License\" \/><\/a><br \/>\nMCM5101 FRAM Adapter by <a href=\"https:\/\/ahdesign.us\/blog\/bluetooth-obdii-adapter\/\" rel=\"cc:attributionURL\">Andrew Honecker<\/a> is licensed under a <a href=\"http:\/\/creativecommons.org\/licenses\/by\/3.0\/\" rel=\"license\">Creative Commons Attribution 3.0 Unported License<\/a>.<\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Over the past few weeks, I&#8217;ve been doing a bunch of repairs on an old Williams System 6 pinball MPU and Driver boards.\u00a0 There were actually two sets of MPU boards to fix and two sets of driver boards to &hellip; <a href=\"https:\/\/ahdesign.us\/blog\/motorola-mcm5101-fram-adapter\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-204","post","type-post","status-publish","format-standard","hentry","category-pinball_repair"],"_links":{"self":[{"href":"https:\/\/ahdesign.us\/blog\/wp-json\/wp\/v2\/posts\/204","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ahdesign.us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ahdesign.us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ahdesign.us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ahdesign.us\/blog\/wp-json\/wp\/v2\/comments?post=204"}],"version-history":[{"count":7,"href":"https:\/\/ahdesign.us\/blog\/wp-json\/wp\/v2\/posts\/204\/revisions"}],"predecessor-version":[{"id":340,"href":"https:\/\/ahdesign.us\/blog\/wp-json\/wp\/v2\/posts\/204\/revisions\/340"}],"wp:attachment":[{"href":"https:\/\/ahdesign.us\/blog\/wp-json\/wp\/v2\/media?parent=204"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahdesign.us\/blog\/wp-json\/wp\/v2\/categories?post=204"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahdesign.us\/blog\/wp-json\/wp\/v2\/tags?post=204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}