999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

多路數據采集傳輸系統的FPGA設計與實現

2021-06-29 10:30:01李茂林
計算機時代 2021年4期
關鍵詞:存儲

李茂林

摘? 要: 設計一種采用FPGA的數據采集傳輸系統。以FPGA為邏輯控制核心,通過RS485接口接收上位機指令,數據傳輸采用SDLC(同步數據鏈路控制)協議以提高可靠性。FPGA采集六路AD數據以及八路溫度數據,這些數據經由DSP處理之后存儲至FLASH中。FPGA根據上位機指令,讀取FLASH中相應的數據并通過RS485接口上傳至上位機。經系統測試驗證,該設計能夠滿足技術要求,數據的采集、存儲、傳輸均正確,為后續工作提供了保障。

關鍵詞: FPGA; 采集傳輸; 存儲; SDLC協議; FLASH

中圖分類號:TP31? ? ? ? ? 文獻標識碼:A? ? 文章編號:1006-8228(2021)04-49-05

Abstract: A data acquisition and transmission system based on FPGA is designed. FPGA is used as the logic control core, and RS485 interface is used to receive instructions from upper computer. SDLC (synchronous data link control) protocol is used for data transmission to improve reliability. FPGA collects six channels of AD data and eight channels of temperature data, which are processed by DSP and stored in FLASH. According to the instructions of the upper computer, FPGA reads the corresponding data in FLASH and uploads it to the upper computer through RS485 interface. It is verified by the system test that the design can meet the technical requirements, and the acquisition, storage and transmission of the data are correct, which provides a guarantee for the follow-up work.

Key words: FPGA; acquisition and transmission; storage; SDLC protocol; FLASH

0 引言

隨著國際形勢的不斷變化,國家安全越來越得到人們的重視。光電系統廣泛應用于探測系統、導彈防御、航空、紅外探測等領域。光電探測技術,不僅需要不斷地優化復雜的算法,還需要采集更加準確的前端數據[1]。系統選用FPGA作為主控芯片,利用其強大的并行處理能力,快速高效的完成數據的采集、存儲及傳輸任務。系統設計對于開展后續數據解算等工作具有重要的意義。

1 系統總體設計

系統采用Xilinx公司的Spartan6系列XC6SLX45芯片作為邏輯控制核心[2],上電時啟動對六路AD數據以及八路溫度的采集,并將采集好的數據按照1KHz的頻率通過EMIF接口發送至DSP,DSP對收到的數據進行相應的處理。FPGA和DSP通過握手信號進行信息交互,FPGA解析相關指令并控制FLASH進行擦除、讀寫操作。同時,FPGA通過RS485接口接收上位機發送的指令信息,在技術要求規定的時間內,完成數據的接收及發送。系統總體設計框圖如圖1所示。

2 系統總體設計

2.1 溫度采集模塊

系統采用A/D轉換器LTC1863實現對外部8個通道的溫度采集。LTC1863芯片的分辨率為16bit,系統上電啟動后,通過對芯片寫入配置數據來完成不同通道數據的采集,數據傳輸波特率為1Mbps,采樣頻率為1KHz。溫度采集模塊的硬件原理圖如圖2所示。#CS為啟動數據轉換引腳,初始狀態時#CS為高電平,當它變為低電平時啟動一次A/D轉換。在數據轉換期間,LTC1863接收配置字節,并輸出轉換結果[3]。設計時,為了降低其他電路對LTC1863輸入端的噪聲及失真影響,在模擬輸入之前增加了濾波電路。

2.2 RS485收發模塊

系統采用MAX485芯片實現FPGA與上位機的同步半雙工通訊[4]。RS485收發模塊的硬件原理圖如圖3所示,其中RE與DE管腳分別表示接收使能和發送使能,且均為低電平有效。當系統處于初始化狀態時,設置R/DE=0,即接收使能。由FPGA根據系統時序來控制這兩個管腳的使能切換。為了提高RS485通訊的可靠性,設計上采用了上拉電阻、下拉電阻以及瞬態抑制二極管P6KE6.8CA來對該芯片進行保護[5]。

3 系統軟件設計

