I'm working on reverse engineering some scrap vaccuum fluorescent displays from Noritake that lived their previous lives inside a payphone. No datasheet exists for it since it's a custom part; Noritake themselves couldn't help out. Some sibling parts are available but they all use different interfaces.
I figured out that the VFD boards use RS-232 thanks to a DS14C232CM level shifter right next to the main connector. Some prodding with a continuity tester later and I came up with this schematic and testing setup:
The second pair of lines looks to be used for flow control.
An extremely fortunate find was a dip switch on the reverse that triggers the module into a debug mode where it lists baud rate, parity, packet size (based on the other dip switch settings) as well as the contents of some registers; a printout of every character in ROM; and a demo of markup support (e.g. scrolling/flashing); it even has an RTC. This tells me the boards are functional and how to talk to it.
The interface is a standard RS232 terminal with some display control done via escape codes. I tried using a USB-RS232 adapter to send some characters to it using RealTerm, but here's my issue: some characters display reliably, while others show consistent flipped bit errors. Here's an example, I'm sending lots of '2's to the screen:
'2' is ASCII 0x32 or 0b00110010. ':' is 0x3A or 0b0011*1*010. Bit 3 is flipped. Similarly when I send 1, I almost exclusively get 9; same bit 3 error. Printing : or 9 displays reliably. This is what printing the alphabet looks like:
I swapped in a second screen and it too has similar problem. Printing f results in an occasional 'v' or 'd'. Other characters have other issues.
How do I troubleshoot this? Is this indicative of some sort of timing error or failed hardware? There is no obvious damage to the boards that would make me suspect the latter.
I've verified the USB-RS232 adapter is functional with a Tektronix Logic Analyzer.