采集板卡与STM32板卡联调

本周工作

  • 主要将上周设计的Buffer模块、SPI发送模块以及AD控制模块烧录到FPGA板卡中,并联合STM32板卡进行测试。主要测试STM32能否接收到来自AD转换出的数据。

  • 连接上,STM32的SPI工作在Recieve only slave模式,该模式下只需要MOSI、SCK、NSS三根线即可。FPGA板卡并没有对外引出的排针或排母,采用杜邦线在按键上焊接了四根线作为SPI引出线,除了三根信号线,还包括GND线。

  • 测试结果:STM32端并没有接收到数据。在STM32端采用Debug观察接收数据缓冲即数组ad7606_data,从开始运行一直都是0x0000。内部寄存器中UDRDET为0x01,表示当前处于错误状态之一的underrun(欠运行)状态,即数据接收过程发生了中断。UDRCFG为0x02,即当下需要重新发送数据。
    1

  • 用示波器简单观察了一下在STM32接收端的SPI_CLK、SPI_MOSI、SPI_NSS三根信号线的波形,从上到下依次是SPI_NSS、SPI_MOSI、SPI_SCK,波形很差导致信号质量很差,无法使用。尝试对整个系统进行降频处理,但并没有效果。将AD控制模块、Buffer模块、SPI模块的输入频率降低到50M、20M、10M,但是SPI都没有输出。 2

下一步工作

  • 尝试将SPI Master进行降频,并和Buffer模块、AD控制模块分开,对SPI Master模块给一个固定的假数据。将SPI模块与STM32连接并发送假数据,使STM32能够正常接收到SPI Master发送的假数据。

  • FPGA输出侧尝试将波形进行整形,预计需要采用特殊的输出处理方式,如ODDR等,需要进一步调研。


本文章使用limfx的vscode插件快速发布