Suitable ARM processor for Traffic LIghts Controller?

Go To Last Post
7 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Dear Mrs. /Mr.

We are a company that manufactures traffic light systems. Our RnD department is in the designing process of a traffic light controller (TLC). The basic operational bloc diagram of the system is shown on the following figure:

As you can notice, the system consists of 5 major entities:

  • A CPU card, which controls the operation of the whole system
  • A Power Supply
  • A number of output cards which drive the traffic lights
  • A LCD Display
  • A keyboard

So, let us explain you the basic operation of this system.

There will be a Windows based GUI on a PC where the technicians will write a traffic light sequence program. This GUI will produce an output file (containing that program and other information as well) and this file will program the CPU of the TLC. This programming would happen via USB, Ethernet, Bluetooth or RS-232 interface. After this, the TLC will be capable of a standalone monitoring of  the traffic lights in a junction.

During this standalone operation the user (technician) will have the ability to check the controllers status through the LCD display and perform some actions (tests,etc) using the keyboard.

For these reasons our system needs to run a basic (Linux maybe?) operating system not only for controlling the various peripherals (usb, Ethernet, etc) and the basic operation but also for the interface between the TLC and the user.

Because we have no previous experience on ARM based systems we would like you to propose us which of your available ARM families and architectures would better match with our project.

 

Thank you in advance

 

Nick

 

This topic has a solution.
Last Edited: Fri. Jul 28, 2017 - 08:34 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, considering your specs, and to avoid too much time in development, you could use a ready made module like a Raspberry Pi clone, for example, Orange Pi: http://www.orangepi.org/index.html

You can check out what CPU and other components they use, it's open source hardware.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'd be more concerned with how you would make it secure and reliable. I don't think anyone in their right mind would have traffic lights controlled by Linux. Also, with all the communication options, your controller would be ripe for hacking. The original Italian Job had Benny Hill hacking the rome traffic system computer.

Last Edited: Thu. Jul 27, 2017 - 11:22 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There are many traffic light systems out there that do run on linux based interface.

But this is not my main problem right now.

What i ask is what kind of ARM processor would better much on this project.

I want some help to decide whether to use a microcontroller  based or a real-time one.

And apart from that, i want to know if there are any ATMEL ARM chips that have built-in interface for the majority of the aforementioned peripherals (usb,ethernet,wifi,etc)

like ATSAM4E16C for example.

 

Thank you again

Nick

This reply has been marked as the solution. 
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Why does it need to be ARM? I'd suggest something like a SAMA5 series for the comms running linux and something like a SAM4 for the logic - even a cortex M0 SAMD20/21 has more than enough grunt to run traffic lights. Traffic lights are hardly what you'd call real-time! We're talking seconds here, not microseconds. If you wanted better reliability, maybe a Cortex R4 based micro would be a better choice.

Last Edited: Fri. Jul 28, 2017 - 08:22 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Katman thank you very much for your answers mate!

 

Well, the majority of the devices we have checked have an ARM processor. That's why we direct on this solution.

It's still not really clear to me the difference between an application based ARM processor(CORTEX-A) and a microcontroller based one.... and why to choose the one over another

Also, if i understood correct from your previous answer you propose to use 2 different processors for our system one for the communications and one for the logic.

We were thinking to use only one processor for the logic and a PCI controller for the control and the interconnection of the communication peripherals.

 

I really really appreciate your help

Thanks again

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The big difference between the A series and the M series is that A series has no flash - you load code from an external device into ram. The bulk of the ram is external and the processor has a memory management unit - this is needed to run Linux. Contradt this to most Cortex M series chips that have internal flash and execute code from flash. The ram is usually on chip.
The challenge you have when you want networking is ram. You need a fair amount of it. Then there's driver code. This is where Linux wins - networking and comms are well covered. On the M series, you normally run cut-down network stacks etc due to less ram.
The reason i suggest both A an M chips is that the M would run your light control and make sure Linux is still alive on the A chip. Conversely, Linux can poke the M chip to see if it is still alive.
Why do you need a PCI controller? USB might ve a more generic choice.