JFMRS01RH调试记录

调试情况

        主要使用JFMRS01RH完成对FPGA芯片的重载和刷新。JFMRS01RH与fpga通过SelectMap接口连接,外挂两片256K的串行flash。

        JFMRS01RH芯片内部寄存器配置方式有两种,一种是硬件引脚配置,另外一种是通过UART串口配置,在芯片的外部晶振频率为10M的情况下,串口的波特率是115200。若希望通过串口配置,需要将SEL_UART_WP寄存器写0,使串口配置有效。当串口和引脚均有配置时,串口配置的优先级更高。

调试步骤

        功能测试

        官方给了上位机程序,首先确保应交连接后,将串口设置波特率为115200,数据位8位,停止位1位,校验位一定要选择奇校验或者偶校验。这个要看你默认引脚配置的情况,使用其他串口助手的时候不能忘记配置校验位,否则会出错。

        串口连接成功后,设置sel_telemetry 设置为 1,即自动返回信息。等一小段时间后会收到芯片返回的各个寄存器的数值以及状态值,如果没有返回,检测串口设置是否正常,硬件连接是否正确以及串口有无干扰。

        以下可自行测试,更改寄存器的数值然后与返回的遥测值进行对比验证是否功能正常。

        擦除测试

        外挂flash烧写程序的第一步应该先将flash进行擦除。flash擦除时建议将自己的配置提前设置好,比如提前将sel_per寄存器设置为不自动重载,sel_mode设置为不刷新。sel_flash类型设置好,一定不要设置错误,否则会失败。sel_flash_wp写1,关闭写保护才可以对flash进行擦写操作。准备工作做完后,即可在上位机点击全片擦除指令,观测遥测状态,flash的状态应显示忙。官方有说法会在忙与空闲中来回切换,但笔者测试一直显示忙。等状态变为空闲时代表flash擦除完成,通过上位机进行数据会读,可以观察到flash的数据应全为FF。

        烧写测试

        烧写程序需要准备VIVADO导出的rbt文件,此时应当注意这个文件正常会是bin/bit文件的8倍,在生成比特流文件的时候不可以使用比特压缩,官方说使用压缩后的文件会出错。将rbt文件导出后使用上位机软件进行重构,可以按照要求进行拼接分割等操作。这一步骤其实就是在rbt文件的最后加上了数据的CRC校验字节。

        随后可以安装上位机以及文档指导进行rbt文件的选择、读取,flash类型选好,就可以执行编程的操作。该过程耗时较长,需要耐心等待。等待完成后进行CRC校验,结束地址应为烧写的rbt文件的bit数/2-1(16进制)。

第一个问题

        遇到的第一个问题是串口测试功能一切正常,但就是执行不了擦除指令以及编程指令,数据回读到的全是0。

        分析:首先检查指令是否通过串口下发。然后观测芯片与flash的接口是否产生对应的读写信号,笔者测试确实产生了信号,排除了flash坏了的原因,最终发现芯片与flash接口的连接出现了小错误,更改连线后重新测试正常。

第二个问题

        程序采用串口配置成功烧写进程序并且进行了重载以及刷新操作,但是断电后重新上电发现程序重载失败。

        分析:芯片的寄存器配置是否有硬件连接直接进行配置,如果该配置与串口配置的不一样,可能上电重启的时候硬件引脚更改了配置导致重载失败。发现硬件配置出了小问题,更改后结果测试正常。

 第三个问题

        程序成功烧写进去而且其他功能正常,但是执行CRC校验的时候一直出错,排查地址填错的原因,最终官方回答,国外的fpga芯片在烧写rbt文件时要将最开始的全FF状态只保留一行,之后进行CRC校验才不会出问题。

        手动更改rbt文件进行重新烧写后执行CRC校验后测试正常

  • 15
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值