FPGA使用笔记:GPIO利用方式(用于测试设备io驱动性能) ...

一给  金牌会员 | 2024-8-16 15:26:55 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 994|帖子 994|积分 2982

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一、前言

使用FPGA测试IO速率,用于后续驱动高速AD/DA等高速芯片做铺垫,很多芯片的驱动都是使用并行接口,不是使用专用接口的,这样采样速率的快慢就有CPU的时许周期决定了。
本文测试FPGA和STM32,后续如果用到更快的芯片也会增补此文,如果是带linux体系的,可以参照此贴
二、环境

编译软件QuartusII13.1、Keil5
语法Verilog、C
芯片EP4CE6F17C、STM32F407、STM32H750
三、正文

1.FPGA的EP4CE6F17C芯片测试

测试程序
  1. module top_fpga(
  2. //global signal
  3. input clk, //50MHz
  4. //led
  5. output testF7, //high active
  6. output testD6 //high active
  7. );
  8. //寄存器定义kbq,测试IO翻转速率
  9. reg [31:0] timer1=0;
  10. reg led_1=0;
  11. reg led_2=0;
  12. assign testF7 = led_1;
  13. assign testD6 = led_2;
  14. always @(posedge clk)
  15. if (timer1 == 32'd49) //1 秒计数(50M-1=49_999_999) (1ms d49_999)(1us d49)(100ns d4)()()
  16. timer1 <= 0; //计数器清零
  17. else
  18. timer1 <= timer1 + 1'b1; //计数器加 1
  19. //LED 控制
  20. always @(posedge clk)
  21.         begin        //最快的时钟翻转速率,50M晶振20ns周期,实测io翻转20ns,一周期40ns
  22.                 led_1 <= !led_1; //LED 点亮
  23.                 led_2 <= !led_1; //LED 点亮
  24.         end
  25. // if (timer1 == 32'd29)//计数器计到 0.5 us
  26. //        begin       
  27. //                led_1 <= 1'b1; //LED 点亮
  28. //                led_2 <= 1'b1; //LED 点亮
  29. //        end
  30. // else if (timer1 == 32'd49) //计数器计到 1 us
  31. //        begin       
  32. //        led_1 <= 1'b0; //LED 灯灭
  33. //        led_2 <= 1'b0; //LED 灯灭
  34. //        end
  35. // else
  36. //        begin
  37. //        led_1 <= led_1;
  38. //        led_2 <= led_2;
  39. //        end
  40. endmodule
复制代码
采用的是50M外部晶振给到时钟引脚,然后定时器判断时钟来翻转io高低电平,最终测试直接判断时钟上升沿,就翻转io状态,测试效果就是时钟的速率,50MHz的时钟周期是20ns,测试也是20ns电平保持,40ns周期。多个引脚同时控制,也不会有等待耽误,周期与单个引脚一样
使用逻辑分析仪测试效果如下图

使用示波器测试效果如下图

感觉这个还没有达到FPGA的极限,只是时钟晶振的极限,详细更快速的测试需要在多摸索摸索找找方法。也接待各位大佬辅导提示。
2.STM32F407芯片测试



3.STM32H750芯片测试

无延时控制高低电平翻转,使用单个引脚周期最快在150ns左右,双个引脚周期就变成了300ns左右,3个引脚周期变成了400ns左右,说明stm32的引脚控制逻辑是串行的,一个一个去控制,当有多个引脚同时驱动某芯片时,时许周期就不是特别容易控制的了,下图是单个引脚测试图(无法上传,CSDN出BUG了,看笔墨就行了)


四、结语


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

一给

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表