slide huong dan sử sung cơ bản về fpga phục vu cho việc lập trình trên matlab là tài liệu hay cho các bạn sinh viên dang có y timg hiểu về dong chip nàyslide huong dan sử sung cơ bản về fpga phục vu cho việc lập trình trên matlab là tài liệu hay cho các bạn sinh viên dang có y timg hiểu về dong chip nàyslide huong dan sử sung cơ bản về fpga phục vu cho việc lập trình trên matlab là tài liệu hay cho các bạn sinh viên dang có y timg hiểu về dong chip nàycác bạn cso thể dow ve có j cần hoi thêm thi cứ liên hệ với minh để biet thêmslide huong dan sử sung cơ bản về fpga phục vu cho việc lập trình trên matlab là tài liệu hay cho các bạn sinh viên dang có y timg hiểu về dong chip này
Trang 1in Power Electronics
Trang 2 3.1 Toolbox System Generation trên Matlab
3.2 Phần mềm ISE Project Navigator
Phần 2: Tạo những khối thường dùng bằng Toolbox XSG
1 Khối phát xung
2 Khối tạo sine
3 Khối tạo xung triangle
Trang 3Phần 1 Giới thiệu chung về FPGA
Trang 51 Tổng quan về FPGA
• FPGA được thiết kế đầu tiên bởi Ross Freeman, người sáng lập công ty Xilinx vào năm 1984
• FPGA có khả năng chứa tới từ 100.000 đến hàng vài tỷ cổng logic, so với kiến trúc trước đó CPLD, chỉ chứa từ 10.000 đến
Trang 61 Tổng quan về FPGA
-Ứng dụng của FPGA
• Ứng dụng của FPGA bao gồm: xử lý tín hiệu
số DSP, các hệ thống hàng không, vũ trụ, quốc phòng, phân tích nhận dạng ảnh, tiếng nói
• Do tính linh động cao trong quá trình thiết kế cho phép FPGA giải
Trang 71 Tổng quan về FPGA
-Ưu thế của FPGA
• Khả năng tái cấu trúc cực mạnh
• Tại sao phải dùng FPGA khi nắm trong tay MCU/CPU?
+ MCU/CPU vẫn cần các hardware khác bên cạnh trong các ứng dụng chuyên dụng
Trang 82 Kit phát triển Spartan 6
• Kit Xilinx FPGA Spartan 6 XC6SLX16
Trang 92 Kit phát triển Spartan 6
- Chip FPGA Spartan 6
Bank Phân vùng chức năng
0 VGA, USB2.0, PMOD, UART
1 SD Card, Camera, Ethernet
2 IO, QSPI, FLASH,LED,KEY
Trang 102 Kit phát triển Spartan 6
-Cổng JTAG
Có 2 cách nạp chương trình qua cổng JTAG:
• Nạp bằng tập tin bit
• Nạp bằng tập tin mcs
Trang 112 Kit phát triển Spartan 6
-DDR3 DRAM và EEPROM
• DDR3 DRAM loại MT41J64M16LA-187E, công suất: 128MByte
• EEPROM 24LC04 , công suất: 4Kbit
Trang 122 Kit phát triển Spartan 6
-Cổng vào/ra
• 6 chân cấp nguồn ra, 34 chân dữ liệu
Trang 132 Kit phát triển Spartan 6
-1 số cổng và thành phần khác
• Thạch anh 50M
• Cổng USB 2.0, UART
Trang 142 Kit phát triển Spartan 6
• Cổng VGA, khe cắm SD card, header kết nối camera, ethernet
Trang 153 Các công cụ lập trình
3.1 Toolbox System Generation for DSP
• Toolbox có trong bộ ISE Design Suit 13.4
• Hỗ trợ Matlab phiên bản R2010
• Chú ý: Không khởi động trực tiếp Matlab để sử dụng toolbox này Phải
khởi động từ shortcut System Generator hoặc
Start/All Program/Xilinx ISE Design Suit 13.4/System Generator/System
Generator.exe
Trang 163.1 System Generation for DSP
- Các chức năng chính của Toolbox
• Chức năng mô phỏng chương trình FPGA
• Chức năng kết nối và mô phỏng trực tiếp kit phát triển với Matlab/Simulink (Hardware Co-Simulation)
• Dịch file mô phỏng sang ngôn ngữ VHDL phục vụ cho lập trình trên ISE Project
Navigator
Trang 173.1 System Generation for DSP
-Toolbox gồm 2 thành phần chính:
Xilinx Blockset Xilinx Reference blockset
Trang 183.1 System Generation for DSP
- Thư viện Xilinx Blockset
Trang 193.1 System Generation for DSP
Trang 203.1 System Generation for DSP
Trang 213.1 System Generation for DSP
-Ví dụ phát xung pwm
• Xung PWM được tạo ra bằng cách so sánh 2 tín hiệu với nhau Tín hiệu thứ nhất là xung răng cưa, có thể được tạo bằng bộ đếm
counter Tín hiệu thứ hai là một hằng số
Trang 223.1 System Generation for DSP
- Sơ đồ mô phỏng
Trang 233.1 System Generation for DSP
- Khối tạo xung răng cưa sử dụng bộ đếm counter
Trang 243.1 System Generation for DSP
- Xung răng cưa thu được:
Trang 253.1 System Generation for DSP
- Sóng mang được so sánh với giá trị duty cycle (constant) bằng khối Relational
Trang 263.1 System Generation for DSP
- Xung pwm có tần số bằng tần số xung răng cưa
Trang 273.1 System Generation for DSP
-Kết nối và mô phỏng trực tiếp kit phát triển trên Simulink
• Kích đúp vào token System Generator
• Đối với lần đầu tiên, ta cần thêm mục Spartan6 vào danh sách Hardware Co-Simulation Trong mục Compilation, chọn chế độ Hardware Co-Simulation, chọn New Compilation Target để thêm mới
Trang 283.1 System Generation for DSP
• Các thông số khi thêm danh mục mới cho kit như trong hình Nhấn Install để hoàn tất
Trang 293.1 System Generation for DSP
• Sau khi thêm mới thành công, trong danh sách Hardware Co-Simulation chọn
Spartan6, kích Generate để tạo khối Hardware Co-Simulation
Trang 303.1 System Generation for DSP
• Kết nối kit phát triển với máy tính qua kết nối JTAG
• Chạy mô phỏng
Trang 313.1 System Generation for DSP
• Kết quả mô phỏng trực tiếp trên kit giống với
mô phỏng các khối
Trang 323.1 System Generation for DSP
-Dịch file mô phỏng sang ngôn ngữ VHDL
• Chọn chế độ Bitstream và kích Generate để bắt đầu dịch
Trang 333.1 System Generation for DSP
• Dịch hoàn tất ta thu được 1 project ISE hoàn chỉnh Sau đó tiến hành chỉnh sửa và nạp
code sử dụng phần mềm Project Navigator
Trang 343.2 Project Navigator
2 Phần mềm ISE Project Navigator
-Là công cụ lập trình và nạp chương trình cho kit FPGA
Trang 353.2 Project Navigator
• Giao diện phần mềm
Trang 363.2 Project Navigator
• Giao diện cấu hình chân cho chip FPGA
Trang 373.2 Project Navigator
• Mô phỏng trực tiếp trên Project navigator
Trang 383.2 Project Navigator
• Nạp chương trình
Trang 39Phần 2 Tạo những khối thường dùng bằng các
block cơ bản của Toolbox XSG
1 Khối phát xung
2 Khối tạo sine
3 Khối tạo xung triangle
4 Chèn code vhdl vào file mô phỏng
Trang 401 Phát xung
-Sơ đồ
Xung được tạo ra bằng cách so sánh xung răng cưa sườn lên với tín hiệu constant.
Trang 411 Phát xung
-Tham số khối Counter quyết định tần số xung phát ra:
Trang 421 Phát xung
Explicit_Periode: (phải là số nguyên dương) số chu kì trích mẫu so với chu kì xung clock chuẩn của kit
Xung clock chuẩn có tần số dao động là 50Mhz,
tương ứng chu kì là 2e-8 (s)
-Chu kì xung phát ra:
Tpulse = Count_value*Explicit_Period* 2e-8
= (1999+1)*10*2e-8
Trang 442 Tạo sóng sine
-Sơ đồ khối
Khối Rom có tác dụng xuất ra sóng sin từ
việc xử lý xung sườn lên từ Counter Up Tần
số sóng sin bằng tần số xung sườn lên.
Trang 452 Tạo sóng sine
-Tham số khối Count Up quyết định chu kì sóng sin
Tsin = (399+1)*2500*2e-8 = 2e-2 (s)
fsin = 50 Hz
Trang 462 Tạo sóng sine
-Tham số khối Rom
Number of bits của khối counter = 12 nên Depth =
2^12 = 4096
+ Initial value vector: sin(pi*( -X:X-1)/X)
với X = Count_value/2
= 400/2 = 200
Trang 472 Tạo sóng sine
+Thẻ Output để Fix point: Signed (2’s comp) để có thể xuất sóng sin ở cả 2 nửa âm và dương.
Trang 483 Tạo xung triangle
-Sơ đồ khối
Sử dụng 2 khối Counter Up,
Counter Down để tạo 2 tín hiệu xung sườn lên và
sườn xuống Khối Counter tạo xung đơn (tần số bằng tần số xung răng cưa cần tạo) đưa vào chân select của khối Mux để chọn tín hiệu d0
Trang 493 Tạo xung triangle
- Tham số khối Count Up và Count Down
Trang 503 Tạo xung triangle
-Tham số khối Counter quyết định chu kì xung răng cưa
Ttriangle
= (1+1)*5000*2e-8
= 2e-4 (s)
f triangle = 5 KHz
Trang 514 Chèn Code bằng khối BlackBox
- Sử dụng khối BlackBox để chèn code VHDL vào chương trình mô phỏng Matlab
sẽ yêu cầu chọn file VHDL cần chèn
Trang 524 Chèn Code bằng khối BlackBox
+ File code VHDL phải đặt cùng thư mục với file mô phỏng simulink
+ File code VHDL không được trùng tên với file mô phỏng simulink
+ Chế độ Simulation mode của khối BlackBox phải chọn ISE Simulator
Trang 535 Tạo Deadtime
-Sơ đồ khối
Xung được tạo trễ bằng khối delay, sau đó and xung đã tạo trễ và xung ban đầu với nhau Làm tương tự với xung đảo, ta được khoảng thời gian deadtime
Trang 545 Tạo Deadtime
Nguyên lý:
Trang 56- Sơ đồ điều khiển 1 pha
Trang 57- Thực hiện dịch pha
Trang 58- Kết quả mô phỏng
Trang 59FPGA