• slider image 442
  • slider image 477
  • slider image 479
  • slider image 480
  • slider image 481
  • slider image 482
:::


Browsing this Thread:   1 Anonymous Users




(1) 2 »


Re: ADC最快多久抓一次
#13
版主
版主


查看用戶資訊
我有找了Microchip Code Example 的網站做 16-bit ADC 的範例查詢:
https://www.microchip.com/doclisting/CodeExamplesByFunc.aspx
如貼圖所示,使用 ADC 的項目來查詢有關 dsPIC33 的 ADC 使用範例。
CE139 & CE439 - 10-bit ADC Sampling at 2.2MSPS 的範例程式。

另外,另外,也有一份專門講解 dsPIC33 ADC 的使用說明,相較 Data Sheet 這份資料有完整的使用說明與範例,可以參考看看 (因網址有特殊符號請使用 Copy 方式再貼上此網址):
https://ww1.microchip.com/downloads/en/DeviceDoc/dsPIC33-PIC24-FRM,-12-Bit-High-Speed,-Multiple-SARs-ADC-Converter-DS70005213G.pdf

關於 Oversampling 與 FFT 失真的問題? 因為 Oversampling 是屬於 Filtter 的功能,直接專換四次後的平均值。 高速下會失真,但在低速下會更加穩定,這就要看取捨而定。

Attach file:



jpg  擷取.JPG (43.06 KB)
16_604ae553d9455.jpg 966X392 px

發表於: 2021/3/12 11:51
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ADC最快多久抓一次
#12
中級會員
中級會員


查看用戶資訊
RYANG大好

我們是要應用在高速偵測距離 , 所以需要至少2M以上的sample rate
空間上也有限制 所以不能用太大顆的IC

因為AD轉換後還會做FFT轉換 ,想請問若是用over sample的平均模式
經過FFT會不會出現失真的情況
感謝回覆

發表於: 2021/3/11 20:43
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ADC最快多久抓一次
#11
版主
版主


查看用戶資訊
ADC 在做高速轉換時要注意輸入迴路的阻抗與雜散電容所造成的 RC Delay 效應,這點是很重要的。Data Sheet 所標示的最高速率是在比較好的條件下的轉換速度,一般在設計時都會將最高轉換速度的 80% 來轉換以避免因溫度、雜訊等外在因素的干擾。

因為你的 ADC 是用高速的轉換,如果只用一次轉換就中斷一次是很沒有效率的。可以考慮使用 DMA 模式或 Over Sampling 的取平均模式。

還是要問你一下,你的 ADC 要用高速的目的,你是要做電源的應用,還是其他的應用? 知道你的應用也許我可以找出其他的方法來協助你。

發表於: 2021/3/5 11:19
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ADC最快多久抓一次
#10
中級會員
中級會員


查看用戶資訊
補充一下
若程式改為 x=ADCBUF2; 則只需要耗時110ns
看起來讀取ADCBUF1的時間會是ADCBUF2的三倍

發表於: 2021/3/5 8:57
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ADC最快多久抓一次
#9
中級會員
中級會員


查看用戶資訊
Ryang大 好

感謝回覆!! 想再請教一下
在Fosc=140MH時 觸發ADC取樣並轉換成功耗時350ns (接近3.25M/s)
但x=ADCBUF1;這個指令就花費390ns
不知道是否有其他更快速的方式去抓取ADCBUF
THX

/////////////////////////////////程式範例///////////////////////////////
ADCON3Lbits.SWCTRG=1;
while(!ADSTATLbits.AN1RDY)
{
}
x=ADCBUF1;

發表於: 2021/3/4 20:24
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ADC最快多久抓一次
#8
版主
版主


查看用戶資訊
頻率的設定需參考附圖的方塊圖,沒有說 FIN 要用 8MHz 的輸入。你可以設定輸出頻率為 140MHz 後按照公式反推回來得到輸入頻率需要多少,按規格書上所限制的輸入頻率 (Fin) 其範圍在 0.8MHz ~ 8MHz 之間。透過 PLL 的倍率調到你所需的頻率。140MHz 不見得一定就可以被整除,一般都使用相近的頻率即可。

