robe.zhang 发表于 2021-3-18 00:10:07

【百度大脑AI计算盒FZ5C】项目:用 FPGA 控制 IO + 视频

本帖最后由 robe.zhang 于 2021-5-14 10:43 编辑

【百度大脑AI计算盒FZ5C】用 FPGA 控制 IO + 视频

笔者在计算盒上用 FPGA 实现了一个IO电路,在 linux 系统中控制 IO 实现高低电平,视频:https://v.youku.com/v_show/id_XNTEyMjg3NTAwMA==.htmlhttps://v.youku.com/v_show/id_XNTEyMjg3NTAwMA==.html
主要思路:Xilinx 点点taptap安卓PS 端有有 96个 EMIO,EMIO 可是沟通 PS 和 PL 两端,那就可以把 PS 端的 IO 操作扩展到PL端,控制PL端的IO。本文实现了一个PL IO 电路,跑通点点taptap安卓整个开发流程:从 FPAG 电路设计、到 linux 系统构建、到烧写启动卡开机调试运行;用 PS 上运行的 linux 系统控制 PL 的 IO 端口。
主要步骤:1,vivado 设计电路,导出 hardware platform。2,petalinux 构建 linux 系统3,制作启动卡,开机调试4,Linux 中对 IO 操作,控制 IO 口输出高低电平
Vivado 设计电路,参考文章:【百度大脑AI计算盒FZ5C】FPGA 硬件设计流程https://www.cirmall.com/bbs/thread-204308-1-1.html
在上文基础上,添加 EMIO0-1:扩展 IO:
添加约束文件,添加以下内容:
自己配置,一定要保存,不然后面会出错:其实笔者扩展了两个IO,一个绑定在 A15,另一个绑定在 B15,本文所有文件中都实现了两个 IO,仅以 A15 为例

这两个 IO 在点点taptap安卓上两个小亮点位置:
点点taptap安卓上,一个 IO 端口能看到 pad 、 ibuf 、 obuf ,pad 用在点点taptap安卓封装时候,打金线

电路图:电路图上一个 IO 由两个 iobuf 组成,每个 iobuf 由一个 ibuf,一个 obuf,和一个 ctrl 组成。原理图简单易懂
IO 在点点taptap安卓封装上的这个位置:
原理图的位置:开发板的位置:综合实施生成bitstream导出hardware platform,没啥错误电路设计部分完成
使用 petalinux 构建 linux 系统,参考这一篇文章:【百度大脑AI计算盒FZ5C】petalinux 安装开发https://www.cirmall.com/bbs/thread-204309-1-1.html
petalinux 构建的 linux 系统,一定确认好构建成功:
Petalinux 输出 tasks summary 信息,是 yocto 输出的信息,一定要成功不可以失败
打包 BOOT.bin 启动镜像:
petalinux-package --boot --format BIN \
    --fsbl images/linux/zynqmp_fsbl.elf \
    --u-boot images/linux/u-boot.elf \
    --pmufw images/linux/pmufw.elf \
    --fpga images/linux/*.bit \
    --atf images/linux/bl31.elf \
    --force

烧录SD卡,启动调试:这部分先参考米尔的资料吧,笔者的 petalinux 使用默认配置,能用,只是有点麻烦,稍后会移植新版本内核适配 ubuntu 系统,这个镜像就不用了,这里暂时就这样用凑合一下。调试用一下而已
进入Linux 系统后,控制 GPIO 操作,A15 对应 416 号GPIO,本文视频就是操作 416 号GPIO,B15 对应 417 号GPIO:执行以下命令
echo 416 > /sys/class/gpio/exportecho out >/sys/class/gpio/gpio416/directionecho 1 > /sys/class/gpio/gpio416/value                           # 这两条命令是输出高低电平echo 0 > /sys/class/gpio/gpio416/value
然后就可以通过万用表测量开发板对应 IO 的高低电平,就是本文开头视频的内容,也可以自己外插一个 LED 灯,闪烁,等等其他 IO 操作都可以。外接电路需要匹配 IO 电气规格,这两个 IO 类型是 LVCMOS, 3.3V, 驱动能力 12mA。
到此 Xilinx 平台的整个开发过程跑通,调通,测试验证通过。
本文输出的 hardware platform 文件和 petalinux 输出文件,保存在百度网盘中红色标识的两个文件:
链接:https://pan.baidu.com/s/1cKaZQy_JaY2vZW0zUIed6w 提取码:robe

页: [1]
查看完整版本: 【百度大脑AI计算盒FZ5C】项目:用 FPGA 控制 IO + 视频

Baidu
map