在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于Zynq-7000面向小型微型自動化監測系統的BSP設計與實踐

電子設計 ? 來源:2018年電子技術應用第9期 ? 作者:宋 凱,高 寒 ? 2020-12-31 11:49 ? 次閱讀

實現一種基于Zynq-7000全可編程片上系統(AP SoC)的板級支持包(BSP)設計方法及應用流程。該BSP設計主要面向工業自動化監測領域,提供了一種行之有效的嵌入式系統BSP實現流程,有利于提高工業自動化監測系統的開發效率。針對使用串行通信方式的工業監測設備,設計面向小型自動化監測系統的FPGA工程,并使用專門針對基于FPGA的片上系統而設計的PetaLinx工具構建嵌入式Linux系統。最后通過自行研制的基于Zynq XC7Z010系列型號芯片的硬件平臺驗證了BSP設計的正確性及穩定性。

0 引言

物聯網及嵌入式技術的發展推動了信息化與工業化的快速融合。作為一種新型產業模式,工業物聯網(Industrial Internet of Things,IIoT)在過去幾年的研究和實踐中受到很大關注[1-2]。IIoT的迅速發展使得自動化監測系統的設計與研發成為新的科技熱點。IIoT將傳感器網絡與自動化系統相結合,已被用于多個行業,以提高生產力和安全性[3-4]。自動化監測系統在IIoT感知層與應用層間起著重要作用,隨著涉及的業務需求日益復雜,它的實現也變得越來越具挑戰性。在工業應用場景中軟件體系結構設計對于自動化系統的高效運行非常重要。先進的軟件工程解決方案對自動化系統設計的效率影響很大[5]。Xilinx Zynq AP SoC通過集成處理器的軟件可編程性與FPGA的硬件可編程性,實現了優異的設計靈活性,可提供面向嵌入式領域可重配置的軟件工程解決方案,從而加速生產力。

BSP在嵌入式系統中扮演著關鍵角色,主要用來適配特定類型的硬件平臺。它通常包含了用來配置可定制電路的硬件比特流、引導加載操作系統的基礎支持代碼以及主板上所有設備的驅動程序。BSP開發目的在于屏蔽底層硬件,提供操作系統與硬件驅動,使操作系統能穩定運行于主板環境[6-7]。由于傳統BSP設計存在不可或不易修改、難以復用以及設計流程復雜等問題,本文面向工業監測領域中的自動化系統,采用Xilinx提供的Vivado集成開發套件及用于構建和部署嵌入式系統到Xilinx全可編程處理器平臺的PetaLinux工具,完成了基于Zynq-7000 AP SoC的BSP設計與實現。

1 BSP總體結構

BSP設計最終生成對應用層提供支撐的鏡像文件為BOOT.BIN和image.ub。BSP的總體架構如圖1所示。BOOT.BIN啟動鏡像主要負責系統硬件部分配置,用于上電后配置Zynq芯片的處理器系統(Processing System,PS)及可編程邏輯(Programmable Logic,PL),并為Linux操作系統準備運行環境。image.ub支持內核升級,功能可裁剪,由PeteLinux工具編譯打包生成。

13696-39634-tu1bspzongtijiegou.gif

第一階段引導加載器(First Stage Boot Loader,FSBL)在啟動存儲區之后運行,啟動存儲區在ARM核上電啟動時自動執行,負責加載FSBL至片上存儲器(On Chip Memory,OCM)或在線性Flash存儲介質上直接運行。對于運行在Zynq平臺的Linux系統而言,第二階段引導加載器(Second Stage Boot Loader,SSBL)即為通用引導加載器(Universal Boot Loader,U-Boot)。Xilinx提供了用于適配不同系列Zynq主板的U-Boot?;赯ynq-7000 AP SoC的BSP各個組成部分對應的功能說明如下:

(1)FSBL。FSBL負責初始化Zynq AP SoC PS端資源并使用硬件比特流文件配置PL端資源。

(2)硬件比特流。硬件比特流由Vivado集成開發工具構建的FPGA系統生成,包含FPGA編程信息,用于配置FPGA器件。

(3)SSBL。SSBL負責初始化內存和必要的外設資源,設置Linux內核的啟動參數以及加載Linux系統到內存中運行。

(4)Linux內核鏡像。Linux內核鏡像是Linux操作系統的核心,提供硬件抽象層、進程及內存管理、磁盤與文件系統控制等功能。

(5)根文件系統。根文件系統基于BusyBox源碼構建,負責管理Linux系統啟動及運行時所必需的目錄和關鍵性文件。

(6)設備樹。設備樹文件用于描述部分硬件信息并在Linux系統加載設備驅動時傳遞配置參數。

2 FPGA工程設計

傳統工業監測設備中很多是符合RS232RS422RS485等串行數據通信標準的設備。對于自動化監測系統而言,如何面向這些監測設備提供可重配置的接口,成為一個需要解決的關鍵問題。許多傳統工業設備所提供的功能在出廠時便已在固件中完成燒錄定義,無法面向新的業務需求進行修改或擴展。然而,對于許多應用場景,固定功能的硬件會因為難以進行資源復用而導致成本提升。FPGA器件因為具有動態可重構的特性,被認為是數字可演化硬件系統一個很好的平臺[8]。Xilinx使用硅片堆疊技術設計出了高容量的FPGA,用于滿足低功耗、低延時及高帶寬的應用需求。

2.1 工程構建

在進行FPGA系統設計時往往需要重用已有的功能模塊,于是類似于軟件開發庫文件的IP核應運而生。IP核通常是預先設計好的電路功能模塊,主要被用于ASIC或FPGA系統。Xilinx提供了可連接到高級可擴展接口(Advanced eXtensible Interface,AXI)的通用異步收發器(Universal Asynchronous Receiver/Transmitter,UART)Lite。每一個AXI UART Lite IP核都可以實際對應一個串行通信接口,為工業監測設備接入自動化監測系統提供支持。AXI UART Lite IP核可以為異步串行數據傳輸提供控制器接口。它的設計目的在于和 AXI4-Lite協議實現連接。AXI UART Lite的主要性能和優勢[9]如下:
(1)基于AXI4-Lite 規格的AXI 接口;

(2)一個發送通道和一個接收通道(全雙工);

(3)16個字符的發送和接收先進先出隊列(First Input First Output,FIFO);

(4)單個字符的數據比特位(5~8)數量可配置;

(5)校驗位(奇偶或無)可配置;

(6)波特率可配置。

Xilinx提供了Zynq7處理器系統IP封裝,用于加速嵌入式系統的設計與配置。在Vivado集成開發環境中搭建基于Zynq-7000的小型自動化監測系統FPGA工程,工程結構如圖2所示。工程中添加了ZYNQ7處理器系統模塊、3個AXI UART Lite模塊以及AXI互聯模塊等IP核,AXI Interconnect IP負責將一個或多個AXI存儲器映射的主器件連接到一個或多個存儲器映射的從器件。在進行FPGA系統設計時還預留了部分GPIO接口資源,方便對系統功能進行擴展。

o4YBAF_tScuAUR4kAALwxRXEFfc953.png

2.2 資源配置

2.2.1 PS端資源配置

根據實際應用需求配置Zynq XC7Z010處理器系統,并規劃XC7Z010的PS端MIO資源。MIO是I/O外設連接的基礎。XC7Z010芯片通過MIO最多可以引出54個三態通用輸入輸出(General Purpose Input Output,GPIO)引腳。這些GPIO引腳都是在程序上可控的,并且支持動態修改配置。它們可以單獨配置為輸入、輸出或中斷的功能。PS端部分資源規劃結果如表1所示。

o4YBAF_tSdqAQbt4AAGuTOCNl6w300.png

2.2.2 PL端資源配置

Zynq中的PL主要用于擴展功能。通過使用多個特殊引腳和信號,可以將Zynq-7000內的PS和PL緊密或松散地耦合在一起[10]。XC7Z010主芯片包含用于連接外設和某些特殊功能引腳的IO接口資源。 特殊引腳最主要用于實現復位、狀態指示、系統配置、模式配置等功能,通過特定引腳和功能復用引腳來實現。XC7Z010的主要特殊引腳的配置說明如表2所示。

pIYBAF_tSeeAB9dFAADxlqWsomY052.png

3 PetaLinux工程設計