這顆元件如在溫度 -40 度~ +85 度的範圍是有 70 MIPS 的速度,在 +125 度則限制在 60 MIPS。以 dsPIC 的頻率對指令週期換算是 Fosc/2=Fcy。所以 70MIPS 的 Fosc 是要有 140MHz 的頻率。

如果 dsPIC33EP64GS502 的效能不夠,可以考慮看看 dsPIC33CK256MP506 系列的元件,CK 系列可以有 100MIPS 的速度,也可以用 MCC 來設定。

Attach file:



jpg  擷取.JPG (34.59 KB)
16_604049594e5cd.jpg 673X366 px

發表於: 2021/3/4 10:43
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ADC最快多久抓一次
#7
中級會員
中級會員


查看用戶資訊
Ryang大 好

感謝您的建議
後來我將TRIG方式改為common software trigger
然後在程式中加入以下程式 在Fosc=85M下可得到1.8M的取樣率

ADCON3Lbits.SWCTRG=1;
while(!ADSTATLbits.AN1RDY)
{
}
x=ADCBUF1;

但想再請問幾個問題
1.
當使用8MHz的震盪器, 在MCC中 PLL頻率最高只能設為85M
但若從程式去設定PLLPRE , PLLPOST , 等暫存器
可以將PLL輸出頻率提高為100M以上
想請問MCC設定這樣的上限是有什麼用意嗎

2.
dsPIC33ep64gs502型錄內說最高可至70MIPS
是指Fcy最高為70M ,Fosc最高為140M嗎
不知道這理解正確嗎

感謝您抽空回覆

發表於: 2021/3/4 9:15
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ADC最快多久抓一次
#6
版主
版主


查看用戶資訊
這最高轉換速度不是用 Timer 1 來完成的,因為 Timer 1 再怎麼快也到不了 15nS 的 Tad。要達到 3.25Msps 的速度 要用 Tosc 作為 Tad 的來源。

發表於: 2021/2/17 14:03
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ADC最快多久抓一次
#5
中級會員
中級會員


查看用戶資訊
ryan大好

因看dspic33ep64GS502的型錄上有提到以下規格
"Up to 3.25 Msps Conversion Rate per Channel at 12-Bit Resolution"
但我實際操作用timer1觸發只能達到約1Mhz的取樣率 , 和3.25有點差距,
還是3.25Mhz是只有轉換,不包含取樣與等待觸發的時間
我的目的是希望能以1.28Mhz的取樣率來抓AD值,
判斷方式是進timer中斷後,IO輸出high,ADC做完後,IO輸出low , 並等待下次timer觸發, 從IO的間隔時間看起來ADC 取樣+轉換約400ns , 等待timer下次觸發約500ns

另外請問你是指使用over-sampling mode就可以自動快速取樣轉換嗎? 那TRGSRC這個register要設定為什麼?

感謝回復

發表於: 2021/2/8 11:05
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ADC最快多久抓一次
#4
版主
版主


查看用戶資訊
參照:
想請問dsPIC33ep64GS502 若是用timer1最快可以多久抓一次ADC
Tad=14.28ns resolution=12-bit 使用8MHz振盪器 倍頻至85MHz
最快轉換時間是14.28*(12+2)=200ns 那最快取樣時間該如何計算


14.28是規格上最快,但用內頻方式無法做到整除,通常是15ns左右。
取樣時間通常沒有所謂最快,因為快不了,這跟外部阻抗造成的充電速度有關,快就不準。
不過硬是要快的話,最快應該是2xTad.


參照:
因為從示波器看起來 取樣+轉換約400ns 等待timer1下次觸發約500ns
所以約900ns才抓一筆ADC 但希望能壓在750ns內
不知是否還可以降低ADC取樣轉換時間或timer1觸發時間


猜測量測方式包含了:
1. 進中斷時間?
2. I/O翻轉時間?
3. …可能還有別的因素,從文字描述看不出來。

以上時間影響,準確時間其實無法量到,不確定目的是什麼?
若是希望快速捕捉一段時間,用over-sampling可能更簡單,自動快速取樣與轉換,CK甚至可以自動搬進DMA。
不進中斷才能省時間。

發表於: 2021/1/29 10:22
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------