1. SDK下打开system.mss文件,如下图所示,import examples导入polled相关例程。

因为我们的设备上有两个can,一个ps端一个pl端的,原理图在can收发器侧一样。

2. ps 端参调试

确定逻辑对ps can的clock配置值,为100M,参考《ug585-Zynq-7000-TRM.pdf》手册,计算can波特率。

波特率=100M/ ((49 +1)*(3 +15 +2)) = 100k

int CanPsPolledExample(u16 DeviceId)
{int Status;XCanPs *CanInstPtr = &Can;XCanPs_Config *ConfigPtr;/** Initialize the Can device.*/ConfigPtr = XCanPs_LookupConfig(DeviceId);if (CanInstPtr == NULL) {return XST_FAILURE;}Status = XCanPs_CfgInitialize(CanInstPtr,ConfigPtr,ConfigPtr->BaseAddr);if (Status != XST_SUCCESS) {return XST_FAILURE;}/** Run self-test on the device, which verifies basic sanity of the* device and the driver.*/Status = XCanPs_SelfTest(CanInstPtr);if (Status != XST_SUCCESS) {return XST_FAILURE;}xil_printf("SelfTest successfuly \r\n\r\n");/** Enter Configuration Mode so we can setup Baud Rate Prescaler* Register (BRPR) and Bit Timing Register (BTR).*/XCanPs_EnterMode(CanInstPtr, XCANPS_MODE_CONFIG);while(XCanPs_GetMode(CanInstPtr) != XCANPS_MODE_CONFIG);/** Setup Baud Rate Prescaler Register (BRPR) and* Bit Timing Register (BTR). ps_can_clock = 100M .*/XCanPs_SetBaudRatePrescaler(CanInstPtr, /*TEST_BRPR_BAUD_PRESCALAR*/ 49);XCanPs_SetBitTiming(CanInstPtr, TEST_BTR_SYNCJUMPWIDTH,TEST_BTR_SECOND_TIMESEGMENT,TEST_BTR_FIRST_TIMESEGMENT);/** Enter Loop Back Mode.*/
#define ps_can_clock 100000000  //100MXCanPs_EnterMode(CanInstPtr, XCANPS_MODE_SLEEP);while(XCanPs_GetMode(CanInstPtr) != XCANPS_MODE_SLEEP);xil_printf("ps can bitRate: %lu bps\r\n", ps_can_clock/((49+1)* (3+15+2)));/** Send a frame, receive the frame via the loop back and verify its* contents.*/Status = SendFrame(CanInstPtr);if (Status != XST_SUCCESS) {return Status;}xil_printf("recving ....... \r\n");while(1){Status = RecvFrame(CanInstPtr);}return Status;
}

can消息格式:有效负载为DWR, DW2R

确定发送id

2. 使用宇泰的 8251 usb can设备,按照说明书设置好can卡,波特率为100k.

sdk启动debug,上来就会发送一帧数据个给外部can设备,使用宇泰can上位机给板子发数据,板子侧添加收数据打印信息。

3. pl 侧can和ps测试过程一样,需要注意can clock是多少,去计算can波特率

zynq 7000 sdk下裸机can(ps/pl) 调试相关推荐

  1. zynq 7000 SDK下的流水灯实验

    zynq 7000 的流水灯实验是最简单的纯PL 的实验, helloworld 是SDK下的最简单实验,但不包括任何PL. 本文是这2者综合下的最简单实验, PS 和 PL 都有的情况下最简单实验. ...

  2. ZYNQ 应用笔记(2)PS/PL接口

    相比传统的SOC 芯片,Xilinx 公司ZYNQ 的最大优势在于,除了内嵌的硬核ARM 处理器自带的IO接口之外,能够利用FPGA 自由地构建符合应用需求的IO外设和基于verilog/HDL的算法 ...

  3. zynq 7000 AMP模式 双裸核CPU同时运行

    本实验通过学习 https://blog.csdn.net/long_fly/article/details/79335025 而来. 从软件的角度来看,多核处理器的运行模式有三种: AMP(非对称多 ...

  4. Zynq 7000 PL和PS通信——使用BRAM

    Zynq 7000 PL和PS通信--使用BRAM 介绍 1 准备工作 2 PL搭建BRAM 3 下载PL程序 4 编写Linux应用程序 5 问题 5.1 BRAM的寻址的问题 5.2 PS地址映射 ...

  5. ZYNQ 7000 PS和PL 信号、接口、管脚分布

    1.ZYNQ 7000 PS端和PL端都有自己独立的电源引脚(Power Pin) 2.PS端接口和信号: PS_CLK(System reference clock) POR_RST_N(Power ...

  6. ZYNQ 或ZYNQ Ultrascale PS/PL交互

    1.在PYNQ框架下,PS/PL 交互可以用MMIO这个PYNQ类.如该处的例子https://blog.csdn.net/qq_35290955/article/details/107671930 ...

  7. ZedBoard--(5)嵌入式Linux下的DMA测试(Direct Register Mode)(PS + PL)

    ZedBorad–(5)嵌入式Linux下的DMA测试(PS+PL) 本文将详细介绍如何在ZedBorad上使用AXI接口的DMA IP核.(文末会给出测试代码的下载链接) DDR控制器.AXI DM ...

  8. ZYNQ PS PL 数据交互 Bram

    文章目录 前言 一.ZYNQ数据交互方式 二.Create Block Design 1.创建硬件工程 2.封装的ip代码 3.使用vitis写ps端程序 输出效果 前言 关于zynq PS PL 数 ...

  9. Zedboard学习(四):PS+PL搭建SoC最小系统

    zynq最核心的设计理念就是软件加硬件,即PS+PL.通过软硬件协同设计,结合了FPGA与双arm9内核,对于嵌入式拥有极大的优势. SoC:System on Chip的缩写,称为芯片级系统,也有称 ...

最新文章

  1. 读书笔记:做人不要太老实读后感
  2. asp.net mvc中用 log4net记录日志到数据库中
  3. 【译】A Practical Introduction to Blockchain with Python
  4. 安装开源项目 MultiType (基于 RecyclerView)出现的各种问题 -- 自己的第一篇博客...
  5. [html] 说说你对HTML5中“一次编写,全体使用”的理解
  6. 马丁 福勒 Martin Fowler 关于依赖注入和反转控制的区别
  7. 队列入队和出队程序演示
  8. 国内外主流BI工具介绍和点评
  9. curl和libcurl的区别简介
  10. 《STM32从零开始学习历程》——SPI读取FLASH ID
  11. 计算机组成原理笔记(一):概述
  12. 大一python题库及答案_Python经典题库及答案-python经典编程题
  13. VS关闭CodeLens 功能
  14. 利用perl一键生成符合LEFse差异分析的Table表
  15. 秒表计时器怎么读_秒表应该怎么读?
  16. 奇安信技术支持实习生面试
  17. SQLserver获取所有表及结构SQL语句
  18. Ps笔刷:水墨画笔效果
  19. c语言结构类型ppt,C语言 第10章 结构类型与其他构造类型.ppt
  20. Android实战之小说阅读器,带有水平翻页,记录上次读取页码数

热门文章

  1. ios10.x越狱后闪退
  2. Java并发编程笔记(1)基础知识
  3. SCM系统与ERP系统的异同比较
  4. 用WinFlash工具更新BIOS版本
  5. new balance 574 bybd arbz nooy
  6. 介绍一个中型开源社区
  7. 泡脚最补肾,时间有讲究。手脚凉的人必看
  8. add-apt-repository PPA
  9. 快速以太网中传输介质100BASE-TX
  10. 如何上传文件到IPFS