片上电子信息系统,基于EDA的FPGA,串口通信及串口中断 联系客服

发布时间 : 星期三 文章片上电子信息系统,基于EDA的FPGA,串口通信及串口中断更新完毕开始阅读2cbd6a4ee45c3b3567ec8bd2

Net sys_rst_pin TIG;

## IO Devices constraints

#### Module RS232 constraints

# Net fpga_0_RS232_RX_pin LOC=; # Net fpga_0_RS232_TX_pin LOC=;

#### Module LEDS constraints

# Net fpga_0_LEDS_GPIO_d_out_pin<0> LOC=; # Net fpga_0_LEDS_GPIO_d_out_pin<1> LOC=; # Net fpga_0_LEDS_GPIO_d_out_pin<2> LOC=; # Net fpga_0_LEDS_GPIO_d_out_pin<3> LOC=; # Net fpga_0_LEDS_GPIO_d_out_pin<4> LOC=; # Net fpga_0_LEDS_GPIO_d_out_pin<5> LOC=;

Net sys_clk_pin LOC=H17; Net sys_rst_pin LOC=AD4; ## System level constraints

Net sys_clk_pin TNM_NET = sys_clk_pin;

TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 50000 ps; Net sys_rst_pin TIG;

## IO Devices constraints

#### Module RS232 constraints

Net fpga_0_RS232_RX_pin LOC=N8; Net fpga_0_RS232_TX_pin LOC=R8;

#### Module LEDS constraints

Net fpga_0_LEDS_GPIO_d_out_pin<0> LOC=AG6; Net fpga_0_LEDS_GPIO_d_out_pin<1> LOC=AG5; Net fpga_0_LEDS_GPIO_d_out_pin<2> LOC=AF5; Net fpga_0_LEDS_GPIO_d_out_pin<3> LOC=AF6; Net fpga_0_LEDS_GPIO_d_out_pin<4> LOC=AE7; Net fpga_0_LEDS_GPIO_d_out_pin<5> LOC=AE6;

#### Module SW constraints

Net SW_GPIO_in_pin<0> LOC=AG7; Net SW_GPIO_in_pin<1> LOC=AH5; Net SW_GPIO_in_pin<2> LOC=AH7;

17

Net SW_GPIO_in_pin<3> LOC=AJ6; Net SW_GPIO_in_pin<4> LOC=AJ7; Net SW_GPIO_in_pin<5> LOC=AK6;

#### Module CTRL constraints

Net CTRL_GPIO_d_out_pin<0> LOC=C13;## IO16 piN Net CTRL_GPIO_d_out_pin<1> LOC=H15;## IO17 piN

.c文件:

#include \#include \

//此处中实验指导要求#include \但是该文件只定义了XGpio_mGetDataReg函数,并无其他我们将要用到的函数 //而#include \中有如下字符段“

//#include \ //#include \ //#include \

//符合其它函数的调用需求,所以改用#include \ #define XPAR_LEDS_DEVICE_ID 0 main() {

XGpio leds_out;//指向GPIO

XGpio_Initialize (&leds_out, XPAR_LEDS_DEVICE_ID);

//int XGpio_Initialize(XGpio *InstancePtr, u16 DeviceId); //对象的指针 XGpio_SetDataDirection (&leds_out, 1, 0x00);

//XGpio *InstancePtr, unsigned Channel,u32 DirectionMask

//确定如何设置GPIO信号为输出,通过调用XGpio_SetDataDirection函数实现。

int volatile i; while(1) { XGpio_DiscreteWrite(&leds_out, 1, 0x3F);//(XGpio *InstancePtr, unsigned Channel, u32 Mask); */ for(i=0;i<1000000;i++); XGpio_DiscreteWrite(&leds_out, 1, 0x00); for(i=0;i<1000000;i++); } }

18

实验结果:六盏LED灯循环往复,间歇性亮灭。实验结果符合任务要

求。

19

2.2 任务二 2.2.1 实验目的

PC机通过串口RS232控制6盏LED灯,如果上位机发送‘1’

(char),则LED亮,并且FPGA通过串口给PC机发送字符串“LED ON!”,否则LED灭,FPGA通过串口向PC机发送字符串“LED OFF!”。//串口助手

2.2.2 实验内容:

建立一个包含下列IP的处理器系统:

1、 硬件环境沿用任务一

2、 设定任务一中建立的UART参数

20