0

私は現在、UC32 データ シートを収容する EVK1104 という atmel マイクロ コントローラーを使用しています。私たちは実際にこのチップをカスタム PCB に実装しており、さらにファームウェアを作成中です。

現在、マイクロ コントローラー ユニット (MCU) の ADC に (8k サンプル/秒) でサンプリングするように指示する必要があります。実際には、これはマイクをサンプリングするためのものです。いずれにせよ、ドキュメントは非常に不明確であり、明確化を求めていました。

サンプリングレートを変更するには、モードレジスタと呼ばれるものを変更する必要があることを知っています。これは、ADC を使用するように構成するために使用されるレジスタです (上記のリンクの pg 799)。これは、サンプル/ホールド時間/起動時間、および ADC クロックを変更できるレジスタです。

EX(from pg 799): 
Sample & Hold Time = (SHTIM+3) / ADCClock
ADCClock = CLK_ADC / ( (PRESCAL+1) * 2 )

私が収集したものから、ADCClock を 8Khz で動作させるために PRESCAL を変更するだけで済みます。問題は、PRESCAL が 8 ビットの分解能に制限されていることです。

たとえば、コントローラーが 12Mhz/x = 8Khz に設定されている場合、x は 1500 である必要があります。前に述べたように、x は 8 ビットに制限されているため、最大値が 255 であるため、これは不可能に見えます。

ここで何か間違ったことをしている、またはデータシートが何を望んでいるかを理解していないと感じています。私が今話したことを確認したり、私を導くのを手伝ってくれる人はいますか?

4

1 に答える 1