jump to navigation

NexGen Flight Simulator: Hacking the Navigation Computer Display June 6, 2013

Posted by phoenixcomm in 16 Segment driver, Aircraft, Arduino, CP-1252/ASN-128, DIY Aircraft Cockpit, Embedded CPU's, Ethernet, Flight Simulation, Hardware, Indicator Lamps, Multi Function Display, ps2 keybaord, Semiconductors.
Tags: , , ,
1 comment so far

CP-1252This is the CP-1252/ASN-128 Navigation Computer Display.  The NCD was originally designed for Doppler  navigation, but will work in my application. I have reprinted the Analysis of this from my WordPress Blog (22Apr2011)

The Analysis:  The NCD is comprised of 4 groups: Display, Keyboard, Rotary Switches, and Thumb Wheel Switches.  The Display is comprised of 4 16-segment and 13 7-segment PinLite lamps, and two LED’s.  The keyboard is comprised of a 10 key number pad and 4 special keys, it also encodes A-Z. There are two rotary switches, and two thumbwheel switches as well. I also found a users guide, TM-1-1520-238-10 pages 3-34 through 3-46 on the web.

In it’s dim past it had been converted to a flight sim, and the only thing left whrere: the display, switches, light plate, and lots of wire. Each component, had each of their connection(s) brought out in to a header.

The Plan: As it is almost impossible to find a 16-segment display driver, but I really found two parts MAX6954 (SPI and QSPI interface), and MAX6955 (I2C interface). Both devices have the same programing model and have a I/O expander which could handle the keyboard. I have chosen to use the I2C interface. I have broken down the NCD into the following sub-units:

  • Two MAX6955AAX+ :
    • one will handle the 4 16-segment displays.
    • one will handle the 13 7-segment displays.
  • The keyboard will be interfaced via a standard Ps2 keyboard encoder that will be harvested from an old ps2 keyboard.
  • I will also need 2 bytes of I/O as well:
    • 1 byte of output to handle the two rotary switches, via two priority encoders (74LS148).
    • 1 byte for both thumbwheel switches (they are encoded to 4 bit BCD).
  • And lastly I need a USB interface to talk back to the IOP (IO Processor)

I also need a embedded microprocessor, the NCD information does not need to be super fast, as in reality it is only a dumb terminal, so an Arduino should be able to keep up with everything, if there are speed issues I will most likely switch to a TI Stellaris Launchpad module.   The NCD is either taking keystrokes from the pilot, or updating the display. In the words of the Outer Limits “There is nothing wrong with your television. Do not attempt to adjust the picture. We are now in control of the transmission. We control the horizontal and the vertical”. In the scheme of things this unit will only be another end point on the IOP which is sending the key strokes or and knob turns to the simulation processor. And in turn the NCD in effect listens to the NavGroup via the IOP for present positiontime to go etc.

 Keep Tuned in More to Come!

NexGen Flight Simulator Blog Index

Stellaris LM4F120 LaunchPad Evaluation Board or the best 13 bucks you ever spent! December 2, 2012

Posted by phoenixcomm in Arduino, DIY Aircraft Cockpit, Flight Simulation, Linux, ps2 keybaord, Software, TI Cortex™-A8 CPU, TI EK-LM4F120XL LaunchPad, TI Stellaris.
Tags: , , , , , ,
1 comment so far

What in the world do you get for $12.99?? LM4F120_LaunchpadYou get this cool 80Mhz 32 bit ARM Cortex M4F Launchpad Board!

So lets take a look at this thing. Well for openers we get both 16/32 bit instruction, and the F stands for Floating Point. It comes with its own on-board USB In-Circuit Debugger. On-board I/O is USB,  CAN, SPI, PWM,  ADC. 16 MHz main xtal oscillator, 33MHz Real-Time Clock xtal. And plenty of memory: 256KB of 40Mhz Flash, 2KB of EEPROM, 24KB SSRAM, an MPU.

TI has provided a great Student Guide and Lab Manual. I went to TI training it cost me $25.00 and I got my kit plus the Ken Tec QVGA TFT display with a resistive touch overlay. 350px-Kentec With this I can model my CDU with out any of my hardware. I also found a nice App Note on using this board as a I/O processor (shows you how to hook up a PS2 keyboard). I looks like I can put my code that’s in my Linux box into the Stellaris board, but at this time im not shure of my code size as yet.  I have only been messing about with this for a month. But I have been busy moving 😦

Now for what do you use for the IDE? Nope we can use Code Composer 5 (Eclipse) and the licence is forever as long as you have the board plugged in. No you can remove it and put in a different one.

Meet the Arduino Killer!! The BeagleBone! November 5, 2012

Posted by phoenixcomm in Arduino, Beagle Board, BeagleBone, DIY Aircraft Cockpit, Flight Simulation, Linux, ps2 keybaord, TI Cortex™-A8 CPU.
Tags: , , , , , , , ,
add a comment

All I can say is: Holly crap Batman

they got it right!

I plugged in the little board (its size is 3.4″ × 2.1)Image It comes out of the box with the Angstrom Linux distro, an RJ45 (Ethernet) and 2 USB ports, one is to connect to your host and the other is for devices, and then just a shit load of I/O! let me explain: two I²C ports, five UARTs,  a SPI interface, a CAN interface, eight PWM ports for motor control etc, eight Analog-to-Digital Converters, and count them 66 general purpose Digital I/O pins!! There are a mess of Shields but here their called Capes, an no your Arduino Shields will not fit.

