12
Hướng dẫn thực hành với Microblaze Thực hành với Microblaze điều khiển LCD dùng EDK 10.1: Trong tài liệu này chúng tôi giới thiệu cách điều khiển LCD trên dòng board có chíp hỗ trợ Microblaze. Interface giao tiếp với LCD là ngoại vi GPIO. Các điều kiện về thời gian khi điều khiển LCD sẽ được xử lý bởi ngoại vi Timer (cả hai ngoại vi GPIO và Timer đều là các IP được tích hợp sẵn trong EDK). Chương trình có chức năng chính là xóa màn hình LCD, Hiển thị ký tự lên LCD và di chuyển con trỏ màn hình. Các bước tiến hành xây dựng chương trình: 1. Tạo một project từ EDK: 2. Chọn loại board, hãng và revision board mà bạn đang sử dụng, bạn có thể chọn custom board nếu board của bạn không có trong mục Board name.

Hướng dẫn thực hành EDK 10.1 với Microblaze.docx

  • Upload
    bbshir0

  • View
    86

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Hướng dẫn thực hành EDK 10.1 với Microblaze.docx

Hướng dẫn thực hành với Microblaze

Thực hành với Microblaze điều khiển LCD dùng EDK 10.1:

Trong tài liệu này chúng tôi giới thiệu cách điều khiển LCD trên dòng board có chíp hỗ trợ Microblaze. Interface giao tiếp với LCD là ngoại vi GPIO. Các điều kiện về thời gian khi điều khiển LCD sẽ được xử lý bởi ngoại vi Timer (cả hai ngoại vi GPIO và Timer đều là các IP được tích hợp sẵn trong EDK). Chương trình có chức năng chính là xóa màn hình LCD, Hiển thị ký tự lên LCD và di chuyển con trỏ màn hình.

Các bước tiến hành xây dựng chương trình:

1. Tạo một project từ EDK:

2. Chọn loại board, hãng và revision board mà bạn đang sử dụng, bạn có thể chọn custom board nếu board của bạn không có trong mục Board name.

Page 2: Hướng dẫn thực hành EDK 10.1 với Microblaze.docx

3. Chọn processor là Microblaze.

4. Chọn tần số, dung lương BRAM và tùy chọn Debug phù hợp với board bạn đang dùng:

Page 3: Hướng dẫn thực hành EDK 10.1 với Microblaze.docx

5. Mục chọn IO Interface chỉ chọn RS232_DCE.

Page 4: Hướng dẫn thực hành EDK 10.1 với Microblaze.docx

6. Chọn RS232_DCE cho cả STDIN và STDOUT, bỏ chọn Memory test.

7. Sau khi tạo xong project, add IP GPIO cho LCD.

Page 5: Hướng dẫn thực hành EDK 10.1 với Microblaze.docx

8. Kết nối instance GPIO tới PLB bus:

Page 6: Hướng dẫn thực hành EDK 10.1 với Microblaze.docx

9. Double click vào instance xps_gpio_0 và chọn Data Channel With là 7.

8. Chọn tab Ports và gõ vào “LCD_IO” cho mục net name của GPIO_IO.

Page 7: Hướng dẫn thực hành EDK 10.1 với Microblaze.docx

9. Sau đó chọn lại External Ports cho GPIO_IO.

Page 8: Hướng dẫn thực hành EDK 10.1 với Microblaze.docx

10. Chuyển sang tab Addresses chọn 32K cho xps_gpio_0 và click vào Generate Addresses

11. Thêm IP XPS Timer vào project, cũng kết nối instance xps_timer_0 tới PLB bus trong tab Bus Interfaces, chọn dung lượng bộ nhớ là 32K và tạo địa chỉ bộ nhớ cho instance này trong tab Addresses.

Page 9: Hướng dẫn thực hành EDK 10.1 với Microblaze.docx

12. Gán chân LCD cho bus xps_gpio_0 trong file system.ucf :

Page 10: Hướng dẫn thực hành EDK 10.1 với Microblaze.docx

Thêm nội dung constraints sau vào file system.ucf :

#### Module LCD_IO constraints

#### Module LCD_IO constraints

# LCD_FPGA_DB4Net LCD_IO_pin<6> LOC = R15;Net LCD_IO_pin<6> IOSTANDARD=LVCMOS33;# LCD_FPGA_DB5Net LCD_IO_pin<5> LOC = R16;Net LCD_IO_pin<5> IOSTANDARD=LVCMOS33;# LCD_FPGA_DB6Net LCD_IO_pin<4> LOC = P17;Net LCD_IO_pin<4> IOSTANDARD=LVCMOS33;# LCD_FPGA_DB7Net LCD_IO_pin<3> LOC = M15;Net LCD_IO_pin<3> IOSTANDARD=LVCMOS33;# LCD_FPGA_RWNet LCD_IO_pin<2> LOC = L17;Net LCD_IO_pin<2> IOSTANDARD=LVCMOS33;# LCD_FPGA_RSNet LCD_IO_pin<1> LOC = L18;Net LCD_IO_pin<1> IOSTANDARD=LVCMOS33;# LCD_FPGA_ENet LCD_IO_pin<0> LOC = M18;Net LCD_IO_pin<0> IOSTANDARD=LVCMOS33;

Page 11: Hướng dẫn thực hành EDK 10.1 với Microblaze.docx

 

13. Chọn mục Application chỉnh sửa lại nội dung file TestApp_Peripheral.c như sau: click here

14. Tạo file Linker Script:

15. Vào Hardware chọn Generate Bitstream để EDK biên dịch project. Sau đó chọn Download Bitstream để load chương trình xuống con FPGA.

Chú ý:

Các bạn có thể tham khảo các hàm thư viện trong EDK cũng như các ví dụ mẫu trong thư mục cài đặt: EDK\sw\XilinxProcessorIPLib\driver.

Tài liệu tham khảo

1. www.fpgadeveloper.com 2. www.xilinx.com