zynq 7000 sdk下裸机can(ps/pl) 调试

简介: zynq 7000 sdk下裸机can(ps/pl) 调试

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


微信图片_20230117214527.png


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


微信图片_20230117214536.png


2. ps 端参调试

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


微信图片_20230117214541.png


波特率=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  //100M
  XCanPs_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


微信图片_20230117214546.png


确定发送id


微信图片_20230117214550.png


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


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


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


目录
相关文章
|
人工智能 Java 测试技术
地址标准化通过Java sdk接入通用经纬度查询之前已经调试成功,近期一直返回超时错误
地址标准化通过Java sdk接入通用经纬度查询之前已经调试成功,近期一直返回超时错误
95 1
|
9月前
|
机器学习/深度学习 文字识别 开发工具
视觉智能平台常见问题之sdk调试报401错如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
102 4
视觉智能平台常见问题之sdk调试报401错如何解决
|
9月前
|
存储 安全 开发工具
【ZYNQ】基于 BRAM 的 PS 与 PL 数据交互
【ZYNQ】基于 BRAM 的 PS 与 PL 数据交互
648 0
|
9月前
|
网络协议 开发工具 Perl
【ZYNQ】裸机 PS + PL 双网口实现之 SDK 程序设计
【ZYNQ】裸机 PS + PL 双网口实现之 SDK 程序设计
416 0
|
9月前
|
开发工具 芯片 Perl
【ZYNQ】裸机 PS + PL 双网口实现之 ZYNQ 配置
【ZYNQ】裸机 PS + PL 双网口实现之 ZYNQ 配置
1300 0
|
9月前
|
网络协议 测试技术 开发工具
【ZYNQ】裸机 PS + PL 双网口实现之 LWIP 库文件修改
【ZYNQ】裸机 PS + PL 双网口实现之 LWIP 库文件修改
811 0
|
网络协议 Java 应用服务中间件
支付宝SDK接口调试- cpolar内网穿透工具实现公网地址调试
支付宝SDK接口调试- cpolar内网穿透工具实现公网地址调试
217 0
|
15天前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
115 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
6月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
164 0
|
3月前
|
Java Linux API
Android SDK
【10月更文挑战第21天】
143 1

热门文章

最新文章

  • 1
    不要再责怪你的UI设计师为什么没有用rp?ps?figma?sketch?xd?如何免费转换非在线工具收费转换-本文将教会你常规ui设计源文件格式相互之间如何转换并且保持矢量图和标注注释问题-优雅草央千澈
  • 2
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 4
    【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
  • 5
    PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
  • 6
    重磅,Adobe2023全家桶来了~PS2023最新版下载地址
  • 7
    Linux系统小技巧(2):利用ps工具统计CPU/MEM消耗高或者负载高的进程
  • 8
    Portraiture2024免费ps人像滤镜插件
  • 9
    20个最新的照片 PS 技巧,提升摄影水平
  • 10
    Photoshop最新版PS2024安装使用 Ver25.0.0