系統選用FPGA作為邏輯控制核心,通過RS485接口接收上位機指令。通過對接收到的指令信息進行解析,從而獲取有效數據發送至DSP進行后續的數據處理。DSP將數據處理完成后,將通過EMIF接口,采用握手信號作為與FPGA進行數據交互的標志來對數據進行傳輸。FPGA接收到處理好的數據后,將其存儲至FLASH中。當FPGA接收到指令時,讀取FLASH中的數據,同時通過RS485接口上傳至上位機進行顯示及處理。系統軟件設計框圖如圖4所示。

3.1 RS485接收模塊

為提高數據傳輸可靠性,FPGA與上位機的通信協議采用SDLC協議。它通常作為主從設備之間進行通訊的一種協議[6]。SDLC協議的數據傳輸格式如圖5所示,它主要由啟動標志0x7E、目的地址、控制信息、數據、校驗碼及結束標志0x7E組成[7]。其中控制信息用于區分該幀數據是主設備發送的命令,還是從設備反饋給主設備的響應。

數據在傳輸過程中,會對除啟動標志及結束標志以外的比特位進行“補0”操作[8],即:若連續發送五個“1”,則會補發一個“0”,然后繼續按位發送數據。數據傳輸波特率為2Mbps。RS485接收模塊由兩部分內容組成,底層模塊實現對啟動標志及結束標志的識別,并對數據進行“去0”操作。頂層模塊實現一幀數據的長度計算并進行數據發送。

首先底層模塊為確保RS485模塊上電時收到的0x7E是啟動標志,采用一個16bit的移位寄存器對數據進行判斷。當MAX485芯片管腳RE=0,即接收使能時,采樣1bit并移至移位寄存器MSB,當采樣次數為16時,對該移位寄存器進行判斷。若高8bit字節為0x7E,而低8bit字節不為0x7E時,認為接收到的0x7E為啟動標志,并發送一個開始標志給頂層模塊;若為其他情況,則繼續進行移位,直至移位寄存器中的值為0x7EXX(XX不為7E)。判斷到啟動標志以后,開始對數據按位進行“去0”操作。設計上采用兩個4bit的寄存器count1、count2來對數據進行控制。count1用來計數收到連續數據位為“1”的個數,若計數不足5時,同時接收到的下一個數為0,則計數清零。若計數為5時,將繼續接收下一個數據并對其進行判斷。若為0,則在該周期內不做任何操作,等待接收下一位,且計數清零。若不為0,則發送一個異常標志給頂層模塊進行處理。count2用來計數一個完整的字節,當經過“去0”操作之后的數據位計數至8時,即count2=8時,發送一個標志給頂層模塊,表示一個字節接收完畢。同時,對16bit移位寄存器的低8bit進行判斷,若為0x7E,則認為接收到了結束標志,底層模塊將發送幀結束標志至頂層模塊。

當頂層模塊接收到開始標志時,將采樣數據至FIFO中,同時進行長度length的累加。當接收到結束標志后,將寫數據及數據長度寫至EMIF接口相應地址上,通過與DSP進行握手來完成數據的傳輸。圖6為RS485接收模塊流程圖。

3.2 FLASH存儲模塊

FPGA根據上位機指令對經DSP處理后的數據進行存儲。依據指令,外部設備將發送八個文件的內容至FLASH中進行存儲,因此需要對其文件位置進行扇區地址劃分。系統上電后,FPGA依據指令信息,來對指定文件進行扇區擦除。擦除完成后,將文件內容存儲至FLASH指定扇區相應的地址上。FLASH芯片與FPGA通過SPI接口進行信息交互,系統主頻為160MHz,SPI時鐘頻率為40MHz。當FPGA接收到讀文件指令時,FPGA將讀取相應地址的數據并通過SPI接口發送至RS485發送模塊進行后續數據處理。圖7為FLASH的寫時序圖。

FPGA進行FLASH寫操作時,首先需要發送寫使能命令0x06,然后對配置寄存器進行初始化配置[9]。配置完成后依次發送寫使能命令0x06、寫指令0x02、寫地址、寫數據。由于每個文件包含800幀數據,每一幀有256個數據字節,FPGA采用按字節寫的方式寫數據至FLASH中,所以每寫完一個字節,地址加1。當寫完800幀數據后,FPGA發送完成標志給DSP,以便下一個文件內容的寫入。

4 系統測試與驗證