使用PetaLinux工具構建基于Zynq AP SoC的嵌入式Linux操作系統。PetaLinux工具包括定制的BSP生成工具、Linux配置工具以及軟件開發工具。使用這些工具可以實現引導加載程序、Linux內核以及Linux應用程序的靈活配置,有利于開發者在Xilinx處理系統上定制、構建和調配嵌入式Linux解決方案。

3.1 系統頂層配置

基于Zynq工程模板創建PetaLinux工程,導入固件工程生成的硬件描述文件并進行系統頂層配置,系統頂層配置項包括Linux組件選擇、自動配置項設置、子系統硬件自動配置項設置、內核引導參數設置、U-Boot設置、鏡像文件打包配置等。其中子系統硬件自動配置項設置為必選項,允許自定義系統范圍的硬件設置,如:以太網卡設置、Flash設置、串口設置、實時時鐘(Real-Time Clock,RTC)芯片設置、SD卡設置等。Petalinux工具將根據系統頂層配置解析硬件描述文件,以便更新設備樹所需的硬件信息。

3.2 Linux內核配置

Linux內核主要提供五大功能,分別為虛擬文件系統、網絡服務、內存管理、進程管理和設備管理。Xilinx 提供了免費的PetaLinux開發工具,使開發人員可以輕松在Zynq AP SoC上配置、構建和部署Linux系統及應用,提高軟硬件設計開發效率。Linux內核配置基于Linux 4.6.0內核進行,主要包括USB串口驅動配置、以太網驅動配置、GSM和CDMA調制解調器的USB驅動配置、Xilinx-uartlite串口驅動配置、DS18B20溫度傳感器驅動配置、GPIO支持等。PetaLinux工程基于開源的協作軟件Yocto創建。Yocto致力于創建可定制的嵌入式產品和統一嵌入式Linux系統的開發標準,它提供了許多模板、工具和方法,使得開發者無需關心硬件體系,避免許多重復工作,從而提高開發效率和產品質量。Linux內核的更新以打補丁的方式實現,內核源碼的更新不影響已修改的系統配置項。

3.3 設備樹配置

Linux內核通過設備樹文件獲取板級硬件的細節信息從而加載設備驅動。設備樹可以對硬件進行規范化描述,支持多平臺內核鏡像,具備簡化的板卡端口,使用更少的平臺描述代碼以及更精簡的設備驅動代碼[11]。PetaLinux設備樹配置關聯文件主要有pcw.dtsi、plnx_aarch64-system.dts、system.dts、system-conf.dtsi、system-top.dts。這些文件統一由PetaLinux工程自動生成,開發者通過修改system-top.dts文件來滿足特定的系統需求。基于Zynq-7000的小型自動化監測系統具備網口調試、RTC時鐘支持、溫濕度監測、網絡數據傳輸等功能。需要在system-top.dts文件中進行相應節點信息的修改或添加新的硬件描述節點。例如在設備樹配置文件system-top.dts中添加RTC時鐘硬件描述信息及修改后的網卡芯片節點信息如下:

&i2c0 {

status = "okay";

rtc@51 {

compatible = "nxp,pcf8563";

reg = <0x51>;

};

};

&gem0 {

compatible = "cdns,zynq-gem", "cdns,gem";

status = "okay";

phy-mode = "rgmii-id";

xlnx,ptp-enet-clock = <0x69f6bcb>;

local-mac-address = [00 0a 35 00 1e 53];

};

4 BSP總體測試

在基于XC7Z010的硬件平臺中對BSP進行總體測試,設備上電后,處理器自動執行片內BootROM中的代碼,初始化CPU和一些外圍設備,以便讀取燒錄在NOR Flash中的BOOT.BIN引導鏡像,BOOT.BIN引導鏡像加載存儲在eMMC上image.ub到DDR3中運行。然后,文件系統中的mystartup.sh腳本啟動存儲在eMMC中的系統初始化腳本文件,執行系統初始化配置。PetaLinux系統部分啟動信息如圖3所示。

圖3(a)為PL部分擴展的AXI UART Lite模塊注冊加載信息,在Linux下作為標準串口分別對應設備文件描述符ttyUL1、ttyUL2及ttyUL3。圖3(b)為內存技術設備(Memory Technology Device,MTD)驅動加載信息,MTD是用于訪問存儲介質的Linux的子系統,此處表示NOR Flash存儲器,共創建了boot、bootenv、kernel以及spare 4個MTD子分區,其中spare分區為空閑分區,可用于燒錄設備唯一序列號。圖3(c)為GSM模塊USB接口連接檢測信息及網口芯片啟動狀態信息,其中GSM模塊對應Linux系統下的設備文件描述符ttyUSB0、ttyUSB1、ttyUSB2、ttyUSB3及ttyUSB4。

