91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

MPSoC 為PL提供了96個GPIO,通過EMIO管腳鏈接到PL。

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

Slice配置界面

上圖中,輸入寬度是95,因為pl_reset占用率一個管腳。slice從輸入中提取emio的[7:5]三位,作為輸出。

Xilinx Linux 中缺省使能了GPIO驅(qū)動。對于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不簡單。

為了簡化使用GPIO,編寫了以下腳本。使用下列腳本,一條命令就能設(shè)置一個GPIO的輸出值。腳本接受兩個輸入?yún)?shù)。第一個參數(shù)表示GPIO編號,MIO GPIO從0開始,EMIO GPIO從78開始。第二個參數(shù)是輸出值。如果輸出值是1,可以省略第二個參數(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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 管腳
    +關(guān)注

    關(guān)注

    1

    文章

    230

    瀏覽量

    33707
  • MPSoC
    +關(guān)注

    關(guān)注

    0

    文章

    203

    瀏覽量

    25182
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    857

    瀏覽量

    71149

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    【MCU學(xué)習(xí)】GPIO詳解

    本實驗通過一個“小實驗框架 GPIO Mode Lab”,同一個 GPIO 引腳上依次配置不同模式,并用 ADC 探頭測量電壓、同時讀取數(shù)字電平,系統(tǒng)化地觀察。
    的頭像 發(fā)表于 01-24 11:45 ?3681次閱讀
    【MCU學(xué)習(xí)】<b class='flag-5'>GPIO</b>詳解

    為什么FPGA設(shè)計中使用MicroBlaze V處理器

    各類行業(yè)與應(yīng)用中,經(jīng)常能看到許多 FPGA 設(shè)計。一個非常常見的現(xiàn)象是:設(shè)計者常常用復(fù)雜的有限狀態(tài)機(jī)(FSM)來實現(xiàn) I2C、SPI、GPIO 時序控制等功能。
    的頭像 發(fā)表于 12-19 15:29 ?8383次閱讀
    為什么<b class='flag-5'>在</b>FPGA設(shè)計<b class='flag-5'>中使</b>用MicroBlaze V處理器

    Amphenol ANYTEK 端子排新品:PL 系列的技術(shù)亮點與應(yīng)用場景

    Amphenol ANYTEK 端子排新品:PL 系列的技術(shù)亮點與應(yīng)用場景 電子工程領(lǐng)域,優(yōu)質(zhì)的連接解決方案至關(guān)重要。Amphenol ANYTEK 作為值得信賴的全球供應(yīng)商,近期推出了一系列新型
    的頭像 發(fā)表于 12-10 09:55 ?400次閱讀

    Amphenol ANYTEK PL系列端子塊新品技術(shù)解析

    Amphenol ANYTEK PL系列端子塊新品技術(shù)解析 電子工程領(lǐng)域,端子塊是實現(xiàn)電路連接不可或缺的基礎(chǔ)部件。Amphenol ANYTEK推出的PL系列端子塊新品,憑借其先進(jìn)的技術(shù)和出色
    的頭像 發(fā)表于 12-10 09:35 ?449次閱讀

    高效升降壓芯片 PL5500/PL5501:解鎖寬壓場景電源設(shè)計新可能

    ? ? ? ?工業(yè)控制、汽車電子、智能設(shè)備等領(lǐng)域,電源電壓波動是工程師面臨的常見挑戰(zhàn) —— 輸入電壓可能高于、低于或等于設(shè)備所需的穩(wěn)定輸出電壓,傳統(tǒng)的單一降壓或升壓芯片難以應(yīng)對。而 PL
    的頭像 發(fā)表于 11-19 15:01 ?932次閱讀

    GPIO、PWM、ADC,到底怎么區(qū)分?

    嵌入式開發(fā)中,我們經(jīng)常聽到GPIO、PWM、ADC這些術(shù)語。初學(xué)者常常搞不清楚它們的區(qū)別和用途:“它們不是都是和電平有關(guān)嗎?為什么還要分這么多種?”今天,我們就把這些基礎(chǔ)概念講清楚,讓你在動手開發(fā)
    的頭像 發(fā)表于 11-14 10:28 ?772次閱讀
    <b class='flag-5'>GPIO</b>、PWM、ADC,到底怎么區(qū)分?

    PL4807-ADJ

    PL4807-ADJ
    發(fā)表于 09-08 18:53 ?0次下載

    AIWA-PL55維修手冊

    PL55維修手冊
    發(fā)表于 07-07 10:35 ?14次下載

    AIWA PL70 維修手冊

    AIWA PL70 維修手冊
    發(fā)表于 06-09 14:54 ?3次下載

    基于AD9613與Xilinx MPSoC平臺的高速AD/DA案例分享

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

    FX3為什么無法Windows中使用Gstreamer?

    我正在開發(fā) FX3,我可以 Linux 和 Windows 中使用 y8 格式的 ffmpeg 流式傳輸相機(jī), Linux 中使用 y8 格式的 Gstreamer,但我無法
    發(fā)表于 05-29 06:59

    迅為RK3568驅(qū)動指南GPIO子系統(tǒng) GPIO操作函數(shù)實驗

    迅為電子RK3568開發(fā)板驅(qū)動指南GPIO子系統(tǒng) GPIO操作函數(shù)實驗
    的頭像 發(fā)表于 05-28 15:24 ?1351次閱讀
    迅為RK3568驅(qū)動指南<b class='flag-5'>GPIO</b>子系統(tǒng) <b class='flag-5'>GPIO</b>操作函數(shù)實驗

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

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

    PL2303串口驅(qū)動

    PL2303串口驅(qū)動
    發(fā)表于 04-09 16:02 ?4次下載

    為什么GPIO配置總是出問題?

    STM32開發(fā)中,GPIO(通用輸入輸出)配置看似簡單,但在實際開發(fā)中,很多人常常會遇到這些困惑:明明按照教程配置了GPIO,為什么LED燈就是不亮?為什么有時候按鍵無法響應(yīng),或者響應(yīng)很慢
    的頭像 發(fā)表于 04-07 11:59 ?1754次閱讀
    為什么<b class='flag-5'>GPIO</b>配置總是出問題?