發新話題
打印

c8051F41X的DAC

c8051F41X的DAC

這顆MCU使用DAC時,它的output電壓和電流的關係是不是non-linear的呢
我是從program上直接給值得到這樣的結果,可是我怕也許是我硬體或程式上有問題?
我會量電壓是因為量電壓比較直接,如果要量電流就還要拆線= =

TOP

測試過,是線性的阿!
有個地方要注意:
Datasheet → Table 6.1. IDAC Electrical Characteristics 這有提到:Output Compliance Range = VDD - 1.2V (MAX),所以在選擇 "Full Scale Output Current" (0.25mA~2mA)與 輸出阻抗(外接的)時,要注意 I(輸出電流) 乘上 R(輸出阻值) 不能大於 "Output Compliance Range",否則你會看到越接近 DAC 峰值的 IDA0H/L&IDA1H/L Value,所輸出的波形呈現曲線輸出(因DAC輸出已趨近飽和狀態),這時的DAC就只有該區域為曲線輸出,離峰值越遠的區域則是線性輸出。
我想你應該是遇到上述的問題吧。

TOP

後來有注意到這個...
可是我用1mA和2mA,搭配的輸出阻抗高達390k~520k
不知道是什麼原因
我在輸出的地方拉兩條線出去
一個接阻抗再接地
一個接到PNP的E極,C極接3.3V,B極接1k然後接地
現在量測接阻抗的地方,是有量到線性的
但是使用的阻抗也太大了orz
到底是怎樣= =?

TOP

還是因為bit太小
2mA*10/4096=很小
所以當bit太小,給的輸出阻抗也要大一點
是這樣嗎?

TOP

IDAC輸出所接的阻抗大小只會影響IDAC所產生的輸出電壓變化範圍,該電壓變化範圍解析度則是對應在IDAC bit數,只要所匹配的輸出阻抗與DAC輸出電流換算出電壓峰值不要大於或太接近 VDD-1.2V,IDAC 都可在線性區工作。
你應該要去想清楚你實際想要IDAC的bit數對應Vout要輸出多少到多少的電壓範圍,若輸出是要去驅動一個負載,或是輸出電壓範圍大於VDD-1.2V且Loading很大,則必須透過晶體驅動電路來輸出,這時所設計這個晶體驅動電路才會知道到底IDAC輸出要 串/並 接多少阻值的電阻來控制後級的晶體電路,這裡還需要一些 "電子學" 的電路設計基礎,才能將驅動電路做最佳化設計。
簡單的說:F410 IDAC 是一個電流源輸出的 DAC,需配合外部驅動電路,MCU才能藉由軟體控制設定得到你想要的電壓變化範圍,而IDAC匹配的輸出阻抗只是該外部驅動電路的一部分,阻抗大小沒有一定要看實際電路應用設計而定。

[ 本帖最後由 Stevenyang 於 2009-10-8 13:25 編輯 ]

TOP

發新話題