PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Chương trình dịch & các công cụ mô phỏng (http://www.picvietnam.com/forum/forumdisplay.php?f=10)
-   -   _Q15 fixed point dấu chấm tĩnh (http://www.picvietnam.com/forum/showthread.php?t=38632)

VietNguyen93 02-05-2019 01:34 PM

_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


Múi giờ GMT. Hiện tại là 08:05 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam