前 言
减少在产品开发过程中对DSP外设接口程序进行整合的难度,我们提供对DSP主要外设接口实现底层初始化的RTOS综合功能测试IFD(Integrated Function Demo)案例程序,助力有需要的朋友基于此IFD案例程序模板进行开发,加快项目研发进度。
本次测试板卡为TMS320C6678开发板,它是一款基于TI KeyStone架构C6000系列TMS320C6678八核C66x定点/浮点DSP,以及Xilinx Zynq-7000系列XC7Z045/XC7Z100 SoC处理器设计的高端异构多核评估板,TMS320C6678开发板每核心主频可高达1.25GHz,XC7Z045/XC7Z100集成PS端双核ARM Cortex-A9 PL端Kintex-7架构28nm可编程逻辑资源,引出双路CameraLink、双路SFP 光口、四路千兆网口、双路SATA、双路PCIe、四路USB、双路CAN、双路CAMERA、HDMI IN/OUT、LVDS、LCD、RS485、RS232、Micro SD、HPC FMC等接口。
IFD案例主要功能为EEPROM、SPI FLASH和NAND FLASH等存储设备读写速率测试,以及PCIe、SRIO和Ethernet等外设接口测试,详细说明见下表。
表 1
设备/接口 | 测试内容 | 读写速率 |
---|---|---|
EEPROM | 数据读写速率及正确性 | write:0.02MB/sread:0.04MB/s |
NAND FLASH | 数据读写速率及正确性 | write:0.48MB/sread:0.80MB/s |
SPI FLASH | 数据读写速率及正确性 | write:0.29MB/sread:1.27MB/s |
DDR | 数据写入速率及正确性 | write:33351Mbps |
PCIe | 作为PCIe EP设备进行通信 | write:690MBpsread:639MBps |
SRIO(ZYNQ) | 数据读写速率及正确性 | write:12060Mbpsread:7616Mbps |
Ethernet | IP地址动态获取 | / |
UART | 串口回显 | / |
KEY | 按键检测 | / |
本文档案例程序默认使用DSP端主频为1GHz的核心板,通过TL-XDS200仿真器加载运行进行操作效果演示。
硬件连接如下:
- 请通过Micro USB线将调试串口与PC机进行连接,打开串口调试终端SecureCRT并正确连接DSP端调试串口。
- 如需测试Ethernet接口,请使用网线将评估板的千兆网口DSP SGMII0 ETH和DSP SGMII1 ETH分别连接至两个不同网段的路由器。如仅需测试一个网口,请将任意一个网口连接至路由器。
- 如需测试PCIe接口,请使用ADT-Link公司的R22SR公对母PCIe信号交换线连接评估板PCIe EP(ZYNQ)金手指和PCIe RC(DSP)插槽,再加载案例bin目录下的axi_mig_pcie_demo_xc7z045.bit(ZYNQ端为XC7Z045)/axi_mig_pcie_demo_xc7z100.bit(ZYNQ端为XC7Z100)可执行文件至ZYNQ端后,再运行DSP端IFD案例。
- 如需测试DSP与ZYNQ的SRIO通信,请先加载案例bin目录下的bram_srio_target_xc7z045.bit(ZYNQ端为XC7Z045)/bram_srio_target_xc7z100.bit(ZYNQ端为XC7Z100)可执行文件至ZYNQ端后,再运行DSP端IFD案例。
请运行IFD案例程序,DSP端串口调试终端将会打印如下测试结果。
备注:由于本次测试DSP与ZYNQ的SRIO通信,因此PCIe测试结果打印信息为"=== pcie test failed"。
EEPROM
测试数据大小为32KByte,读速率为0.04MB/s,写速率为0.02MB/s,误码率为0。
NAND FLASH
测试数据大小为128KByte,读速率为0.80MB/s,写速率为0.48MB/s,误码率为0。
SPI FLASH
测试数据大小为128KByte,读速率为1.27MB/s,写速率为0.29MB/s,误码率为0。
DDR3
测试数据大小为64MByte,写速率为33351Mbps,误码率为0。
PCIe
测试写速率为690MBps,读速率为639MBps,误码率为0。
SRIO(ZYNQ)
测试数据大小为64KByte,写速率为12060Mbps,读速率为7616Mbps,误码率为0。
Ethernet
实现TCP和UDP Sverver网络功能,串口调试终端同时打印动态获取到的IP地址。
UART
请在串口调试终端窗口输入任意字符,此时串口调试终端将会回显输入的字符。
LED
程序控制所有DSP端LED进行闪烁。
KEY
请按下评估板用户按键SW5,此时串口调试终端将会打印如下提示信息。
本次分享结束,后续还将分享更多关于DSP端、ZYNQ端、DSP ZYNQ端等开发案例,包含多核DSP ZYNQ架构通信教程,让大家都能解决多核开发瓶颈问题,感谢大家的关注,想要更详细的内容可以在评论区留言,一起交流下。