<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AVR VUSB技術(shù)的數(shù)控直流穩(wěn)壓電源設(shè)計(jì)

          基于AVR VUSB技術(shù)的數(shù)控直流穩(wěn)壓電源設(shè)計(jì)

          作者: 時(shí)間:2013-10-11 來(lái)源:網(wǎng)絡(luò) 收藏


          圖3 電壓電流放大電路。

          1.3 VUSB接口

          VUSB是用普通的通用單片機(jī),配以較高頻率的晶振(12MHz或16MHz),模擬產(chǎn)生USB所需信號(hào),從而模擬出標(biāo)準(zhǔn)的USB HID設(shè)備(鼠標(biāo)、鍵盤、簡(jiǎn)單通信)的解決方案,構(gòu)成一個(gè)低成本的USB設(shè)備。USB共有4根線,2根5V電源,兩根差分信號(hào)線D+、D-.由于是低速設(shè)備,D-必須要有1.5kΩ的上拉電阻。

          VUSB接口電路如圖4所示,單片機(jī)的PD1和PD2通過(guò)68Ω的限流電阻分別接入標(biāo)準(zhǔn)USB接口的D-、D+.

          需要注意的是D+必須接上單片機(jī)的外部中斷0管腳,在此為了簡(jiǎn)化連接直接將PD2(INT0)接入作為其中的一根信號(hào)線使用。由于USB信號(hào)線的電壓最大為3.6V,所以在D-和D+上分別并接了一個(gè)3.6V的穩(wěn)壓二極管。

          圖4 VUSB接口電路。

          2 系統(tǒng)軟件設(shè)計(jì)


          軟件設(shè)計(jì)包括下位機(jī)和上位機(jī)2部分。下位機(jī)主要負(fù)責(zé)接收上位機(jī)的設(shè)置電壓值,并經(jīng)過(guò)轉(zhuǎn)換后輸入到MAX522,從而輸出設(shè)置電壓。上位機(jī)則通過(guò)VUSB與下位機(jī)連接,并通過(guò)模擬的USB協(xié)議向下位機(jī)寫入數(shù)據(jù)。

          2.1 下位機(jī)軟件

          下位機(jī)軟件流程圖如圖5所示。其中設(shè)備初始化包括單片機(jī)端口初始化、DAC初始化及VUSB端口初始化。在初始化之后,程序進(jìn)入主循環(huán),在其中加入了USB輪詢函數(shù)usbPoll(),用來(lái)偵測(cè)USB事件。一旦偵測(cè)到上位機(jī)有USB通信請(qǐng)求時(shí),usbdrv就會(huì)調(diào)用usbFunctionSetup()函數(shù)來(lái)處理請(qǐng)求。在此請(qǐng)求函數(shù)中接收上位機(jī)傳來(lái)的數(shù)據(jù)并將此數(shù)據(jù)轉(zhuǎn)換后寫入MAX522數(shù)據(jù)端口,啟動(dòng)DAC輸出電壓。

          圖5 下位機(jī)軟件流程。

          設(shè)計(jì)中需注意以下幾點(diǎn):

          1)單片機(jī)方面的VUSB 底層驅(qū)動(dòng)函數(shù)使用USB,最新版本的-USB為C語(yǔ)言編寫并有詳細(xì)的注釋。開(kāi)發(fā)平臺(tái)為WinAVR.GCC項(xiàng)目文件夾中需包含驅(qū)動(dòng)文件(usbdrv文件夾),并對(duì)usbconfig.h中的部分宏定義做一些修改。

          #define USB_CFG_IOPORTNAME D//這個(gè)接口連接USB總線。當(dāng)配置為"D"時(shí),寄存器PORTD,PIND and DDRD將有效。

          #define USB_CFG_DMINUS_BIT 1//位配置,是在USB_CFG_IOPORT 中連接USB D-的線??梢耘渲脼榻涌诘娜魏挝?。

          #define USB_CFG_DPLUS_BIT 2//位配置,是在USB_CFG_IOPORT 中連接USB D+的線。也可以連接到任意口,但是注意D+一定要連接都中斷口INT0

          2)單片機(jī)在接收到讀取數(shù)據(jù)命令時(shí)會(huì)自動(dòng)調(diào)用usbFunctionSetup(uchar data[8]),在函數(shù)內(nèi)把全局指針*usbMsgPtr指向所要發(fā)送的數(shù)據(jù)首地址,然后返回(函數(shù)返回值)所發(fā)送數(shù)據(jù)的長(zhǎng)度就可以了。由于采用的是命令包方式傳輸數(shù)據(jù),每次只能接收4個(gè)字節(jié)的有效數(shù)據(jù),存儲(chǔ)在data[2]~data[4]中。


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();