|
Tài trợ cho PIC Vietnam |
Chương trình dịch & các công cụ mô phỏng Khu vực này chỉ có thành viên diễn đàn mới được vào |
|
Ðiều Chỉnh | Xếp Bài |
02-05-2019, 01:34 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: May 2019
Bài gửi: 1
: |
_Q15 fixed point dấu chấm tĩnh
Chào các bạn, mình mới chuyển qua lập trình dspic, cụ thể là con dspic33EP512MU810.
Mình đang muốn điều khiển PFC cho bộ boost với tầng số đóng cắt là 100KHz. giải thuật điều khiển của mình chạy ở 50KHz với 2 vòng PID. Như vậy chương tình mình có 20us để tính toán toàn bộ. mình cấu hình dspic ở Fcy=70Mhz nên một cycle là 14.28ns Vấn đề của mình là floating point thì dspic tính rất lâu nên mình chuyển qua fixed point vì nghỉ nó cũng giống int nhưng mình thấy nó vẫn khá lâu. kết quả mình đo cụ thể như sau: integer: + 28ns * 28ns / 250ns Floating point (float) + 2.5us * 2.5us / 6.2us fixed point (Q15) libq.h + _Q16add 300ns * _Q16mac 1.2us / _Q16div 8us như vậy với phép cộng và phép nhân, _Q16 tính toán có nhanh hơn được một chút nhưng vẫn rất chậm. Mình nghe nói là dspic hổ trợ dsp có thể thực hiện phép nhân trong 1 cycle. nhưng mà mình không biết làm sao để thực hiện được. Xin các tiền bối đi trước giúp đỡ mình nhé. mình xin cảm ơn nhiều |
|
|