EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 lichenllin 于 2020-3-31 09:49 编辑
; g1 `$ m$ V8 i6 R, O9 ~# [0 ?: W. z% N* p1 s$ A% q* p3 ]
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 状态机复位 |
6 C, i: ~6 Y6 o4 h; h& q w& c! k | 完成 | 输入 | 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 | 输出 | 提供IEprogM1050的电源输入 | ' l6 e& z/ y" P' Q. T" F* }, l
注意:第二排,最后一个引脚是没有线缆。
2 y9 }0 m& g0 F3 N$ j% ~+ v2. JTAG 编程设计 打开diamond programmer。 0 Y5 q1 _8 N! Q% y
选择createa new blank project。
+ k0 ~4 w8 c: t; J2 c1 M选择detect cable 选择通道0.
' }: Q" H; n' A! V$ v 选择JTAG SCAN按钮,可以扫描到设备。 $ ~% Y; }2 `* d7 F
在operation双击下选择JTAG1532Mode。下面operation选择Fast Program。,选择programmingfile为后缀名bit的文件。 再次选择 ,设备编程。在output看到编程完成。
& ~* O( D- N) K p0 q* z- a( C2 o
3. SPI FLASH 编程 1) 内部nvcm或者内部flash编程。 在operation双击,选择flashprogrammingmode。选择flasherase。Program。verify。选择jed文件,选择ok。
( }) u2 L/ I+ o+ @选择 ,设备编程,完成编程。
7 D3 D; P3 \ a2 l) |
W: k4 h" \% v. ^+ ?5 A- D3 a, N: o2 f% N; c) a$ r) p* s
, c; |( e2 P. ~( h# `
- O6 l3 {& a, U, L2) 外部spiflash编程。 在operation双击选择。SPI FLASH programming。选择operation中spiflasherase,program,verify。,在programmingfile可以选择bit或者msc文件。选择spiflash的型号,看硬件原理图选择厂家,型号。然后确定。 选择 ,设备编程,完成编程。
2 x& E6 `% y7 ]4 o
- t: g7 y! T3 |1 c. k. W5 Z/ Q4. I2C 编程 ; `. E% f; q# b% v; d* T2 s6 ?$ r
Lattice i2c相对比较麻烦的。所以我们要修改lattice的jed的文件。在Programmer 修改jed的feature row参数。 / s a' V! p0 R0 ^" }' t. j
! C/ h; B) i8 e, ]; T
打开文件,并且执行read ; g( n: _2 A, D4 c
/ ]- M9 Y# Y8 O/ J1 X. y% g就可以看到featurerow参数,首先改I2C Persistence Disable 改成0。 选择save保存到文件上面。选择yes,overwrite。
l1 P: L* t) @% V8 p) \2 `5 G- U关闭找个软件。 9 w& r5 {% u5 D, `% P9 d; ^
$ U0 r, K- o# C; s4 z% w7 b' C
. n: `, w8 ~. B
首先在diamond program中,选择对应的器件。
6 Y1 S- K3 G2 \0 v. m) w选择operation双击打开,i2c inteRFace programing,选择i2c program featurerows,设定programming options的files为对应修改的文件。I2cs laveaddress选择默认的 10000地址。 注意选择HW-USBN-2B的FTUSB-1通道,对应I2C的功能。选择 编程。弹出成功烧录featurerow性能参数成功窗口。 + B5 d( X# O* T% h! c7 _( v
9 y2 A8 X, N9 {4 v/ l+ u/ a4 {# @( W+ K
在operation中双击,在弹出的operation中选择I2C program。选择OK。因为I2C编程很慢,所以需要等很久时间才能完成。
! ~8 {& e9 n. H! c0 y2 G8 R1 H* O( }1 q. s, M& P6 v; ?8 D! i. r
. V* F3 T7 ~& z _- G/ s0 H; X! W9 S) i7 `4 Y" i
完成后,输出,烧录成功结果。
4 k. T7 k2 |% ]6 N' _2 x
% t1 d' g& T2 s1 E3 t+ v* H( B& S
5 Y% @# S* A6 ]0 e: Z8 r4 }5 ]* j6 N$ @8 W2 X# c! `
注意,空白的芯片支持I2C编程,如果flash编程过一次,必须擦除才能用I2C编程。并且必须flash必须编程以后再擦出再有意思,如果多次擦除,I2C会不支持。 ; g1 B0 Z. k; \2 |
; S: z7 C$ m" {
% c2 ]2 o9 H, Y4 Z1 Y2 Q& ^! k' Y# g! m3 q' f
9 _3 F2 _6 I# `6 n; u3 w* C/ j- @# I/ y! n: W0 z, P
]- U9 b2 I+ B/ ^0 @+ j# X* W2 P* _" y' A* m
) n! p" H+ z. b/ c; K8 i
5.疑难问题 a) rvl分析错误core0 incorrect signature(RVL file does not match device。) 请重新下载文件 [url=] [/url] , j j. o6 v+ t9 C0 ~/ J ^
3 r! w3 `% o4 b2 j1 Y
b) 为什么program能检测到HW-USBN-2B设备,RVL检测不到设备。Error: failed to set cable por(cable:USBport:EzUSB-0 error:-1). : ]1 s4 x. N: x& t6 J+ M9 l
第一个原因HW-USBN-2A的仿真速度太慢导致异常,要换HW-USBN-2B更快的设备才解决根源问题 。 第二个,因为之前用2A设备检测波形,波形工程设定文件需要修改。
* {- ~5 M$ [4 C5 o& ?5 a& Q 在project中,找到这些文件,删除。Rva波形分析工程相关的名字。 重新选择rvlanalyzer. , m) W2 [0 J/ v2 g4 c* _
在向导里,生成新的文件,选择对应FTDI的设备,检测端口,扫描设备,选择RVL文件。这几个选择正确才有OK可以确认。
/ u6 K. C2 R: a1 |% u |