1、实际项目中需要用到开发板的串口进行数据交互,之前讲的几节只是启动了网口(如下链接)。因此,本次给大家带来的官方自带串口例程的使用方法,本文的vivado工程和下述连接一样,PL端什么配置都没有。
FPGA----ZCU106使用petalinux 2019.1(全网最详)-CSDN博客文章浏览阅读1k次。本文完成了Vivado 2019.1版本下的基于ZCU106的全部linux系统移植_zcu106https://blog.csdn.net/qq_37912811/article/details/1345197352、对于windows系统下的USB可以很容易的外接多类型设备,这是由于windows有很多驱动才足以让其支持外界拓展设备(这也是为什么鸿蒙不被看好的原因,没有驱动生态),那么对于petalinux系统呢?
①首先明确,本文想通过petalinux的USB以串口形式将数据输出。另一个设备是DTU,上面有RS485和RS232端口。
第一种实现方法是,买一条USB转RS232的线,这种一般会用到PL2303芯片,这个我不推荐买绿联的设备,因为我没调试成功(可能买到假的线了,但是电脑是测试是没问题的),所有的驱动全部测试过了。(我的petalinux 是2019.1版本的,也可能现在的版本是支持的)。
第二种实现方法是,买一个USB转TTL的设备,再买一个TTL转RS485的设备。我推荐这个,因为我测试成功了。
②市面上有很多USB转串口芯片,本文以CH341/CH340芯片为例(341的驱动是兼容340的),讲述petalinux使用这些驱动。
③购买以CH340/341芯片为基础的USB转TTL设备,购买TTL转RS485的设备,淘宝上一搜一大堆,我用的是sisym的。
④ZCU106的USB连接CH340, CH340连接上图红色模块,输出的RS485可以连接DTU
3、操作方法,在Ubuntu的终端输入命令
①petalinux-config -c kernel
②选中下述模块,注意:看清楚下面的中括号里的内容,如果是[*]则按下键盘的Y键,如果是[M]一定要按下键盘的M键,而不是Y键。可以按下键盘的“/”键,输入驱动查看驱动依赖,后续可能有用。
Device Drivers --->
[*] USB support --->
[M] USB Serial Converter support --->
[*] USB Generic serial Driver
[M] USB Winchiphead CH341 single Port serial Driver
[M] USB CP210x family of UART Bridge Controllers
③Save后,Exit
④petalinux-build
⑤打开下属文件夹,可以看到
xxxx/xxxx/petalinux/build/tmp/work/plnx_zynqmp-xilinx-linux/linux-xlnx/4.19-xilinx-v2019.1+git999-r0/image/lib/modules/4.19.0/kernel
⑥打开drivers文件夹,打开usb文件夹,打开serial文件夹
⑦将serial的文件都拖到SD卡里面,还有BOOT.BIN以及image.ub都拖进去
⑧上电,启动ZCU106,插入CH341,应该就可以直接用了。
输入 ls /dev/tty*
可以看到 ttyUSB0设备。
不行的话就需要热加载。
执行下描述命令
/*挂载SD*/
mount /dev/mmcblk0p1 /mnt/
/*加载串口驱动,注意顺序*/
insmod /mnt/usb/core/usbcore.ko/*这个我忘记是怎么出现的了,下次更新再看吧*/
insmod /mnt/usb/serial/usbserial.ko
insmod /mnt/usb/serial/ch341.ko
应该就没问题了。
3、视频
穿