5 結論

本文實現一種面向自動化監測系統的BSP設計方法,并完成了面向小型微型自動化監測系統的BSP設計與實踐。用于評測BSP功能及性能的硬件平臺選用Xilinx Zynq XC7Z010芯片作為硬件系統主控制器,BSP部分針對自動化監測系統應具備的基本功能在嵌入式Linux系統中添加了相應的設備驅動,可充分滿足工業監測領域的業務需求。實際測試結果表明,該BSP具有開發便捷、通用性強、便于進行功能擴展和Linux內核升級、運行穩定等特點,驗證了基于Zynq-7000的自動化監測系統BSP設計的可行性與正確性,對于工業自動化系統的BSP設計與實現有一定的參考價值和實際指導意義。由于自動化監測系統的功能日益復雜,該BSP設計仍需在實踐中不斷進行完善。
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11329

    瀏覽量

    209967
  • 監測系統
    +關注

    關注

    8

    文章

    2744

    瀏覽量

    81401
  • Zynq
    +關注

    關注

    10

    文章

    610

    瀏覽量

    47224
收藏 人收藏

    評論

    相關推薦

    企業能耗在線監測系統在電氣自動化管理中的應用

    安科瑞徐赟杰18706165067 摘要: 闡述企業能耗在線監測系統,實現對企業能源消耗情況的監測、分析和評估,通過信息和可視管理,提升
    的頭像 發表于 01-14 12:56 ?31次閱讀
    企業能耗在線<b class='flag-5'>監測</b><b class='flag-5'>系統</b>在電氣<b class='flag-5'>自動化</b>管理中的應用

    小型水庫智能監測系統解決方案

    了針對小型水庫的智能監測系統解決方案。 參考:key-iot.com.cn/18686.html 平臺:yun.key-iot.com.cn/xxsklogin 一、
    的頭像 發表于 11-29 11:33 ?170次閱讀
    <b class='flag-5'>小型</b>水庫智能<b class='flag-5'>化</b><b class='flag-5'>監測</b><b class='flag-5'>系統</b>解決方案

    當ADC3663的LVDS輸出給到ZYNQ-7000的LVDS接收這兩者之間可以直連嗎?

    ADC3663的LVDS差分輸出與xilinx的ZYNQ-7000的LVDS輸入的電平匹配問題 ADC3663的供電是1.8V,ADC3663的LVDS輸出給到ZYNQ-7000的BANK12
    發表于 11-14 07:43

    小型氣象自動監測

    小型氣象自動監測站,作為現代氣象觀測的重要組成部分,正日益受到廣泛關注和應用。以其高精度、實時性、連續性和自動化等特點,在氣象監測、農業生產
    的頭像 發表于 11-05 10:16 ?157次閱讀

    zynq7000 BSP無法在u-boot加載運行怎么解決?

    1、硬件配置zynq7000 zedboard 2、下載git,回退到支持zynq7000bsp包 3、采用xilinx sdk工具可以運行thread-zynq7000.elf
    發表于 09-27 09:26

    zynq7000 BSP無法在u-boot加載運行,為什么?

    1、硬件配置zynq7000 zedboard 2、下載git,回退到支持zynq7000bsp包 3、采用xilinx sdk工具可以運行thread-zynq7000.elf
    發表于 09-13 07:06

    隧道安全監測自動化系統解決方案

    一、背景在現代交通網絡中,隧道作為連接不同區域的重要通道,其安全性與運營效率直接關系到整個交通系統的穩定與順暢。隨著科技的飛速發展,隧道安全監測自動化系統應運而生,這一
    的頭像 發表于 09-09 14:46 ?405次閱讀
    隧道安全<b class='flag-5'>監測</b><b class='flag-5'>自動化</b><b class='flag-5'>系統</b>解決方案

    淺談企業能耗在線監測系統在電氣自動化管理中的應用

    安科瑞任心怡 摘要:闡述企業能耗在線監測系統,實現對企業能源消耗情況的監測、分析和評估,通過信息和可視管理,提升了企業能源管理
    的頭像 發表于 07-10 15:55 ?798次閱讀
    淺談企業能耗在線<b class='flag-5'>監測</b><b class='flag-5'>系統</b>在電氣<b class='flag-5'>自動化</b>管理中的應用

    微型導軌在自動化制造中有哪些優勢?

    微型導軌在自動化制造中發揮重要作用,能夠滿足自動化設備制造中對精度要求較高的工藝環節。適用于自動裝配線、自動檢測設備和機器人操作等環節,推動
    的頭像 發表于 05-30 17:40 ?391次閱讀
    <b class='flag-5'>微型</b>導軌在<b class='flag-5'>自動化</b>制造中有哪些優勢?

    簡談Xilinx Zynq-7000嵌入式系統設計與實現

    今天給大俠帶來簡談Xilinx Zynq-7000嵌入式系統設計與實現,話不多說,上貨。 Xilinx的ZYNQ系列FPGA是二種看上去對立面的思想的融合,ARM處理器的串行執行+FPGA
    發表于 05-08 16:23

    Xilinx ZYNQ 動手實操演練

    ,Xilinx (賽靈思公司)推出的行業第一個可擴展處理平臺Zynq系列,旨在為視頻監視、汽車駕駛員輔助以及工廠自動化等高端嵌入式應用提供所需的處理與計算性能水平。 名稱的由來 Zynq這個詞很
    發表于 05-03 19:28

    Zynq-7000為何不是FPGA?

    Zynq-7000可擴展處理平臺是采用賽靈思新一代FPGA(Artix-7與Kintex-7FPGA)所采用的同一28nm可編程技術的最新產品系列。
    發表于 04-26 11:30 ?1294次閱讀
    <b class='flag-5'>Zynq-7000</b>為何不是FPGA?

    自動化水質監測系統解決方案

    在環境保護日益成為社會焦點的今天,水質安全直接關系到人們的健康和生活品質。為了實現對水質的實時監測和預警,數之能提供自動化水質監測系統解決方案,提供高效可靠的工作方式,幫助守護水資源安
    的頭像 發表于 04-11 15:41 ?592次閱讀

    簡談Xilinx Zynq-7000嵌入式系統設計與實現

    今天給大俠帶來簡談Xilinx Zynq-7000嵌入式系統設計與實現,話不多說,上貨。 Xilinx的ZYNQ系列FPGA是二種看上去對立面的思想的融合,ARM處理器的串行執行+FPGA
    發表于 04-10 16:00

    沙特stc和華為商用核心網自動化實踐榮獲“年度最佳自動化項目獎”

    近期,Global Telecom Awards(GTA)頒獎典禮在英國倫敦舉行。沙特stc和華為因在核心網自動化方面的創新實踐榮獲“年度最佳自動化項目獎”(Automation
    的頭像 發表于 01-17 10:15 ?469次閱讀
    主站蜘蛛池模板: 亚洲网站在线观看| 五月天婷亚洲| 欧美成人一区亚洲一区| 奇米影视四色7777| 国产女人在线观看| 日韩三级在线免费观看| www爽| 免费被视频网站在线观看| 日日舔夜夜操| 在线aa| 国产一级特黄高清免费大片| 色www视频永久免费| 很很鲁在线视频播放影院| 亚洲午夜免费| 国产日韩精品一区二区在线观看| 国产主播在线观看| 毛片在线网站| 欧美一区a| 色婷婷视频在线观看| 影音先锋ady69色资源网站| 视频在线观看一区二区三区| 免费又黄又硬又大爽日本| 中文字幕一区二区三区四区五区| 欧美最猛性xxxx高清| 5555kkkk香蕉在线观看| 久久91精品牛牛| 欧美激情综合亚洲五月蜜桃| 午夜影院日韩| 夜夜cao| 乱码精品一区二区三区| 免费观看一级特黄欧美大片| 天天操天天射天天插| 午夜毛片网站| 国产精品亚洲精品日韩动图| 久操免费在线| 4438x成人全国| 又色又爽又黄视频| 五月婷婷开心综合| 午夜免费福利片观看| 日韩怡红院| www.三级.com|