音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

基于FPGA的智能儀器遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)

出處:kcl123 發(fā)布于:2011-04-14 09:21:14

     摘 要: 為實(shí)現(xiàn)智能儀器的遠(yuǎn)程控制, 提高控制系統(tǒng)的速度, 采用現(xiàn)場(chǎng)可編程門陣列( FPGA) 芯片、USB 芯片等實(shí)現(xiàn)了智能儀器遠(yuǎn)程控制系統(tǒng)的設(shè)計(jì)。重點(diǎn)介紹RS 232 與USB 的接口轉(zhuǎn)換原理及FPGA 程序設(shè)計(jì)和仿真。系統(tǒng)采用先入先出存儲(chǔ)器和有限狀態(tài)機(jī)實(shí)現(xiàn)了RS 232 與USB 的接口轉(zhuǎn)換, 并實(shí)現(xiàn)上位機(jī)的控制、數(shù)據(jù)處理等功能。系統(tǒng)可大大減少上位機(jī)的工作量, 不僅可以用于實(shí)驗(yàn)室也可應(yīng)用在工業(yè)生產(chǎn)中。

  目前智能儀器已廣泛應(yīng)用于科研和工業(yè)生產(chǎn)當(dāng)中,但是許多儀器分散在不同的地理位置上, 不易操作和維護(hù), 并且實(shí)時(shí)跟蹤性能差, 人為誤差大, 數(shù)據(jù)無(wú)法保存, 另外大量?jī)x表價(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ù)通過(guò)RS 232接口傳送到FPGA, FPGA 根據(jù)上位機(jī)下發(fā)的命令對(duì)這些數(shù)據(jù)進(jìn)行判決、處理, 然后經(jīng)過(guò)USB 接口上傳給上位機(jī), 再由上位機(jī)對(duì)FPGA 處理過(guò)的數(shù)據(jù)進(jìn)行顯示、存儲(chǔ)等操作。

  1. 2  U SB 接口芯片簡(jiǎn)介

  本設(shè)計(jì)采用的是CYPRESS 半導(dǎo)體公司的EZUSBFX2 系列芯片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)行通信, 而在通信過(guò)程中不需要8051 固件的參與。

  1. 3  RS 232 接口簡(jiǎn)介

  RS232C 標(biāo)準(zhǔn)( 協(xié)議) 的全稱是EIARS232C 標(biāo)準(zhǔn)。EIARS232C 是用正負(fù)電壓來(lái)表示邏輯狀態(tài)的,與T TL 以高低電平表示邏輯狀態(tài)的規(guī)定不同。因此,為了能夠與計(jì)算機(jī)接口或終端的T T L 器件連接, 必須使EIARS232C 與T TL 電路之間進(jìn)行電平和邏輯關(guān)系的變換。實(shí)現(xiàn)這種變換的方法可用分立元件, 也可用集成電路芯片。該設(shè)計(jì)用的是MAX3232 芯片。

  RS 232 的數(shù)據(jù)傳輸格式如圖1 所示。

RS 232 標(biāo)準(zhǔn)的數(shù)據(jù)傳輸格式

圖1  RS 232 標(biāo)準(zhǔn)的數(shù)據(jù)傳輸格式

  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. 1  USB 接口時(shí)序

  在Slav e FIFO 方式下, 外部邏輯與FX2 的連接信號(hào)如圖2 所示。

FX2 Slave 模式下接口管腳連接圖

圖2  FX2 Slave 模式下接口管腳連接圖

  在Slav e FIFO 模式下, CY7C68013 芯片為端口2,4, 6, 8 提供滿空標(biāo)志位FLAGA, FLAGB, FLAGC,FLAGD。IFCLK 為FX2 輸出的時(shí)鐘, 可作通信的同步時(shí)鐘; SLCS 為FIFO 的片選信號(hào); SLOE 為FIFO 輸出使能; SLRD 為FIFO 讀信號(hào); SLWR 為FIFO 寫信號(hào)。對(duì)FPGA 來(lái)說(shuō), 4 個(gè)端口分別為4 個(gè)FIFO。

  FPGA檢測(cè)4 個(gè)滿空標(biāo)志位來(lái)分別對(duì)相應(yīng)的FIFO 進(jìn)行讀/ 寫。FPGA 可以選擇同步或異步讀/ 寫, 在該設(shè)計(jì)中采用異步讀/ 寫。在異步Slave FIFO 寫時(shí), 時(shí)鐘由FPGA 提供。數(shù)據(jù)在SLWR 的每個(gè)有效-無(wú)效的跳變沿時(shí)被寫入, FIFO 寫指針遞增。異步Slave FIFO 讀時(shí),F(xiàn)IFO 讀指針在SLRD 的每個(gè)有效-無(wú)效的跳變沿時(shí)遞增以改變數(shù)據(jù)。

  2. 2  FPGA 程序設(shè)計(jì)

  FPGA 設(shè)計(jì)是整個(gè)系統(tǒng)的部分, 由VHDL 語(yǔ)言實(shí)現(xiàn)。FPGA 實(shí)現(xiàn)了USB 與RS 232 接口的轉(zhuǎn)換、數(shù)據(jù)的處理、命令的傳輸?shù)裙δ?。有了上面的接口時(shí)序,便可以進(jìn)行FPGA 設(shè)計(jì)。FPGA 部分的總體設(shè)計(jì)如圖3所示。模塊介紹:

  USB 與FPGA 接口模塊: U SB 與FPGA 之間的接口轉(zhuǎn)換模塊, 主要功能為將USB 接口傳過(guò)來(lái)的信息緩存到FPGA 內(nèi)部FIFO, 并將由數(shù)據(jù)處理模塊處理過(guò)的數(shù)據(jù)傳給U SB 芯片。即產(chǎn)生控制信號(hào)讀/ 寫U SB 芯片內(nèi)部FIFO??梢杂勺x/ 寫FIFO 兩個(gè)有限狀態(tài)機(jī)實(shí)現(xiàn)。

  以讀取CY7C68013 芯片內(nèi)數(shù)據(jù)為例, 根據(jù)異步讀U SB內(nèi)的FIFO 時(shí)序圖可分為4 個(gè)狀態(tài): 空閑態(tài)、選擇地址態(tài)、準(zhǔn)備讀數(shù)據(jù)態(tài)、讀數(shù)據(jù)態(tài)、讀取后狀態(tài)[ 6] 。在空閑態(tài), 當(dāng)讀事件發(fā)生時(shí)進(jìn)入選擇地址態(tài); 在選擇地址態(tài), 使FIFOADR[ 1: 0] 指向OUT FIFO, 進(jìn)入準(zhǔn)備讀數(shù)據(jù)態(tài);在準(zhǔn)備讀數(shù)據(jù)態(tài), 如FIFO 空, 在本狀態(tài)等待, 否則進(jìn)入讀數(shù)據(jù)態(tài); 在讀數(shù)據(jù)態(tài), 使SLOE, SLRD 有效, 從數(shù)據(jù)線上讀數(shù), 再使SLRD 無(wú)效, 以遞增FIFO 讀指針, 再使SLOE 無(wú)效, 進(jìn)入讀取后狀態(tài); 在讀取后狀態(tài), 如需傳輸更多的數(shù), 進(jìn)入準(zhǔn)備讀數(shù)據(jù)態(tài), 否則進(jìn)入空閑態(tài)。

 FPGA 總體設(shè)計(jì)框圖

圖3 FPGA 總體設(shè)計(jì)框圖

  USB 數(shù)據(jù)緩存模塊: 用來(lái)緩存計(jì)算機(jī)發(fā)給智能儀器的指令等信息。是由FPGA 芯片的IP 核生成的先入先出存儲(chǔ)器FIFO。容量為8 b * 512 depth。占用1 個(gè)塊RAM 資源。

  RS 232 數(shù)據(jù)緩存模塊: 用來(lái)緩存由智能儀器發(fā)出的數(shù)據(jù)。是由FPGA IP 核生成的先入先出存儲(chǔ)器FIFO。容量為8 b*512 depth, 占用1 個(gè)塊RAM資源。

  RS 232 與FPGA 接口模塊: RS 232 與FPGA 之間的接口轉(zhuǎn)換模塊。主要功能為進(jìn)行串/ 并和并/ 串轉(zhuǎn)換。

  將USB 數(shù)據(jù)緩存模塊中緩存的內(nèi)容以合適的速率通過(guò)串口發(fā)給智能儀器, 并將智能儀器發(fā)出的數(shù)據(jù)緩存到RS 232 數(shù)據(jù)緩存模塊中。此模塊也是由兩個(gè)狀態(tài)機(jī)實(shí)現(xiàn)。串口通信必須要設(shè)定波特率, 這里采用的波特率為9 600 Kb/ s, 采用的時(shí)鐘為50 MHz, 相當(dāng)于傳送1 位數(shù)據(jù)需要約5 028 個(gè)時(shí)鐘周期, 這里采用減法計(jì)數(shù)器來(lái)控制, 即計(jì)數(shù)器計(jì)到5 028 個(gè)時(shí)鐘周期后, 就開始傳輸下一位數(shù)據(jù)。

  數(shù)據(jù)處理模塊: 主要功能為根據(jù)上位機(jī)的指令對(duì)RS 232 數(shù)據(jù)緩存中的數(shù)據(jù)做出相應(yīng)的處理。處理后再向上位機(jī)傳。主要的處理方式有定時(shí)取數(shù)、平滑處理等。實(shí)現(xiàn)方式由狀態(tài)機(jī)等實(shí)現(xiàn)。FPGA 頂層模塊: 主要負(fù)責(zé)各模塊間數(shù)據(jù)流的流向。以及與外部芯片相連的輸入輸出信號(hào)的定義。

  系統(tǒng)在工作時(shí), 在采集數(shù)據(jù)上傳上位機(jī)時(shí), 數(shù)據(jù)通道為: 智能儀器發(fā)送的數(shù)據(jù)通過(guò)RS 232接口模塊存在RS232 數(shù)據(jù)緩存模塊中緩存。當(dāng)緩存到一定的數(shù)據(jù)量后,再通過(guò)數(shù)據(jù)處理模塊連續(xù)的讀取FIFO 中的數(shù)據(jù)并根據(jù)上位機(jī)發(fā)送的命令進(jìn)行相應(yīng)的數(shù)據(jù)處理, 然后將處理的數(shù)據(jù)通過(guò)USB 與FPGA 接口模塊傳給USB 接口。在上位機(jī)下發(fā)控制命令時(shí), 數(shù)據(jù)通道為: 上位機(jī)發(fā)送的命令通過(guò)USB 口傳給FPGA 的RS 232 與FPGA 接口模塊, 此模塊判斷是數(shù)據(jù)處理指令還是控制儀器指令。如果是數(shù)據(jù)處理指令, 則傳向數(shù)據(jù)處理模塊讓其按要求進(jìn)行數(shù)據(jù)處理。如果是控制儀器指令, 則將其存入U(xiǎn)SB 數(shù)據(jù)緩存模塊中, 再由RS 232 與FPGA 接口模塊讀取, 轉(zhuǎn)成RS2322 格式后傳出。由于RS 232 接口速度比USB 接口慢, 用FPGA 內(nèi)部的異步時(shí)鐘FIFO 解決速率匹配問(wèn)題。

  將通過(guò)RS 232傳過(guò)來(lái)的數(shù)據(jù)緩存在FIFO 中, 然后存到一定數(shù)據(jù)量后再全部連續(xù)的取出, 如此往復(fù), 從而實(shí)現(xiàn)數(shù)據(jù)的連續(xù)采集及上位機(jī)的實(shí)時(shí)顯示。將通過(guò)USB 傳過(guò)來(lái)的數(shù)據(jù)放在另一個(gè)FIFO 中緩存 , 讓FPGA 按照RS232 的速率進(jìn)行讀取。這樣可以防止RS 232 的速度跟不上USB 的速度而產(chǎn)生的數(shù)據(jù)丟失。

  3  仿真結(jié)果

  FPGA 采用的系統(tǒng)時(shí)鐘頻率為50 MHz, 仿真工具為Mo delsim SE 6. 5a, 仿真用數(shù)據(jù)為連續(xù)的8 b 數(shù)據(jù)。

  仿真結(jié)果如圖4 所示。

 FPGA 讀USB 內(nèi)部FIFO 仿真圖

圖4 FPGA 讀USB 內(nèi)部FIFO 仿真圖

  圖4 為FPGA 讀USB 內(nèi)部FIFO 的仿真結(jié)果,DATA 為模擬從USB 口接到的數(shù)據(jù), 該數(shù)據(jù)已存在于USB 芯片的FIFO 中。FIFODAT A 為FPGA 接到的數(shù)據(jù), 由上可以看出, FPGA 可以將U SB 接受到的數(shù)據(jù)解析出來(lái)。

  圖5 為RS 232 與FPGA 接口部分仿真結(jié)果??梢钥闯?, 由RS 232 接收串行數(shù)據(jù)RXD 已經(jīng)轉(zhuǎn)換為并行數(shù)據(jù)din。程序中是在一個(gè)有效字節(jié)結(jié)束后將其存入FIFO 中, 由圖可以驗(yàn)證。圖6 頂層模塊仿真圖, 為了驗(yàn)證由FPGA 發(fā)出的數(shù)據(jù)能正確的接受到, 先由FPGA 內(nèi)部發(fā)數(shù)據(jù), 然后通過(guò)RS 232 的T XD 端口發(fā)出,讓RXD 與TXD 相連再接收, 可以看出發(fā)出的數(shù)據(jù)可以被正確的接收回來(lái)并傳向U SB 接口, 說(shuō)明時(shí)序正確。

  同理可以驗(yàn)證U SB 端的收發(fā)時(shí)序。

RS 232 接收端仿真圖

圖5 RS 232 接收端仿真圖

頂層模塊仿真圖

圖6  頂層模塊仿真圖

  4  結(jié) 語(yǔ)

  本文采用FPGA 實(shí)現(xiàn)了USB 與RS 232 間的接口轉(zhuǎn)換及數(shù)據(jù)處理的功能。設(shè)計(jì)中先入先出存儲(chǔ)器的運(yùn)用解決了數(shù)據(jù)的緩存的和速率匹配問(wèn)題, 有限狀態(tài)機(jī)的運(yùn)用使得程序設(shè)計(jì)更加清晰可靠。該設(shè)計(jì)將復(fù)雜的信號(hào)運(yùn)算集中在FPGA 中完成, 利用FPGA 獨(dú)特的并行處理能力,減小上位機(jī)工作量的同時(shí), 提高了系統(tǒng)運(yùn)行速度。


  

參考文獻(xiàn):

[1]. RS232  datasheet http://m.58mhw.cn/datasheet/RS232+_585128.html.
[2]. CY7C68013 datasheet http://m.58mhw.cn/datasheet/CY7C68013_1054335.html.
[3]. MAX3232  datasheet http://m.58mhw.cn/datasheet/MAX3232+_1107769.html.


關(guān)鍵詞:基于FPGA的智能儀器遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)MAX3232CY7C68013

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

CY7C68013A-56LTXC全新原裝現(xiàn)貨
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見,您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!