lattice下载器HW-USBN-2B LATTICE使用说明

本文档详细介绍了HW-USBN-2B设备的编程流程,包括JTAG编程、SPI FLASH编程和I2C编程的方法。涵盖了从引脚定义到具体编程步骤的全面内容,适合硬件工程师和编程爱好者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

 

HW-USBN-2B说明文档

  1. 引脚定义

编程引脚

名称

编程设备引脚类型

描述

VCC

编程电压

输入

连接VCC到目标设备,典型的ICC=10Ma.板子设计必须考虑VCC的电流供应,但是跟VCCIO是不一样的。

TDO/SO

测试数据输出

输入

IEEE1149.1(JTAG)编程 移位数据输出。

TDI/SI

测试数据输入

输出

IEEE1149.1(JTAG)编程 移位数据输入

IspEN/PROG/SN

启用

输出

启用设备进入编程。SN= SSPI 芯片选择

TRST

测试复位

输出

可选 IEEE1149.1 状态机复位

         

完成

输入

DONE指示配置的状态

TMS

测试模式选择输入

输出

用于控制IEEE1149.1状态机

GND

输入

目标的设备的地

TCK/SCLK

测试时钟输入

输出

IEEE1149.1的时钟

INIT

初始化

输入

指示设备是否准备好配置开始。

I2C:SCL

I2C SCL

开漏输出

提供I2CSCL

I2C:SDA

I2C SDA

开漏双向

提供I2CSDA

5V OUT

5V OUT

输出

提供IEprog M1050的电源输入

 

       

 

 

 

 

 

 

  1. JTAG 编程设计

打开diamond programmer。

 

选择create a new blank project。

选择detect cable

选择通道0.

 

         选择JTAG SCAN按钮,可以扫描到设备。

 

在operation双击下选择static ram cell mode。下面operation选择SRAM Fast Program。,选择programming file为 后缀名bit的文件。

再次选择 ,设备编程。在output看到编程完成。

 

 

  1. SPI FLASH 编程
  1. 内部nvcm或者flash编程。

在operation双击,选择flash programming mode。选择flash erase。Program。verify。选择jed文件,选择ok。

 

选择 ,设备编程,完成编程。

 

 

 

 

 

 

  1.  外部spi flash编程。

在operation双击选择。SPI FLASH programming。选择operation中spi flash erase ,program,verify。,在programming file 可以选择bit或者msc文件。选择spi flash的型号,看硬件原理图选择厂家,型号。然后确定。

选择 ,设备编程,完成编程。

 

  1. I2C 编程

Lattice i2c想对比较麻烦的。所以我们要修改lattice的 jed的文件。在Programmer 修改jed的 feature row 参数。

 

 

打开文件,并且执行read

 

 

就可以看到feature row 参数,首先改I2C Persistence Disable 改成0。

选择save 保存到文件上面。选择yes,overwrite。

 

关闭找个软件。

 

 

 

首先在diamond program 中,选择对应的器件。

 

 

选择operation双击打开,i2c interface programing,选择i2c program feature rows ,设定programming options 的files 为对应修改的文件。I2c slave address 选择默认的 10000地址。

注意选择HW-USBN-2B的 FTUSB-1通道,对应I2C的功能。选择 编程。弹出成功烧录feature row 性能参数成功窗口。

 

 

 

          在operation中双击,在弹出的operation中选择I2C program。选择OK。因为I2C编程很慢,所以需要等很久时间才能完成。

 

 

完成后,输出,烧录成功结果。

 

 

 

 

注意,空白的芯片支持I2C编程,如果flash编程过一次,必须擦除才能用I2C编程。并且必须flash必须编程以后再擦出再有意思,如果多次擦除,I2C会不支持。

 

ICE40 SPI的 内部编程结果如下:

 

 

### 关于 HW-201 电路图的相关信息 目前提供的引用资料并未提及具体的 **HW-201** 电路图相关内容。然而,可以推测该设备可能 Lattice FPGA 下载器系列有关联,类似于 HW-USBN-2B 的功能特性[^2]。 #### 可能的方向: 如果需要查找 **HW-201** 相关的电路图,建议从以下几个方面入手: 1. **厂商官网资源** 访问生产或销售此产品的公司官方网站,通常会提供详细的用户手册和技术文档。例如,在引用中提到的类似产品(如 HW-USBN-2B),其官方技术支持页面可能会有类似的电路设计参考资料[^1]。 2. **技术论坛和社区讨论** 技术爱好者经常会在电子工程师论坛上分享经验或上传相关的设计文件。可以通过搜索引擎输入关键词 `HW-201 circuit diagram` 或者中文版的 “HW-201 电路图”,并限定到专业的技术网站进行查询。 3. **第三方修改指南** 如果存在针对此类设备的硬件修正方案,则可能存在公开的技术文档描述如何调整默认配置以适应不同需求。这方面的例子可以在其他相似型号的产品中找到,比如 USB 转串口模块 (HW-597)[^3] 中涉及的具体实现细节。 以下是基于假设的一个简单示意代码片段用于展示如何通过 Python 控制 GPIO 来模拟某些信号传输过程(仅作为参考用途): ```python import RPi.GPIO as GPIO from time import sleep def setup_gpio(pin_number, mode): """设置指定引脚的工作模式""" GPIO.setmode(GPIO.BCM) if mode == 'out': GPIO.setup(pin_number, GPIO.OUT) def send_signal(pin_num, duration=0.1): """向给定GPIO发送高电平一段时间后再拉低""" try: setup_gpio(pin_num, 'out') GPIO.output(pin_num, True) sleep(duration) GPIO.output(pin_num, False) finally: cleanup() def cleanup(): """清理释放所有使用的gpio资源""" GPIO.cleanup() if __name__ == "__main__": target_pin = 18 # 假设使用BCM编号体系下的第18号针脚 send_signal(target_pin) ``` 上述代码仅为演示目的编写,并未实际测试运行效果;它展示了基本的操作流程——初始化特定IO接口方向、施加短暂脉冲以及最后安全退出程序前恢复初始状态的重要性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值