一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在PL設(shè)計(jì)中使用MPSoC EMIO GPIO

YCqV_FPGA_EETre ? 來(lái)源:賽靈思中文社區(qū)論壇 ? 作者:付漢杰 ? 2020-09-03 09:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

MPSoC 為PL提供了96個(gè)GPIO,通過(guò)EMIO管腳鏈接到PL。

普通PL設(shè)計(jì),一般只會(huì)用到幾個(gè)GPIO管腳??梢允褂肰ivado IPI中的Slice IP, 從其中分出指定數(shù)量的管腳。

Slice配置界面

上圖中,輸入寬度是95,因?yàn)閜l_reset占用率一個(gè)管腳。slice從輸入中提取emio的[7:5]三位,作為輸出。

Xilinx Linux 中缺省使能了GPIO驅(qū)動(dòng)。對(duì)于MPSoC,檢查目錄/sys/class/gpio,可以看到設(shè)備gpiochip338。

# ls -l /sys/class/gpio total 0 export gpiochip306 -> ../../devices/platform/amba/ff020000.i2c/i2c-0/0-0021/gpio/gpiochip306 gpiochip322 ->../../devices/platform/amba/ff020000.i2c/i2c-0/0-0020/gpio/gpiochip322 gpiochip338 -> ../../devices/platform/amba/ff0a0000.gpio/gpio/gpiochip338 unexport # ls /sys/class/gpio/gpiochip338/ -l total 0 base device -> ../../../ff0a0000.gpio label ngpio power subsystem -> ../../../../../../class/gpio uevent

Linux GPIO Driver下的GPIO使用,可以參考Linux GPIO Driver;GPIO User Space App。

從上述文章可以看到,使用GPIO不簡(jiǎn)單。

為了簡(jiǎn)化使用GPIO,編寫了以下腳本。使用下列腳本,一條命令就能設(shè)置一個(gè)GPIO的輸出值。腳本接受兩個(gè)輸入?yún)?shù)。第一個(gè)參數(shù)表示GPIO編號(hào),MIO GPIO從0開(kāi)始,EMIO GPIO從78開(kāi)始。第二個(gè)參數(shù)是輸出值。如果輸出值是1,可以省略第二個(gè)參數(shù)。

#/bin/bash function gpio_output_func() { #echo "No.1 parameter: $1" #echo "No.2 parameter: $2" # MPSoC GPIO number. gpio_num=$[338+$1] # MPSoC EMIO GPIO number. # gpio_num=$[338+78+$1] echo "Set GPIO number: $gpio_num to value: $2" if [ ! -f /sys/class/gpio/gpio$gpio_num/direction ]; then # Export a GPIO pin echo $gpio_num > /sys/class/gpio/export fi # Read the direction and value from the GPIO pin */ # ls -l /sys/class/gpio/gpio$gpio_num/ gpio_direction=`cat /sys/class/gpio/gpio$gpio_num/direction` gpio_value=`cat /sys/class/gpio/gpio$gpio_num/value` echo -e "GPIO number: $gpio_num previous direction: $gpio_direction, previous value: $gpio_value" # Set the direction to an output and write a value 1 to GPIO pin */ echo out > /sys/class/gpio/gpio$gpio_num/direction echo $2 > /sys/class/gpio/gpio$gpio_num/value gpio_direction=`cat /sys/class/gpio/gpio$gpio_num/direction` gpio_value=`cat /sys/class/gpio/gpio$gpio_num/value` echo -e "GPIO number: $gpio_num current direction: $gpio_direction, current value: $gpio_value" } # Check GPIO chip gpio_chip=`cat /sys/class/gpio/gpiochip338/label` gpio_base=`cat /sys/class/gpio/gpiochip338/base` gpio_number=`cat /sys/class/gpio/gpiochip338/ngpio` echo "MPSoC GPIO information: chip: $gpio_chip, base: $gpio_base, number: $gpio_number." # cat /sys/class/gpio/gpiochip338/label # cat /sys/class/gpio/gpiochip338/base # cat /sys/class/gpio/gpiochip338/ngpio # The above line indicates that gpio 0th pin starts from 338 and ends at 511 (GPIO has total 174 pins for ZynqMP) if [ "$2" = "" ]; then gpio_output_func $1 1 else gpio_output_func $1 $2 fi

執(zhí)行記錄

# ./gpio_single_output.sh 81 MPSoC GPIO information: chip: zynqmp_gpio, base: 338, number: 174. Set GPIO number: 419 to value: 1 GPIO number: 419 previous direction: out, previous value: 0 GPIO number: 419 current direction: out, current value: 1 # ./gpio_single_output.sh 81 0 MPSoC GPIO information: chip: zynqmp_gpio, base: 338, number: 174. Set GPIO number: 419 to value: 0 GPIO number: 419 previous direction: out, previous value: 1 GPIO number: 419 current direction: out, current value: 0

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 管腳
    +關(guān)注

    關(guān)注

    1

    文章

    230

    瀏覽量

    32763
  • MPSoC
    +關(guān)注

    關(guān)注

    0

    文章

    201

    瀏覽量

    24749
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    835

    瀏覽量

    68785

原文標(biāo)題:【分享】在PL設(shè)計(jì)中使用MPSoC EMIO GPIO,并使用腳本設(shè)置MPSoC EMIO GPIO

文章出處:【微信號(hào):FPGA-EETrend,微信公眾號(hào):FPGA開(kāi)發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于AD9613與Xilinx MPSoC平臺(tái)的高速AD/DA案例分享

    本文主要介紹基于Xilinx UltraScale+MPSoC XCZU7EV的高速AD采集與高速DA輸出案例
    的頭像 發(fā)表于 06-03 14:22 ?258次閱讀
    基于AD9613與Xilinx <b class='flag-5'>MPSoC</b>平臺(tái)的高速AD/DA案例分享

    為什么S32G中使用32個(gè)GPIO進(jìn)行啟動(dòng)配置?

    我很好奇為什么 S32G 中使用 32 個(gè) GPIO 進(jìn)行啟動(dòng)配置。 是否必須使用所有 32 個(gè) GPIO 進(jìn)行引導(dǎo)模式配置? 要使用分配給引導(dǎo)配置的
    發(fā)表于 04-10 06:48

    GPIO使用教程 GPIO接口應(yīng)用

    交互,實(shí)現(xiàn)外部設(shè)備的控制和數(shù)據(jù)傳輸。 一、GPIO的基本概念 GPIO的全稱是General-Purpose Input/Output,即通用輸入/輸出。它是一種電子設(shè)備中常見(jiàn)的接口,允許控制和讀取
    的頭像 發(fā)表于 01-31 10:10 ?3376次閱讀

    GPIO錯(cuò)誤排查與解決

    嵌入式系統(tǒng)和微控制器編程中,通用輸入輸出(GPIO)是最常見(jiàn)的接口之一。然而,使用GPIO時(shí),我們可能會(huì)遇到各種錯(cuò)誤。 1. 理解GPIO
    的頭像 發(fā)表于 01-09 09:46 ?2328次閱讀

    GPIO嵌入式系統(tǒng)中的作用

    現(xiàn)代電子系統(tǒng)中,嵌入式系統(tǒng)因其小型化、低成本和高效率而變得越來(lái)越流行。這些系統(tǒng)廣泛應(yīng)用于從簡(jiǎn)單的家用電器到復(fù)雜的工業(yè)自動(dòng)化設(shè)備。在這些系統(tǒng)中,GPIO(通用輸入/輸出)接口是連接微控制器與外部世界
    的頭像 發(fā)表于 01-09 09:45 ?934次閱讀

    GPIO物聯(lián)網(wǎng)中的應(yīng)用

    個(gè)過(guò)程中,通用輸入輸出(GPIO)接口扮演著重要的角色。 1. GPIO簡(jiǎn)介 通用輸入輸出(GPIO)是一種數(shù)字接口,用于微控制器和其他集成電路。GPIO可以配置為輸入或輸出,允許微控
    的頭像 發(fā)表于 01-09 09:43 ?650次閱讀

    GPIO樹莓派中的應(yīng)用

    樹莓派(Raspberry Pi)是一款由英國(guó)樹莓派基金會(huì)開(kāi)發(fā)的信用卡大小的單板計(jì)算機(jī),它具有強(qiáng)大的功能和靈活性,可以用于各種項(xiàng)目和應(yīng)用。通用輸入輸出(GPIO)是樹莓派的一個(gè)重要特性,它允許用戶
    的頭像 發(fā)表于 01-09 09:41 ?845次閱讀

    Zynq UltraScale+ MPSoC數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《Zynq UltraScale+ MPSoC數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 12-30 14:37 ?2次下載

    如何通過(guò)PMC_GPIO喚醒AMD Versal? Adaptive SoC Linux系統(tǒng)

    指導(dǎo)頁(yè)面和 MPSoC 系統(tǒng)同一個(gè) Wiki 網(wǎng)頁(yè)。本文將通過(guò) PMC_GPIO 作為例子來(lái)描述如何喚醒 Versal 系統(tǒng)。 Wiki 網(wǎng)頁(yè): https
    的頭像 發(fā)表于 12-17 10:07 ?841次閱讀
    如何通過(guò)PMC_<b class='flag-5'>GPIO</b>喚醒AMD Versal? Adaptive SoC Linux系統(tǒng)

    基于PYNQ和機(jī)器學(xué)習(xí)探索MPSOC筆記

    引言:《Exploring Zynq MPSoC With PYNQ and Machine Learning Applications》是當(dāng)年Zynq Book(ZYNQ-7000)的升級(jí)版本,
    的頭像 發(fā)表于 11-16 11:32 ?699次閱讀
    基于PYNQ和機(jī)器學(xué)習(xí)探索<b class='flag-5'>MPSOC</b>筆記

    米爾電子MPSOC實(shí)現(xiàn)12G SDI視頻采集H.265壓縮SGMII萬(wàn)兆以太網(wǎng)推流

    用戶的觀看體驗(yàn)。 網(wǎng)絡(luò)傳輸協(xié)議選擇:根據(jù)應(yīng)用場(chǎng)景選擇合適的傳輸協(xié)議。對(duì)于實(shí)時(shí)性要求較高的場(chǎng)景,可選擇UDP傳輸,而對(duì)于數(shù)據(jù)可靠性要求較高的場(chǎng)景,則推薦使用TCP協(xié)議。 3. MPSoC與VCU架構(gòu)
    發(fā)表于 11-01 16:56

    SOC GPIO操作

    sapphire Soc提供了兩個(gè)GPIO組每組有4個(gè)GPIO,定義為GPIO[3:0],其中只有GPIO[1:0]可以支持中斷。中斷程序
    的頭像 發(fā)表于 11-01 11:06 ?487次閱讀

    米爾電子MPSOC實(shí)現(xiàn)12G SDI視頻采集H.265壓縮SGMII萬(wàn)兆以太網(wǎng)推流

    協(xié)議。 3.MPSoC與VCU架構(gòu)4K UHD音視頻廣播領(lǐng)域的優(yōu)勢(shì) 高性能與低功耗的結(jié)合 :Zynq UltraScale+ MPSoC采用了16nm FinFET工藝,集成了多核處理器和可編程邏輯
    發(fā)表于 10-14 17:42

    反向電流應(yīng)用中使用比較器

    電子發(fā)燒友網(wǎng)站提供《反向電流應(yīng)用中使用比較器.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 12:50 ?0次下載
    <b class='flag-5'>在</b>反向電流應(yīng)用<b class='flag-5'>中使</b>用比較器

    FM20S用戶手冊(cè)-PS + PL異構(gòu)多核案例開(kāi)發(fā)手冊(cè)

    UARTO作為PS端調(diào)試串口。 CON10通過(guò)RS232收發(fā)器SIT3232EEUE引出PL端串口(EMIO UART1),TX和RX引腳 分別為Y12、Y3,電平為3.3V. 管腳約束可查看案例&
    發(fā)表于 07-25 16:14