Mấy bác giúp em với, em tìm hiểu về cách tạo hàm tính Sin, Cos cho FPGAs mà chưa biết cách làm, được biết là phương pháp CORDIC dùng để tính mà em chưa hiểu lắm, có bác nào biết thì chỉ em với, cám ơn mấy bác nhiều!
Thông báo
Collapse
No announcement yet.
Tạo hàm tính Sin, Cos
Collapse
X
-
Nguyên văn bởi xuantung Xem bài viếtchắc là bạn đang dùng phần mềm ise à. những việc tính toán loằng ngoằng như vậy bạn nên để mấy chú vi điều khiển làm. ví dụ như bạn có thể dùng PicoBlaze viết bàng ASEM hoặc bạn dùng MicroBlaze viết bằng C...
Bạn có thử dùng CORDIC core chưa? Chỉ pulse new data signal khi đưa data vào, và ready sẽ go high khi sine/cosine đã được tính xong. Rất gọn.
Điểm mạnh của FPGA chính là việc tính toán. Xu hướng hiện thời là sử dụng FPGA để thay thế embedded processor (cỡ PowerPC 7448 chứ không phải soft processor như MicroBlaze) trong các việc tính toán, chẳng hạn như FFT.
Comment
-
CORDIC core là các lõi có trong thư viện của ISE. thực chất của quá trình viết trên Micro
là sử dụng các hàm API. các hàm này cũng được bọn nó viết và tối ưu rồi có khác nhau nhiều đâu????Lại nói về PPC thì nó cũng là nõi nhưng là lõi cứng tức là nó đã nhũng sẵn trong FPGA. vậy nó khác nhau ở chỗ nào bạn nhỉ. bạn có thể phân tích rõ được không? còn muốn tạo ra sóng sine và cosine thì dùng DDS trong System Generator có luôn rồi bạn ạ. thực ra thì System cũng là lấy các lõi trong core generator ra.bạn có thể phân tích rõ hơn một chút để cho mọi người hiểu???
Comment
-
Em mới làm quen với FPGAs chưa được lâu nên còn non lắm, tại em đang làm Space Vector Modulation nên cần phần tính Cos, Sin cho góc alpha, dùng phương pháp tra bảng thông thường không được, vì góc alpha biến thiên theo thời gian mà không tăng theo bậc, có một phương pháp xây dựng hàm lượng giác như link dưới đây, mấy bác xem giúp em với. Cám ơn mấy bác nhiều!
http://en.wikipedia.org/wiki/CORDIC
Comment
-
Nếu chúng ta đưa alpha (theta) vào, một clock cycle sau chúng ta sẽ nhận được sin(theta) và/hoặc cos(theta) như thí dụ bên dưới dùng Xilinx look-up core, nên alpha (theta) có biến hay không biến cũng không thành vấn đề ở đây.
Core đầu vào theta = 8-bit, nên theta = 0 = 0 radian, và theta = 128 = pi. Đầu ra = 16-bit, nên 16384 = 1.0, và -16384 = -1.0. Trong trường hợp này chúng ta dùng core cho tiện, nhưng thực chất nó chỉ là một look-up table, không nhất thiết phải dùng coregen.
Comment
-
Còn muốn tạo ra sóng sine và cosine thì dùng DDS trong System Generator có luôn rồi bạn ạ. bạn có thể phân tích rõ hơn một chút để cho mọi người hiểu???
DDS tạo sóng dựa theo output frequency và sampling frequency. Như thí dụ bên dưới, sampling clock = 100 MHz, và output frequency = 25 MHz, approximation của sóng 25 MHz lặp đi lặp lại mỗi 4 clock cycles (100 MHz).
Tìm sin/cos đã có thí dụ ở post trên.
Lại nói về PPC thì nó cũng là nõi nhưng là lõi cứng tức là nó đã nhũng sẵn trong FPGA. vậy nó khác nhau ở chỗ nào bạn nhỉ. bạn có thể phân tích rõ được không?
Một thí dụ đơn giản: trong một clock cycle, MicroBlaze có thể làm được một phép tính nhân, và cũng trong một clock cycle, một DSP48 slice (trên Virtex 4/5) hoặc built-in multiplier (trên Virtex-II) làm được một phép tính nhân. Một FPGA như Virtex-4 SX55 có 512 DSP48 slice ... bạn có thể nhúng bao nhiêu MicroBlaze processor vào một FPGA?
MicroBlaze cũng có những điểm mạnh của nó, nhưng computation không phải là một trong số đó.
Comment
-
Mấy bác ơi, thế làm thế nào khai thác được Cor đó hả mấy bác, mấy bác giúp em với, em toàn dùng ISE để viết code VHDL không thôi, em chưa biết cách khai thác các lõi có sẵn được. Người ta hướng dẫn sử dụng thuật giải CORDIC để viết theo cách dịch và cộng mà em chưa hiểu. Em loay hoay hoài mà cũng không xong nữa, mong mấy bác giúp em. Đúng là khó cho mấy bác thật, vì em còn kém quá, chưa hiểu được nhiều, mong mấy bác thông cảm. Cám ơn mấy bác nhiều!
Comment
-
Mình chưa làm với Core nhưng chưa làm nhiều. bạn nemesis21 có thể viết tutorial hướng dẫn làm core được không?
Còn về phần tranh luận ở trên có thể mình và bạn chưa hiểu ý định của nhau.
Phải công nhận là các PPC mà bạn đưa ra thực sự mạnh. mình chưa được sờ đến nó nên chưa biết nó mạnh đến cỡ nào thôi. mình có mấy bo FPGA nên mới chỉ sử dụng mấy con vdk này thôi. chưa có điều kiện tiếp cận như bạn.
tuy nhiên cũng phải nói rằng Micro,PPC là vi điều khiển mềm 32 bit nhúng trong FPGA. nó cho phép tạo nhiều ứng dụng nhúng. các lệnh nhân nó sử dụng đâu phải chỉ có một mà có thể sử dụng tất cả các bộ nhân cứng có sẵn trong FPGA đấy chư.thực chất nó cũng gọi các core generator mà.mà ở đây nó chính là CORDIC. tuy nhiên ở đây cách truyền tham số của nó khác thôi.
mìng đang nghiên cứu, cách xây dựng hệ thống nhúng trên FPGA.cụ thể là nhồi lõi kernel cho các vdk 32 bít này.bạn có kinh nghiệm về mảng này có thể share cho mình một chút?
Comment
-
Tutorial thì Xilinx có rồi, phần CoreGen ở trang 35-37:
http://www.xilinx.com/direct/ise10_t...s/ise10tut.pdf
Comment
-
Nguyên văn bởi xuantung Xem bài viếtMình chưa làm với Core nhưng chưa làm nhiều. bạn nemesis21 có thể viết tutorial hướng dẫn làm core được không?
Còn về phần tranh luận ở trên có thể mình và bạn chưa hiểu ý định của nhau.
Phải công nhận là các PPC mà bạn đưa ra thực sự mạnh. mình chưa được sờ đến nó nên chưa biết nó mạnh đến cỡ nào thôi. mình có mấy bo FPGA nên mới chỉ sử dụng mấy con vdk này thôi. chưa có điều kiện tiếp cận như bạn.
tuy nhiên cũng phải nói rằng Micro,PPC là vi điều khiển mềm 32 bit nhúng trong FPGA. nó cho phép tạo nhiều ứng dụng nhúng. các lệnh nhân nó sử dụng đâu phải chỉ có một mà có thể sử dụng tất cả các bộ nhân cứng có sẵn trong FPGA đấy chư.thực chất nó cũng gọi các core generator mà.mà ở đây nó chính là CORDIC. tuy nhiên ở đây cách truyền tham số của nó khác thôi.
mìng đang nghiên cứu, cách xây dựng hệ thống nhúng trên FPGA.cụ thể là nhồi lõi kernel cho các vdk 32 bít này.bạn có kinh nghiệm về mảng này có thể share cho mình một chút?Nguyên văn bởi xuantung Xem bài viếtnhững việc tính toán loằng ngoằng như vậy bạn nên để mấy chú vi điều khiển làm
Mình cũng dùng viết embedded code (chủ yếu để chuyển tiếp data) nhưng chưa có dịp dùng embedded processor trên FPGA (hơi yếu).
Hình trên là quad-PPC VME board với 2 PMC sites (mỗi PMC thường có 2 FPGA).
Comment
-
Con Microblaze nhúng xuống FPGA thực ra cũng là một cái thiết kế từ VHDL hoặc gì gì đấy,nó cũng có ALU,CU...v..v.Control path và datapath.Cái tạo ra sự khác biệt về tốc độ giữa Microblaze và PPC là thằng Microblze sử dụng các LUT của FPGA để implement,đương nhiên tốc độ làm sao bằng con fix-core PPC được.Microblaze chạy 50Mhz đã là khỏe rồi,còn PPC thì chạy đc 400Mhz cơ mà.
Core generator thì mình đã dùng khá nhiều,và trong đấy có nhiều IP thực sự mạnh,bạn cần cái gì thì đọc datasheet của nó thôi,cũng khá đầy đủ.Mình đã làm thành công 2DFFT từ core 1DFFT của xilinx rồi.Và cũng chỉ đọc datasheet của nó thôi.Đúng là làm FPGA thì phải làm nhiều mới biết đc^^.
Chúc bạn thành công với hệ thống nhúng.mình đang toàn làm VHDL
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho tìm mua đồng hồ vạn năngbởi matnetgia99Ồ, cái này mình cũng có nè, có ai mua không, đồ cũ dùng từ năm 2008, hư 1 2 giai gì đấy bỏ xó hơn năm nay...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 14:40 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80À, sản phẩm họ thiết kế ra, họ yêu cầu mình chứng minh là sau chỉnh sửa thì 1 là gỡ jump cắm lại không hư mạch, 2 là gỡ jump thì 220Vdc vẫn dùng được led áp thấp 20V mà không hư led như mình báo, nên họ hiểu rõ mà....
-
Channel: Điện tử công suất
Hôm qua, 06:08 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Tôi biết và tôi biết.
Sẽ bắt đầu với cái Sồn La, rồi mấy mạch nguồn vớ vỉn.... Rồi sẽ đèn led...
Cuộc đời là những chuyến xe, nên sẽ có:
Xe đạp điện, xe máy điện, xe ô tô điện, xe cấp cứu điện, xe tang điện.
Rồi xem.-
Channel: Điện tử công suất
Hôm qua, 01:38 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Vấn đề là thu ánh sáng rồi phát ra ánh sáng cơ. Hồi mẫu giáo cô bảo đừng làm, lão không nhớ à?
Tốt nhất im mồm....-
Channel: Điện tử công suất
Hôm qua, 01:26 -
-
Trả lời cho Tiếng Anh cho người Việtbởi bqvietBài học kiểu trực tuyến dù là loại đơn giản bậc nhất cũng vẫn cần chú tâm. Chỉ bật tai nghe lên thì không có loại nào thấm nổi đâu. Cách hay hơn, dễ hơn là kiếm phim tiếng Anh nào đó xem, ban đầu bật phụ đề tiếng Việt, nghe và...
-
Channel: Tâm tình dân kỹ thuật
14-02-2025, 16:15 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nguyendinhvanỞ đtvn này mới biết đến 2 loại mạch
1 step down
2 step up
Bây giờ anh lưu vong làm thuê bên nước lạ còn làm ra cái mach vừa up vùa dow luôn.
Tính chất là:
1 Đầu vào bằn ra cho nối thẳng
2 Đầu vào cao hơn...-
Channel: Điện tử công suất
14-02-2025, 00:51 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nguyendinhvanHa ha !
Thay đổi cách nghĩ thì sẽ nghĩ ra.
.
.
.
Một thứ cần kiểm soát dòng + nhiệt + công suất tiêu tán. Nhưng lại dùng tư duy ổn áp. Làm sao mà giải quyết được.
Nó là mạch ổn dòng.
Vì thế các anh nước lạ không thèm quan tâm là phải....-
Channel: Điện tử công suất
14-02-2025, 00:42 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80Vì cứ phải chỉnh sửa cho mỗi dải điện áp, quên chỉnh thì hư chíp phải bảo hành nên em thấy bất tiện, mới cần cái mạch 1 dải áp cao dùng cho tất cả loại đèn đó bác!...
-
Channel: Điện tử công suất
13-02-2025, 17:02 -
-
Trả lời cho Tiếng Anh cho người Việtbởi hankhungdtMình thỉnh thoảng cũng làm việc với người nước ngoài nói tiếng Anh thì toàn ghép nhặt từ, cộng với quơ tay quơ chân để diễn tả, hix. Nỗi khổ là không biết cách để mô tả sự việc. Tôi muốn tìm các bài giảng tiếng anh nào phù hợp...
-
Channel: Tâm tình dân kỹ thuật
13-02-2025, 08:43 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi ti500Chúc mừng bác đã chỉnh sửa thành công, nhưng theo em thì video hơi rối nếu bác muốn gửi cho bên supplier xem.
Nếu là em thì em chỉ cần nối dây để hiển thị liên tục điện áp ở ngõ ra là 220Vdc trước khi gắn LED, kế đến là cắm...-
Channel: Điện tử công suất
13-02-2025, 07:39 -
Comment