查看: 2615|回复: 0

以太网,FPGA就一定能搞定系列之芯片测试(转帖)

[复制链接]
  • TA的每日心情
    开心
    2013-12-17 13:39
  • 签到天数: 48 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2013-12-23 11:09:55 | 显示全部楼层 |阅读模式
    分享到:
    1 概述   

    CH395原厂提供了一个简单的基于PC的串口调试工具DEBUG395。因此我们可以使用SF-CY3核心板、SF-NET子板、SF-USB子板的连接,将SF-NET子板的UART接口连接到PC端。UART连接通路如图所示。看了这么一长串模块,其实我们的目的很简单,让PC机和SF-NET子板的UART连接到一起,只不过他们的电平不一致,所以需要SF-CY3核心板和SF-USB子板帮忙转接一下。
    1.jpg

    2 FPGA中的互联代码

    SF-CY3核心板中的FPGA需要些一段小代码,将CH395和FT232的UART的RX和TX互联起来。新建文件夹ex35,创建Quartus II工程,编写源代码如下。

    module ex35(

    ch395_tx,ch395_rx,ch395_rst_n,

    ft232_rx,ft232_tx

    );

    //P1:1-2 for UART mode

    //P2:1-2  P3:1-2  P4:1-2 for 9600bps           

    input ch395_tx;     //CH395 UART-TX PIN_65

    output ch395_rx;    //CH395 UART-RX PIN_66

    output ch395_rst_n; //CH395 RESET, ACTIVE LOW   PIN_68

    input ft232_tx;     //FT232 UART-TX PIN_126

    output ft232_rx;    //FT232 UART-RX PIN_127

    assign ch395_rx = ft232_tx;

    assign ft232_rx = ch395_tx;

    assign ch395_rst_n = 1'b1;

    endmodule

    进行引脚分配。然后编译工程,待板级环境搭建好后,将sof下载到SF-CY3核心板中。

    3 板级环境搭建

    SF-NET子板有4个跳线帽,P1的跳线帽选择用于设定FPGA与CH395的通信模式,对应的功能描述如下。本实例设定的UART通信模式,即P1的1-2PIN端接。


    2.png
    P2\P3\P4的跳线帽选择用于设定UART通信模式下的上电波特率,对应的功能描述如下。本实例设定的启动波特率为9600bps,即P2\P3\P4均为1-2PIN端接。
    3.png

    将SF-CY3核心板的插座P3和SF-NET子板的插座P5相连,将SF-CY3核心板的插座P2和SF-USB子板的插座P1相连,给SF-CY3核心板上电并连接好USB-Blaster下载线,同时别忘了将USB延长线连接到SF-USB的UART-USB端口(P4)上。

    将编译好并生成sof文件的测试代码下载到SF-CY3核心板中。

    4 PC端串口工具调试

    如图所示,打开电脑的设备管理器,查看“端口(COM和LPT)”中的USB Serial Port所对应的端口号,笔者电脑的端口号对应COM59,这实际上是一个虚拟的COM口。


    4.jpg
    双击打开“DEBUG395”串口调试小工具。
    5.jpg
    如下左图所示,设定好串口号为COM59(根据实际分配串口号设定),波特率为9600bps,然后点击“打开串口”,便出现右图的显示状态,说明串口已经连接好(当然了串口连接好,并不能保证串口连接正确并且能够正常通信,这还需要实验者认真确认每个设备是否都连接的正确)。
    6.jpg
    如图所示,这里可以将CH375的基本命令逐个的测试一遍。在调试窗口中,如果单机“命令操作”下面的任意按钮,则右侧的“说明”窗口中将会显示这个命令对应的命令码、参数和功能,但不执行具体的串口收发操作。而双击“命令操作”某个按钮时,则将发送对应的命令,如果发送操作中带有用户可设定的参数,则会弹出一个对话框供参数的设置。实际收发的数据字节数会在窗口左下角显示出来,发送命令的具体状态在在“命令码发送/接收的数据”窗口中显示。
    7.jpg
    如图所示,我们双击“复位”按钮,则发送3个十六进制数据位“57 AB 05”,没有返回数据。
    8.jpg
    执行复位只有发送,没有返回,我们其实并不知道CH395和FPGA之间的通信是否正常了,接着我们可以试试“测试命令”按钮,弹出的“输入参数”对话框中,我们可以任意修改测试值,然后点击OK,这里所设置的测试值在发送给CH395后,会返回一个取反后的数据。
    9.jpg
    如图所示,当我们执行了当前的测试命令后,发送4个字节的十六进制数据“57 AB 06 55”,返回了1个字节数据“AA”正是我们所输入的数据“55”按位取反的结果。
    10.jpg
    如图所示,我们双击“获取版本号”后,显示发送了3个字节数据“57 AB 01”,返回1个字节数据“42”。
    11.jpg

    在芯片手册中,42H所对应的版本号应该是02H。

    如图所示,我们双击“获取MAC地址”,则发送3个字节的命令数据“57 AB 40”,返回6个字节的MAC地址“84 C2 E4 F0 08 EF”。


    12.jpg

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-23 19:30 , Processed in 0.127664 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.