為實現對系統的測試與驗證,分別對RS485收發模塊以及FLASH存儲模塊進行了仿真測試,并采用chipscope對系統進行在線調試,驗證了系統功能的正確性。

4.1 RS485接收模塊仿真

由于數據在接收時需進行“去0”操作,若在接收的數據中,出現連續‘1的個數大于5時,系統將會認為接收異常,因此需對接收正常與接收異常這兩種情況均進行驗證。編寫仿真文件,輸入數據為0x7E、0xd5、0x53、0x9f、0xfb、0xf8、0xf2、0x7d、0xf8、0x7c、0x7c、 0x7E,對RS485接收模塊進行仿真測試,測試結果如圖8所示。

在數據“去0”過程中,error保持0不變,表示接收的數據未出現異常。“去0”輸出的數據如圖8中dataout[7:0]所示,對其進行放大顯示,如圖9所示,輸出數據為0x7E、0xd5、0x53、0xdf、0x7d、0x7e、0xfe、0xc7、0xf7、0xf9、0x7E,測試結果與設計相符。

輸入數據為0x7E、0xd5、0x53、0x9f、0xfb、0xff、0xf2、0x7d、0xf8、0x7c、0x7c、 0x7E,對其進行仿真測試,測試結果如圖10所示,當檢測到數據0xFF時,即出現連續五個以上的‘1,認為接收異常,error在一個周期內置為1,且當前這一幀數據不再進行發送。該模塊將重新檢測下一幀數據幀頭0x7E,測試結果與設計相符。

4.2 FLASH存儲模塊仿真

為驗證FLASH存儲模塊的功能,對其各模塊進行仿真測試。圖11為對FLASH中寫操作模塊進行仿真得到的時序圖。為便于觀察,模擬寫入FLASH的文件1中的數據內容為0x00-0xFF。當該模塊接收到寫字節標志時,將要寫入FLASH的數據字節進行暫存,然后發送寫使能標志、寫指令、寫地址,最后寫入暫存的數據。等待寫操作完成后,開始接收下一個字節,并寫入FLASH。圖中寫入文件數據首地址為0x010000,隨著數據的寫入,地址也在遞增。

4.3 在線調試

系統采用ISE自帶在線調試工具Chipscope對系統的輸出進行在線調試。RS485模塊工作方式采用同步半雙工通訊,因此指令及數據的收發是不同步的。系統對數據進行存儲、發送等操作均需依據指令信息。為驗證FLASH存儲模塊及RS485數據發送模塊之間的通訊是否正常,首先提前將數據0x00-0xFF寫入FLASH中,然后對FLASH的讀取、數據的發送進行在線調試。由圖12可以看出,發送一幀的數據長度為262,包括幀頭0x7E、目標地址0xD5、回應幀53、校驗碼0x6980和幀尾0x7E。數據發送長度正確,且實現了RS485模塊的發送數據補零操作。

上位機通過RS485接口接收串行數據,對其進行“去0”操作后轉換成并行數據顯示,處理后的數據如圖13所示。與系統發送的數據相一致,驗證了該系統測試無異常,在滿足技術指標的前提下,正確實現了數據的采集存儲與傳輸。

5 結束語

本文提出的多路數據采集傳輸系統的設計采用FPGA作為系統控制核心,RS485作為數據傳輸接口,正確實現了多路數據的采集傳輸。經過一次通電24小時測試驗證,數據傳輸速率達到2Mbps,且未出現丟幀、亂幀的現象,系統工作穩定,實時性好,可靠性高。利用FPGA軟件搭建底層協議,可移植性好,進而降低了生產成本,為各個生產領域的數據采集系統提供了一種非常可靠且高效的方法,應用前景看好。

參考文獻(References):

[1] 鄧昌晟,劉昱,李海洋,王小松,張海英.ETC系統中HDLC協議解碼控制器的Verilog HDL實現[J].微型機與應用,2017.36(19):30-33

[2] 李果萍,成龍,柴波.基于SDLC協議的同步RS 485總線控制器的設計[J].現代電子技術,2009.32(4):152-154

[3] 耿立中,王鵬,馬騁,賈惠波.RS485高速數據傳輸協議的設計與實現[J].清華大學學報(自然科學版),2008.8:1311-1314

