|
|
| Line 35: |
Line 35: |
|
| |
|
| |} | | |} |
| Here's the areas I've identified for my project for prototypes in no particular order:
| |
|
| |
| == Integrated Circuit Types and Features ==
| |
| {| class="wikitable" border="1"
| |
| ! Type or Feature !! Description !! Manufacturer !! Part Nos
| |
| |-
| |
| | Buffers || ||
| |
| |-
| |
| | Bus Hold || ||
| |
| |-
| |
| | Inverters || ||
| |
| |-
| |
| | Drivers || ||
| |
| |-
| |
| | Flip Flops || ||
| |
| |-
| |
| | latches|| ||
| |
| |-
| |
| | Level Shifters|| ||
| |
| |-
| |
| | Translators|| ||
| |
| |-
| |
| | || ||
| |
|
| |
| |}
| |
|
| |
| == Integrated Circuit Candidates ==
| |
| {| class="wikitable" border="1"
| |
| ! Description !! Manufacturer !! Part No !! Package/Case !! Supply Voltage !! Supply Current or Power Dissapation- Max
| |
| |-
| |
| | 8 Digit 7 Segment LED Display Driver || Maxim || MAX7221CNG+ || PDIP-Narrow-24 || 4V to 5.5 V || 330Ma
| |
| |-
| |
| | IO Expander I2C SPI 16 Lines ||Microchip ||MCP23016-I/SP ||PDIP-Narrow-28 || 2 to 5.5V ||
| |
| |-
| |
| | ||Microchip SPI 16 Lines ||MCP23S17-E/SP || PDIP-Narrow-28|| 1.8 to 5.5V ||
| |
| |-
| |
| | ||Microchip SPI 16 Lines ||MCP23S18-E/SP || PDIP-Narrow-28|| 1.8 to 5.5V ||
| |
| |-
| |
| | Multiplexer 8 channel-1 Data Selector|| Texas Instruments ||CD4512BE || PDIP-16|| -0.5 to 20V || 500mw
| |
| |-
| |
| | Demultiplexer CMOS 3 to 8 High||Texas Instruments ||CD74HC237E ||PDIP-16 || 2 to 6V||
| |
| |-
| |
| | Demultiplexer CMOS 3 to 8 Low ||Texas Instruments ||CD74HC137E ||PDIP-16 || 2 to 6V||
| |
| |-
| |
| | Demultiplexer CMOS 4 to 16 Low ||Texas Instruments ||CD74HC4515EN ||PDIP-24 || ||
| |
| |-
| |
| | ||Atmel ||ATMEGA8535-16PU || PDIP-40 .6"|| ||
| |
| |-
| |
| | ||Atmel ||ATMEGA328-PU ||PDIP-24 || ||
| |
| |-
| |
| | ||Atmel ||ATMEGA8A-PU ||PDIP-24 || ||
| |
| |-
| |
| | || || || || ||
| |
|
| |
| |}
| |
| == I2C and SPI Interfaces ==
| |
| {| class="wikitable"
| |
| ! Feature !! Description !! Platform !! Library
| |
| |-
| |
| | rowspan="3" | I2C and SPI Master
| |
| | rowspan="2" | Bus Masters for I2c and SPI
| |
| | Rasberry Pi
| |
| | wiringPi
| |
|
| |
| |-
| |
| | AtMega || Check the Web. There's got to be one.
| |
| |-
| |
| | Bitbanged Bus Masters
| |
| | Raspberry Pi or AtMega
| |
| | Don't know if these will be needed?
| |
| |-
| |
| | rowspan=2 | AtMega Driver
| |
| | rowspan=2 | Driver to manage communication of Raw Data for AtMega Peripherals
| |
| | Raspberry Pi || New Code
| |
| |-
| |
| | AtMega || New Code
| |
|
| |
| |-
| |
| | I2C and SPI Port Expander Drivers || Exact Chip TBD || Raspberry Pi || Check the Web for code or write in C
| |
| |-
| |
| | 7 Segment Display Driver || Max7221 Driver for 24 digits displayed on radios || Raspberry Pi || Check the Web for code or write in C
| |
| |-
| |
| | SPI Select || Since several SPI devices will be needed, there needs to be a way to select the one to be active. Several Methods may apply
| |
| * Use GPIO pins directly
| |
| * Use a Decoder Chip
| |
| * Use an I2c or SPI Port Expander ||Raspberry Pi || Need to look at examples and search for code
| |
| | Raspberry Pi
| |
| |
| |
| * Need to look at examples
| |
| * Probably need to code this
| |
| |-
| |
| | I2C Select || Need to know more about how the addresing and selection of I2c Devices work || Raspberry Pi
| |
| |
| |
| * Need to look at examples
| |
| * Probably need to code this
| |
| |}
| |
|
| |
| == Flightgear Properties and Hardware Interfaces ==
| |
| * Mapping of each Flightgear property to a hardware interface and one or more addresses on the interface and to a routine to translate and move data between them.
| |
| * Pi to Flightgear requires Property Path, Name and Value. Protocol is documented on Flightgear Wiki.
| |
| * Pi to Max7221 is defined by the chip
| |
| * Pi to Port Expander is defined by the chip and a driver on the Pi to use the port expander instead of a gpio pin
| |
| * Pi to AtMega and Atmega to Pi requires an id for the AtMega interface port associated with the property and the value.
| |
| * To save time on the SPI or I2c intefaces, a table will be loaded down from the Pi to the ATMega at startup. On the AtMega, it will contain the AtMega Interface Port Id, identify the port's handler routine and the hardware addressing data for the port. On the Pi, it will contain the AtMega Interface Port Id, the path and name of the Flightgear property and the id of the Pi Routine responsible for translating between the Property Value and the AtMega Hardware Value.
| |
|
| |
| for details see: [[Howto:Build your own Panel or Cockpit - Software]]
| |
|
| |
| == Switches ==
| |
| * Map anything that behaves like a switch as a switch
| |
| ** Switch Multiplexing
| |
| ** Switch De-Bouncing
| |
| ** On-Off Switch
| |
| ** On-Off-On Switch
| |
| ** Multi Position Switch
| |
| ** Multiplexing Switch Data
| |
| ** Rotary Encoder
| |
| == Encoder Processing ==
| |
| ** Prioritization of Rotary Encoder Switch Data Processing
| |
| ** Magnetic Encoder
| |
| ** Rotary Encoder vs Magnetic Encoder
| |
| ** Magnetic Encoder Calibration
| |
| ** Synchronizing Magnetic Encoder Data, Actual Rotation of Instrument Compass Dial and Corresponding Rotation in Flightgear Properties
| |
| == Volume or Control Axis Data ==
| |
| ** Audio Volume or Linear Potentiometer
| |
| ** Potentiometer vs Magnetic Encoder
| |
| == Air Coils ==
| |
| * Air Coils are used for Various Guages and Instruments with Needles
| |
| ** Mounting of Air Coils for Gauges, VORs and center dial instruments
| |
| ** Separate Air Coils for Three Needles at Center of Altitude Indicator
| |
| == Mechanical Linkages ==
| |
| ** Rotation of Attitude Indicator
| |
| ** Attitude Indicator Horizon
| |
| ** Ball Part of Turn Coordinator
| |
| ** Adjustment of Magnetic Compass with two adjusters
| |
| == Radios and Auto Pilot ==
| |
| * Display of alphabetic and numeric data in COM, NAV and DME Radios
| |
| * Tuning via Rotary Encoder or Magnetic Encoder (needs detent)
| |
| * Dual Rotary Encoders or Magnetic Encoders for Tuners
| |
| * Pull Switches vs Push Switches
| |
| * Combining Indicators and Numeric Displays
| |
| * Modelling the KR87 Ident Radio 8 Position Switches
| |
|
| |
| == USB Serial Interface ==
| |
| ** Implement using AtMega8-16PU
| |
| ** Use for Flightgear data that cannot be set or sensed using Telnet
| |
| == Telnet Interface ==
| |
| * List as many properties needed for C172 as you can find
| |
| * Build a UI to display and set a number of them from the Raspberry Pi
| |
| * For the properties in the telnet or USB interfaces
| |
| == Raspberry Pi Setup ==
| |
| == Raspberry Pi Event Loop ==
| |
| * USB communication
| |
| * Telnet Communication
| |
| * I2C Master Communication
| |
| * SPI Master Communication
| |
| == ATmega Setup ==
| |
| == ATmega Event Loop ==
| |
| * I2C Slave Communication
| |
| * SPI Slave Communication
| |
| * Rotary Encoder Sense
| |
| * Other Switches Sense
| |
| * A/D Sense (rheostats)
| |
| * Air Coil Movement
| |
| * Frequency Display
| |
| * Indicator Display
| |
| * Instrument Lighting
| |
| * Logging
| |
| * Event Prioritization
| |
|
| |
| [[Category:Cockpit building]] | | [[Category:Cockpit building]] |