ts-7000
[Top] [All Lists]

Re: [ts-7000] high resolution timers and real time

To:
Subject: Re: [ts-7000] high resolution timers and real time
From: Jim Ham <>
Date: Mon, 09 Apr 2012 12:52:26 -0700
There seems to be agreement that external hardware is the right solution 
for motor control. What type of external hardware is somewhat dependent 
on your target volume. The FPGA solution is nice in that you can buy the 
hardware pretty reasonably from Technologic.

Be aware that Microchip has several PIC processors that are tailored for 
motor control applications. It's been my experience that it is a _lot_ 
less work to get a sequential engine like a PIC processor to work than 
it is to get a massively parallel engine like a Lattice FPGA to work. 
YMMV, but in my circle of coders this view is pretty widely held. So if 
you don't mind more work up front for lower running costs, the FPGA is a 
good solution. If you don't mind higher running costs but want something 
easier up front, a traditional microcontroller is probably best.

Of course, if Techologic offers a motor control core that works out of 
the box the whole cost equation changes...  This is a big IF.

I don't know how much power you need for your motors. If you are going 
to have to have a custom driver board anyway, the microcontroller 
solution won't be that expensive.

Jim Ham

Mark Featherston wrote:
>
>
> Komal,
>
> I would not recommend going down the route of using kernel patches for
> high resolution timers in Linux for controlling a motor. Linux is not
> well suited for hard realtime applications. However, the FPGA on our
> boards is very good at meeting very specific timing like this. We have
> created FPGA cores on the TS-7558-BOX and TS-7520-BOX with a common
> software interface which includes PWM control. I would recommend
> migrating to one of these boards which can then use a very simple example:
> http://www.embeddedarm.com//wiki/index.php/Daqctl#Controlling_a_Servo
>
> http://www.embeddedarm.com/products/board-detail.php?product=TS-7520-BOX
> http://www.embeddedarm.com/products/board-detail.php?product=TS-7558-BOX
>
> Best Regards,
>
> ________________________________________________________________
>
>   Mark Featherston, Technologic Systems | voice: (480) 837-5200
>
>   16525 East Laser Drive                                | fax: (480) 837-5300
>
>   Fountain Hills, AZ 85268                            | 
> web:www.embeddedARM.com  <http://www.embeddedARM.com/>
>
>
>
>
> On Apr 2, 2012, at 12:39 AM, komal wrote:
>
>> Dear Sir,
>>
>> I have recently acquired a ts-7500 board with the development kit. The
>> SD card comes with a 2.6.24 Linux Kernel. After a few days of
>> experimenting I have realized that my application (controlling a servo
>> through PWM) will require HRT and RT support which the Kernel is
>> unable to provide (maximum timer resolution I am getting on the
>> current Kernel is 20ms).
>>
>> I am new to Linux and embedded systems development and hence I am a
>> little confused about how to tackle this problem. I do not understand
>> what you mean by applying the patches and how to apply the patch. Can
>> i simply do it on-board my board with the SD-Card. I have a windows PC
>> with Eclipse for Development.
>>
>> Any help you can provide me will be highly appreciated. Thank you.
>>
>> Regards,
>> Komal RAUF
>>
>> --- In  <ts-7000%40yahoogroups.com>,
>> Peter Gammie <> wrote:
>> >
>> > Charles, any anyone interested in hrtimers:
>> >
>> > With Andrew's help I managed to build a 2.6.32.3 kernel that seems
>> to work. Attached are a config and a patch, based on this:
>> >
>> > http://lkml.org/lkml/2009/7/22/119
>> >
>> > that enable hrtimers. I've lightly tested it on a ts7260 with 64Mb
>> of memory. I loaded the kernel via TFTP with:
>> >
>> > load -r -b 0x00218000 -h 192.168.1.1 z
>> > exec -c "console=ttyAM0,115200
>> ip=192.168.1.50:192.168.1.1:192.168.1.1:255.255.255.0:ts7200a:eth0:off
>> root=/dev/mtdblock1"
>> >
>> > (i.e. no special memory options or anything.)
>> >
>> > So the routine is to apply Matthieu's patches, then this one. I
>> expect it will apply to other kernel versions (specifically 2.6.29.6
>> if you want -RT) without too much bother - but be careful that the
>> Kconfig patch applies to the right system type!
>> >
>> > As for the clock multiplexing, Charles's suggestion of using just a
>> PREEMPT (not RT) kernel results in better behaviour under light
>> periodic load (it doesn't flicker while running top on the console)
>> but about the same under heavier load (scp'ing a few megabytes via
>> ethernet). I have the CONFIG_NO_HZ (tickless) option set, which may or
>> may not do anything in particular...
>> >
>> > So, more investigation is required.
>> >
>> > Thanks for all your help.
>> >
>> > cheers
>> > peter
>> >
>> >
>> >
>> >
>> > --
>> > http://peteg.org/
>> >
>>
>
>
>
> 
>
> No virus found in this message.
> Checked by AVG - www.avg.com <http://www.avg.com>
> Version: 2012.0.1913 / Virus Database: 2411/4924 - Release Date: 04/09/12
>

-- 
Porcine Associates LLC
244 O'Connor St.
Menlo Park, CA 94025
USA
+1(650)326-2669 fax +1(650)326-1071


------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
     
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

Attachment: jimham.vcf
Description: Vcard

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU