一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用FPGA與USB芯片實現(xiàn)智能儀器遠(yuǎn)程控制系統(tǒng)的設(shè)計與仿真分析

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-01-08 09:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目前智能儀器已廣泛應(yīng)用于科研和工業(yè)生產(chǎn)當(dāng)中,但是許多儀器分散在不同的地理位置上, 不易操作和維護(hù), 并且實時跟蹤性能差, 人為誤差大, 數(shù)據(jù)無法保存, 另外大量高檔儀表價格相當(dāng)昂貴。為解決上述難題, 在計算機(jī)的提示下完成操作, 可以減少人為因素造成的損壞,并提高測試數(shù)據(jù)的準(zhǔn)確度。由于智能儀器是RS 232 接口, 上位機(jī)用的是USB 接口, 所以還需由FPGA 實現(xiàn)RS232 與USB 之間的接口轉(zhuǎn)換。由于FPGA 可以并行處理, 集成度高, 可用資源豐富, 所以利用FPGA 進(jìn)行數(shù)據(jù)處理, 可以減少上位機(jī)的工作量, 減少數(shù)據(jù)處理的時間,還可以縮短設(shè)計周期, 減小板卡體積, 以便于集成到其他板卡上。

1 控制系統(tǒng)及接口簡介

1. 1 系統(tǒng)功能

在整個系統(tǒng)中, 上位機(jī)可以實時對系統(tǒng)進(jìn)行監(jiān)控,并下發(fā)相應(yīng)的命令。智能儀器傳出的數(shù)據(jù)通過RS 232接口傳送到FPGA, FPGA 根據(jù)上位機(jī)下發(fā)的命令對這些數(shù)據(jù)進(jìn)行判決、處理, 然后經(jīng)過USB 接口上傳給上位機(jī), 再由上位機(jī)對FPGA 處理過的數(shù)據(jù)進(jìn)行顯示、存儲等操作。

1. 2 U SB 接口芯片簡介

本設(shè)計采用的是CYPRESS 半導(dǎo)體公司的EZUSBFX2 系列芯片CY7C68013。CY7C68013 是一款高性能USB 2. 0 微控制器, 它提供了全面的USB 2. 0 外圍設(shè)備解決方案。工作模式有Port, Slave FIFO 和GPIFMaster 三種, 本方案采用Slave FIFO 模式。在該模式下, 外部控制器( 如FPGA) 可像對普通FIFO 一樣對FX2中端點(diǎn)為2, 4, 6, 8 的數(shù)據(jù)緩沖區(qū)進(jìn)行讀/ 寫。FX2 內(nèi)嵌的8051 固件的功能只是配置Slave FIFO 相關(guān)的寄存器,以及控制FX2 何時工作在Slave FIFO 模式下。一旦8051 固件將相關(guān)的寄存器配置完畢, 且使自身工作在Slave FIFO 模式下后, 外部邏輯( 如FPGA) 即可按照Slave FIFO 的傳輸時序, 高速地與主機(jī)進(jìn)行通信, 而在通信過程中不需要8051 固件的參與。

1. 3 RS 232 接口簡介

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

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

采用FPGA與USB 芯片實現(xiàn)智能儀器遠(yuǎn)程控制系統(tǒng)的設(shè)計與仿真分析

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

RS 232 傳輸格式包含起始位( 1 b) 、有效數(shù)據(jù)位( 8 b) 、奇偶校驗位( 0~ 2 b) 、停止位( 1 b) 。傳輸線在空閑時為高電平, 因此起始位為低電平, 停止位為高電平。

奇偶校驗位可設(shè)置為奇校驗、偶校驗或不校驗, 有效數(shù)據(jù)位是從低位開始傳送。

2 FPGA 設(shè)計

2. 1 USB 接口時序

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

采用FPGA與USB 芯片實現(xiàn)智能儀器遠(yuǎn)程控制系統(tǒng)的設(shè)計與仿真分析

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

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

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

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

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

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

以讀取CY7C68013 芯片內(nèi)數(shù)據(jù)為例, 根據(jù)異步讀U SB內(nèi)的FIFO 時序圖可分為4 個狀態(tài): 空閑態(tài)、選擇地址態(tài)、準(zhǔn)備讀數(shù)據(jù)態(tài)、讀數(shù)據(jù)態(tài)、讀取后狀態(tài)[ 6] 。在空閑態(tài), 當(dāng)讀事件發(fā)生時進(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 無效, 以遞增FIFO 讀指針, 再使SLOE 無效, 進(jìn)入讀取后狀態(tài); 在讀取后狀態(tài), 如需傳輸更多的數(shù), 進(jìn)入準(zhǔn)備讀數(shù)據(jù)態(tài), 否則進(jìn)入空閑態(tài)。

采用FPGA與USB 芯片實現(xiàn)智能儀器遠(yuǎn)程控制系統(tǒng)的設(shè)計與仿真分析

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

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

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

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

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

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

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

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

3 仿真結(jié)果

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

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

采用FPGA與USB 芯片實現(xiàn)智能儀器遠(yuǎn)程控制系統(tǒng)的設(shè)計與仿真分析

圖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ù)解析出來。

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

同理可以驗證U SB 端的收發(fā)時序。

采用FPGA與USB 芯片實現(xiàn)智能儀器遠(yuǎn)程控制系統(tǒng)的設(shè)計與仿真分析

圖5 RS 232 接收端仿真圖

采用FPGA與USB 芯片實現(xiàn)智能儀器遠(yuǎn)程控制系統(tǒng)的設(shè)計與仿真分析

圖6 頂層模塊仿真圖

