基于手機通信的心電圖機設計方案
2 系統軟件設計
軟件設計包括下位機和上位機2部分。下位機主要負責接收上位機的設置電壓值,并經(jīng)過(guò)轉換后輸入到MAX522,從而輸出設置電壓。上位機則通過(guò)VUSB與下位機連接,并通過(guò)模擬的USB協(xié)議向下位機寫(xiě)入數據。
2.1 下位機軟件
下位機軟件流程圖如圖5所示。其中設備初始化包括單片機端口初始化、DAC初始化及VUSB端口初始化。在初始化之后,程序進(jìn)入主循環(huán),在其中加入了USB輪詢(xún)函數usbPoll(),用來(lái)偵測USB事件。一旦偵測到上位機有USB通信請求時(shí),usbdrv就會(huì )調用usbFunctionSetup()函數來(lái)處理請求。在此請求函數中接收上位機傳來(lái)的數據并將此數據轉換后寫(xiě)入MAX522數據端口,啟動(dòng)DAC輸出電壓。

圖5 下位機軟件流程。
設計中需注意以下幾點(diǎn):
1)單片機方面的VUSB 底層驅動(dòng)函數使用AVRUSB,最新版本的AVR-USB為C語(yǔ)言編寫(xiě)并有詳細的注釋。開(kāi)發(fā)平臺為WinAVR.GCC項目文件夾中需包含驅動(dòng)文件(usbdrv文件夾),并對usbconfig.h中的部分宏定義做一些修改。
#define USB_CFG_IOPORTNAME D//這個(gè)接口連接USB總線(xiàn)。當配置為D時(shí),寄存器PORTD,PIND and DDRD將有效。
#define USB_CFG_DMINUS_BIT 1//位配置,是在USB_CFG_IOPORT 中連接USB D-的線(xiàn)??梢耘渲脼榻涌诘娜魏挝?。
#define USB_CFG_DPLUS_BIT 2//位配置,是在USB_CFG_IOPORT 中連接USB D+的線(xiàn)。也可以連接到任意口,但是注意D+一定要連接都中斷口INT0
2)單片機在接收到讀取數據命令時(shí)會(huì )自動(dòng)調用usbFunctionSetup(uchar data[8]),在函數內把全局指針*usbMsgPtr指向所要發(fā)送的數據首地址,然后返回(函數返回值)所發(fā)送數據的長(cháng)度就可以了。由于采用的是命令包方式傳輸數據,每次只能接收4個(gè)字節的有效數據,存儲在data[2]~data[4]中。
3)初始化時(shí)需要將MAX522的輸出置為關(guān)閉狀態(tài)。
寫(xiě)入MAX522時(shí)首先寫(xiě)入8位控制字,然后寫(xiě)入8位DAC數據。
2.2 上位機軟件
上位機用C# 語(yǔ)言進(jìn)行編寫(xiě),驅動(dòng)采用一款名為L(cháng)ibUsbDotNet的開(kāi)源USB上位機驅動(dòng)庫文件。此驅動(dòng)庫文件還提供了供。NET平臺調用的USB接口函數。使用時(shí)需包含相應的動(dòng)態(tài)鏈接庫文件。
上位機軟件主要包括顯示設備連接狀態(tài)、寫(xiě)入電壓值及讀取當前電壓值等功能。上位機軟件流程圖如圖6所示。

圖6 上位機軟件流程。
只有在總線(xiàn)請求為用戶(hù)自定義類(lèi)型(Vendor)時(shí)單片機才會(huì )調用usbFunctionSetup(uchar data[8])這個(gè)函數,所以傳輸數據是通過(guò)發(fā)送用戶(hù)自定義類(lèi)型的Setup數據包來(lái)實(shí)現的。讀數據時(shí)設置此數據包為IN,同時(shí)寫(xiě)入需要讀取的字節數。寫(xiě)入數據時(shí)設置數據包為OUT,4字節的有效數據則包含在所建立的8字節Setup數據包的data[2]~data[4]之中。
3 實(shí)驗驗證與分析
本數控直流穩壓電源在使用之前需進(jìn)行校零。在初始狀態(tài)下,調節集成運放μA741的外接調零電阻使集成運放輸出為0,調節射極輸出器偏置電阻R13使輸出電壓為0.
在輸出最大的情況下,調節輸出集成運放的比例放大電阻R14,使得輸出電壓為12V.
校零之后將上位機設置電壓值與實(shí)際輸出電壓進(jìn)行對比實(shí)驗,實(shí)驗數據如表1所示。

表1 電壓輸出對比實(shí)驗結果
所設計電壓源實(shí)際輸出值與設定值偏差較小,能夠滿(mǎn)足0~12V連續可調輸出,步進(jìn)值為0.1V的使用要求。
4 結 論
設計了一種以單片機為主,基于VUSB技術(shù)進(jìn)行數據傳輸控制的數控直流穩壓電源。輸出電壓值由單片機控制,步進(jìn)調節方便,輸出穩定。既可以作為單獨的電源使用,也可以嵌入到其他需要步進(jìn)電壓模塊的測試系統之中。本文引用地址:http://dyxdggzs.com/article/176088.htm
評論