Gone is the Arduino  bastard kind of C language! Now instead of their smallish library, you can draw on 35+ years of code. No more add-hock programming. It’s not a new paradigm its Linux.  Now I can write and test my code in Eclipse, move it to the bone, recompile / re-target it, or do that on the desktop and run it!

Ok the Bone has a 720Mhz TI Cortex™-A8 CPU, 256Mb DRAM, + Flash. All of this for just under 90 bucks!

Ok like I said before I plugged it into my Linux Mint desktop via the USB port. The board came up within less than 10 seconds. I located it in the finder told it to ‘exit’ thats to change modes on the USB interface,  and then in Chrome and entered 192.168.7.2 in the URL bar and hit enter and I am in the Cloud9 IDE but more about that later.

Enjoy!!

BTW: My first Challenge is to migrate the PS/2 keyboard code from the Arduino Playground. http://www.arduino.cc/playground/Main/PS2Keyboard to the BeagleBoard.

Arduino Trials and Tribulations, Part 3 May 4, 2011

Posted by phoenixcomm in Arduino, DIY Aircraft Cockpit, Flight Simulation, Linux, ps2 keybaord, Software.
Tags: , ,
add a comment

It’s Alive, and how I got there!    I made my share of nubie mistakes. There where three right off the bat: First make sure that your serial monitor is the same speed as your program; Two and a big one, make sure you check under Tools->board->(pick your board), and lastly Tools->Serial Port->COM3.  It seems that my keyboard drvier sends out some ASCII (thats good), and some scan codes (thats bad). It looks like the ps2 keyboard driver is sanitizing my out puts for me, so I’m ahead of the game.

Key Press HEX Key Press HEX
0 30 NL 77
1 31 / E0,2F,E0
2 32 * 7C
3 33 7B
4 34 + 79
5 35 ENT E0,D,E0
6 36 DEL 71
7 37
8 38
9 39

Remember I only need to generate 0 through 9, KEYBOARD, TARGET, CLEAR, and ENTER. I like to to take the easy way so I will use: 0 through 9, *, -, +, and DEL keys, that way I don’t have to mess with the scan codes, in my program.

Now I have to hack a ps2 keyboard, to remove the keyboard controller, ps2 cable, and the thin plastic sheets with the keyboard layout you will need them, and put the shell, etc into the garbage.

Arduino Trials and Tribulations, Part 2 May 1, 2011

Posted by phoenixcomm in Arduino, DIY Aircraft Cockpit, Flight Simulation, Linux, ps2 keybaord, Software.
Tags: , , ,
add a comment

Well lets get the ps2 keyboard interfaced first.  I’m going to use one of unmodified prototype shields they cost me $16.74 including shipping, oh well. first thing is to scrounge a ps2 female connector, luckily I had a damaged ps2 extender cable with the end that I needed.

Arduino Keyboard Cable Color
5+ Vcc Orange
Ground GND Red
DIO3 CLK Yellow
DIO4 DATA Black

The first thing I need to figure out how to hook it up. While looking around I found a interface and some code at Practical Arduino I really cant use much of his software as I only have 14 keys, but want to use a full ps2 for testing, I plan on using a keyboard encoder from a ps2 keyboard that I took apart.  Now I will solder the female end of the cable to the shield.

Arduino Trials and Tribulations, Part 1 April 30, 2011

Posted by phoenixcomm in 16 Segment driver, Arduino, DIY Aircraft Cockpit, Flight Simulation, Linux, ps2 keybaord, Software.
Tags: , , , ,
add a comment

Well I finally got my Arduino Duemilanove and prototype shields, there should be a Ethernet shield, and a LCD shield on its way. I wanted to try and use it on my Navigation Computer Display. To my horror I noticed that you could not stack on top of the prototype shield!

This really stinks I picked them up on ebay. I am going to have to modify the shields, grrr. I found the stacking headers at Adafruit for $1.50 per set.  Not bad.

The Analysis    I need to light four 16 segment lamps and thirteen 7 segment lamps, plus two lamps which will be bi-color leds. So thats lots of wire. My choice  of 16 segment display decoders are far and few between. The first one I looked at was an intersil ICM7243 interfaces with most microprocessors right on its memory bus. but can only handle 8 characters. So I would need two of them plus more glue to handle the last 7 segment display and the two lamps.  The next victims are the Maxim Max6954 with 4 wire interface, or the Max6955 with I2C interface. Other wise they both share the same specifications: They will drive up to 16 displays with mix of 7, 14, or 16 segments. It also has five GPIO pins that can be configured as a keyboard with up to 32 keys with n-key rollover, and built in debounce. The only down side is that they have eighteen  registers to configure the part.  I also need to interface the 2 rotary switches, and well as both thumb wheel switches.  I want to use a ps2 keyboard for testing the display system.

The Plan: Testing    I just go in two of the Max6955AAX+ in 36 pin SSOP package, and my eyes are to old, so I found Proto Advantage not only do they have a great price for the adapters plus they will mount the parts for me. In the meantime I happen to have a Max6954 in a 40 pin PDIP package. I will put it on a breadboard and wire it with a few displays and try to figure out the driver that I will need. – later

%d bloggers like this: