⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tb_g510_106a.vhd

📁 FPGA与ARM EPI通信,控制16路步进电机和12路DC马达 VHDL编写的
💻 VHD
📖 第 1 页 / 共 5 页
字号:
			ARM_READ <= '1';
			ARM_ADDR <= "000000110010";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000110011";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
--------------------------------------------------------------------------------
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000110100";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000110101";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
--------------------------------------------------------------------------------
-- RST_coder
--------------------------------------------------------------------------------
			ARM_ADDR <= "100001111111";
			wait for CLK_period*10;
			ARM_FRAME <= '1';			ARM_WRITE <= '1';			ARM_ADDR <= ARM_ADDR + 1;--2048			ARM_FPGA_DATA <= "0000000000000000";--100			wait for CLK_period*5;			ARM_FRAME <= '0';			ARM_WRITE <= '0';			wait for CLK_period*5;			ARM_FRAME <= '1';			ARM_WRITE <= '1';			ARM_ADDR <= ARM_ADDR + 1;			ARM_FPGA_DATA <= "0000000000000111";			wait for CLK_period*5;			ARM_FRAME <= '0';			ARM_WRITE <= '0';			wait for CLK_period*5;
			ARM_WRITE_OVER <= '1';
			wait for CLK_period*5;	
			ARM_WRITE_OVER <= '0';
--------------------------------------------------------------------------------------------------------------------------------------------------------------------READ_coder----------------------------------------------------------------------------------------------------------------------------------------------------------------		
			wait for CLK_period*50;	
			ARM_FPGA_DATA <= "ZZZZZZZZZZZZZZZZ";
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000000000";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000000001";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
--------------------------------------------------------------------------------
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000000010";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000000011";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
--------------------------------------------------------------------------------
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000000100";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000000101";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
--------------------------------------------------------------------------------
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000000110";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000000111";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
--------------------------------------------------------------------------------
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000001000";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000001001";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
--------------------------------------------------------------------------------
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000001010";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000001011";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--read manch
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
			wait for CLK_period*100;	
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000110000";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000110001";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
--------------------------------------------------------------------------------
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000110010";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000110011";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
--------------------------------------------------------------------------------
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000110100";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000110101";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;	
			wait for CLK_period*50000;
			ARM_RST <= '1';
			wait for CLK_period*10000;
			ARM_RST <= '0';
			wait for CLK_period*100;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------READ_coder----------------------------------------------------------------------------------------------------------------------------------------------------------------		
			wait for CLK_period*50;	
			ARM_FPGA_DATA <= "ZZZZZZZZZZZZZZZZ";
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000000000";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000000001";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
--------------------------------------------------------------------------------
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000000010";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000000011";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
--------------------------------------------------------------------------------
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000000100";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000000101";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
--------------------------------------------------------------------------------
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000000110";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000000111";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
--------------------------------------------------------------------------------
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000001000";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000001001";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
--------------------------------------------------------------------------------
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000001010";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
			ARM_FRAME <= '1';			ARM_READ <= '1';
			ARM_ADDR <= "000000001011";
			wait for CLK_period*5;
			ARM_FRAME <= '0';			ARM_READ <= '0';
			wait for CLK_period*5;
--------------------------------------------------------------------------------
			wait for CLK_period*50000;
		MANCHESTER_A	<= '0';
		MANCHESTER_B	<= '0';
		MANCHESTER_C	<= '0';
		ARM_ADDR <= "011111111111";--2047
--------------------------------------------------------------------------------	
		wait for CLK_period*10;
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------WRITE---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------		--------------------------------------------------------------------------------pulse_1					ARM_FRAME <= '1';			ARM_WRITE <= '1';			ARM_ADDR <= ARM_ADDR + 1;--2048			ARM_FPGA_DATA <= "0000000000000000";--100			wait for CLK_period*5;			ARM_FRAME <= '0';			ARM_WRITE <= '0';			wait for CLK_period*5;			ARM_FRAME <= '1';			ARM_WRITE <= '1';			ARM_ADDR <= ARM_ADDR + 1;			ARM_FPGA_DATA <= "0000000100000001";			wait for CLK_period*5;			ARM_FRAME <= '0';			ARM_WRITE <= '0';			wait for CLK_period*5;--------------------------------------------------------------------------------pulse_2			ARM_FRAME <= '1';			ARM_WRITE <= '1';			ARM_ADDR <= ARM_ADDR + 1;			ARM_FPGA_DATA <= "0000000000000001";			wait for CLK_period*5;			ARM_FRAME <= '0';			ARM_WRITE <= '0';			wait for CLK_period*5;			ARM_FRAME <= '1';			ARM_WRITE <= '1';			ARM_ADDR <= ARM_ADDR + 1;			ARM_FPGA_DATA <= "0000000100000001";			wait for CLK_period*5;			ARM_FRAME <= '0';			ARM_WRITE <= '0';			wait for CLK_period*5;--------------------------------------------------------------------------------pulse_3			ARM_FRAME <= '1';			ARM_WRITE <= '1';			ARM_ADDR <= ARM_ADDR + 1;			ARM_FPGA_DATA <= "0000000000000010";			wait for CLK_period*5;			ARM_FRAME <= '0';			ARM_WRITE <= '0';			wait for CLK_period*5;			ARM_FRAME <= '1';			ARM_WRITE <= '1';			ARM_ADDR <= ARM_ADDR + 1;			ARM_FPGA_DATA <= "0000000100000001";			wait for CLK_period*5;			ARM_FRAME <= '0';			ARM_WRITE <= '0';			wait for CLK_period*5;--------------------------------------------------------------------------------pulse_4			ARM_FRAME <= '1';			ARM_WRITE <= '1';			ARM_ADDR <= ARM_ADDR + 1;			ARM_FPGA_DATA <= "0000000000000011";			wait for CLK_period*5;			ARM_FRAME <= '0';			ARM_WRITE <= '0';			wait for CLK_period*5;			ARM_FRAME <= '1';			ARM_WRITE <= '1';			ARM_ADDR <= ARM_ADDR + 1;			ARM_FPGA_DATA <= "0000000100000001";			wait for CLK_period*5;			ARM_FRAME <= '0';			ARM_WRITE <= '0';			wait for CLK_period*5;--------------------------------------------------------------------------------pulse_5			ARM_FRAME <= '1';			ARM_WRITE <= '1';			ARM_ADDR <= ARM_ADDR + 1;			ARM_FPGA_DATA <= "0000000000000100";			wait for CLK_period*5;			ARM_FRAME <= '0';			ARM_WRITE <= '0';			wait for CLK_period*5;			ARM_FRAME <= '1';			ARM_WRITE <= '1';			ARM_ADDR <= ARM_ADDR + 1;			ARM_FPGA_DATA <= "0000000100000001";			wait for CLK_period*5;			ARM_FRAME <= '0';			ARM_WRITE <= '0';			wait for CLK_period*5;--------------------------------------------------------------------------------pulse_6			ARM_FRAME <= '1';			ARM_WRITE <= '1';			ARM_ADDR <= ARM_ADDR + 1;			ARM_FPGA_DATA <= "0000000000000101";			wait for CLK_period*5;			ARM_FRAME <= '0';			ARM_WRITE <= '0';			wait for CLK_period*5;			ARM_FRAME <= '1';			ARM_WRITE <= '1';			ARM_ADDR <= ARM_ADDR + 1;			ARM_FPGA_DATA <= "0000000100000001";			wait for CLK_period*5;			ARM_FRAME <= '0';			ARM_WRITE <= '0';			wait for CLK_period*5;--------------------------------------------------------------------------------pulse_7			ARM_FRAME <= '1';			ARM_WRITE <= '1';			ARM_ADDR <= ARM_ADDR + 1;			ARM_FPGA_DATA <= "0000000000000110";			wait for CLK_period*5;			ARM_FRAME <= '0';			ARM_WRITE <= '0';			wait for CLK_period*5;			ARM_FRAME <= '1';			ARM_WRITE <= '1';			ARM_ADDR <= ARM_ADDR + 1;			ARM_FPGA_DATA <= "0000000100000001";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -