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

        ?

        基于ZYNQ-7020的CAN總線節(jié)點接口設(shè)計與實現(xiàn)

        2023-02-08 06:36:22方海伊豆海利
        物聯(lián)網(wǎng)技術(shù) 2023年1期
        關(guān)鍵詞:功能系統(tǒng)設(shè)計

        方海伊,豆海利,馮 源

        (1.中國航空工業(yè)集團公司西安航空計算技術(shù)研究所,陜西 西安 710119;2.空軍工程大學 基礎(chǔ)部,陜西 西安 710051)

        0 引 言

        控制器局域網(wǎng)(Controller Area Network, CAN)作為一種現(xiàn)場總線,具有良好的通信速率和開放性,采用簡單的控制方式即可擴展總線并連接多個設(shè)備。目前CAN總線憑借其良好的性能優(yōu)勢已在汽車電子、工業(yè)控制以及航空航天等領(lǐng)域得到了廣泛應用。

        CAN總線是一種總線型結(jié)構(gòu)的通信網(wǎng)絡,總線上各個不同的CAN節(jié)點具有特定的功能,比如實現(xiàn)傳感器數(shù)據(jù)采集、設(shè)備控制、數(shù)據(jù)顯示等,但所有的CAN節(jié)點都具有大致相同的硬件接口和軟件結(jié)構(gòu),如圖1所示;并且總線上的所有節(jié)點均通過CAN接口電路連接到同一個通信電纜上。CAN節(jié)點接口通常由CAN總線收發(fā)器、CAN總線控制器以及接口控制器組成。這種結(jié)構(gòu)實現(xiàn)的CAN控制可以采用不同的節(jié)點控制器,具有較強的靈活性,但是外圍系統(tǒng)組成較為復雜,通常需要配合DSP、CPLD等芯片實現(xiàn)通信功能[1],外圍電路控制過程也較為復雜。另外CAN節(jié)點接口還可以將CAN總線控制器集成于節(jié)點控制器中,利用節(jié)點控制器不僅實現(xiàn)了節(jié)點的應用程序,還實現(xiàn)了總線收發(fā)器控制的功能,這種結(jié)構(gòu)的控制過程以及外圍電路組成較為簡單,減少了成本,但是對于控制器本身的功能、性能要求較高,且需要具有較好的通用性。

        圖1 CAN節(jié)點結(jié)構(gòu)

        ZYNQ-7000系列芯片是一種由Xilinx公司研發(fā),在市場上具有代表性的Soc芯片,該系列芯片采用ARM+FPGA結(jié)構(gòu),將FPGA可編程邏輯和雙核ARM Cortex-A9集成在一顆芯片上。芯片的PS (Processing System)系統(tǒng)集成了兩個 ARM處理器、內(nèi)部存儲器、外部存儲器接口和大量外設(shè),可以實現(xiàn)總線節(jié)點設(shè)備的連接以及總線節(jié)點接口的控制功能;芯片的PL(Programmable Logic)系統(tǒng)則具有大量邏輯門電路、查找表以及觸發(fā)器,并配有諸多數(shù)字信號處理單元,大大提高了數(shù)據(jù)并行處理能力。芯片中高帶寬的AXI總線實現(xiàn)了PS與PL系統(tǒng)的互連。芯片的PS和PL可分開編程[2-3],均可獨立運行,并在上電或復位下啟動。同時為了方便用戶開發(fā),Xilinx 向用戶提供了許多集成的IP核,方便用戶快速開發(fā)使用,但是許多集成的IP核不能完全滿足用戶的多樣需求,因此在FPGA上還可以通過自定義IP核,即模塊化的設(shè)計方法實現(xiàn)用戶需求[4]。與使用ARM配合 FPGA的傳統(tǒng)系統(tǒng)[5]相比,使用ZYNQ-7000作為系統(tǒng)控制器,不僅可以有效降低開發(fā)成本,提高開發(fā)效率,還可以實現(xiàn)更好的性能和更高的集成度。

        本文在Vivado開發(fā)平臺上基于ZYNQ-7020芯片進行系統(tǒng)設(shè)計。通過調(diào)用ZYNQ-7020中的PS系統(tǒng)、PS系統(tǒng)復位、AXI互連、PL系統(tǒng)IP核完成系統(tǒng)級建模。隨后,在ZYNQ-7020上PL系統(tǒng)中利用Verilog HDL完成模塊化設(shè)計,實現(xiàn)CAN總線控制器功能,并利用AXI IP核實現(xiàn)與PS之間的數(shù)據(jù)交互?;谝陨显O(shè)計,在ZYNQ-7020芯片的PS系統(tǒng)中可以設(shè)計完成CAN總線接口和串行通信接口的創(chuàng)建,使用SDK軟件編寫CAN總線驅(qū)動程序[6],實現(xiàn)系統(tǒng)應用層運行。

        1 基于ZYNQ的CAN總線節(jié)點接口硬件設(shè)計方法

        本文提出了一種基于ZYNQ-7000系列芯片的CAN總線節(jié)點接口的設(shè)計方案,在設(shè)計中采用ZYNQ-7020作為主控制器,利用其PS系統(tǒng)和PL系統(tǒng)協(xié)同工作并配合CAN總線收發(fā)器來實現(xiàn)CAN節(jié)點接口的控制?;赯YNQ-7000系列芯片的CAN總線節(jié)點接口的整體設(shè)計結(jié)構(gòu)如圖2所示,總線節(jié)點接口主要由電源電路、時鐘電路、ZYNQ-7020外圍電路、CAN總線收發(fā)電路以及其他輔助電路組成。

        圖2 基于ZYNQ-7020的CAN節(jié)點接口硬件結(jié)構(gòu)

        (1)電源電路主要由外部供電電路以及電壓轉(zhuǎn)換電路組成,采用開關(guān)電源實現(xiàn)外部高電壓轉(zhuǎn)換為低電壓,具有電源防抖、轉(zhuǎn)換效率高的特點。針對ZYNQ-7020芯片上PS系統(tǒng)以及PL系統(tǒng)電源單獨工作的特點,為其分別配置1.0 V、1.8 V、3.3 V供電電源實現(xiàn)內(nèi)核供電、RAM供電、IO BANK供電。配合電源芯片的輸入端電源轉(zhuǎn)換啟動控制管腳以及輸出端狀態(tài)指示管腳,實現(xiàn)ZYNQ-7020芯片對于PS、PL的上電順序要求[7]。

        (2)時鐘電路分別采用33.3 MHz和50 MHz的有源晶振為ZYNQ-7020芯片的PS系統(tǒng)和PL系統(tǒng)提供時鐘源。雖然PL系統(tǒng)的時鐘源也可以通過PS系統(tǒng)的PLL產(chǎn)生,但是為了實現(xiàn)PS系統(tǒng)與PL系統(tǒng)的獨立控制,向PL系統(tǒng)提供了單獨的時鐘源。

        (3)ZYNQ電路主要由ZYNQ-7020芯片、配置電路以及外設(shè)組成。由圖2可知,ZYNQ-7020芯片作為主要的功能芯片,主要包括PS系統(tǒng)和PL系統(tǒng)兩部分:在PL中建立CAN總線控制器模塊,用于CAN收發(fā)器邏輯電平收發(fā)以及CAN協(xié)議解析,并利用AXI模塊實現(xiàn)與PS的通信,在PS中實現(xiàn)CAN總線驅(qū)動程序,利用AXI總線進行PL的控制和CAN總線數(shù)據(jù)的傳輸,具有集成度高、功能多樣、處理速度快的特點。ZYNQ-7020芯片配有QSPI FLASH芯片作為啟動設(shè)備存儲系統(tǒng)的啟動鏡像文件,包括PL的bit文件、ARM的應用程序代碼、用戶存儲數(shù)據(jù)等,并且采用DDR3存儲直接連接ZYNQ-7020芯片的PS系統(tǒng),為系統(tǒng)提供高速外部存儲設(shè)備。

        (4)CAN總線收發(fā)電路的主要功能是采用CAN收發(fā)器芯片將CAN總線差分電平轉(zhuǎn)換為CAN控制器的邏輯電平,采用具有電氣隔離和電源隔離的收發(fā)模塊,具有體積小、隔離功能強、使用方便的特點。

        從圖2中可以看出,ZYNQ-7020芯片是本次節(jié)點接口設(shè)計中的主要功能實現(xiàn)部件,主要包含的邏輯實現(xiàn)功能為:節(jié)點接口的CAN總線控制器功能、AXI通信模塊功能以及在PS系統(tǒng)中建立AXI通信功能。在PS系統(tǒng)中根據(jù)總線節(jié)點設(shè)備要求移植Linux操作系統(tǒng)、使用SDK軟件設(shè)計編寫CAN總線驅(qū)動軟件接口,作為驅(qū)動開發(fā)重點內(nèi)容,不在本文中進行論述。

        2 AXI總線控制設(shè)計

        基于ZYNQ-7020的CAN節(jié)點設(shè)計中,AXI通信通路作為CAN總線數(shù)據(jù)鏈路層與應用層交互的主要途徑,是本次設(shè)計中的重要內(nèi)容。AXI通信實現(xiàn)了PS系統(tǒng)與PL系統(tǒng)之間的通信功能,如圖3所示的設(shè)計框架,AXI通信主要用于CAN總線數(shù)據(jù)訪問、PL系統(tǒng)的控制即CAN總線控制器模塊的功能控制。

        圖3 ZYNQ-7020上PS和PL系統(tǒng)通信方案設(shè)計框圖

        AXI通信功能在PL設(shè)計中由AXI Interconnect模塊、AXI-DMA模塊[8]、AXIS-Data FIFO以及CAN控制參數(shù)配置模塊組合實現(xiàn)[9]。AXI Interconnect模塊主要用于主設(shè)備管理多個從設(shè)備,通過AXI Interconnect模塊可以擴展多個AXI-Lite總線接口,然后將多個從設(shè)備模塊分別與AXI-Lite總線接口連接,通過為這些模塊分配不同的偏移地址,主設(shè)備可以控制從設(shè)備。AXI-DMA是一種用于實現(xiàn)DMA功能的IP核,具有讀DDR存儲器和寫DDR存儲器兩個通道,當需要讀取數(shù)據(jù)時,AXI-4總線從PS的DDR內(nèi)存中讀取數(shù)據(jù),AXI流總線將數(shù)據(jù)傳輸?shù)絇L的FIFO緩沖區(qū);在寫入DDR存儲器的過程中,PL設(shè)備通過AXI流總線將數(shù)據(jù)發(fā)送到AXI-DMA,通過AXI-4總線將數(shù)據(jù)傳輸?shù)絇S。AXI-DMA IP核內(nèi)部的寄存器可以通過AXI-Lite總線進行讀寫。AXIS-Data FIFO為AXI流總線的接口,用于數(shù)據(jù)存儲。CAN控制參數(shù)配置模塊的主要作用是將PS發(fā)送過來的命令和參數(shù)傳遞給PL的CAN控制器,同時關(guān)注PL中CAN控制器狀態(tài)以方便PS讀取。

        當AXI通信用于PS對PL即CAN控制的邏輯功能控制時,這部分信號的控制不涉及高速數(shù)據(jù)傳輸,因此在PS中采用AXI-GP接口實現(xiàn),通過AXI4總線傳輸至PL的AXI Interconnect模塊,將信號通過AXI-Lite總線寫入CAN控制參數(shù)配置模塊,從而進行FIFO控制、CAN控制器邏輯控制和復位、CAN總線數(shù)據(jù)接收和錯誤等信號的檢測。

        另外,當AXI通信被用于CAN總線數(shù)據(jù)訪問時主要是通過調(diào)用ZYNQ的AXI-DMA IP核來實現(xiàn)的[10]。當PL接收到CAN總線數(shù)據(jù)后緩存在AXIS-Send FIFO中,將數(shù)據(jù)通過AXI流總線寫入AXI-DMA模塊,該IP核產(chǎn)生中斷信號通知PS處理器接收數(shù)據(jù),PS響應中斷并通過AXI-HP接口將數(shù)據(jù)寫入PS的DDR。當PS向CAN總線發(fā)送數(shù)據(jù)時,PS處理器通過AXI-Lite總線將數(shù)據(jù)的信息寫入AXI-DMA IP,該IP核讀取DDR中的數(shù)據(jù)并將數(shù)據(jù)寫入AXIS-Recv FIFO中,再通過CAN總線控制器發(fā)送數(shù)據(jù)。

        3 CAN總線控制器功能設(shè)計

        CAN節(jié)點接口的總線控制器是通過ZYNQ-7020芯片上的PL邏輯實現(xiàn),利用Verilog HDL完成模塊化設(shè)計,圖4所示為PL系統(tǒng)上CAN總線控制器的設(shè)計框圖。從圖4可以看出,該邏輯主要包括信號控制接口、時鐘模塊、復位模塊、寄存控制管理、位時序同步、位流處理、錯誤管理、驗收濾波和收發(fā)緩沖等功能模塊組成。其中信號控制接口實現(xiàn)PS控制信號的接收和解析,并將控制信號下發(fā)給CAN總線控制器模塊。時鐘模塊和復位模塊根據(jù)PL系統(tǒng)中不同模塊控制性能產(chǎn)生相應的時鐘信號,并響應各類復位信號。參考SJA1000 CAN控制器功能將本次設(shè)計中CAN控制器的主要功能模塊再分為:寄存控制管理、位時序同步、位流處理、錯誤管理、驗收濾波和收發(fā)緩沖等模塊。

        圖4 ZYNQ-7020上CAN總線控制器設(shè)計框圖

        (1)寄存控制管理模塊:在CAN控制器中大量的工作需要通過寄存器實現(xiàn),例如命令下發(fā)、邏輯狀態(tài)判斷、中斷信號標記、中斷使能、屏蔽掩碼記錄、錯誤計數(shù)等功能。因此在FPGA中根據(jù)有無、同步/異步復位方式的不同來定義四種寄存器的實現(xiàn)方式[11],并根據(jù)不同功能要求在寄存器控制模塊中進行每個寄存器的類型定義。在該模塊中配合以上寄存器實現(xiàn)CAN控制器的各模塊工作狀態(tài)管理和控制。

        (2)位時序同步模塊:CAN總線作為一種異步串行通信總線,缺少時鐘線,因此在位流接收和處理中,控制器需要實時觀察總線狀態(tài),必須在接收到總線信號后立即產(chǎn)生位流同步信號,減小與總線的時鐘誤差以消除漏拍、錯拍現(xiàn)象,并且對于總線數(shù)據(jù)流的位填充位也進行時鐘信號軟同步。

        (3)位流處理模塊:位流處理器是緩沖區(qū)與位時序同步模塊之間的控制數(shù)據(jù)流的模塊,根據(jù)位時序同步信號按時鐘節(jié)拍進行有效數(shù)據(jù)流采集和傳輸,根據(jù)CAN2.0協(xié)議執(zhí)行標志位檢測填充、位填充、仲裁、數(shù)據(jù)和信息提取填充,并檢測處理錯誤。對于沒有位填充錯誤、格式錯誤和CRC校驗錯誤的幀數(shù)據(jù)產(chǎn)生ACK響應字,并判斷接收節(jié)點是否產(chǎn)生ACK響應。

        (4)錯誤管理模塊:該模塊中最重要的功能是實現(xiàn)CAN控制中采用的CRC循環(huán)冗余校驗方法。CRC校驗利用位流處理結(jié)果在發(fā)送數(shù)據(jù)時根據(jù)發(fā)送內(nèi)容計算出CRC段數(shù)據(jù)并傳輸至位流處理模塊進行位填充和發(fā)送;對于接收到的位流數(shù)據(jù),根據(jù)接收內(nèi)容計算出一個CRC值并與接收的CRC段數(shù)據(jù)進行比較。若存在傳輸錯誤時,則向寄存器和總線通報錯誤消息并進行錯誤計數(shù);同時該模塊根據(jù)其他模塊工作發(fā)生的格式錯誤、應答錯誤、位填充錯誤、位發(fā)送錯誤、CRC校驗錯誤等進行CAN錯誤幀管理。

        (5)驗收濾波模塊:該模塊根據(jù)寄存器的屏蔽掩碼和驗收代碼設(shè)置,判斷CRC校驗正確的數(shù)據(jù)幀是否接收并存入接收緩沖器中。

        (6)接收、發(fā)送緩沖模塊:兩模塊中分別存儲需要接收和發(fā)送的CAN總線數(shù)據(jù),遵循FIFO的先入先出原則,并且通過AXI總線連接PS系統(tǒng)實現(xiàn)應用層CAN數(shù)據(jù)總線控制。

        通過以上模塊設(shè)計實現(xiàn)CAN總線控制的功能邏輯,配合時鐘模塊以及控制信號完成CAN總線協(xié)議的解析和數(shù)據(jù)收發(fā)。完成所有設(shè)計后,通過 Vivado完成編譯并集成 CAN控制器IP核模塊。該模塊利用大量邏輯門電路實現(xiàn),具有一定的通用性,可移植性好。

        4 結(jié) 語

        本文基于ZYNQ-7020芯片的ARM+FPGA架構(gòu)進行CAN總線節(jié)點接口電路的設(shè)計實現(xiàn)。主要在Vivado開發(fā)平臺下調(diào)用ZYNQ-7020芯片的PL系統(tǒng)和PS系統(tǒng)實現(xiàn)CAN節(jié)點接口的數(shù)據(jù)鏈路層功能以及與應用層的交互。PL系統(tǒng)中利用邏輯器件完成CAN總線控制器的功能開發(fā),具有CAN總線協(xié)議解析以及數(shù)據(jù)收發(fā)能力。在PL系統(tǒng)和PS系統(tǒng)中分別設(shè)計開發(fā)了AXI通信功能,用于PL系統(tǒng)與PS系統(tǒng)的CAN總線數(shù)據(jù)訪問、PL系統(tǒng)中CAN總線控制器功能控制。通過有效地利用ZYNQ-7020芯片的PS系統(tǒng)建立Linux系統(tǒng),可運行多種CAN總線驅(qū)動接口軟件,實現(xiàn)與多種CAN節(jié)點設(shè)備的連接,具有一定的應用價值。本文提出的節(jié)點接口設(shè)計具有可擴展性良好、模塊體積較小且外圍接口豐富的特點,可滿足CAN節(jié)點用戶的個性化需求。

        猜你喜歡
        功能系統(tǒng)設(shè)計
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        瞞天過?!律O(shè)計萌到家
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        關(guān)于非首都功能疏解的幾點思考
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        中西醫(yī)結(jié)合治療甲狀腺功能亢進癥31例
        欧美成人一级视频| 国产成人自拍小视频在线| 一区二区黄色素人黄色| 色佬精品免费在线视频| 亚瑟国产精品久久| 国产成人精品精品欧美| 国产青青草自拍视频在线播放| 男女动态视频99精品| 欧美激情乱人伦| 亚洲av无码专区电影在线观看| 无码中文av有码中文av| 久久偷拍国内亚洲青青草| 国产精品亚洲精品一区二区| 69精品人人人人| 色av综合av综合无码网站| 国产精品,在线点播影院| 日韩精品免费av一区二区三区 | 国偷自产视频一区二区久| 欧美人妻日韩精品| 亚洲国产成人精品久久成人| 色呦呦九九七七国产精品| 中国国语毛片免费观看视频| 日韩精品国产自在欧美| 女同在线视频一区二区| 国产精品高清一区二区三区不卡| 116美女极品a级毛片| 澳门毛片精品一区二区三区| 亚洲色图第一页在线观看视频| 色婷婷av一区二区三区久久| 日日澡夜夜澡人人高潮| 成人亚洲欧美久久久久| 国产av一啪一区二区| 比较有韵味的熟妇无码| 午夜AV地址发布| 音影先锋色天堂av电影妓女久久 | 正在播放强揉爆乳女教师| 巨大欧美黑人xxxxbbbb| 免费人成黄页网站在线观看国产| 一本色道久久亚洲综合| 日产国产精品亚洲系列| 国产欧美久久久精品影院 |