USB接口的數(shù)模轉(zhuǎn)換系統(tǒng)設(shè)計(jì)解析
在制作PCB的時(shí)候,應(yīng)遵守高速USB印刷電路板的要求。為了達(dá)到較高的信號(hào)質(zhì)量,需要采用4層板甚至6層板來布線。將USB芯片放置在信號(hào)層,并盡可能離GND層近些。
USB接口中的D+和D-用于高速的USB數(shù)據(jù)傳輸,因此這兩根信號(hào)線直接影響USB接口電路的穩(wěn)定性,在印制電路板布線的時(shí)候需要仔細(xì)布置。D+和D-的走線應(yīng)盡可能短且相等,并且合理設(shè)置D+和D-的導(dǎo)線寬度和間距。D+和D-之間的差分阻抗應(yīng)該為90W±10%.保證在D+和D-信號(hào)的下面是完整的GND層。中間斷開的GND層將導(dǎo)致差分阻抗不匹配,并增加信號(hào)的干擾。
4 程序設(shè)計(jì)
上位機(jī)的程序在VisualC++6.0編譯環(huán)境中進(jìn)行設(shè)計(jì),分為設(shè)備初始化、USB設(shè)備檢測(cè)、輸出電壓三個(gè)部分,程序代碼分別介紹如下。
4.1 設(shè)備初始化
需要先初始化USB設(shè)備變量、控制端點(diǎn)變量和線程變量。主要是在OnInitDialog()函數(shù)中進(jìn)行。代碼示例如下:
4.2 USB設(shè)備檢測(cè)
在程序中檢測(cè)連接的USB設(shè)備,代碼示例如下:
4.3 輸出電壓
用于從文本框中讀取輸入的電壓值,然后轉(zhuǎn)換為浮點(diǎn)數(shù),接著轉(zhuǎn)換成最接近的并行數(shù)據(jù),最后通過自定義請(qǐng)求輸出給USB設(shè)備。代碼示例如下:
5 小結(jié)
本文通過一個(gè)完整的實(shí)例,講解了如何使用USB接口芯片實(shí)現(xiàn)上位機(jī)控制D/A轉(zhuǎn)換輸出模擬電壓。D/A轉(zhuǎn)換器將數(shù)字信號(hào)轉(zhuǎn)換成為模擬信號(hào),可以利用成熟的數(shù)字電路技術(shù)實(shí)現(xiàn)控制,應(yīng)用非常廣泛。熟練掌握這種方法以后對(duì)于相關(guān)領(lǐng)域的設(shè)計(jì)工作十分有用。
評(píng)論