ts-7000
[Top] [All Lists]

[ts-7000] Maximum sample rates with TS-7300

To:
Subject: [ts-7000] Maximum sample rates with TS-7300
From: "lyy_henry" <>
Date: Fri, 02 Nov 2007 16:23:16 -0000
Hi guys:
 
I am currently trying to set the built-in ADC in the ARM EP9302
processor to collect samples at its highest -> 3750 samples per
second. According to the EP9302 manual, I have to enable the ADIV bit
in the ADCCLKDIV register which is bit 16 to either 0 or 1. 

Why 0 or 1. Because I am not sure either 0 or 1. There were two EP9302
manuals that I have been studying, One is the EP93xx family manual and
the second one is EP9302 manual, they were talking differently to each
other regarding to this issue, one said enable 0 and the other said
enable 1. So I started testing it myself. However, either I enabled 1
or 0, it still gave me the same result. I have attached the init_ADC
function below, this is the bit that I have added:

  //Enable ADIV bit to 1 in able to get the higest sample rate
    val = PEEK32(syscon_page + ADCCLKDIV_OFFSET);
    POKE32(syscon_page + SYSCON_UNLOCK, UNLOCK_VAL);
    POKE32(syscon_page + ADCCLKDIV_OFFSET, val & ~0x10000);

Have I done anything wrong with it or I have misunderstand the manuals
? If I did something wrong please indicate me. Thanks a lot guys.
 
Full init_ADC function:

void init_ADC(unsigned long adc_page, unsigned long syscon_page)
{
  unsigned long val;
  
  /*    set TSEN bit     */
  val = PEEK32(syscon_page + ADCCLKDIV_OFFSET);
  //unlock the software lock
  POKE32(syscon_page + SYSCON_UNLOCK, UNLOCK_VAL);
  POKE32(syscon_page + ADCCLKDIV_OFFSET, TSEN_MASK | val);
  
  //Enable ADIV bit to 1 in able to get the higest sample rate
    val = PEEK32(syscon_page + ADCCLKDIV_OFFSET);
    POKE32(syscon_page + SYSCON_UNLOCK, UNLOCK_VAL);
    POKE32(syscon_page + ADCCLKDIV_OFFSET, val & ~0x10000);
  
  /*    set ADCEN bit    */
  val = PEEK32(syscon_page + DEVICECFG_OFFSET);
  POKE32(adc_page + SYSCON_UNLOCK, UNLOCK_VAL); //unlock the soft lock
  POKE32(syscon_page + DEVICECFG_OFFSET, val | ADCEN_MASK);
  
  /*    clear ADCPD bit  */
  val = PEEK32(syscon_page + DEVICECFG_OFFSET);
  POKE32(adc_page + SYSCON_UNLOCK, UNLOCK_VAL); //unlock the soft lock
  POKE32(syscon_page + DEVICECFG_OFFSET, val & ~ADCPD_MASK);
}



 
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/
 

<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