4 結(jié) 語

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618474
  • 芯片
    +關(guān)注

    關(guān)注

    460

    文章

    52520

    瀏覽量

    440902
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6781

    瀏覽量

    112175
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于ARM的智能家居遠(yuǎn)程控制系統(tǒng)設(shè)計

    的網(wǎng)絡(luò)電器與互聯(lián)網(wǎng)和GPRS網(wǎng)絡(luò)相連,這樣無論何時何地,用戶都可以通過該系統(tǒng)遠(yuǎn)程操縱家用電器。本文主要討論智能家居遠(yuǎn)程控制系統(tǒng)的設(shè)計與實現(xiàn)。
    發(fā)表于 06-17 11:45

    labview遠(yuǎn)程控制系統(tǒng)的設(shè)計與實現(xiàn)

    labview遠(yuǎn)程控制系統(tǒng)的設(shè)計與實現(xiàn)[hide] [/hide]
    發(fā)表于 06-01 09:40

    【云智易申請】基于STM32智能家居遠(yuǎn)程控制系統(tǒng)研究

    ,完全滿足研發(fā)的硬件需求。硬件開發(fā)經(jīng)驗:曾采用DSP+ARM的方式開制作了六足機(jī)器人運(yùn)動控制系統(tǒng),使機(jī)器人能夠實現(xiàn)執(zhí)行轉(zhuǎn)彎、蔽障和遠(yuǎn)程遙控等各項功能。項目描述:1、開發(fā)板各模塊的硬件調(diào)
    發(fā)表于 07-24 17:18

    論文-基于stm32的智能家居遠(yuǎn)程控制系統(tǒng)

    用戶提供高效、舒適、節(jié)能的居住和工作環(huán)境的智能家居系統(tǒng)是非常有前景的。本課題在分析智能家居的研究現(xiàn)狀、發(fā)展趨勢、研究意義的基礎(chǔ)上提出了基于STM32的
    發(fā)表于 03-19 13:34

    智能工廠如何將遠(yuǎn)程控制儀器系統(tǒng)應(yīng)用于無人值守的測試間?

    ,進(jìn)行密集的數(shù)據(jù)挖掘、數(shù)據(jù)搜索和多層次的深入分析,可將虛擬化的數(shù)據(jù)轉(zhuǎn)化為一目了然的報告面板,在市場上具有很強(qiáng)的適應(yīng)性。 儀器程控軟件系統(tǒng)為那些一次要
    發(fā)表于 08-27 10:36

    怎么實現(xiàn)ZigBee路燈遠(yuǎn)程控制系統(tǒng)的設(shè)計?

    怎么實現(xiàn)ZigBee路燈遠(yuǎn)程控制系統(tǒng)的設(shè)計?
    發(fā)表于 10-11 06:32

    基于web的智能工業(yè)遠(yuǎn)程控制系統(tǒng)的設(shè)計

    本文首先分析了網(wǎng)絡(luò)遠(yuǎn)程控制系統(tǒng)的層次結(jié)構(gòu),提出了基于網(wǎng)絡(luò)的工業(yè)遠(yuǎn)程控制系統(tǒng)。系統(tǒng)采用了微軟最新的.NET 技術(shù),以Visual basic.
    發(fā)表于 08-04 15:23 ?29次下載

    智能電話遠(yuǎn)程控制系統(tǒng)的設(shè)計與實現(xiàn)

    摘要:利用個人通信終端實現(xiàn)對電器設(shè)備的遠(yuǎn)程控制是許多電器設(shè)備制造商關(guān)心的技術(shù)。提出了智能電話遠(yuǎn)程控制系統(tǒng)(ITRCS)的概念,并對其系統(tǒng)結(jié)構(gòu)
    發(fā)表于 07-26 13:12 ?33次下載

    電話遠(yuǎn)程控制系統(tǒng)實現(xiàn)

    電話遠(yuǎn)程控制系統(tǒng)接收遠(yuǎn)端發(fā)送來的DTMF信號,并對其進(jìn)行解碼,解碼后的信號再由中央處理單元采集處理;為了方便用戶使用,系統(tǒng)設(shè)計了語音提示界面;電話遠(yuǎn)程控制系統(tǒng)一般工作在元人值
    發(fā)表于 12-19 14:35 ?91次下載
    電話<b class='flag-5'>遠(yuǎn)程控制系統(tǒng)</b>的<b class='flag-5'>實現(xiàn)</b>

    家電遠(yuǎn)程控制系統(tǒng)的設(shè)計

    基于家電遠(yuǎn)程控制系統(tǒng)的設(shè)計分析,里面比較全面
    發(fā)表于 06-20 16:15 ?32次下載

    智能家居遠(yuǎn)程控制系統(tǒng)的硬件設(shè)計

    智能家居遠(yuǎn)程控制系統(tǒng)的硬件設(shè)計
    發(fā)表于 01-12 21:55 ?30次下載

    智能電表遠(yuǎn)程控制系統(tǒng)

    智能電表遠(yuǎn)程控制系統(tǒng) 現(xiàn)在的電表大都都是智能電表,智能電表現(xiàn)在都是遠(yuǎn)程自動抄表,智能電表的一舉一
    發(fā)表于 04-07 14:45 ?2022次閱讀

    智能電表遠(yuǎn)程控制系統(tǒng)

     智能電表遠(yuǎn)程控制系統(tǒng)是指基于云服務(wù)平臺和物聯(lián)網(wǎng)技術(shù),對智能電表進(jìn)行遠(yuǎn)程監(jiān)控和控制系統(tǒng)。該
    發(fā)表于 04-07 15:27 ?8077次閱讀

    智能路燈遠(yuǎn)程控制系統(tǒng)

    在當(dāng)今這個科技日新月異的時代,智能城市的概念正逐步從藍(lán)圖變?yōu)楝F(xiàn)實,智能路燈遠(yuǎn)程控制系統(tǒng)作為智慧城市的重要組成部分。實現(xiàn)路燈照明的智能化管理,
    的頭像 發(fā)表于 08-15 16:21 ?1378次閱讀

    智能電表是如何與遠(yuǎn)程控制系統(tǒng)連接的?

    智能電表與遠(yuǎn)程控制系統(tǒng)之間的連接,是現(xiàn)代智能家居技術(shù)中不可或缺的一部分。通過這種連接,不僅可以實現(xiàn)對電力使用的精準(zhǔn)監(jiān)控,還能讓家庭或企業(yè)的能源管理變得更加高效。接下來,就讓我們一起來看
    的頭像 發(fā)表于 10-16 16:29 ?1077次閱讀
    <b class='flag-5'>智能</b>電表是如何與<b class='flag-5'>遠(yuǎn)程控制系統(tǒng)</b>連接的?