uC技术交流社区≡嵌入系统开发≡【 CPLD/FPGA技术 】 → ALTERA USB BLASTER自制全套资料


  共有186789人关注过本帖树形打印

主题:ALTERA USB BLASTER自制全套资料

帅哥哟,离线,有人找我吗?
zhongyb
  11楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 贴子:273 积分:595 威望:0 精华:1 注册:2006-5-24 11:16:50
  发贴心情 Post By:2007-1-6 11:23:38

以下是引用wws在2007-1-5 21:48:27的发言:

原理图我这里有,大家要不?

大家一起讨论交流,如果能提供些相关信息或资料,更欢迎。谢谢您的支持!


S3C2410配套6.1寸夏普TFT彩屏 仅260.00 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
woody74520
  12楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:注册用户 贴子:9 积分:232 威望:0 精华:0 注册:2007-1-9 10:39:47
  发贴心情 Post By:2007-1-9 10:44:36

我也想要啊 我想做一个FPGA的配置器


可升级的AVR_JTAGICE仿真器(USB接口),现价280元! 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
honeyandy
  13楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:注册用户 贴子:1 积分:208 威望:0 精华:0 注册:2005-1-20 23:43:28
  发贴心情 Post By:2007-1-9 11:05:40

ooooooooooo

J-Link V7 (SWD SWV support!)(全功能ARM仿真器) 支持(ADS,RV,KEIL,IAR等环境) 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
woody74520
  14楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:注册用户 贴子:9 积分:232 威望:0 精华:0 注册:2007-1-9 10:39:47
  发贴心情 Post By:2007-1-9 19:29:06

我不明白这个程序里面 分成的几个状态是什么 ??希望高手赐教 谢谢


LM3S6916开发板 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
woody74520
  15楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:注册用户 贴子:9 积分:232 威望:0 精华:0 注册:2007-1-9 10:39:47
  发贴心情 Post By:2007-1-9 19:30:06

我不明白这个程序里面 分成的几个状态是什么 ??希望高手赐教 谢谢

LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;

ENTITY jtag_logic IS
 PORT
 (
  CLK : IN STD_LOGIC;        -- external 24/25 MHz oscillator
  nRXF : IN STD_LOGIC;       -- FT245BM nRXF
  nTXE : IN STD_LOGIC;       -- FT245BM nTXE
  B_TDO : IN STD_LOGIC;      -- JTAG input: TDO of last device in chain
  nRD : OUT STD_LOGIC;       -- FT245BM nRD
  WR : OUT STD_LOGIC;        -- FT245BM WR
  B_TCK : BUFFER STD_LOGIC;  -- JTAG output: TCK to chain
  B_TMS : BUFFER STD_LOGIC;  -- JTAG output: TMS to chain
  B_TDI : BUFFER STD_LOGIC;  -- JTAG output: to TDI of first device in chain
  D : INOUT STD_LOGIC_VECTOR(7 downto 0) -- FT245BM D[7..0]
 );
END jtag_logic;

ARCHITECTURE spec OF jtag_logic IS
 TYPE states IS
 (
  wait_for_nRXF_low,
  set_nRD_low,
  keep_nRD_low,
  latch_data_from_host,
  set_nRD_high,
  bits_set_pins_from_data,
  bytes_set_bitcount,
  bytes_get_tdo_set_tdi,
  bytes_clock_high_and_shift,
  bytes_keep_clock_high,
  bytes_clock_finish,
  wait_for_nTXE_low,
  set_WR_high,
  output_enable,
  set_WR_low,
  output_disable
 );
 
 SIGNAL carry: STD_LOGIC;
 SIGNAL do_output: STD_LOGIC;
 SIGNAL ioshifter: STD_LOGIC_VECTOR(7 DOWNTO 0);
 SIGNAL bitcount: STD_LOGIC_VECTOR(8 DOWNTO 0);
 SIGNAL state, next_state: states;
 
