基于FPGA的智能儀器遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)
目前智能儀器已廣泛應(yīng)用于科研和工業(yè)生產(chǎn)當(dāng)中,但是許多儀器分散在不同的地理位置上,不易操作和維護(hù),并且實(shí)時(shí)跟蹤性能差,人為誤差大,數(shù)據(jù)無(wú)法保存,另外大量高檔儀表價(jià)格相當(dāng)昂貴。為解決上述難題,在計(jì)算機(jī)的提示下完成操作,可以減少人為因素造成的損壞,并提高測(cè)試數(shù)據(jù)的準(zhǔn)確度。由于智能儀器是RS 232接口,上位機(jī)用的是USB接口,所以還需由FPGA實(shí)現(xiàn)RS232與USB之間的接口轉(zhuǎn)換。由于FPGA可以并行處理,集成度高,可用資源豐富,所以利用FPGA進(jìn)行數(shù)據(jù)處理,可以減少上位機(jī)的工作量,減少數(shù)據(jù)處理的時(shí)間,還可以縮短設(shè)計(jì)周期,減小板卡體積,以便于集成到其他板卡上。
1 控制系統(tǒng)及接口簡(jiǎn)介
1.1 系統(tǒng)功能
在整個(gè)系統(tǒng)中,上位機(jī)可以實(shí)時(shí)對(duì)系統(tǒng)進(jìn)行監(jiān)控,并下發(fā)相應(yīng)的命令。智能儀器傳出的數(shù)據(jù)通過RS 232接口傳送到FPGA,F(xiàn)PGA根據(jù)上位機(jī)下發(fā)的命令對(duì)這些數(shù)據(jù)進(jìn)行判決、處理,然后經(jīng)過USB接口上傳給上位機(jī),再由上位機(jī)對(duì)FPGA處理過的數(shù)據(jù)進(jìn)行顯示、存儲(chǔ)等操作。
1.2 USB接口芯片簡(jiǎn)介
本設(shè)計(jì)采用的是CYPRESS半導(dǎo)體公司的EZ-USBFX2系列芯片CY7C68013。CY7C68013是一款高性能USB 2.0微控制器,它提供了全面的USB 2.0外圍設(shè)備解決方案。工作模式有Port,Slave FIFO和GPIFMaster三種,本方案采用Slave FIFO模式。在該模式下,外部控制器(如FPGA)可像對(duì)普通FIFO一樣對(duì)FX2中端點(diǎn)為2,4,6,8的數(shù)據(jù)緩沖區(qū)進(jìn)行讀/寫。FX2內(nèi)嵌的8051固件的功能只是配置Slave FIFO相關(guān)的寄存器,以及控制FX2何時(shí)工作在Slave FIFO模式下。一旦8051固件將相關(guān)的寄存器配置完畢,且使自身工作在Slave FIFO模式下后,外部邏輯(如FPGA)即可按照Slave FIFO的傳輸時(shí)序,高速地與主機(jī)進(jìn)行通信,而在通信過程中不需要8051固件的參與。
1.3 RS 232接口簡(jiǎn)介
RS-232C標(biāo)準(zhǔn)(協(xié)議)的全稱是EIA-RS-232C標(biāo)準(zhǔn)。EIA-RS-232C是用正負(fù)電壓來(lái)表示邏輯狀態(tài)的,與TTL以高低電平表示邏輯狀態(tài)的規(guī)定不同。因此,為了能夠與計(jì)算機(jī)接口或終端的TTL器件連接,必須使EIA-RS-232C與TTL電路之間進(jìn)行電平和邏輯關(guān)系的變換。實(shí)現(xiàn)這種變換的方法可用分立元件,也可用集成電路芯片。該設(shè)計(jì)用的是MAX3232芯片。
RS 232的數(shù)據(jù)傳輸格式如圖1所示。
RS 232傳輸格式包含起始位(1 b)、有效數(shù)據(jù)位(8 b)、奇偶校驗(yàn)位(0~2 b)、停止位(1 b)。傳輸線在空閑時(shí)為高電平,因此起始位為低電平,停止位為高電平。奇偶校驗(yàn)位可設(shè)置為奇校驗(yàn)、偶校驗(yàn)或不校驗(yàn),有效數(shù)據(jù)位是從低位開始傳送。
2 FPGA設(shè)計(jì)
2.1USB接口時(shí)序
在Slave FIFO方式下,外部邏輯與FX2的連接信號(hào)如圖2所示。
評(píng)論