1分辨率
當知道一個A/D或D/A轉換器的位數n時,就可以知道其分辨率的大小。此時,A/D或者D/A轉換器的都或許知道其分辨率的定義式( 選擇D/A轉換器來說明 ):
當模擬量的范圍( 如電壓范圍[ UMIN, UMAX] )確定之后,分辨率就可以用來確定當D/A轉換器內部二進制數變化1時對應的模擬信號的變化量:
左邊的B列表示D/A轉換器對應的二進制值,U列代表電壓。第二行從左到右分別表示二進制數的范圍及電壓的變化范圍,具體的物理含義可表示當二進制從最小變化到最大時對應的電壓也從最小變化到最大[ 采用數學中的比例思想可得到下面的比例等式 ]。那么當二進制值增加1( 上圖中的1可理解為下一個二進制與上一個二進制值的差,以增1的方式進行 )時電壓差值U( 可理解為當二進制值變化1后的電壓值與之前二進制值對應電壓的差值 )會相應的為多少呢?根據比例式求解就可以得到U的表達式:
這個表達式就證明了之前說的一句話,當模擬信號的范圍確定以后,D/A分辨率的大小將決定模擬量的最小變化量。對于相同的模擬信號范圍,當n值越大時,二進制每增加1對應的模擬信號的變化就越小[ 對整個模擬量范圍劃分的階段更多 ],能表示的模擬信號的精度就越高。如UMAX=1, UMIN=0,n=8則D/A能輸出0.0039這一點壓值,但此D/A轉換器永遠輸不出在此基礎之上小于U的電壓值如0.0039 + 0.09( 低于二進制變化一位電壓變化的值了 )。這就是分辨率的作用和所追求的東西。每兩個二進制值之間形成一個模擬量增量。
2 A/D或D/A的計算
不管是對于數模轉換還是模數轉換,其實都是根據事先設計好的二進制增1時對應的模擬量的增量值來計算。根據以上對分辨率的討論可知,模擬量值從原來設定值變化到當前值需要變化的二進制值為多少呢,每變化一個二進制值模擬量就增加一個值U,直到增加到當前模擬量值。一般的A/D或者D/A轉換器低分辨率的為8位,中分辨率的的有10位和12位,高分辨率的有16位,別看這8位的低分辨率( 值為0.00392 ),有效值也在小數點后三位。由以上分析分變率可知,分辨率與模擬量的乘積就是二進制每增加1時對應模擬量的變化增量[ 若模擬量范圍為個位級,若輸出模擬量的精度不需要精確到小數點后3位,則二進制增1操作不能引起模擬量的改變,若模擬量范圍為十位級,若輸出模擬量值精度不需要精確到小數點后兩位,則二進制增1時模擬量輸出不會改變,依次類推 ],10/12/16位A/D或D/A同樣的道理。
2.1D/A通道數模轉換計算
同理,D/A通道數模轉換計算是已知模擬信號范圍及知道一個二進制值時對應的模擬信號值。根據以上分析二進制下的模擬量計算公式應該為:
M為上次二進制值到當前二進制值變化的二進制值。根據分析的模擬量輸出精度可知,若模擬量范圍為個位級且輸出精度不要求精確到小數點后三位,則二進制的增/減一個值不會改變模擬量的值。故上面的對U的計算公式就可以改成:
同理,當給定的二進制值M有-1的情況,如給定二進制值FFH時,就可以省掉-1項( 不影響結果 )。
2.2A/D通道模數轉換計算
A/D通道模數轉換計算是已知模擬信號范圍及知道模擬量范圍內的一個值時求對應的二進制數值。根據表1,可得已知電壓值計算二進制值的公式如下:
<1> 根據以上所提到的精度問題,在不影響精度的條件下可以將2的n次方后的-1項去掉。
<2> 如果整個計算結果為小數,而對應二進制時需要整數來對應,此時是將這個小數的小數部分直接省掉作為計算二進制的整數呢還是將小數省掉后加1作為計算二進制的整數呢?其實隨便取哪一個都不是很準確,但是在一定的誤差要求范圍內,應該是隨便取哪一個都是可以的,可以取兩個整數值來分別計算得到二進制值,然后再用此二進制值計算出對應的輸出模擬量,選擇誤差較小的一個對應的二進制對應的模擬量值( 保證大者在最大值以下,小者在下限以上的前提下 )。
原文標題:AD轉換原理
文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
AD
+關注
關注
27文章
868瀏覽量
150273 -
分辨率
+關注
關注
2文章
1058瀏覽量
41922
原文標題:AD轉換原理
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論