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

FPGA與MCU自定義并行總線通信設計及實現

2022-03-17 10:15:44戴越張林劉廣民張勇斌荊奇沈杰
電子測試 2022年5期
關鍵詞:單片機系統

戴越,張林,劉廣民,張勇斌,荊奇,沈杰

(中國工程物理研究院機械制造工藝研究所,四川綿陽,621900)

0 引言

隨著信息技術的發展與進步,人類社會已經進入了數字化和智能化時代,計算機微機化得到快速發展,智能化、自動化系統實現了大規模應用。其中具有多控制器的嵌入式系統憑借其小型化、功能多樣化的特點得到了不斷的改進與發展[1-2]。多控制器之間的實時、可靠的數據通信則是保證嵌入式系統實現復雜功能和穩定運行的基礎和前提[3-4]。比如,在基于單片機和FPGA的嵌入系統中,單片機和FPGA需要在彼此之間以及與外部設備和遠程中斷之間進行大量的數據傳輸以滿足系統設備可以實現自動化、智能化應用的要求[5-6]。為了保證系統可靠性,數據通信的高效性和準確性就顯得尤為重要[7]。

本文主要針對應用于脈沖電源的板上系統進行通信方式設計,該系統包含FPGA與單片機兩種控制器,信號傳輸過程具有傳輸距離短,傳輸速率要求高,傳輸可靠性要求高等特點,針對此特點,本文提出自定義并行總線通信設計方法,實現了單片機與FPGA之間數據的高速、可靠傳輸,為確保系統的穩定運行提供了重要技術保障?;谠撏ㄐ欧绞降拿}沖電源系統已經使用一年多,未出現任何通信問題。

1 系統方案

通信系統的方案對通信速率,數據傳輸準確性起著決定性的作用。通信方式的選擇是系統方案的基礎,決定了數據傳輸的協議方式,通信總線的選擇,后期軟硬件的設置等。對通信系統的數據傳輸效率,傳輸距離,傳輸可靠性以及系統成本都有著決定性的影響。

1.1 通信方式選擇

現有常用的通信方式主要有兩種:串行通信與并行通信。串行通信是指使用一條數據線,將數據從低位到高位或從高位到低位由一個通信系統一位一位地依次傳輸到另一個通信系統,每一位數據傳輸時使用一定的時間長度,一般只需少數幾根傳輸線就能完成多系統之間的信息交換,成本低,適合遠距離傳輸,但是由于傳輸線較少,存在著傳輸時間慢,效率較低的不足。并行通信指數據的各個數據位同時在多條數據線上進行傳輸,與串行總線相反,其通信速度快,通信效率高,多用于需要實時、快速的場合,但是傳輸成本較高,不適宜遠距離通信。并行傳輸和串行傳輸的區別如圖1所示。在系統需要傳輸一個字節,并行通信需要8根數據線傳輸數據,而串行通信只需1根數據線,但并行傳輸速率約為串行傳輸的8倍[8]。

圖1 并行通信系統與串行通信系統

根據現有硬件設計要求,本文所針對的單片機與FPGA通信總線基于同一硬件系統,所以兩者信號傳輸距離短,且系統要求較高的數據信號傳輸速率,所以選用應并行通信作為系統通信方式。

1.2 系統總體設計

系統主要由三個模塊組成,包括人機交互接口(觸摸屏 )、MCU控制單元 (C8051)、FPGA控制單元 (Altera,EP4CE75FE23I7),如圖2所示。在觸摸屏上可實現對脈沖參數的設置并傳遞給MCU,同時觸摸屏也用于接收和實時顯示MCU反饋的電流、電壓參數;MCU一方面與觸摸屏通信完成脈沖電參數的接收和解析,另一方面以自定義總線的方式進行與FPGA之間通信,向FPGA發送設置的參數,同時接收FPGA反饋的參數;作為整個系統的控制核心,FPGA既與MCU通信以完成脈沖電參數的接收和電流、電壓參數的反饋,同時進行相應的電路控制。

圖2 系統數據通信框圖

其中,單片機與FPGA通信基于并行總線的選擇,提出了自定義并行總線。數據傳輸共設有40路IO線,其中8路總線用于控制數據傳輸,16路用于單片機向FPGA發送數據,另16路用于單片機從FPGA接收數據,采用雙向16位傳輸方案,可以滿足更大范圍的數據傳輸要求,滿足傳輸的高效率以及后期數據傳輸的便捷性、可靠性。具體總線設置如圖3所示。該系統可實現單片機與FPGA的異步雙向通信,實現上位數據的發送及下位數據的反饋。

圖3 單片機與FPGA通信總線示意圖

1.3 系統硬件選擇

1.3.1 單片機芯片選擇

C8051F040是高度集成的混合信號SoC級微控制器芯片,具有與8051單片機兼容的高速CIP-51微控制器內核,除了標準8051的數字外設部件外,片內還集成了數據采集與控制系統中常用的模擬部件及其它一些數字外設部件。

