W7200 的内核 您所在的位置:网站首页 xvc调试 W7200 的内核

W7200 的内核

2024-07-12 16:22| 来源: 网络整理| 查看: 265

W7200 的内核采用32 位的STM32F103CB,通过SPI 与W5200 连接,外部拓展40 个引脚,负责提供该系统的GPIO、I2C、SPI、USB 以及USART接口,集成度高却具有很低的功耗。W5200 为该公司推出的全硬件TCP/IP 芯片,负责为该系统提供各类硬件TCP/IP 协议、MAC 以及PHY,支持8 个独立的socket 同时工作。使用该芯片的优势是通过简单的socket 编程,用户便可以轻松实现所需的以太网通信,而不必要处理复杂TCP/IP 协议栈控制。

2 软件设计

2.1 JTAG 工作方式 JTAG是符合IEEE 1149.1 标准的国际标准测试协议[6],主要用于各类芯片的内部测试和配置。现在大多数高级器件(包括FPGA、MCU、DSP 以及CPU 等)都支持JTAG 协议。标准的JTAG 接口是4 线接口:模式选择(TMS)、时钟(TCK)、数据输入(TDI)以及数据输出(TDO)信号线。

JTAG 工作原理是在器件内部定义一个TAP(Test Access Port)测试访问端口,外部控制器通过TAP 可以访问芯片提供的所有数据寄存器和指令寄存器。使用JTAG 方式配置FPGA 时,通过TCK 和TMS 的值,选定一个需要访问的数据/指令寄存器,将其连接到TDI 和TDO 之间。然后由TCK 驱动,通过TDI,把需要的数据/指令输入到选定的数据/指令寄存器中,同时把对应的寄存器中的值通过TDO 读出来。JTAG 接口在线编程和调试的特征改变了传统生产流程,配置效率高,是项目研发阶段必不可少的配置模式。

2.2 XVC 协议 XVC 协议是Xilinx 公司推出的一款基于TCP/IP 的虚拟线缆协议[7],它可发挥类似于 JTAG线缆的作用,允许用户无需使用USB 线缆而是通过网络访问Xilinx FPGA 的JTAG 接口并对其进行高效率的远程更新与调试。该协议还具有扩展性,可进行安全连接,允许用户通过编程将其实现于不同的平台。

XVC 协议内容简单,使用方便,其基本内容可总结为如下三条指令: 1) getinfo: 该指令用于获取XVC 服务的版本。当接收到“getinfo:”指令时,该服务将会返回如下的字符串:“ xvcServer_v1.0; ”, 其中,代表了该协议一次能移位发送的字节向量的最大长度。

2) shift:[num bits][tms vector][tdi vector] 该指令表示分别以字节向量TMS vector 和TDI vector 的形式发送num_bits 个二进制数据。其中,num_bits 是一个小端格式的整数,TMS vector和 TDI vector 代表所要发送的TMS 和TDI 的二进制数据。发送过程中,0 字节的0 比特位首先被发送出去,字节向量的长度会根据num_bits 的值向上补齐成最接近的字节数。该指令最终应该返回与TMS vector 向量同样长度的字节向量TDO vector,代表从JTAG 接口返回的所有的TDO。同样也是0字节的0 比特位首先被接收回来。

3) settck:[period in ns] 该指令表示将该协议通信的时钟周期设置为period 纳秒。period 同样是一个小端格式的整数值。使用该指令最终应该返回实际的周期值。

iMPACT 和ChipScope 通过网络访问FPGA 的JTAG 接口的基本原理就是基于XVC 协议发送shift指令,实现JTAG-Client 的功能[8]。因此只要ARM微控制器根据shift 指令格式分析数据,便能成功模拟JTAG 时序,实现类似于JTAG-Server 的功能。JTAG-Server 与JTAG-Client 的结构如图4。

图4 JTAG 服务器与客户端

 

图4 JTAG 服务器与客户端

2.3 FPGA 软件设计 在本设计中,主控FPGA 负责实现8 片待更新FPGA 的JTAG 链路。一组I/O 口用于接收W7200的配置时序,另外8 组I/O 口分别连接8 个LVDS模块的输入。一个4 位的拨码开关用来控制接入JTAG 链的FPGA 的个数。

2.4 ARM 软件设计 本方案使用基于JTAG 的配置方式,W7200 作为配置控制器,其通用I/O 引脚PB12、PB13、PB14、PB15 分别作为JTAG 接口的TMS、TCK、TDO 和TDI。W7200 的工作流程如图5 所示。其应用程序用C 语言开发生成,Keil MDK 进行编译调试。主要包括W7200 初始化和指令处理两部分。

首先,W720 初始化的内容包括:设置系统工作时钟、中断、GPIO/SPI、接收与发送缓存大小以及网络设置。由于iMPACT 软件每次发送shift 指令的最大长度为2 256 byte,故设置接收缓存区RX_BUF 大小为2 256,而发送缓存区TX_BUF 大小为1178。网络设置包括选择打开socket0 进行网络通信,并设置其通信协议为TCP,端口号为5000,并为其分配IP 地址和MAC 地址。初始化完成后,W7200 会作为TCP server 打开socket0 监听网络上的连接请求。

图5 更新流程

 

图5 更新流程



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有