32-bit ECIO ARM

Tips, Tricks and methods for programming, learn ways of making your programming life easier, and share your knowledge with others.

Moderators: Benj, Mods

Post Reply

Please rate this article out of 5: (1 being the worst and 5 being the best)

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

User avatar
Benj
Matrix Staff
Posts: 15312
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4803 times
Been thanked: 4314 times
Contact:

32-bit ECIO ARM

Post by Benj »

Image

The long awaited 32-bit ARM ECIO module is now available to buy from Matrix so this month I will write an article on moving a design from an 8-bit system to a 32-bit system using Flowcode. Like the other ECIO modules the new ARM module is capable of supplying power via the USB connection or via an external 5V supply. The module also works with our ECIO application board so E-Blocks can be quickly and easily attached to your embedded system.

The ECIO provides the user with 30 configurable I/O pins that feature functionality including I2C, PWM, UART, SPI and analogue. The 32-bit ARM ECIOs also feature 4 dedicated analogue input channels labelled as PortE. When combined with our award winning Flowcode software the possibilities are endless with native 32-bit floating point variable support and many other advanced features such as Bluetooth, Ethernet etc.

One problem with the ARM devices is that they run at a lower voltage of 3.3V rather then the normal 5V used by PIC and AVR devices. This can sometimes lead to problems so we have taken several steps to relieve this problem. Firstly we have used a 3.3V regulator onboard the ECIO ARM to allow it to be powered from the USB and the standard ECIO Applications board as well as a range of other sources. Secondly we have ensured that the I/O pins are 5V tolerant so signals designed for a PIC or AVR will not damage the device and will work as expected. Finally we have developed our E-Blocks range with this 3.3V / 5V problem in mind and any board that may have a problem with this low voltage operation comes complete with a jumper to place it into 3.3V operation.

Flowcode ARM 3.4.7 requires a small modification to allow the ECIO ARM devices to be programmed correctly. Method A is for the ECIO ARM devices and method B is for the EB031 ARM E-Blocks. Users of Flowcode running versions later then 3.4.7 will not have to apply this mod.

“C:\Program Files\Matrix Multimedia\Flowcode_ARM\Tools\Global”

A) Extract the attached file ECIOARM into the specified folder above to allow the ECIO ARM device to work with Flowcode ARM. Click Ok to overwrite any files when prompted. Also place the attached ECIOARM.FCD file into your Flowcode_ARM\FCD folder.

B) Extract the attached file EBARM into the specified folder above to allow the EB031 ARM E-Block device to work with Flowcode ARM. Click Ok to overwrite any files when prompted. Also place the attached EB031.FCD file into your Flowcode_ARM\FCD folder.

Ok so lets start looking at taking a generic Flowcode PIC program and converting to the ARM alternative. I am going to be using the PWM_LED example from our examples section as this seems to arouse a lot of interest. Flowcode programs created in the PIC or AVR versions of Flowcode can be converted to the ARM version of Flowcode by using the File -> Import menu inside Flowcode ARM.

1) Opening Flowcode ARM I come to the new or open menu. Here I simply click cancel and then use the File -> Import menu to open my Flowcode PIC LED program.

2) I am now faced with a warning stating that the imported file uses a 16F88 and I am asked to choose a target from the ARM range of processors. I choose the ECIOARM device that we added before by copying the Flowcode definition file into our FCD directory.

3) Looking through the program I can spot a small problem with the timer interrupt enable. The ARM uses slightly different names for the interrupts so I will have to assign the new interrupt name to the interrupt enable icon. This basically changes from TMR0 in Flowcode PIC to TMR0 8-BIT in Flowcode ARM. Other potential pitfalls occur when using hardware peripherals such as UART, I2C, SPI etc. Just make sure you are using the correct pins assigned to the hardware functions. A list of the pins and their respective functions is shown by clicking on the View -> Chip menu in Flowcode.

4) Save and compile your code to the ECIO device, insert your ECIO ARM into the USB and press reset. Now your old PIC or AVR code is running on the faster and more powerful 32-bit ARM device allowing you to introduce more features into your software functionality or squeeze out a little more throughput from the device.
EBARM.zip
(3.52 KiB) Downloaded 506 times
Attachments
PWM_LED_PIC.fcf
(5 KiB) Downloaded 525 times
PWM_LED_ARM.fcf_arm
(5 KiB) Downloaded 507 times
ECIOARM.fcd
(12.1 KiB) Downloaded 492 times
EB031.fcd
(12.61 KiB) Downloaded 486 times
ECIOARM.zip
(3.51 KiB) Downloaded 486 times

MW
Posts: 38
Joined: Mon Feb 26, 2007 2:04 am
Has thanked: 4 times
Been thanked: 2 times
Contact:

Re: 32-bit ECIO ARM

Post by MW »

Hi Ben,

I would be particularly interested in an article on how to utilise the second UART on this ECIO. This and the addtional code space is one of the main reason I have ordered mine.

Cheers
MW

Sean
Valued Contributor
Valued Contributor
Posts: 548
Joined: Tue Jun 26, 2007 11:23 am
Has thanked: 6 times
Been thanked: 44 times
Contact:

Re: 32-bit ECIO ARM

Post by Sean »

This is a feature that is intended to be an integral part of Flowcode V4. To add this functionality to Flowcode V3 we will create the code as either a custom component or a set of user macros.

The files will be posted within the next few days.

Mathy
Posts: 333
Joined: Mon Oct 05, 2009 2:39 pm
Has thanked: 30 times
Been thanked: 33 times
Contact:

Re: 32-bit ECIO ARM

Post by Mathy »

Is it possible to have the schematic of the ECIO for ARM ?

It is very interessting for me because I have to create my own board with different sensor but with a working schematic, it will be more easy !!

Thank you so much :)

User avatar
Steve
Matrix Staff
Posts: 3424
Joined: Tue Jan 03, 2006 3:59 pm
Has thanked: 114 times
Been thanked: 422 times
Contact:

Re: 32-bit ECIO ARM

Post by Steve »

We do not currently publish the schematics of our ECIO products, but the block diagram is in the datasheet and you should be able to use this to sort out any problems.

User avatar
Benj
Matrix Staff
Posts: 15312
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4803 times
Been thanked: 4314 times
Contact:

Re: 32-bit ECIO ARM

Post by Benj »

The schematic for the EB031 ARM development board is available in the datasheet, This may help you to design your hardware.

Post Reply