HW-USBN-2B说明文档
- 引脚定义
编程引脚 | 名称 | 编程设备引脚类型 | 描述 |
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 | 开漏输出 | 提供I2C的SCL |
I2C:SDA | I2C SDA | 开漏双向 | 提供I2C的SDA |
5V OUT | 5V OUT | 输出 | 提供IEprog M1050的电源输入 |
- 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看到编程完成。
- SPI FLASH 编程
- 内部nvcm或者flash编程。
在operation双击,选择flash programming mode。选择flash erase。Program。verify。选择jed文件,选择ok。
选择 ,设备编程,完成编程。
- 外部spi flash编程。
在operation双击选择。SPI FLASH programming。选择operation中spi flash erase ,program,verify。,在programming file 可以选择bit或者msc文件。选择spi flash的型号,看硬件原理图选择厂家,型号。然后确定。
选择 ,设备编程,完成编程。
- 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的 内部编程结果如下: