Author Topic: Reverse engineering Blackberry LCD  (Read 1029 times)

0 Members and 1 Guest are viewing this topic.

Offline jonny12375Topic starter

  • Newbie
  • Posts: 1
  • Country: nz
Reverse engineering Blackberry LCD
« on: November 23, 2019, 03:53:28 am »
Hi all,

I've been playing around for a while with an LCD from an old Blackberry 7290 phone. My ultimate plan is to replace the guts in the phone with my own, but I've been having some troubles trying to work out how the LCD works.

877008-0
877012-1

According to the phone specs, it's a 240x160 display, there are a couple of part numbers on it: ACX504AKZ-7, ACX504AKN-7, LCD-05207-001. I've hunted around for datasheets, but haven't been able to find anything that uses an interface similar to what I have observed. From some sniffing of the signals when booting the original device it looks like an 8-bit parallel interface, I see 8 lines that match up with the rising edge of what looks like a clock pin, and I think I've got most of the protocol nailed down.

However, there are 3 of the pins that I haven't been able to work out. They don't look like any serial comms that I've ever seen, they don't seem to have any correlation to the rest of the parallel data except for there's usually activity on while the phone is doing something, and disconnecting the lines will stop the display from updating. Holding down a button on the phone will cause the three unknown lines to start doing their thing, even though there's nothing on the parallel data and clock lines and the screen isn't updating.

Here's what I think the pin functions are:
13V016CLK
2BATT153V0_2?
3GND14??
4D313D2
5D412D1
6D511D0
7D610??
8D79??
The display uses 3.0V logic, and 3V0 seems to come in through pins 1 and 15, though one or both of those may be some other signals but I've never seen them in any state other than high. Pin 2 has the raw battery voltage from the lithium ion battery supplied to it, it varies from 3.6V-4.3V depending on how charged the battery is. After working out the order of the data pins, I'm pretty sure I've got the important parts of the parallel protocol worked out. It looks like everything is sent as a byte of a register to set, and then the value. I can see it set registers with 239 and 159, which must be the size of the width/height of the display data it is sending minus 1, then it sends an address of 0x0, followed by width * height * 2 bytes (76800 bytes for the full display). It sets the display to all 0xFF a couple times on first boot, then starts drawing a smaller icon of a 26x26 hourglass flipping a few times as it starts up.

Overview of all channels:
877016-2

Drawing an hourglass onto the display:
876996-3

Zoomed right in to show signals
877000-4

Analogue capture of the channels just to make sure it's digital
877004-5

Does anyone have any insight on what the signals might be? Alternatively if anyone can find the right datasheet for the display, that'd be amazing. If it's of any use, I can post the Saleae logic captures of the pins to help decode the signals.

Thanks!
« Last Edit: November 23, 2019, 03:55:09 am by jonny12375 »
 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 8331
Re: Reverse engineering Blackberry LCD
« Reply #1 on: November 23, 2019, 06:56:34 am »
The ACXxxx part number points to it being a Sony display; here's some old reference I found to some other models, but unfortunately nothing for yours...

http://web.archive.org/web/20080413024559/http://www.qinyielectronics.com/sdp/444314/4/pl-2468984/0-1237503.html
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf