硬件:米尔i.MX6UL开发板MYD-Y6ULX
简介:MYD-Y6ULX开发板(i.MX6UL开发板)由MYC-Y6ULX核心板和底板组成,基于NXP i.MX6UL处理器或i.MX6ULL处理器可选,MYD-Y6ULX开发板(i.MX6ULL开发板)提供丰富外设硬件,板载了Mini PCIE接口(用于4G模块)及SIM卡槽、WIFI芯片及天线接口、双百兆网口、LCD液晶接口、音频接口、带隔离的CAN,RS485,RS232等。
部署开发环境:开发前需要PC安装好Linux操作系统,推荐使用Ubuntu 16.04 64bit发行版,连接网线并配置好网络,后续操作需要连接互联网安装或下载相关软件包。
本章主要介绍MYD-Y6ULX开发板底板外围硬件设备应用例程的使用。
使用前,需要先安装Yocto提供的SDK工具链,再编译所有例程代码,并拷贝至开发板目录下。
RS485 测试
本例程演示如何使用 Linux Serial API编程,使用RS485接口,实现数据发送和接收,详细请参考源码。
硬件连接
MYD-Y6ULX上有一个RS485接口(J10),可以将A,B信号线与另外的RS485设备相连接。或者是USB转RS485的转换器设备。
软件测试
将编译出来的可执行程序拷贝至MYD-Y6ULX开发板系统内。MYD-Y6ULX作为发送端执行以下命令,另外一端的设备可以接数据。
# ./rs485_write -d /dev/ttymxc3 -b 4800 -e 1
SEND[20]: 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14
SEND[20]: 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14
SEND[20]: 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14
SEND[20]: 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14
另一个设备作为接收端:
# ./rs485_read -d /dev/ttymxc3 -b 4800 -e 1
RECV[20]: 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14
RECV[20]: 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14
RECV[20]: 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14
RECV[20]: 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14
RS232 测试
本例程演示如何使用 Linux Serial API编程,使用RS232接口,实现数据发送和接收,详细请参考源码。
硬件连接
MYD-Y6ULX上有一个RS232接口(J10),可以将TXD,RXD信号线与另外的RS232设备相连接。或者是USB转RS232的转换器设备,此处使用USB转 RS232设备连接到PC。
软件测试
将编译出来的可执行程序拷贝至MYD-Y6ULX开发板系统内。MYD-Y6ULX作为发送端执行以下命令,PC端接收数据。
# ./uart_test -d /dev/ttymxc1 -b 115200
/dev/ttyS1 RECV 10 total
/dev/ttyS1 RECV: 1234567890
/dev/ttyS1 RECV 10 total
/dev/ttyS1 RECV: 1234567890
/dev/ttyS1 RECV 10 total
/dev/ttyS1 RECV: 1234567890
/dev/ttyS1 RECV 10 total
/dev/ttyS1 RECV: 1234567890
在PC端可以使用串口工具查看接收的数据。
CAN Bus 测试
本例程演示使用Linux socket CAN API,使用MYD-Y6ULX上的CAN总线接口发送和接收数据。将can_send和can_receive拷贝至开发板。执行以下步 骤:
硬件连接
MYD-Y6ULX开发板有一个CAN总线接口(J10),将H,L信号线与另外的CAN通讯设备或USB CAN转换器相连接。
软件测试
配置开发板上CAN0通信波特率都设置为 50kbps,并使能CAN0设备 Linux上可以使用两种工具来配置CAN设备,canconfig和ip,MYD-Y6ULX附带的系统默认使用ip命令。 canconfig命令配置:
# canconfig can0 bitrate 50000 ctrlmode triple-sampling on
# canconfig can0 start
ip命令配置
# ip link set can0 type can bitrate 50000 triple-sampling on
# ifconfig can0 up
CAN收发测试可以使用系统附带的cansend、candump命令,也可以使用资源包中CAN收发例程。 MYD-Y6ULX作为发送端: 使用cansend发送数据到CAN总线:
# cansend can0 100#01.02.03.04.05.06.07.08
can_send例程运行后会一直发送数据,直到ctrl + c结束。
# ./can_send -d can0 -i 100 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
其他设备作为接收端: 使用candump接收CAN数据:
# candump can0
# can0 100 [8] 01 02 03 04 05 06 07 08
can_receive例程接收来自CAN总线的数据:
# ./can_receive -d can0
can0 0x100 [8] 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
can0 0x100 [8] 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
can0 0x100 [8] 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
can0 0x100 [8] 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
Audio 测试
硬件连接
本例程演示使用Linux系统中的arecord/aplay命令对音频接口录音和放音。需要使用两头3.5mm的音频AUX线,从电脑音频输出孔和开发板的LINE IN(J5)接口连接,HEADERPHONE(J4)连接耳机。
软件操作
在电脑中播放音频文件,执行arecord命令会先将LINE IN中的音频录制并保存为test.wav文件。运行一分钟后再按ctrl + c来停止。
# arecord -f cd test.wav
执行aplay命令来播放上面录制好的音频文件。
# aplay test.wav
Camera 测试
MYD-Y6ULX上提供一个并行Camera接口(J9),可以连接MY-CAM011B型号的Camera模块,模块之间使用FPC线连接。由于信号序列影响,请勿直接 将其它型号的Camera的模块插入,否则会引起模块或开发板的损坏。 本例程演示使用一款开源的视频流软件uvc_stream,可以将Camera设备捕捉的数据显示在web页面。
硬件连接
使用FPC数据线将MYB-CAM011B模块和MYD-Y6ULX板上的J9接口相连接。
软件操作
uvc_stream是通过的网络传输数据,需要先设置好MYD-Y6ULX板的以太网IP地址,对应系统中的eth0设备。Linux系统中的MY-CAM011B模块的设 备,可通通过v4l2-ctl命令来查询到,输出信息的i.MX6S_CSI表示Camera控制器,对应设备是/dev/video1。uvc_stream参数中'-y'是使用yuyv方 式,'-P'后面是设置web界面的登录密码,用户名默认为uvc_user。'-r'是指定分辨率,当前仅支持800x600。可以用ctrl + c来停止。
# ifconfig eth1 192.168.1.42
# v4l2-ctl --list-devices
i.MX6S_CSI (platform:21c4000.csi):
/dev/video1
pxp (pxp_v4l2):
/dev/video0
# ./uvc_stream -d /dev/video1 -y -P 123456 -r 800x600
uvc_stream提供两种web功能,snapshot和streaming。snapshot的请求URL是snapshot.jpeg,streaming的请求URL是stream.mjpeg。 PC和开发板 在同一网络内时,打开流览器,输入地址http://192.168.1.42:8080/stream.mjpeg,可以看到有登录框,输入用户名为uvc_user,密码为 123456,就可以看到从MY-CAM011B实时采集到的图像了。
此章结束,下一章将继续介绍i.MX6UL开发板的Linux应用开发(三)。