{"id":22,"date":"2014-01-17T22:06:57","date_gmt":"2014-01-17T22:06:57","guid":{"rendered":"http:\/\/blog.petejefferson.co.uk\/?p=22"},"modified":"2014-01-17T22:06:57","modified_gmt":"2014-01-17T22:06:57","slug":"denon-dn-2000f-mk-ii-usb-how-to","status":"publish","type":"post","link":"https:\/\/blog.petejefferson.co.uk\/?p=22","title":{"rendered":"Denon DN-2000F MK II via USB : Part 1"},"content":{"rendered":"<p>In this post I will detail how to connect to a Denon DN-2000F MK II CD player&#8217;s RC-35B remote unit.<\/p>\n<h2><strong>The connector<\/strong><\/h2>\n<p>The RC-35B is connected to the player unit via a 8 pin mini DIN. These pins have been numbered and coloured accordingly:<\/p>\n<p><a href=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/8pin.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-33 size-full\" src=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/8pin.png\" alt=\"8pin\" width=\"184\" height=\"185\" srcset=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/8pin.png 184w, https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/8pin-150x150.png 150w\" sizes=\"auto, (max-width: 184px) 100vw, 184px\" \/><\/a><\/p>\n<p><span style=\"color: #000000;\"><code>[table<\/code><code> width=\"200px\"]<br \/>\n<\/code><code><strong>Pin<\/strong>,<strong>Colour<br \/>\n<\/strong><\/code><code>1,Red<br \/>\n<\/code><code>2,Brown<br \/>\n<\/code><code>3,Orange<br \/>\n<\/code><code>4,Purple<br \/>\n<\/code><code>5,Black<br \/>\n<\/code><code>6,Yellow<br \/>\n<\/code><code>7,Green<br \/>\n<\/code><code>8,Blue<br \/>\n<\/code><code>[\/table]<\/code><\/span><\/p>\n<p><span style=\"line-height: 1.5em;\">Let&#8217;s take a look at the schematic for the RC-35B in the service manual:<\/span><\/p>\n<p><a href=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/sch1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-34 size-full\" src=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/sch1.png\" alt=\"sch1\" width=\"500\" height=\"269\" srcset=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/sch1.png 500w, https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/sch1-300x161.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p><span style=\"line-height: 1.5em;\">We can see that pins 1 and 3 are interconnected, as are pins 2 and 5. Measuring with a multimeter shows that these provide +5V 140mA to the RC-35B.<\/span><\/p>\n<p><span style=\"line-height: 1.5em;\">The other pins are connected to a Motorola MC34051, which is a dual EIA RS-422\/423 transceiver. Pin 4 of the DIN is connected to pin 13 of the MC34051, pin 6 is connected to pin 14, pin 7 is connected to pin 1 and pin 8 is connected to pin 2:<br \/>\n<\/span><\/p>\n<p>[table width=&#8221;500&#8243;]<\/p>\n<p>DIN Pin,Colour,MC34051 Pin, Description<\/p>\n<p>4,Purple,13,Driver 1 Out<br \/>\n6,Yellow,14,Driver 1 Out (high)<br \/>\n7,Green,1,Receive 1 In +<br \/>\n8,Blue,2,Receive 1 In &#8211;<\/p>\n<p>[\/table]<\/p>\n<p>From here we see that the RC-35B\u00a0transmits on pins 4 and 6, and receives on pins 7 and 8.<\/p>\n<h2>\u00a0RS-422<\/h2>\n<p>As the player and remote communicate via the RS-422 standard it should be pretty simple to sniff the conversation. I have myself a RS-422 to USB interface cable from FTDI Chip and connected it up as follows:<br \/>\n[table width=&#8221;500px&#8221;]<br \/>\n<strong>DIN Pin, Colour, Cable Pin, Cable Colour, Description<\/strong><br \/>\n4,Purple,8,White,RXD(-)<br \/>\n6,Yellow,5,Yellow,RXD(+)<br \/>\n7,Green,4,Orange,TXD(+)<br \/>\n8,Blue,3,Red,TXD(-)<br \/>\n[\/table]<\/p>\n<p><em>The RC-35B is still connected to the player unit; I&#8217;m merely piggybacking on to the pins.<\/em><\/p>\n<p>It&#8217;s time to capture the serial data using RealTerm.<\/p>\n<p>Let&#8217;s press some buttons on the RC-35B and see what we get!<\/p>\n<p><a href=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-52 size-full\" src=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture1.png\" alt=\"Capture1\" width=\"608\" height=\"500\" srcset=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture1.png 608w, https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture1-300x247.png 300w\" sizes=\"auto, (max-width: 608px) 100vw, 608px\" \/><\/a><\/p>\n<p>Hmmm&#8230; doesn&#8217;t look to make much sense. I&#8217;ll clear the terminal and just press the open\/close button on deck 1:<\/p>\n<p><a href=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-53 size-full\" src=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture2.png\" alt=\"Capture2\" width=\"615\" height=\"499\" srcset=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture2.png 615w, https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture2-300x243.png 300w\" sizes=\"auto, (max-width: 615px) 100vw, 615px\" \/><\/a><\/p>\n<p>I pressed the open\/close button on deck 1 a total of 10 times which generated a total of 70 bytes &#8212; which all seem to be same block of 7 bytes:<\/p>\n<pre>00 80 00 41 00 08 FC<\/pre>\n<p>How about when I press the open\/close button on deck 2?<\/p>\n<p><a href=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-55 size-full\" src=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture3.png\" alt=\"Capture3\" width=\"618\" height=\"501\" srcset=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture3.png 618w, https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture3-300x243.png 300w\" sizes=\"auto, (max-width: 618px) 100vw, 618px\" \/><\/a><\/p>\n<p>It&#8217;s 70 bytes again for the 10 presses, but it doesn&#8217;t seem consistent \ud83d\ude41<\/p>\n<h2>Baud Rate<\/h2>\n<p>After trial and error with different Baud rates I eventually found consistency with the data received following button presses. The Baud rate is now set to 90,000 and pressing the open\/close buttons on both decks generates the following:<\/p>\n<p><a href=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-56 size-full\" src=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture4.png\" alt=\"Capture4\" width=\"607\" height=\"502\" srcset=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture4.png 607w, https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture4-300x248.png 300w\" sizes=\"auto, (max-width: 607px) 100vw, 607px\" \/><\/a><\/p>\n<p>I pressed each button 5 times. This resulted in a total of 100 bytes of data meaning that each press generates 10 bytes of data. And there is a pattern too! Let&#8217;s format the display to be a width of 10 bytes &#8211; 1 command:<\/p>\n<p><a href=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-57 size-full\" src=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture5.png\" alt=\"Capture5\" width=\"611\" height=\"497\" srcset=\"https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture5.png 611w, https:\/\/blog.petejefferson.co.uk\/wp-content\/uploads\/2014\/01\/Capture5-300x244.png 300w\" sizes=\"auto, (max-width: 611px) 100vw, 611px\" \/><\/a><\/p>\n<p>It looks like the first byte is the deck number, 1 or 2, and 58 is the command for open\/close. The rest of the data is just zeros; perhaps they&#8217;re not needed for this particular command.<\/p>\n<h2>The Commands<\/h2>\n<p>All of the commands from the RC-35B have been discovered and are listed here:<\/p>\n<p>[table]<\/p>\n<p>Byte 0, Byte 1, Byte 2, Byte 3 &#8211; Byte 9, Description<\/p>\n<p>Deck,0x42,Track number,0x00,Track change<\/p>\n<p>Deck,0x43,Amount,0x00,Pitch change<\/p>\n<p>Deck,0x46,0x00,0x00,Play\/pause<\/p>\n<p>Deck,0x48,Speed,0x00,Scan<\/p>\n<p>Deck,0x49,Speed,0x00,Search<\/p>\n<p>Deck,0x4C,0x00,0x00,Cue<\/p>\n<p>Deck,0x50,Mode,0x00,Time toggle (elapsed\/remain)<\/p>\n<p>Deck,0x58,0x00,0x00,Open\/close<\/p>\n<p>[\/table]<\/p>\n<p><em>To be continued&#8230;!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this post I will detail how to connect to a Denon DN-2000F MK II CD player&#8217;s RC-35B remote unit. The connector The RC-35B is connected to the player unit via a 8 pin mini DIN. These pins have been numbered and coloured accordingly: [table width=&#8221;200px&#8221;] Pin,Colour 1,Red 2,Brown 3,Orange 4,Purple 5,Black 6,Yellow 7,Green 8,Blue [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-22","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/blog.petejefferson.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/22","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.petejefferson.co.uk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.petejefferson.co.uk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.petejefferson.co.uk\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.petejefferson.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22"}],"version-history":[{"count":0,"href":"https:\/\/blog.petejefferson.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/22\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.petejefferson.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.petejefferson.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.petejefferson.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}