{"id":28,"date":"2013-04-24T03:28:26","date_gmt":"2013-04-24T08:28:26","guid":{"rendered":"http:\/\/mikesmods.com\/mm-wp\/?p=28"},"modified":"2013-07-26T02:42:23","modified_gmt":"2013-07-26T07:42:23","slug":"hacking-the-ipad-3-lcd-part-1","status":"publish","type":"post","link":"http:\/\/mikesmods.com\/mm-wp\/?p=28","title":{"rendered":"Hacking the iPad 3 LCD, Part 1: Component Choices"},"content":{"rendered":"<p>In the previous post I laid out some of my plans for implementing the interface board for the iPad 3 LCD.\u00a0 In the meantime, I have done some (or rather, quite a lot of) research on the subject, and have gained some additional insight into what may be involved.\u00a0 I have also begun to choose components based on what I know about the (still en route) panel.<\/p>\n<h4>Basic physical attributes<\/h4>\n<p>As a panel designed for assembly in a greater structure rather than being self-supporting, there appears to be little in the way of mounting provisions.\u00a0 I vastly prefer screw-based mounting to any other method for ease of manufacture and the ability to remove pieces to work on them without damage, but in this case the only way that would be feasible would be if the board were some seven or eight inches wide (enough to span one entire edge of the display), and I don&#8217;t plan to build enough into the board to need that much space.\u00a0 Furthermore, this would still only be two mount points, leaving the board unsupported toward the center of the panel.<\/p>\n<p>For now, the ideal mounting method appears to be double-sided foam tape.\u00a0 It&#8217;s cheap, it holds reasonably well but not TOO well, and it&#8217;s thick enough to hold through-hole component leads just a little bit off of the rear metal surface of the display panel.\u00a0 The board will be affixed to the upper left corner of the rear, such that the eDP tail mates up with the connector without too much fuss.\u00a0 I know this kind of clashes with my &#8220;must be elegant&#8221; mantra, but it will have to do until I have the opportunity to do up a &#8220;proper&#8221; back casing (which will have to wait until my budget allows me to buy a mini-mill).<\/p>\n<p>At the moment, I am envisioning a board of dimensions no larger than 2&#215;3.5 inches.\u00a0 That should be plenty of space to work with without being too cramped.\u00a0 Using <a title=\"OSH Park\" href=\"http:\/\/oshpark.com\/\" target=\"_blank\">OSH Park<\/a>, that&#8217;s $70 for three boards.\u00a0 Not exactly free, but not terrible for four-layer one-off prototypes.\u00a0 Two-layer is more reasonable yet, but the boards will need the extra layers as it&#8217;s near impossible to produce a board with decent signal integrity in the 2GHz range in two layers.<\/p>\n<h4>Electromechanicals<\/h4>\n<p>As I noted in the previous post on this topic, I would prefer not to solder a hacked-off wire to the board.\u00a0 To that end, I will be connectorizing everything possible.\u00a0 My choices in connectors are largely driven by what is available in onesies from the normal distributors &#8211; I don&#8217;t want to rely on samples of obscure parts, and I don&#8217;t have the buying power to request anything extravagant.<\/p>\n<p>To bring signals into the control board, I will be using a miniDisplayPort connector.\u00a0 They&#8217;re compact and electrically correct for this application.\u00a0 They are also surprisingly hard to find, but Mouser currently has a healthy stock of Molex <a title=\"Molex 105081-0001\" href=\"http:\/\/www.molex.com\/pdm_docs\/sd\/1050810001_sd.pdf\" target=\"_blank\">105081-0001<\/a> so that seems like the winner.\u00a0 It&#8217;s a through-hole part with fairly tight spacing so fanout might be interesting, but I&#8217;ll deal with that when I get there &#8211; there really aren&#8217;t many other options.<\/p>\n<p>To get from the board to the panel, I have opted to forgo additional research and use the already-identified Molex <a title=\"Molex 502250-5191\" href=\"http:\/\/www.molex.com\/pdm_docs\/sd\/5022505191_sd.pdf\" target=\"_blank\">502250-5191<\/a> as documented on [Andrzej]&#8217;s original writeup.\u00a0 I suspect there are plenty of other options out there, but I&#8217;ve always found Molex to be more readily available in the United States than any of the Japanese vendors&#8217; parts (e.g. JAE) and I don&#8217;t think it&#8217;s worth bothering to find compatible connectors which I can&#8217;t buy.\u00a0 These are also in stock at Mouser at time of writing.<\/p>\n<p>I will be feeding my board with a 12V 1A adapter, similar to <a href=\"http:\/\/www.ebay.com\/itm\/360545176232\" target=\"_blank\">http:\/\/www.ebay.com\/itm\/360545176232<\/a>.\u00a0 These are provided with every small networking appliance and external hard drive, and I&#8217;ve got a billion of them.\u00a0 I brought in some CUI <a title=\"CUI PJ-047BH\" href=\"http:\/\/www.cui.com\/product\/resource\/digikeypdf\/pj-047bh.pdf\" target=\"_blank\">PJ-047BH<\/a> 2.5mmx6mm barrel jacks for a related project at work, and plan to use one of these to accept the 2.5&#215;5.5mm barrel plug on the adapter.\u00a0 (In-stock at Digikey)<\/p>\n<h4>Backlight driver<\/h4>\n<p>You&#8217;ve waded through the boring stuff, now on to the fun bits.\u00a0 The panel has two banks of six common-anode LED strings for its backlight.\u00a0 Per the panel datasheet, the strings are rated at 18.5mA, 4.4W.\u00a0 This works out to a string voltage of 19.8V, higher than the voltage I am providing to the board.\u00a0 I could have used a higher-voltage adapter, but I have plenty of 12V ones already.\u00a0 So my requirements for the backlight driver are 12V in, 12 channels out at &gt;= 18.5mA, max output voltage &gt;=19.8V.<\/p>\n<p>Many solutions call for a two-chip set &#8211; a boost switchmode supply to produce V+ for the LEDs, followed by a low-side-switch array to handle the PWM dimming.\u00a0 I have instead opted to use a combined boost regulator and PWM controller, to save board real estate and complexity.<\/p>\n<p>There are several options available in this arena &#8211; Atmel has a couple, Maxim has at least one &#8211; but I ultimately chose the Linear Technology <a title=\"Linear Technology LT3754\" href=\"http:\/\/cds.linear.com\/docs\/en\/datasheet\/3754fc.pdf\" target=\"_blank\">LT3754<\/a>.\u00a0 I have used a lot of Linear parts over the years, and I think they have some of the best datasheets and application notes of any manufacturers.\u00a0 Plus they have good field reps (Hi Bryan and Rynk!).<\/p>\n<p>The LT3754 is a 16-channel boost-mode driver with 50mA string drive current and up to 45V string drive voltage from 4.5V input.\u00a0 It can take a PWM dimming signal, or an analog voltage if you&#8217;re crafty.\u00a0 Additionally, it&#8217;s not too expensive, there are less than 20 external components, and it comes in a compact 32-QFN package\u00a0 All in all, a really neat device.\u00a0 I made up a spreadsheet to calculate the parameters for the driver.\u00a0 I may post it later once I clean it up a bit.<\/p>\n<h4>Backlight considerations<\/h4>\n<p>The identification of a feasible backlight driver brings up some thoughts from the previous post.\u00a0 I now have a DisplayPort input and a PWM-controllable backlight driver, but nothing in the middle.\u00a0 Where can we get backlight control information from?<\/p>\n<p>DisplayPort consists of four high speed data links and a low-speed control channel (&#8220;AUX&#8221;).\u00a0 This AUX port has a number of interesting features.\u00a0 In its simplest form, the AUX channel acts like the Display Data Channel of competing technologies (e.g. DVI, HDMI), informing the host of the resolutions and refresh rates and other key capabilities of attached devices (EDID).\u00a0 However, it may also perform additional tasks &#8211; providing, for example, a channel for host-to-device control and configuration.\u00a0 It is this function which is most interesting for this application.<\/p>\n<p>DisplayPort supports the VESA Monitor Control Command Set over the AUX channel.\u00a0 According to Wikipedia, a subpart of this standard supports backlight control.\u00a0 If the data is sent to the panel, and we can decrypt and act upon that data, the operation of the monitor will be greatly improved beyond the otherwise sole option of manual backlight control.<\/p>\n<p>But how do we get at the data, if it even exists?\u00a0 There exist DisplayPort to LVDS receivers which break out this data (for instance, NXP&#8217;s PTN3460), but then we&#8217;re left with LVDS for a eDP panel.\u00a0 Maybe we could buffer and split the DP signal to both our panel and the receiver IC, or convert from DP to LVDS and back to DP, but this starts to become expensive and space-consumptive and complicated.<\/p>\n<p>Ideally we&#8217;d want to get at the backlight control data without bothering to retransmit the DP links.\u00a0 In its basic form the AUX channel is a bidirectional half-duplex 1Mbps I2C-esque bus, which we can potentially read with a microcontroller.\u00a0 The data is Manchester-encoded to be transmitted over twisted pair cabling though, so we need to decode the data, then interpret it.\u00a0 It will be difficult to find a device that can do the interpretation in hardware as it has a nonstandard packet structure, which means we&#8217;d need either a decently-fast processor (to bit-bang it) or some sort of programmable logic.\u00a0 So we&#8217;re in it for some semi-serious hardware and\/or software to solve a simple problem.\u00a0 Not exactly elegant, as per my design guidelines.<\/p>\n<p>It is desirable to find an alternative source of this data, but so far other options have eluded me.\u00a0 The search continues, but that&#8217;s enough for one day.<\/p>\n<p><a title=\"Hacking the iPad 3 LCD, Part 0\" href=\"http:\/\/mikesmods.com\/mm-wp\/?p=16\">&lt;&lt; Previous post in this series<\/a> &#8230; <a title=\"Hacking the iPad 3 LCD, Part 2\" href=\"http:\/\/mikesmods.com\/mm-wp\/?p=37\">Next post in this series &gt;&gt;<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the previous post I laid out some of my plans for implementing the interface board for the iPad 3 LCD.\u00a0 In the meantime, I have done some (or rather, quite a lot of) research on the subject, and have gained some additional insight into what may be involved.\u00a0 I have also begun to choose [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"_links":{"self":[{"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=\/wp\/v2\/posts\/28"}],"collection":[{"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=28"}],"version-history":[{"count":11,"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=\/wp\/v2\/posts\/28\/revisions"}],"predecessor-version":[{"id":376,"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=\/wp\/v2\/posts\/28\/revisions\/376"}],"wp:attachment":[{"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=28"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=28"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/mikesmods.com\/mm-wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=28"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}