C8051F040單片機系統控制器的內核采用CIP-51微控制器,它與MCS-51指令集完全兼容,可以使用標準803x/805x匯編器和編譯器進行軟件開發。CIP-51內核具有標準8052的所有外設部件,包括5個16位的計數器/定時器、兩個全雙工UART串行接口、256字節內部RAM、128字節特殊功能寄存器(SFR)地址空間及8個8位寬的I/O端口。該內核采用流水線結構,與標準的8051結構相比指令執行速度有很大的提高。對于CIP-51內核,70%的指令的執行時間為1或2個系統時鐘周期,只有4條指令的執行時間大于4個系統時鐘周期。CIP-51共有111條指令。CIP-51工作在最大系統時鐘頻率25MHz時,其峰值性能達到25MIPS。

1.3.2 FPGA 芯片選擇

FPGA的選用選擇Altera品牌,保證低成本應用,滿足一定的容量,且芯片性能可以滿足一般的邏輯設計要求,在滿足性能要求的同時選擇性價比較高的類型,Cyclone IV是一款低成本、低功耗的FPGA結構,所以選擇Altera Cyclone IV系列的EP4CE75F23I7類型芯片,選擇配置方式為JTAG,便于實現在線調試,實現程序的實時改進。

2 通信系統硬件電路設計

2.1 單片機外圍通信電路及管腳設計

通信接口是通信系統的重要組成部分,是實現系統與外設及其他系統的通信的保證,單片機外圍設置16個數據輸出端口P5.0-P6.7、16個數據接收端口P3.0-P4.7以及8個通信控制總線端口P7.0-P7.7。

圖4 單片機外圍管腳設置

2.2 FPGA外圍通信電路及管腳設計

FPGA外圍借口設置與單片機相匹配,分別設置16個IO口P50-P67用于數據接收、16個IO口P30-P47用于數據發送以及8個通信控制總線IO口P70-P77。

3 并行通信原理及軟件設計

3.1 并行通信數據傳輸原理

3.1.1 并行接口輸入數據的過程

外設將數據送到“數據輸入線”,通過“輸入數據準備好”狀態線通知CPU將數據從并行總線接口取走,接口先將數據鎖存到“輸入緩沖器”,接口在其內“狀態寄存器”的相應位置1,便于CPU查詢和接口向CPU發中斷請求之用。CPU從接口將數據取走后,通過“數據輸入回答”線通知外設,已經完成當前數據讀取,可以進行下一步動作,接口將“數據輸入準備好”、“數據輸入回答” 信號清除,以便外設輸入下一個數據。

3.1.2 并行接口輸出數據的過程

與數據輸入相似,接口“數據輸出緩沖器”為空,“數據輸出準備好”狀態線送 1,收到CPU 發送的數據,將之復位清0,數據通過“數據輸出”線送到外設,由“數據輸出準備好”線通知外設接收數據。

3.2 單片機與FPGA并行通信設計

單片機-FPGA通信程序的主體思路是:數據整體打包發送,即單片機連續發送多個數據給FPGA,FPGA接收完所有數據之后,以某種方式進行校驗(求和,或CRC),如果校驗成功則視為發送成功,否則視為發送失敗,并重新發送數據,當多次發送失敗后,停止發送,并通過串口向上位機進行可視化反饋,提醒用戶進行相應動作。同理當FPGA向單片機反饋參數時,FPGA也連續向單片機發送多個數據,單片機接收完所有數據后進行校驗,如果連續多次都校驗失敗,則向上位機報警,否則視為發送成功。

圖5 FPGA外圍管腳設置

3.2.1 單片機與FPGA數據傳輸實現

(1)單片機發送——FPGA接收數據

單片機將參數進行打包定義,通過控制總線通知FPGA開始準備接收數據,FPGA接到通知后反饋準備狀態。得知FPGA處于接收狀態,將一個16位數據發送到并行總線上,其中數據高四位作為參數號位,用來說明當前參數序號,便于FPGA判斷接收。串口P5.0-P5.7用于發送數據的低8位,P6.0-P6.7用于發送數據高8位,在完成單次數據上傳后通知FPGA開始接收,FPGA從總線上完成接收后進行處理讀取當前參數號并完成參數暫存,然后向單片機反饋本次接收成功指令。當單片機接受到FPGA反饋后說明單次數據發送成功。單片機判斷是否完成所有數據的發送,如若未完成則繼續重復上一步驟發送,如若完成則發送校驗和到FPGA并通知FPGA完成數據發送。當FPGA判斷到接收到最后一個數據時,將接收數據進行校驗和運算,然后與單片機端發送的校驗和進行比較以判斷本輪數據傳輸是否成功。

圖6 數據發送流程圖

成功后FPGA則向單片機反饋成功指令并完成接收數據的定義與幅值,如若校驗和對比異常則說明數據傳輸異常,FPGA則向單片機反饋失敗指令,則系統需要重新進行數據發送流程,如果多次失敗系統將會停止數據傳輸,單片機便向上位機反饋報警。

(2)FPGA發送——單片機接收數據

與單片機發送數據相似,兩者之間數據發送時機控制通過控制總線P7實現,數據傳輸總線負責16位數據,其中P3.0-P3.7為數據的低8位,P4.0-P4.7為數據高8位。傳輸流程與發送數據相似,均通過應答機制實現FPGA與單片機交流,保證傳輸的同步性與準確性。 FPGA將數據打包完成并上傳至數據總線,其中數據低4位為參數號,高12位為數據值。然后通過將控制總線置1告訴單片機接收數據,單片機接收數據包并進行解析暫存,然后通過控制線通知FPGA已完成當前數據接收,可進行后續動作。FPGA判斷數據是否全部發送完畢,如果未完成則重復上述操作繼續發送,否則則向單片機發送數據校驗和,單片機端接收校驗和之后與通過已接收數據計算出的校驗和進行比較,判斷本次數據傳輸總流程是否準確完成。成功完成后單片機則向FPGA反饋成功指令,同時完成接收數據的存儲,并向觸摸屏反饋用于使用者對系統狀態的監測。如若校驗和對比異常則說明數據傳輸異常,單片機則向FPGA反饋失敗指令,則系統需要重新進行數據發送流程,如果多次失敗系統將會停止數據傳輸,單片機便向上位機反饋報警。

圖7 單片機發送數據流程圖

圖8 FPGA接收數據流程圖

3.3 硬件實現及測試

搭建FPGA-單片機板上系統,該硬件系統可實現FPGA與51單片機之間的數據通信過程。然后基于此硬件系統進行單片機-FPGA收發實驗,對單片機及FPGA通信變量數據進行實時同步監測,實驗結果如圖9所示。首先進行單片機發送數據,FPGA接收數據實驗,單片機共向FPGA發送4個參數數據,對比圖9(a)與圖9(b)可以看出,FPGA接收數據與單片機發送數據一致,完成單片機向FPGA發送數據過程。然后,進行FPGA發送數據,單片機接收數據實驗,FPGA端共向單片機端發送4個數據, 對比圖9(c)與圖9(d)可以看出,單片機接收數據與FPGA端發送數據一致,完成FPGA向單片機發送數據過程。

圖9 通信實驗數據收發狀態監測

4 總結

本文提出的基于FPGA與單片機的自定義總線通信系統可實現數據的穩定傳輸,單次可完成16位數據收發,具有較高的傳輸效率。采取雙向應答機制進行指令反饋保證傳輸可靠性。數據校驗采用校驗和方式進行,校驗方法簡單便捷,且穩定性和準確性較好。該傳輸流程具有錯誤自檢,自動重發,異常報警等功能,適用性廣,可靠性強,在多控制器的嵌入式系統開發中具有較高的實用價值。

猜你喜歡
單片機系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于PowerPC+FPGA顯示系統
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
半沸制皂系統(下)
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 日韩午夜片| 国国产a国产片免费麻豆| 黄色一级视频欧美| 国产精品久线在线观看| 国内自拍久第一页| 久久熟女AV| 国产幂在线无码精品| 欧美中文字幕无线码视频| 老司机午夜精品网站在线观看 | 99在线观看免费视频| 真人免费一级毛片一区二区| 一级毛片高清| AV不卡国产在线观看| 最近最新中文字幕在线第一页 | 欧美特黄一免在线观看| 亚洲伦理一区二区| 国产91九色在线播放| 一级毛片视频免费| 国产资源站| 亚洲精品中文字幕无乱码| 草逼视频国产| 九色最新网址| 97se亚洲综合在线| 国产综合色在线视频播放线视| 欧美日韩久久综合| 国产性生大片免费观看性欧美| 亚洲第一视频区| 91网在线| jizz国产视频| 亚洲综合经典在线一区二区| 国产第一页免费浮力影院| 国产91在线免费视频| 国产精品偷伦视频免费观看国产 | 久久午夜影院| 国产香蕉97碰碰视频VA碰碰看| 国产制服丝袜无码视频| 欧美精品xx| 中文字幕波多野不卡一区| 亚洲精品无码高潮喷水A| 欧美精品色视频| 欧美一区中文字幕| 亚洲欧美日韩中文字幕一区二区三区| 四虎免费视频网站| 五月婷婷伊人网| 日韩人妻少妇一区二区| 精品欧美视频| 日韩AV无码一区| 精品免费在线视频| 色哟哟国产精品一区二区| 国产网站免费看| 亚洲国产天堂久久综合226114| 免费看美女毛片| 日本亚洲最大的色成网站www| 久青草网站| 亚洲最大福利网站| 国内精品久久九九国产精品 | 91偷拍一区| 日韩国产另类| 日韩欧美国产综合| 国产精品一区不卡| 亚洲免费三区| 欧美日韩专区| 黄色成年视频| 亚洲国产一区在线观看| 在线色国产| 在线观看无码a∨| 无码国内精品人妻少妇蜜桃视频 | 国产午夜人做人免费视频中文| www.av男人.com| 2021国产乱人伦在线播放| 制服丝袜无码每日更新| 欧美69视频在线| 亚洲色无码专线精品观看| 国产真实二区一区在线亚洲| 中文字幕啪啪| 野花国产精品入口| 欧美精品色视频| 动漫精品啪啪一区二区三区| 91无码人妻精品一区二区蜜桃| 91久久国产成人免费观看| 免费人成在线观看成人片| 91福利免费视频|