On Mon, 27 Jul 2009, tseredynski wrote:
> Hm... could you tell me about how much more accurate the rate would be if
> I used the kernel driver? I switched the the T4 timer, and now poll it
> as it counts up until it is greater than a certain value (this way it
> catches the value for sure, though maybe not exactly on but close). I am
> aiming for a rate of 1kHz, and I get a value that ranges from about
> 950-1000Hz. It no longer gets the large drops in sample frequency that I
> got when trying with T3, but I'm still curious if this is as accurate as
> I can get or whether using a kernel driver would enable me to achieve
> something like a 995-1000Hz range.
Phil's driver can sample at 8KHz, and it is good enough for sound sampling.
Subjectivey this would imply the timer accuracy far better than your user
land code.
>
> Thanks again for your help.
>
> --- In wrote:
>>
>> You need to be able to catch the interrupt from the timer when it expires.
>> The only way is with a driver of some kind. Polling the timer registers is
>> not reliable especially if the countdown is very short.
>>
>> --- On Mon, 7/27/09, tseredynski <> wrote:
>>
>> From: tseredynski <>
>> Subject: [ts-7000] Re: T3 timer use on TS-7200
>> To:
>> Received: Monday, July 27, 2009, 2:22 PM
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> Hi,
>>
>>
>>
>> Thanks for the response. Why exactly do I need to use a kernel driver? I'm
>> not very familiar with them, and I don't usually like to use things that I
>> don't understand well. I'm currently trying with T4 instead of T3 and it's
>> showing more promise of being reliable... but I'm not done yet.
>>
>>
>>
>> But I'd really like to know why I'm unable to make use of the timer with
>> pure C programming. Thanks.
>>
>>
>>
>> --- In .com, Jim Jackson <jj@> wrote:
>>
>>>
>>
>>>
>>
>>> You really need to use a kernel driver for this.
>>
>>> For an example, check our Phil's ADC kernel module - it's in the file
>>
>>> section of the group. It uses one of the timers to schedule when to
>>
>>> read the ADC.
>>
>>>
>>
>>> On Fri, 24 Jul 2009, tseredynski wrote:
>>
>>>
>>
>>>> Hello,
>>
>>>>
>>
>>>> I'm trying to use the T3 timer on my Ts-7200 to execute a function at a
>>>> constant 4khz rate (every 0.25 ms), but I'm running into trouble.
>>
>>>>
>>
>>>> I'm trying to do so by loading the appropriate value to the timer, and
>>>> then constantly polling the T3 value, and waiting for it to hit 0.
>>>> However, a few problems occur. First of all, it doesn't seem like my
>>>> program can poll the value fast enough to catch the 0. The clock hits
>>>> zero, and resets before my program can even get the value.
>>
>>>>
>>
>>>> It also seems that every couple of milliseconds (~5ms) I get a large
>>>> delay. I checked this part by using printf() to display values as fast as
>>>> it could and I'd usually get gaps of about 20 clock counts, however every
>>>> couple of milliseconds I'd get a gap that was much larger (a couple
>>>> hundred clock counts). Also, while trying to print values as fast as
>>>> possible, it would usually print 20 values per cycle but every couple of
>>>> cycles it would print closer to 30.
>>
>>>>
>>
>>>> This makes me think that there might be processes running on the board
>>>> with higher priority than my program.
>>
>>>>
>>
>>>> Does anyone have some advice? Can I use the timer like I'm trying to, or
>>>> do I need to try to use the interrupt request generated by the timer? (I
>>>> don't know how to do this atm, so advice regarding that would be
>>>> appreciated)
>>
>>>>
>>
>>>> Thank you!
>>
>>>>
>>
>>>>
>>
>>>
>>
>
>
>
------------------------------------
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/
|