Page 976 - 3-2
P. 976
9. 소프트웨어 작성하기
1) FPGA 관련 소스
***************** <Main Module> ***************************************
module Main(clk,rst,uart_rxd,step_clk,
dir, enable, door_power,led,step_gnd);
input clk,rst;
input uart_rxd; // 수신
output step_gnd = 0;
output step_clk;
output [7:0]led;
output [1:0]door_power;
output [1:0]dir; // 방향 설정
output [1:0]enable; //0 으로 되야 함
wire rs232_en;
wire [7:0]rx_data;
wire [1:0]door_open;
wire [2:0]state;
wire [1:0]current_sector;
assign led[2:0] = ~state;
assign led[7:6] = current_sector;
rx1 U0(clk,rst,uart_rxd,rx_data,rs232_en);
Step_Motor U1(clk, rst, rs232_en, rx_data, step_clk,
dir, enable, door_open,state,current_sector);
door U2(clk, rst, door_open, door_power);
endmodule
***************** <rx1 Module> ***************************************
// 수신 OK - 받는 것
module rx1 (clk,reset,rxd,rx_data,rs232_en);
input clk, reset, rxd;
output reg rs232_en;
output [7:0] rx_data;
parameter baud_rate = 5208; // = 54MHz / 9600bps
parameter CLOCKS_WAIT_FOR_RECEIVE = 5208 / 2;
reg [7:0] rx_data; // 수신데이터 저장하는 레지스터
reg [7:0] rx_data_buffer; //rxd 에서 수신된 데이터를 임시로 저장하기 위한 레지스터
- 976 -