亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于DSP和FPGA的CANFD通信實(shí)現(xiàn)

        2021-02-18 07:43:44孫樂羊
        導(dǎo)航與控制 2021年6期
        關(guān)鍵詞:波特率傳輸速率字節(jié)

        楊 波,韓 杰,孫樂羊

        (北京航天時代光電科技有限公司,北京 100094)

        0 引言

        控制器局域網(wǎng)(Controller Area Network,CAN)為德國Bosch公司20世紀(jì)80年代開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,最初是為了解決汽車中大量控制與測試儀器之間的數(shù)據(jù)交換,由于其接口通信簡單實(shí)用、成本合理,已在各個工業(yè)領(lǐng)域得到廣泛應(yīng)用,成為國際上應(yīng)用最廣泛的開放式現(xiàn)場總線之一。

        但是隨著工業(yè)水平的提高,控制系統(tǒng)越來越復(fù)雜,對數(shù)據(jù)傳輸速率、數(shù)據(jù)吞吐量及通信可靠性提出了更高的要求。傳統(tǒng)的CAN總線通信已經(jīng)不能滿足市場需求,CAN總線的升級總線——波特率可變控制器局域網(wǎng)(CAN with Flexible Data?rate,CANFD)應(yīng)運(yùn)而生。從2012年第十三屆ICC大會上Bosch公司發(fā)布CANFD協(xié)議,到2015年提交國際標(biāo)準(zhǔn)化ISO11898系列,CANFD技術(shù)正在飛速發(fā)展[1]。

        CAN總線通信的最高傳輸速率為1Mbps,實(shí)際可實(shí)現(xiàn)速率只能達(dá)到 500kbps[2?3]。 CANFD 繼承了CAN總線的絕大多數(shù)特性,如雙絞線串行通信協(xié)議、仲裁技術(shù)、糾錯機(jī)制等,但在總線帶寬和可傳送數(shù)據(jù)長度方面進(jìn)行了改善,并通過改變幀結(jié)構(gòu)和提高位速率成功的將數(shù)據(jù)傳輸速率提高到了5Mbps,實(shí)現(xiàn)了速度與穩(wěn)定的兩者兼得。目前在車載通信領(lǐng)域,CANFD已逐漸取代CAN總線,成為主流總線通信之一[4?7]。但車載領(lǐng)域的CANFD總線通信多采用單片機(jī)控制以達(dá)到節(jié)省成本、實(shí)現(xiàn)簡單的目的,不能應(yīng)用于對可靠性能和抗干擾能力要求更高的無人機(jī)等武器領(lǐng)域中。

        CANFD控制器 MCP2517芯片為 SPI通信方式,支持SPI通信的微處理器有很多,如單片機(jī)、數(shù)字信號處理(Digital Signal Processing,DSP)等,本文提出采用DSP+現(xiàn)場可編程門陣列(Field Pro?grammable Gate Array,F(xiàn)PGA)來實(shí)現(xiàn)CANFD通信。DSP通過外部存儲器接口(External Memory Interface,EMIF)與 FPGA相連,使 FPGA作為DSP的高速數(shù)據(jù)傳輸接口對CANFD控制器進(jìn)行讀寫操作。本文提出的基于 DSP+FPGA控制的CANFD總線通信方法能夠克服單片機(jī)抗干擾能力差、數(shù)據(jù)讀寫速度慢的缺陷,更能夠滿足對可靠性有更高要求的航天航空控制的需求。

        1 CAN總線與CANFD總線

        由于CAN總線每次只能傳輸8字節(jié)數(shù)據(jù),通信速率較慢,且總線的位填充會造成干擾,可靠性低。CANFD總線由CAN總線改進(jìn)后優(yōu)勢明顯,具體體現(xiàn)在以下幾個方面:

        1)數(shù)據(jù)場長度:數(shù)據(jù)場由數(shù)據(jù)幀中傳輸?shù)臄?shù)據(jù)組成,CAN的DLC數(shù)據(jù)位是4bits,數(shù)據(jù)幀中最多包含8字節(jié)傳輸數(shù)據(jù)。CANFD對數(shù)據(jù)場的長度進(jìn)行了擴(kuò)展,并采用非線性定義的方式定義數(shù)據(jù)字節(jié),每數(shù)據(jù)幀傳輸數(shù)據(jù)長度可達(dá)64字節(jié),避免了數(shù)據(jù)分裂的狀況。

        2)可變比特率:CANFD總線在仲裁段和數(shù)據(jù)段可采用不同的波特率傳輸,通過控制場的比特率轉(zhuǎn)換(BRS)位來控制是否切換比特率,隱性表示轉(zhuǎn)換可變速率,顯性表示不可轉(zhuǎn)變速率,CANFD的波特率表示為500kbps/2Mbps。其中,500kbps為仲裁段的傳輸速率,2Mbps為數(shù)據(jù)段的傳輸速率。

        3)新CRC格式:由于CAN總線位填充規(guī)則對CRC的干擾,使得錯幀漏檢率沒能達(dá)到設(shè)計預(yù)期。CANFD總線對CRC算法做出了改變,將填充位納入到CRC計算中,即CRC以含填充位的位流進(jìn)行計算,以一個填充位開始并且序列每4位插入一個填充位加以分割,且填充位的值是上一位的反碼。格式檢查時,如果不是反碼就做報錯處理,且CRC長度是由傳輸數(shù)據(jù)長度決定的,當(dāng)傳輸數(shù)據(jù)為0~16字節(jié)時,CRC長度就為17,CRC多項式可表示為

        當(dāng)傳輸數(shù)據(jù)長度為17~64字節(jié)時,CRC長度為21,CRC多項式就表示為

        CANFD的CRC算法新的CRC段糾錯方式可以改善錯誤幀漏檢率。

        4)DLC編碼:CANFD數(shù)據(jù)幀采用了新的DLC編碼,在數(shù)據(jù)場長度為0~8個字節(jié)時,采用線性規(guī)則,當(dāng)數(shù)據(jù)長度為12~64個字節(jié)時,采用非線性規(guī)則編碼,具體的編碼規(guī)則如表1所示。

        表1 DLC編碼規(guī)則Table 1 Rules of DLC code

        2 系統(tǒng)硬件設(shè)計

        系統(tǒng)包括DSP、FPGA、CANFD控制器、收發(fā)器、信號隔離芯片。

        DSP、CANFD控制器與FPGA通過SPI接口通信,DSP選用TI公司的TMS320C6713,F(xiàn)PGA選用Cyclone公司的EP4CE6F17C8。DSP作為數(shù)據(jù)解算核心和控制核心,自身更擅長數(shù)據(jù)處理而非邏輯控制,且自身接口有限,沒有良好的通用性。FPGA接口多且大多可通用,邏輯控制簡單,能夠滿足大數(shù)據(jù)量高速的傳輸控制,且可實(shí)現(xiàn)譯碼、外圍接口及接口電路的集成[8]。

        DSP+FPGA+MCP2517配合實(shí)現(xiàn)CANFD總線的數(shù)據(jù)傳輸,F(xiàn)PGA作為DSP與外圍接口之間的橋梁,在接收到信號上升沿時,對相應(yīng)數(shù)據(jù)進(jìn)行鎖存,完成信號的采集、濾波、解調(diào),再將數(shù)據(jù)庫存放在制定的內(nèi)存存儲器,DSP通過EMIF總線接口讀取相應(yīng)數(shù)據(jù),并作新數(shù)據(jù)處理和控制指令的執(zhí)行,且并行處理方式的FPGA對CANFD控制器進(jìn)行數(shù)據(jù)傳輸和使能、中斷控制。

        支持SPI的微處理器有ARM、STM32、DSP、FPGA,采用DSP+FPGA模式來實(shí)現(xiàn)CANFD通信,能夠克服單片機(jī)固有的缺陷,更能夠滿足對可靠性有更高要求的航天航空控制的需求。單片機(jī)處理速度低、接口少、資源有限,遇到強(qiáng)干擾程序容易跑飛[9?12]。系統(tǒng)的硬件設(shè)計框圖如圖1所示。

        圖1 系統(tǒng)硬件框圖Fig.1 Block diagram of system hardware

        2.1 CANFD控制器模塊設(shè)計

        CANFD控制器采用 MCP2517,MCP2517是Microchip公司開發(fā)的一款帶 SPI接口的外部CANFD控制器,微處理器只需要支持SPI通信即可擴(kuò)展CANFD。MCP2517控制器支持CAN 2.0B和CANFD模式,時鐘頻率可達(dá)40MHz,通過SPI可與控制器進(jìn)行通信,SPI的時鐘頻率可達(dá)20MHz;31個FIFO可配置為接收或發(fā)送;32個過濾器和屏蔽器對象可設(shè)置來對接受報文的ID屏蔽;仲裁域比特率高達(dá)1Mbps,數(shù)據(jù)段波特率高達(dá)1Mbps;發(fā)送報文可設(shè)置發(fā)送優(yōu)先級。

        CANFD控制器模塊設(shè)計電路如圖2所示。

        圖2 CANFD控制器模塊原理圖Fig.2 Schematic diagram of CANFD controller module

        2.2 CANFD總線收發(fā)器模塊設(shè)計

        采用TJA1044GT芯片作為CANFD總線的收發(fā)器,芯片的差分接收端并聯(lián)120Ω的匹配電阻,來克服 “長線效應(yīng)”,收發(fā)器模塊電路如圖3所示。收發(fā)器與CANFD控制器之間選用隔離芯片ISO7242對輸入輸出總線差分信號進(jìn)行隔離,隔離電路如圖4所示。

        圖3 CANFD總線收發(fā)器模塊電路圖Fig.3 Circuit diagram of CANFD bus transceiver module

        圖4 信號隔離模塊電路圖Fig.4 Circuit diagram of signal isolation module

        3 系統(tǒng)軟件設(shè)計

        系統(tǒng)軟件設(shè)計主要分為模塊初始化、報文接收、報文發(fā)送,軟件實(shí)現(xiàn)流程如圖5所示。

        圖5 軟件設(shè)計流程圖Fig.5 Flowchart of software design

        模塊初始化是指DSP通過FPGA向CANFD控制器芯片發(fā)送配置信息,對CANFD控制器進(jìn)行初始化設(shè)置,模塊初始化配置的流程如下:

        1)選擇工作模式為配置模式,設(shè)置波特率可變。

        2)配置標(biāo)稱位時間和數(shù)據(jù)位時間寄存器,根據(jù)想要設(shè)置的仲裁域和數(shù)據(jù)域的波特率值計算寄存器設(shè)置值。

        3)配置FIFO控制寄存器,設(shè)置FIFO的報文深度、有效負(fù)載大小、報文發(fā)送優(yōu)先級、接收還是發(fā)送FIFO、設(shè)置非空/非滿中斷允許。

        4)設(shè)置接收過濾器和屏蔽寄存器。

        5)配置CANFD控制寄存器,選擇工作模式為CANFD工作模式。

        模塊初始化完成后,可進(jìn)行報文發(fā)送和接收配置,配置流程如下:

        1)讀取發(fā)送/接收下一報文的地址:MCP2517控制器的RAM區(qū)沒有對每個FIFO對象設(shè)置固定的內(nèi)存地址,報文對象的地址取決于所選的配置,但是應(yīng)用程序不必計算地址,用戶需要發(fā)送開始前通過讀取發(fā)送/接收FIFO的用戶地址寄存器值來獲取下一個報文對象的地址。

        2)發(fā)送報文時,DSP通過FPGA向CANFD控制器的FIFO地址(上一步驟讀到的下一發(fā)送報文對象的地址)寫入要發(fā)送的報文;接收報文時,通過配置過濾器對象和屏蔽器對象給接收FIFO匹配一個或多個過濾器。

        3)啟動發(fā)送/接收:設(shè)置FIFO控制寄存器中的報文請求發(fā)送和FIFO頭部遞增。

        4)報文發(fā)送/接收過程中可觀察FIFO狀態(tài)寄存器中的報文索引標(biāo)志及發(fā)送/接收FIFO的用戶地址位是否正確遞增。

        4 實(shí)驗驗證

        4.1 實(shí)驗步驟和方法

        DSP TMS320C6713的主頻為528MHz,F(xiàn)PGA EP4CE6F17C8的主頻為66MHz,MCP2517FD芯片的時鐘頻率為 40MHz,SPI接口的時鐘頻率為20MHz。所以,將實(shí)驗條件設(shè)置為通信電纜長3m、接收發(fā)送的報文長度為最大64字節(jié)。

        CAN總線通信最高傳輸速率為1Mbps,正??蓪?shí)現(xiàn)速率只能達(dá)到500kbps,CANFD由于控制域和數(shù)字域采用不同的波特率進(jìn)行數(shù)據(jù)通信,通信速率在理論上大于CAN總線通信。在實(shí)驗中驗證當(dāng)波 特 率 為 500kbps/2Mbps 和 1Mbps/5Mbps 時CANFD總線通信的準(zhǔn)確性,實(shí)驗步驟為:

        1)首先使用Modelsim仿真軟件對FPGA程序進(jìn)行時序仿真,仿真結(jié)果預(yù)期一致則證明FPGA與CANFD控制器通信正常。

        2)DSP通過FPGA來配置MCP2517控制寄存器的值,將控制器設(shè)置為CANFD模式,設(shè)置波特率、ID號和報文深度,有效數(shù)據(jù)長度為64字節(jié)。

        3)編寫DSP程序?qū)崿F(xiàn)CANFD總線的自發(fā)自收功能,提前編輯CANFD總線要收發(fā)的數(shù)據(jù)信息,每次發(fā)送200個報文,共發(fā)送10次。

        4)利用CANFD通信調(diào)試上位機(jī)對比發(fā)送數(shù)據(jù)與接收數(shù)據(jù),統(tǒng)計傳輸時間、錯誤字節(jié)數(shù),計算誤碼率。

        4.2 仿真驗證及結(jié)果

        使用Modelsim仿真軟件對FPGA程序進(jìn)行時序仿真并給定輸入,如果得到預(yù)期輸出,則證明可以實(shí)現(xiàn)對CANFD控制器的時序控制,且理論上可以實(shí)現(xiàn)基于DSP+FPGA系統(tǒng)的CANFD通信。

        仿真模擬DSP通過FPGA向CANFD總線發(fā)送信息,根據(jù)控制器芯片MCP2517的SPI指令格式,F(xiàn)PGA應(yīng)向MCP2517發(fā)送復(fù)位指令來將控制芯片的內(nèi)部寄存器復(fù)位為默認(rèn)狀態(tài),復(fù)位指令為發(fā)送地址0x0000和數(shù)據(jù)信息0b000,接著向控制芯片地址為 0x0001的寄存器寫入數(shù)據(jù)信息0x02000300,最終得到的仿真時序圖如圖6所示。

        圖6 仿真驗證時序結(jié)果Fig.6 Timing results of simulation verification

        由圖6可知,時序仿真結(jié)果與設(shè)想一致,表現(xiàn)為:當(dāng)DSP控制FPGA的片選拉低且寫使能信號拉低后,F(xiàn)PGA控制的CANFD的片選被拉低,CANFD的數(shù)據(jù)線上依次傳輸?shù)刂沸畔⒑蛿?shù)據(jù)信息(0x0001和0x02000300), 證明了基于 DSP+FPGA系統(tǒng)的CANFD通信可行性。

        4.3 實(shí)驗驗證及結(jié)果

        在DSP+FPGA+CANFD控制器實(shí)驗平臺上對4.1節(jié)中的步驟2~步驟4進(jìn)行實(shí)驗驗證,通過CANFD測試盒和上位機(jī)來記錄發(fā)送和接收的數(shù)據(jù),對發(fā)送和接收的數(shù)據(jù)進(jìn)行比對,實(shí)驗結(jié)果如表2所示。

        表2 實(shí)驗驗證結(jié)果Table 2 Results of experiment verification

        由表2的實(shí)驗結(jié)果可知,在通信電纜長3m、發(fā)送10次數(shù)據(jù)、每次發(fā)送200條報文、報文有效長度為64字節(jié)、波特率設(shè)置為500kbps/2Mbps及1Mbps/5Mbps條件下,錯誤字節(jié)數(shù)均為0,誤碼率小于1%,證明了該系統(tǒng)可實(shí)現(xiàn)可靠的CANFD通信。

        由于實(shí)驗條件有限,不能充分驗證在不同工作環(huán)境下的CANFD通信情況,如極限溫度對通信數(shù)據(jù)準(zhǔn)確性的影響、不同波特率的有效通信距離變化等,所以本文提出的方法仍需要加入考慮環(huán)境溫度和通信距離等更多因素的對比實(shí)驗來驗證。

        5 結(jié)論

        隨著汽車、無人機(jī)等領(lǐng)域?qū)νㄐ艛?shù)據(jù)傳輸速率、數(shù)據(jù)吞吐量及可靠性提出了更高的要求,CANFD總線通信方法已逐漸開始取代傳統(tǒng)的CAN總線通信,保證CANFD數(shù)據(jù)傳輸?shù)姆€(wěn)定性和可靠性也逐漸成為學(xué)者及工程師關(guān)注的重點(diǎn)。本文采用DSP+FPGA+MCP2517的方法來實(shí)現(xiàn)CANFD通信,并通過了仿真和實(shí)驗驗證,結(jié)果表明:該方法降低了軟件調(diào)試難度,減輕了處理器的運(yùn)行負(fù)載,提高了系統(tǒng)的抗干擾能力,實(shí)現(xiàn)了5Mbps數(shù)據(jù)傳輸速率,是CAN總線最高傳輸速率的5倍。實(shí)際應(yīng)用中會有通信距離、環(huán)境溫度等多種因素影響通信效果,本文提出的方法還需要通過更深入的研究來完善總結(jié)。

        猜你喜歡
        波特率傳輸速率字節(jié)
        No.8 字節(jié)跳動將推出獨(dú)立出口電商APP
        CAN 總線波特率自適應(yīng)程序設(shè)計
        智能制造(2020年5期)2020-07-03 06:24:00
        No.10 “字節(jié)跳動手機(jī)”要來了?
        基于FPGA的異步串行通信波特率容錯設(shè)計
        電子測試(2018年7期)2018-05-16 06:27:18
        簡談MC7字節(jié)碼
        跨山通信中頻段選擇與傳輸速率的分析
        黑龍江電力(2017年1期)2017-05-17 04:25:16
        數(shù)據(jù)傳輸速率
        CHIP新電腦(2016年9期)2016-09-21 10:31:09
        新一代全球衛(wèi)星通信網(wǎng)絡(luò)將百倍提升傳輸速率
        新一代全球衛(wèi)星通信網(wǎng)絡(luò)將百倍提升傳輸速率
        C*Core芯片SCI串口波特率容限優(yōu)化
        中文字幕偷拍亚洲九色| 好男人日本社区www| 久久久久久久久毛片精品| 国产超碰人人模人人爽人人喊| 国产成人精品日本亚洲语音1| 一区二区三区视频偷拍| 可以免费看亚洲av的网站| 亚洲一区二区三区无码国产| 女高中生自慰污免费网站| 亚洲无码毛片免费视频在线观看| 久久成人精品国产免费网站| 国产大屁股喷水视频在线观看| 一本一道久久综合狠狠老| 中文字幕在线免费| 色yeye在线观看| 亚洲韩日av中文字幕| 亚洲av国产av综合av卡| 中文成人无字幕乱码精品区| 中文字幕在线亚洲日韩6页手机版| 2020亚洲国产| av天堂手机一区在线| 成人自拍小视频在线看| 亚洲精品无码永久在线观看你懂的| 国产亚洲日韩在线三区| 加勒比日本东京热1区| 国产91在线播放九色快色| 精品九九人人做人人爱| 亚洲久热无码av中文字幕| 日本女优一区二区在线免费观看 | 亚洲中文字幕国产剧情| 婷婷伊人久久大香线蕉av| 高清不卡一区二区三区| 中文字幕无码不卡免费视频| 久久精品国产亚洲AⅤ无码剧情| 午夜男女靠比视频免费| 亚洲国产成人片在线观看| 四虎精品免费永久在线| 一区二区三区四区国产亚洲| 国产高清在线视频一区二区三区| 国产98在线 | 日韩| 成 人 网 站 在线 看 免费|