BEGIN
 -- sm: PROCESS(nRXF, nTXE, state, D, bitcount, ioshifter, do_output)
 sm: PROCESS(nRXF, nTXE, state, bitcount, ioshifter, do_output)

 BEGIN
  CASE state IS
  
   -- ============================ INPUT
  
   WHEN wait_for_nRXF_low =>
    IF nRXF='0' THEN
     next_state <= set_nRD_low;
    ELSE
     next_state <= wait_for_nRXF_low;
    END IF;
    
   WHEN set_nRD_low =>
    next_state <= keep_nRD_low;
   
   WHEN keep_nRD_low =>
    next_state <= latch_data_from_host;
    
   WHEN latch_data_from_host =>
    next_state <= set_nRD_high;
   
   WHEN set_nRD_high =>
    IF NOT (bitcount(8 DOWNTO 3) = "000000") THEN
     next_state <= bytes_get_tdo_set_tdi;
    ELSIF ioshifter(7) = '1' THEN
     next_state <= bytes_set_bitcount;
    ELSE
     next_state <= bits_set_pins_from_data;
    END IF;
   
   WHEN bytes_set_bitcount =>
    next_state <= wait_for_nRXF_low;
   
   -- ============================ BIT BANGING
    
   WHEN bits_set_pins_from_data =>
    IF ioshifter(6) = '0' THEN
     next_state <= wait_for_nRXF_low; -- read next byte from host
    ELSE
     next_state <= wait_for_nTXE_low; -- output byte to host
    END IF;
    
   -- ============================ BYTE OUTPUT (SHIFT OUT 8 BITS)
   
   WHEN bytes_get_tdo_set_tdi =>
    next_state <= bytes_clock_high_and_shift;
   
   WHEN bytes_clock_high_and_shift =>
    next_state <= bytes_keep_clock_high;
    
   WHEN bytes_keep_clock_high =>
    next_state <= bytes_clock_finish;
    
   WHEN bytes_clock_finish =>
    IF NOT (bitcount(2 DOWNTO 0) = "111") THEN
     next_state <= bytes_get_tdo_set_tdi; -- clock next bit
    ELSIF do_output = '1' THEN
     next_state <= wait_for_nTXE_low; -- output byte to host
    ELSE
     next_state <= wait_for_nRXF_low; -- read next byte from host
    END IF;
   
   -- ============================ OUTPUT BYTE TO HOST
   
   WHEN wait_for_nTXE_low =>
    IF nTXE = '0' THEN
     next_state <= set_WR_high;
    ELSE
     next_state <= wait_for_nTXE_low;
    END IF;
    
   WHEN set_WR_high =>
    next_state <= output_enable;
    
   WHEN output_enable =>
    next_state <= set_WR_low;
    
   WHEN set_WR_low =>
    next_state <= output_disable;
   
   WHEN output_disable =>
    next_state <= wait_for_nRXF_low; -- read next byte from host
    
   WHEN OTHERS =>
    next_state <= wait_for_nRXF_low;
    
  END CASE;
 END PROCESS sm;

 out_sm: PROCESS(CLK, state, ioshifter, B_TDO, bitcount, carry)

 BEGIN
  IF CLK = '1' AND CLK'event THEN
   
   IF state = set_nRD_low OR state = keep_nRD_low OR state = latch_data_from_host THEN
    nRD <= '0';
   ELSE
    nRD <= '1';
   END IF;
   
   IF state = latch_data_from_host THEN
    ioshifter(7 DOWNTO 0) <= D;
   END IF;
   
   IF state = set_WR_high OR state = output_enable THEN
    WR <= '1';
   ELSE
    WR <= '0';
   END IF;
   
   IF state = output_enable OR state = set_WR_low THEN
    D <= ioshifter(7 DOWNTO 0);
   ELSE
    D <= "ZZZZZZZZ"; 
   END IF;
   
   IF state = bits_set_pins_from_data THEN
    B_TDI <= ioshifter(4);
    B_TMS <= ioshifter(1);
    B_TCK <= ioshifter(0);
    ioshifter <= "0000001" & B_TDO;
   END IF;
   
   IF state = bytes_set_bitcount THEN
    bitcount <= ioshifter(5 DOWNTO 0) & "111";
    do_output <= ioshifter(6);
   END IF;
   
   IF state = bytes_get_tdo_set_tdi THEN
    carry <= B_TDO;
    B_TDI <= ioshifter(0);
    bitcount <= bitcount - 1;
   END IF;
   
   IF state = bytes_clock_high_and_shift OR state = bytes_keep_clock_high THEN
    B_TCK <= '1';
   END IF;
   
   IF state = bytes_clock_high_and_shift THEN
    ioshifter <= carry & ioshifter(7 DOWNTO 1);
   END IF;
   
   IF state = bytes_clock_finish THEN
    B_TCK <= '0';
   END IF;
  
   state <= next_state;
   
  END IF;
 END PROCESS out_sm;
 
END spec;


LPC2378开发板 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
boy123
  16楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 贴子:1774 积分:43255 威望:0 精华:12 注册:2003-9-12 11:12:40
  发贴心情 Post By:2007-1-9 23:39:30

应该是16个状态。

可升级的AVR_JTAGICE仿真器(USB接口),现价280元! 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
woody74520
  17楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:注册用户 贴子:9 积分:232 威望:0 精华:0 注册:2007-1-9 10:39:47
  发贴心情 Post By:2007-1-10 13:24:17

谁能对7064每个状态解释一下,我看到头都疼啦!谢谢

我的毕业设计也是做这个 谁能帮帮我

woody74520@163.com 

 谢谢

在latch_data_from_host状态 是不是要RD=1才能读取数据???


LPC2378开发板 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
qqflybirds
  18楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:注册用户 贴子:2 积分:210 威望:0 精华:0 注册:2006-12-10 19:34:31
  发贴心情 Post By:2007-1-10 22:01:46

我也想学习做做,谢谢大家分享.


LPC2378开发板 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
woody74520
  19楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:注册用户 贴子:9 积分:232 威望:0 精华:0 注册:2007-1-9 10:39:47
  发贴心情 Post By:2007-1-11 10:18:55

以下是引用wws在2007-1-5 21:48:27的发言:

原理图我这里有,大家要不?

我想要 能否发给我 最好有程序.谢谢

woody74520@163.com


LM3S6916开发板 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
tsb0574
  20楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 贴子:169 积分:232 威望:0 精华:0 注册:2006-7-9 10:06:14
  发贴心情 Post By:2007-1-11 14:43:26

怎么上传文件,偶这里也有一个usb blaster的图,也是NIOS II开发板的一部分,用的是3128


本站推出的LPC236X KIT学习板,带以太网,CAN等。“详细介绍”。 支持(0中立(0反对(0回到顶部
总数 802 上一页 1 2 3 4 5 6 7 8 9 10 下一页 ..81