a) Những khú khăn
5.2.1. YấU CẦU CHUNG KHI THUYẾT KẾ CPLD/FPGA
5.2.1.1. Chọn vi mạch FPGA phự hợp
Khi phỏt triển cỏc hệ thống số sử dụng FPGA bước đầu tiờn cần được thực hiện là phõn tớch bài toỏn, lựa chọn vi mạch FPGA phự hợp. Việc chọn được vi mạch, cụng nghệ phự hợp nhất cho cỏc tiờu chuẩn thiết kế, được tiến hành theo cỏc yờu cầu sau: -Mật độ: là mật độ logic dự tớnh của linh kiện, đặc trưng bởi khỏi niệm "số lượng cổng".
tớnh theo ns). Mạch tuần tự nhanh nhất sẽ xỏc định tần số tối đa của vi mạch (fMax). Đúng vỏ: Phải xỏc định vi mạch cần gọn nhất hay chỉ sử dụng dạng QFP thụng thường. Hoặc vi mạch thiết kế thuộc dạng cú lắp chõn cắm, trong trường hợp này là vi mạch PLCC. Cụng suất thấp: Phải xỏc định sản phẩm sẽ sử dụng nguồn pin hay năng lượng mặt trời, thiết kế cú yờu cầu cụng suất tiờu thụ thấp hay khụng, vấn đề tổn hao nhiệt cú quan trọng hay khụng?
-Chức năng cấp hệ thống: Phải xỏc định bo mạch cú bao gồm nhiều vi mạch đa mức điện ỏp hay khụng, giữa cỏc vi mạch cú phải chuyển mức hay khụng, cú yờu cầu sửa dạng xung đồng bộ hay khụng, cú yờu cầu giao tiếp giữa bộ nhớ và bộ vi xử lý hay khụng?
5.2.1.2.Chọn giải phỏp cấu hỡnh cho FPGA
- Lập trỡnh ngay trờn hệ thống
Cỏc FPGA của cỏc hóng núi chung, của Xilinx núi riờng cú thể được lập trỡnh ngay trờn hệ thống (vi mạch đó được hàn vào mạch ứng dụng) thụng qua giao thức JTAG (Joint Test Advisory Group: Chuẩn giao tiếp ) đó được tớch hợp sẵn trong IC. Người thiết kế sử dụng cỏp nạp để nạp cấu hỡnh cho CPLD hoặc FPGA. Xilinx đưa ra một chuẩn cỏp nạp như sau:
+ MultiLINX : Cỏp nạp dựa trờn giao thức chuẩn giao tiếp nối tiếp USB hoặc RS232, cỏp nạp này cú tốc độ truyền trong dải rộng và giao diện cú điện ỏp điều chỉnh được để phự hợp với việc giao tiếp với cỏc hệ thống và cỏc chõn I/O hoạt động ở cỏc mức điện ỏp khỏc nhau 5V; 3,3V;2,5V. Và được thiết kế để hỗ trợ để cho cỏc phần mềm gỡ rối phần cứng trước kia, nay chỳng đó trở lờn lỗi thời khi cú sự ra đời của cụng cụ gỡ rối phần cứng ChipScope ILA.
+ Parallel Cable IV: Cỏp nạp sử dụng cổng giao tiếp song song của mỏy tớnh, được phỏt triển để thay thế cho chuẩn cỏp nạp Parallel Cable III và cho phộp tăng tốc độ lờn hơn 10 lần và hỗ trợ cho tất cỏc cỏc vi mạch sử dụng mức điện ỏp I/O từ 5V xuống 1,5V. Hiện nay chuẩn cỏp nạp này được dựng phổ biến hơn cả.
-Lập trỡnh bờn ngoài
Cỏc CPLD và FPGA của Xilinx cũng cú thể được lập trỡnh bờn ngoài bởi bộ lập trỡnh chip HW130 của Xilinx cũng như cỏc bộ lập trỡnh của cỏc nhà phỏt triển khỏc. Điều này cũng thuận tiện cho việc sử dụng cỏc chip được lập trỡnh trước trong thời gian sản xuất. Cấu hỡnh của CPLD được nạp vào FLASH nờn khi mất điện cấu hỡnh khụng bị mất đi, trong khi đú cấu hỡnh khi hoạt động của FPGA được ghi vào SRAM nờn sẽ mất đi khi mất điện, vỡ vậy cần sử dụng FPGA và kết hợp với PROM lưu cấu hỡnh phự hợp, mỗi khi bật nguồn, cấu hỡnh sẽ nạp tự động từ PROM vào FPGA. Cú thể sử dụng PROM nối tiếp hoặc song song, tuy nhiờn thỡ loại PROM nối tiếp hay được sử dụng hơn cả. Khi thiết kế cần chọn loại PROM cú dung lượng phự hợp với mật độ của cỏc loại FPGA khỏc nhau.
Ngoài ra Xilinx cũn cung cấp cỏc giải phỏp được thiết kế trước, dễ sử dụng để cấu hỡnh cho tất cả CPLD và FPGA của Xilinx, nhất là khi thiết kế cỏc hệ thống phức tạp. Tất cả cỏc nội dung liờn quan đến cấu hỡnh, PROM cho FPGA hay ISP cho CPLD, đều được đưa ra. Cỏc giải phỏp sử dụng cụng cụ 3rd part boundary scan, cỏc giải phỏp phần mềm kốm theo, cỏp ISP, thiết bị kiểm tra tự động ATE và hỗ trợ lập trỡnh cũng như cỏc thiết bị lưu trữ cấu hỡnh.
khả năng cấu hỡnh lại linh hoạt của FPGA, bao gồm: - Cấu hỡnh multi-board từ một nguồn duy nhất - Quản lớ bitstream đa cấu hỡnh
- Nõng cấp cấu hỡnh qua mạng (IRL) - Hot-swapping
- Khởi tạo trung tõm xử lớ và lưu trữ phần mềm - Mó húa
Với System ACE CF, người thiết kế cú thể thực hiện được gần như toàn bộ cỏc yờu cầu cấu hỡnh cho FPGA. Cỏc khả năng bổ trợ hệ thống này cho phộp người thiết kế sử dụng FPGA thỏa món cỏc yờu cầu định trước về mặt thiết kế và thời gian xử lớ lỗi. Ngoài ra, cỏc cổng vi xử lớ và cổng kiểm tra JTAG cũn cho phộp tớch hợp System ACE trong mọi hệ thống.
Một số đặc điểm của giải phỏp cấu hỡnh System ACE:
- Độ linh hoạt: Với System ACE CF, cú thể sử dụng một thiết kế cho nhiều ứng dụng khỏc nhau, nhờ đú giảm đỏng kể thời gian hoàn thành sản phẩm. Thay vỡ thiết kế vài bo mạch tương tự nhau phự hợp với cỏc chuẩn khỏc nhau, giờ đõy người thiết kế chỉ phải thiết kế một bo mạch duy nhất với nhiều cấu hỡnh được lưu trữ trong bộ nhớ System ACE CF. Mỗi bo cú thể chọn cỏc cấu hỡnh phự hợp với cỏc chuẩn khỏc nhau bằng cỏch khởi tạo giỏ trị mặc định tương ứng được lưu trong bộ nhớ ACE. Hệ thống cũn cho phộp lưu nhiều cấu hỡnh cho một thiết kế trong một System ACE CF đơn. Vớ dụ như trong quỏ trỡnh thiết kế mẫu, người thiết kế cú thể lưu cỏc cấu hỡnh hoạt động, cấu hỡnh kiểm tra và cấu hỡnh gỡ rối trong bộ nhớ ACE, đồng thời cú thể chọn cỏc cấu hỡnh khỏc để chạy thử bản thiết kế của mỡnh.
Để hỗ trợ quản lý nhiều bitstream và tớch hợp điều khiển cấu hỡnh FPGA với hoạt động của hệ thống, System ACE cú một cổng vi xử lớ trong hệ thống. Cổng này cho phộp bộ xử lớ của hệ thống thay đổi cấu hỡnh mặc định, cấu hỡnh lại trigơ, cấu hỡnh lại từng FPGA hoặc một nhúm FPGA, truy nhập vào cỏc file khụng cấu hỡnh được lưu trong khối CompactFlash, hoặc dựng khối CompactFlash làm bộ nhớ chung cho hệ thống.
Với cỏc FPGA cú trung tõm xử lớ kốm theo, System ACE CF cung cấp giải phỏp 3 trong 1 để quản lớ phần cứng và phần mềm. System ACE CF cú thể cấu hỡnh khung FPGA, khởi tạo trung tõm vi xử lớ, và cung cấp cỏc ứng dụng phần mềm cho trung tõm này nếu cần mà khụng phải thờm bất cứ thiết bị phần cứng nào.
-Mật độ: Với mật độ logic cao chưa từng thấy (trờn 8 Gb), một System ACE CF cú thể cấu hỡnh cho hàng trăm FPGA và cú thể thay thế cho cỏc mảng PROM cấu hỡnh. Người thiết kế cú thể lưu một số lượng lớn cỏc thiết kế khỏc nhau cho một mảng FPGA trong cựng một khối nhớ. System ACE CF sử dụng hệ thống file FAT (File Allocation Table: bảng sắp xếp file tiờu chuẩn), do đú người thiết kế cú thể lưu cả những file khụng ở dạng bitstream hoặc sử dụng bộ nhớ thừa làm bộ nhớ chuẩn cho hệ thống.
- Khả năng quản lý tập trung: System ACE CF được thiết kế để quản lớ cấu hỡnh theo yờu cầu. Một System ACE CF cú thể cấu hỡnh cho một hoặc nhiều bo FPGA kết nối qua một back-plane. Khả năng tập trung cho phộp đơn giản húa quỏ trỡnh quản lớ và nõng cấp cấu hỡnh. Để thay đổi hay nõng cấp cấu hỡnh của một hệ thống, người thiết kế cú thể vào khối nhớ, thực hiện cỏc thay đổi cần thiết trờn màn hỡnh mỏy tớnh, chỉnh lại nội dung trong
với giao diện đồ họa linh hoạt, dễ sử dụng để người thiết kế cú được thiết kế tối ưu. Bộ cụng cụ phần mềm hiện đang được sử dụng rộng rói là ISE với phiờn bản mới nhất là 7.0 (năm 2005). Xilink cũng cung cấp ISE dưới dạng cỏc gúi phần mềm cú cấu hỡnh khỏc nhau với giỏ thành khỏc nhau:
- ISE WebPACK - bản miễn phớ cú thể dựng để thiết kế cho tất cả cỏc họ CPLD của Xilinx.
- Gúi phần mềm cơ bản BASEX: cú thể thiết kế cho cỏc loại chớp sau:
Virtex-4, FPGA LX15, LX25, SX25, FX12, Spartan-3 FPGA lờn đến 1500 ngàn cổng và tất cả cỏc họ CPLD.
- Gúi phần mềm Foundation: cú thể thiết kế cho tất cả cỏc loại FPGA và CPLD của Xilinx.
Ngoài ra Xilinx cũn phỏt triển cỏc bộ cụng cụ phần mềm tiện ớch khỏc như System
Generator hỗ trợ cho cỏc thiết kế DSP (Digital Signal Processor: Bộ xử lý tớn hiệu số), hay EDK (Embbleded Dvelopment Kit: Bộ phần mềm phỏt triển hệ thống) hỗ trợ cho cỏc thiết kế nhỳng. ISE được dựng kết hợp với phần mềm mụ phỏng ModelSim của Mentor Graphics phiờn bản XE được phỏt triển riờng hỗ trợ cho cỏc họ CPLD/FPGA của Xilinx.
5.2.2. Lưu đồ thiết kế cho FPGA
Quỏ trỡnh thiết kế cho FPGA chủ yếu là thực hiện trờn cỏc cụng cụ phần mềm, lưu đồ thiết kế chung cho FPGA (Vớ dụ sử dụng phần mềm ISE) như hỡnh vẽ sau, bao gồm cỏc bước như sau:
Design Entry Schematic ECS HDLVerilog/VHDL L State Machines StateCad Design Verification Functional Simulation ModelSim XE Design Synthesis Xilinx Synthesis Tool XST
Design Implementation Translate
5.2.3.Giới thiệu mạch phỏt triển XST 1000 của hảng XESS
Engineering Software Systems Corporation (XESS) là cụng ty tại phớa Bắc Carolina (Mỹ) được thành lập từ năm 1990. XESS Corp. đưa ra những cụng cụ phỏt triển logic lập trỡnh được với giỏ phải chăng và cỏc hướng dẫn cho người dựng được viết bởi cỏc kĩ sư, cỏc nhà nghiờn cứu, nhà thiết kế và ngay cả của sinh viờnXESS giới thiệu 2 board chuyờn dựng cho xử lý ảnh và audio.
5.2.3.1 XSA-3S1000
Hỡnh 5.6 : KIT X0
SA-3S100,KIT FPGA này bao gồm cú 32 Mbyte DRAM đồng bộ và 2 Mbyte Flash để xõy dựng hệ thống vi điều khiển RISC hoàn thiện dựa trờn phần mềm (soft- core).
Cú thể cú tới 4 bitstream được lưu trữ trong Flash và ta cú thể dựng switch để lựa chọn
Timing Simulation Static Timing Analysis
(ECS) ModelSim XE
Configuration Create Bit file
đồ họa với 512 màu. Thờm vào đú, cũn cú thờm prototyping header đưa cho ta 65 chõn I/O để xõy dựng cỏc giao diện với cỏc ngoại vi khỏc.
Hỡnh 5.7. Sơ đồcấu trỳc của XSA-3S1000
nghiệm ở phũng Lab.
+Mạch stereo và dual-chanel analog I/O dựng cho xử lý õm thanh kết hợp với cỏc thành phần DSP được synthesize với phần mềm CORE generation của Xilinx.
+Video decoder (bộ giải mó video) cho phộp số húa cỏc video dạng NTSC/PAL/SECAM trong cỏc ứng dụng xử lý ảnh.
+Giao diện Ethernet 10/100 làm cho XSA Board cú khả năng truy nhập TCP/IP và cỏc dạng mạng khỏc.
Giao diện USB 1.1 làm cho XSA Board như một ngoại vi USB dạng low- speed hoặc full- speed với PC.
+Giao diện RS-232 rất hữu ớch khi XSA Board cần phải gửi thụng tin qua liờn kết giao tiếp nổi tiếp với tốc độ thấp.
Giao diện IDE cung cấp cho XSA Board khả năng truy cập vào ổ đĩa cứng (hard disk) để lưu và phục hồi dữ liệu.
Cỏc module với chức năng khỏc cú thể thờm vào trong XST Board nhờ cỏc doughterboard connector.
Như vậy, kết hợp giữa XSA-3S1000 và XST-3.0 cho ta một Board ứng dụng xử lý video rất hiệu quả.
Hỡnh 5.8 : XST-3S1000
Hỗ trợ kĩ thuật: XESS cú một group xsboard-user là một mailing list, giải đỏp mọi thắc mắc về thiết kế phần cứng và hệ thống phần mềm khi dựng bo mạch logic khả trỡnh của XESS Corp. Ngoài ra, cỏc phần mềm và module phỏt triển khỏ đầy đủ.
Xilinx là nhà phỏt triển FPGA, CPLD được sử dụng rộng rói trong những ứng dụng truyền thụng, tự động húa, mật mó...và cỏc lĩnh vực khỏc. Cỏc sản phẩm phần cứng của Xilin gồm cú cỏc dũng CPLD : CoolRunner, cỏc họ FPGA như Spartans, Virtex...
Xilinx cũn cung cấp cỏc phần mềm hỗ trợ lập trỡnh FPGA, CPLD như ISE, EDK, LogicCore, System Generator. Cỏc cụng cụ này hỗ trợ rất nhiều cho quỏ trỡnh lập trỡnh FPGA, giỳp giảm thời gian và cụng sức thiết kế. Cỏc phiờn bản phần mềm trờn được nõng cấp thường xuyờn. (Hiện giờ đó cú phiờn bản 10.1 cho cỏc ứng dụng).
ISE 9.2.
Là cụng cụ xõy dựng và lập trỡnh FPGA. ISE 9.2 thực sự là một mụi trường tổng hợp và thực thi toàn diện cho cỏc chip khả trỡnh của Xilinx. Với ISE9.2, người thiết kế cú thể lập trỡnh, gỡ rối, mụ phỏng, dịch và nạp chương trỡnh một cỏch nhanh chúng và dễ dàng. Người thiết kế cũng cú thể thiết kế hệ thống của mỡnh theo nhiều cỏch khỏc nhau : với mó vhd, với sơ đồ RTL, hoặc với sơ đồ trạng thỏi (state machine)
LogicCore 9.2.
LogicCore 9.2 là thư viện của ISE 9.2, trong đú chứa cỏc mó nguồn cho cỏc khối logic cú thể được sử dụng cho việc xõy dựng những hệ thống khỏc nhau. Với Logic Core, người thiết kế cú thể giảm đi rất nhiều cụng sức thiết kế, bỏ qua việc xõy dựng những thành phần đó cú sẵn và tập trung vào việc xõy dựng hệ thống, đồng thời cũng tối ưu húa cỏc thiết kế của mỡnh.
6.1.CẤU TRÚC HỆ THỐNG ĐIỀU KHIỂN BIẾN TẦN MA TRẬN
Hỡnh 6.1 Sơ đồ cấutrỳc điều khiển trong MC
Hệ thống điều khiển cho MC theo phương phỏp biến điệu vector khụng gian cú cấu trỳc biểu diễn trờn hỡnh 6.1 gồm cỏc phần chớnh sau:
1.Khõu tớnh toỏn :cỏc thời gian biến điệu cho cỏc van trong mạch lực theo quy luật biến điệu vector khụng gian.
2.Mạch logic: Tiếp nhận cỏc tớn hiệu thời gian biến điệu, lựa chọn cỏc tổ hợp van tương ứng với cỏc vector lựa chọn và điều khiển bản thõn quỏ trỡnh chuyển mạch giữa cỏc van.
3.Gate driver : Đõy là mạch tiếp nhận cỏc tớn hiệu điều khiển van, chuyển cỏc tớn hiệu này thành dạng phự hợp để đúng, mở cỏc IGBT trong mạch lực.
6.1.1.Khõu tớnh toỏn quy luật biến điệu
Khõu tớnh toỏn quy luật biến điệu sử dung DSP cú sơ đồ cấu trỳc đơn giản hoỏ như trờn hinh 6.1. Tớn hiệu điện ỏp dõy đầu vào uAB, uBC lấy vào từ cỏc biến đổi ACD dựng để tớnh toỏn giỏ trị biờn độ U và β gúc pha trong gúc phần sỏu của vector điện ỏp đầu vào.
Hỡnh 6.2 sơ đồ cấutrỳc khõu tớnh toỏn dựng DSP
Để biến cỏc hệ số biến điệu thành cỏc tớn hiệu điều khiển theo thời gian, cần sử dụng 4 khối PWM trong EVA, EVB. Cỏc đầu ra của cỏc PWM t1, t2, t3, t4 là cỏc tớn hiệu điều khiển cỏc tổ hợp van trong một chu kỡ cắt mẫu. Chu kỡ cắt mẫu Ts được xỏc lập trong khối Event Manager A, B.
Hỡnh 6.3 Sơ đồmạch lực MC
6.1.2.Khõu điều khiển logic
Trong mỗi chu kỡ biến đổi thuật toỏn biến điệu vector khụng gian sẽ cho ra tớn hiệu là thời gian sử dụng cỏc vector biờn chuẩn. Mạch lụgic điều khiển MC cú hai chức năng chớnh:
1.Lựa chọn cỏc tổ hợp van.
2.Điều khiển quỏ trỡnh chuyển mạch theo sơ đồ mạch lực của MC cho trờn hỡnh 2.3.
Việc lựa chọn cỏc tổ hợp van tương ứng với cỏc sector trờn mặt phẳng vector điện ỏp ra và dũng điện vào theo bảng 1. Cỏc tổ hợp này xỏc định pha đầu ra nào sẽ được nối vào pha đầu vào nào.Vớ dụ tổ hợp van abb nghĩa là đầu ra A được núi với pha vào a, đầu ra B được nối với pha vào b, đầu ra C được nối với pha vào b như vậy cỏc khoỏ la SaA, SbB, SbC được điều khiển mở. Cỏc dũng của bảng 1 tương ứng với cỏc sector Ii-Uj(i, j 1..6) trờn mặt phẳng vector. Cỏc cột thời gian tương ứng với thời gian mà cỏc tổ hợp này được sử dụng do phần tớnh toỏn đưa ra. Thứ tự chuyển mạch cho biết thứ tự sử dụng cỏc tổ hợp van.Tớn hiệu đầu ra điều khiển khoỏ 2 chiều SxY(x=a, b, c Y=A, B, C) sẽ là hàm lụgic hoặc (OR) của cỏc đầu vào trờn cỏc cột hoặc cỏc hàng.
6.1.4. Lụgic điều khiển quỏ trỡnh chuyển mạch
Lụgic điều khiển quỏ trỡnh chuyển mạch được điều khiển theo chuyển mạch 4 bước. Với chuyển mạch 4 bước chỉ cần kiểm soỏt được chiều dũng điện mà khụng cần quan tõm đến điện ỏp, tối thiểu hoỏ cỏc khõu đo tớn hiệu từ ngoài vào.