在學習 VGA驅動時,有種簡單的方法進行數模轉換,就是通過電阻網絡的分壓來實現。
VGA接口定義如下:
VGA接口15個引腳,除去地線,一般會用到5個引腳:1(RED)、2(GREEN)、3(BLUE)、13(HSYNC)、14(VSYNC)。1、2、3指的是傳輸的紅、綠、藍三色的模擬信號,範圍爲0-0.714V,0代表無色,0.714V代表滿色,需要注意的這是模擬信號,因此前面還需要進行一個數模轉換。
輸出格式使用 RGB565格式。RGB565使用16位表示一個像素,這16位中的5位用於R,6位用於G,5位用於B。
模擬電壓0---0.714V可以通過電阻網絡分壓,來實現數字信號到模擬信號的轉換。硬件電路實現如下:
電阻左端爲3.3V或者0V的高低電平數字信號,通過數字信號0和1的組合選擇不同的阻值接入到電路中,來實現數字信號到模擬信號的轉換。
先通過Multisim仿真軟件測試一下電阻並聯後的阻值。
499、1K、2K、4.02K、8.06K這5個電阻並聯後的最小阻值爲258歐姆左右。
499、1K、2K、4.02K、8.06K、16K這6個電阻並聯後的最小阻值爲254歐姆左右。
注意在仿真軟件中用萬用表測量阻值時,需要有接地端,否則不能正確測量出電阻值。
下來將電阻網絡接入到電路中測量輸出電壓值
VGA中三基色源端及終端匹配電阻均爲75歐姆,所以將電阻網絡和75歐姆終端匹配電阻串聯。數字電路輸入電壓爲3.3 V。
通過按鍵來模擬電阻是否接入到電路中。
5個電阻並聯時,電阻網絡中所有電阻都不接入時,輸出電壓基本爲0V。
當5個電阻全部並聯到電路中時,輸出電壓爲0.743V。但是VGA最大電壓爲0.714V,5個電阻全部並聯到電路中時,電壓範圍會超過要求的最大值,所以實際使用中,不能5個全部並聯到電路中。
經過測試不超過最大電壓0.714V時,電阻網絡可以輸出的最大電壓值爲0.706V。其中4.02K的電阻不接入電路中。數字電路輸出的二進制數字最大爲 11101。也就是通過數字電路控制時,輸出的二進制數字範圍是:00000----11101。
下面測試6個電阻並聯效果:
電阻網絡中所有電阻都不接入時,輸出電壓基本爲0V。
電阻網絡中6個電阻全部接入電路後輸出電壓爲0.753V,超過了要求最大值0.714V。
經過測試不超過最大值時,電阻網絡可輸出的最大電壓值爲0.706V。數字電路輸出二進制信號爲111010,數字電路輸出的二進制數字範圍是:000000----111010。
通過仿真可以看出,通過數字接口輸出0或者1就可以接入或者斷開某個電阻,這樣通過數字電路選擇不同的電阻並聯,然後在與終端75歐姆電阻進行分壓,就可以輸出0---0.706V模擬電壓,實現了數字信號到模擬信號的轉換。