[4] Research on a 485-serial network architecture in intelligent uptown management. NI Haiyan,HU Chao,MA Changwang. Proc 2006 IEEE Conf on Mechatronics and Automation,2006.

[5] 蔣玉峰,張志明,崔麥會,尹業宏.RS-485圖像數據并行傳輸協議的FPGA設計與實現[J].電視技術,2012.36(17):71-72

[6] 曹志錦,王永梁.基于RS-485的多機串行通信實驗系統設計及應用[J].實驗技術與管理,2002.5:65-67,70

[7] 高大勇,劉書信.一種基于FPGA的SDLC協議的通信板卡的實現[J].計算機光盤軟件與應用,2012.12:175,177

[8] 岳絢,楊健.基于VHDL描述語言的高級數據鏈路控制協議實現[J].電氣自動化,2012.34(2):16-18

[9] 陳晨,李志來,徐偉,金光.基于FPGA的高速同步HDLC通信控制器設計[J].電子設計工程,2010.18(8):175-178

猜你喜歡
存儲
檔案管理中電子文件的存儲探究
條形碼技術在涂裝生產中的應用
云計算與虛擬化
結構化電子病歷的設計及應用
淺敘國產存儲技術之發展
某醫院數據中心虛擬化的設計與實現
煙臺新型自動氣象站數據本地存儲的設計及實現
關于SQL語言及存儲過程
大型機電設備出口包裝防護
基于Hadoop的業務過程模型管理方法研究
主站蜘蛛池模板: 久久这里只有精品国产99| 国产专区综合另类日韩一区| 40岁成熟女人牲交片免费| 亚洲精品国产首次亮相| 精品日韩亚洲欧美高清a| 国产精品女人呻吟在线观看| 久久毛片基地| 一级全免费视频播放| 四虎永久免费在线| 亚洲高清中文字幕在线看不卡| 无码日韩人妻精品久久蜜桃| 亚洲精品动漫| 99热这里只有精品久久免费| 国产一区二区三区在线观看视频| 91福利免费| 欧美国产精品不卡在线观看| 67194在线午夜亚洲| 日韩无码真实干出血视频| 久久国产精品麻豆系列| 好吊妞欧美视频免费| 2020亚洲精品无码| 午夜少妇精品视频小电影| 久久综合丝袜日本网| 乱人伦中文视频在线观看免费| JIZZ亚洲国产| aa级毛片毛片免费观看久| 亚洲日韩图片专区第1页| 国产免费精彩视频| 国产毛片基地| 精品亚洲麻豆1区2区3区| 中文字幕在线观| 99无码熟妇丰满人妻啪啪| 亚洲日韩日本中文在线| 免费一级毛片在线观看| 色偷偷男人的天堂亚洲av| 五月婷婷激情四射| 久久精品国产精品国产一区| 久久这里只精品国产99热8| 欧美精品亚洲精品日韩专区| 国产成人精品优优av| 亚洲无线一二三四区男男| 女人18毛片水真多国产| 九九热免费在线视频| 国产中文在线亚洲精品官网| 国产在线高清一级毛片| 色婷婷色丁香| 亚洲成人黄色在线| 99手机在线视频| 成人综合久久综合| 亚洲国产av无码综合原创国产| 999精品在线视频| 国产日韩欧美在线视频免费观看| www中文字幕在线观看| 99免费在线观看视频| 午夜毛片免费看| 国产男人的天堂| 国产成人久视频免费 | 国产在线第二页| 亚洲欧美日韩综合二区三区| 久久久久亚洲Av片无码观看| 精品一区国产精品| 欧美成人午夜影院| 日韩视频精品在线| 亚洲欧美精品日韩欧美| 亚洲日本韩在线观看| 亚洲免费福利视频| 国产综合色在线视频播放线视| 久草视频精品| 激情五月婷婷综合网| 五月婷婷激情四射| 在线色国产| 日本午夜精品一本在线观看| 国产麻豆另类AV| 午夜无码一区二区三区| 18黑白丝水手服自慰喷水网站| 国产欧美自拍视频| 成人永久免费A∨一级在线播放| 亚洲愉拍一区二区精品| 国产精品久线在线观看| 免费A级毛片无码免费视频| 中文字幕啪啪| 欧美亚洲网|