Using Props to make my ARM board work...Automotive Infotainment.
redheadedrod
Posts: 78
I am looking at making an add on board at this point in time for an ARM project I am working on.
The ARM board is pretty well stacked with support for a variety of options but to make it work as a centerpiece for an automotive infotainment system I need to add a few features to it.
The board I am using has a single I2C port available although the touch screen is attached to it. (I am assuming I can make this into a buss and add 3 more I2C devices directly)
I also have 2 UART ports available as well.
Because the devices I am looking to add all require a UART, I2C port, 2 I2C ports or a I2C port and UART I am considering incorporating atleast one Prop into this project.
Where can I read up on how to interface to the UART and I2C ports with a prop?
(Also has 2 USB ports, PCIe port and a SATA 1.5 port)
I am thinking of making a Prop into a sort of switch board then building my own Linux drivers to access the devices through the Prop.
I am relatively new to building my own hardware. I have done some minor breadboarding and some minor prototyping so this will be a learning project for me.
I am hoping to eventually add the following to an add on board...
GPS,
AM/FM/RDS/HD radio
5.1 Audio out (Amplifier is optional)
2 or more Stereo aux inputs
Blue Tooth
WiFI
ODBII adaptor
And possibly others that I can't think of at the moment.
I really need to learn how to interface these things together though and how to build the drivers to make them run so any help would be great!
I COULD try to do it all with USB add ons but since I HAVE the ports available I would like to use them and keep the USB ports available for other add ons later.
My ARM board will likely run either Android or Ubuntu for this.
In the end I would love for this to not only work for the IMX6 freescale board I have but PandaBoard and other similar style ARM boards.
Thanks for any direction or help!
Rodney
The ARM board is pretty well stacked with support for a variety of options but to make it work as a centerpiece for an automotive infotainment system I need to add a few features to it.
The board I am using has a single I2C port available although the touch screen is attached to it. (I am assuming I can make this into a buss and add 3 more I2C devices directly)
I also have 2 UART ports available as well.
Because the devices I am looking to add all require a UART, I2C port, 2 I2C ports or a I2C port and UART I am considering incorporating atleast one Prop into this project.
Where can I read up on how to interface to the UART and I2C ports with a prop?
(Also has 2 USB ports, PCIe port and a SATA 1.5 port)
I am thinking of making a Prop into a sort of switch board then building my own Linux drivers to access the devices through the Prop.
I am relatively new to building my own hardware. I have done some minor breadboarding and some minor prototyping so this will be a learning project for me.
I am hoping to eventually add the following to an add on board...
GPS,
AM/FM/RDS/HD radio
5.1 Audio out (Amplifier is optional)
2 or more Stereo aux inputs
Blue Tooth
WiFI
ODBII adaptor
And possibly others that I can't think of at the moment.
I really need to learn how to interface these things together though and how to build the drivers to make them run so any help would be great!
I COULD try to do it all with USB add ons but since I HAVE the ports available I would like to use them and keep the USB ports available for other add ons later.
My ARM board will likely run either Android or Ubuntu for this.
In the end I would love for this to not only work for the IMX6 freescale board I have but PandaBoard and other similar style ARM boards.
Thanks for any direction or help!
Rodney
Comments
Anyway, the easiest way to interface a Propeller to a computer is via serial connection over the FTDI chip (aka Prop plug) and a USB port.
There isn't any particular documentation for serial or I2C: it's actually fairly simple. Look for the FullDuplexSerialPlus object and Mike Green's basic i2c drivers, and look at the various demo code available. It's fairly informative.
I'd suggest that you hook up all of those inputs that you listed directly to the computer. This is because there is no value to the Propeller intercepting and acting as a middle man for those devices. All the Propeller would do would be to pass along the data.
What the Propeller could really excel at is working at a lower level in the car: you can use it to control things like windows, locks, alarms, lights, and anything else electrical or mechanical. You could use it with temperature sensors or light sensors, or proximity sensors to detect nearby objects. These peripherals all share common traits: they are all low level and low bandwidth.
One of the fun things is all of the things you mention to control can be done via the ODBII bus.
I am working on a Software Engineering degree and one in Computer Security and being able to build these circuits and working with Embedded devices is going to be a huge thing for me. I have some very basic hardware experience so working with SMD and designing boards and such will be a totally new experience for me. I am doing my initial design work with USB devices and a large HUB but I want to replace these devices one by one and I may end up using propellers as a cheap way to test out the designs before attaching them to the ARM boards. I may also decide to use the Prop as a way to allow me to add all of these devices without using much processing power in the ARM board. Just tinkering for now and trying to work on ideas...
I am planning a 3-5 year cycle for this project. The other project, the electronic dash I figure will be a reasonably easy project. Will be more of a programming project than hardware since it looks like the hardware is available.
If you start building modules up from the bottom, you may never need the I7 in this world of Raspberry Pis, MK802s and other small ARM based, low power LINUX systems.
My truck is going to be insane however.. Will be more processing power than any space probe on that thing.
My initial design has 8 external cameras to provide a 3D map of the surrounding area with IR capable cameras. GPS, WiFi, 4G OBDII...
Full Car Alarm with detectors. When the truck is off all of the computers but one will be off. If the security computer senses a threat it will wake up and try to communicate with the person outside the vehicle using AI to try to scare them off.
In the over head console there will be a 7" touch screen to communicate with the main ARM security/convenience system. As I learn the ODBII system I may be removing some of the switches from the interior and doing them from the screen. All of the switches in my truck are actually ODBII based so I should be able to remove them and use the computer to control them instead.
I am looking at making multiple HUD displays with laser projectors and nanotube sheets. (They have a full windshield setup for $20,000USD but thats a bit much for me even if it will support full augmented reality in the windshield. I will be testing some Pico Projectors with their film to see if I can get a 7" sun viewable screen and it looks like I will.) The nano sheets are like $100 for an 8x11 sheet for a "sampler". Otherwise for a 36" wide sheet they are like $300 a square foot at this time.
I will likely design a 3D imaging system that will attempt to detect objects in an image and track them. Since the Freescale boards are designed to have 2 high speed camera inputs I will likely build them into modules.. 1 Arm, 2 Cameras.. (Will be a kinect type setup to map out.)
I am looking at installing 2 10" screens in the dash for the x86 machine which will handle all of the entertainment and tie all of the sensors together. It will provide a safety system in the background that will warn me of impending doom.
The rear seats will have head rest monitors with a full touch screen built into the rear of the main console. There will be interior cameras for security as well.
All of the Technology actually exists today. I just need to start putting it all together to make it work. I am doing this as a personal project with the intent to show it as an example of the work I can do.
So in this process I plan to use props instead of ARM where I can and ARM everywhere else with an x86 as the central brain to it.
Oh and I will be able to talk to my truck from my phone as well either over the internet or wifi.
I am giving myself a 3-5 year projection on a working solution on the truck.
My instructor thinks I am insane but realizes if I am successful I won't need to worry about finding work after Graduation...
Not to mention the cool factor if I am successful with even half of the project.