30.10.2014 Views

o_195h4n6al16jb186b1b2qs7fgssa.pdf

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

esults will occur when the function executes. In addition, to minimize<br />

execution time,<br />

the DSP Library will do no checking on the provided function arguments<br />

(including<br />

pointers to data memory), to determine if they are valid.<br />

Most functions accept data pointers as function arguments, which contain the<br />

data to<br />

be operated on, and typically also the location to store the result. For<br />

convenience,<br />

most functions in the DSP Library expect their input arguments to be allocated<br />

in the<br />

default RAM memory space (X-Data or Y-Data), and the output to be stored<br />

back into<br />

the default RAM memory space. However, the more computational intensive<br />

functions<br />

require that some operands reside in X-Data and Y-Data (or program memory<br />

and<br />

Y-Data), so that the operation can take advantage of the dual data fetch<br />

capability of<br />

the dsPIC30F architecture.<br />

2.2.6 CORCON Register Usage<br />

Many functions of the DSP Library place the dsPIC30F device into a special<br />

operating<br />

mode by modifying the CORCON register. On the entry of these functions, the<br />

CORCON register is pushed to the stack. It is then modified to correctly<br />

perform the<br />

desired operation, and lastly the CORCON register is popped from the stack to<br />

preserve its original value. This mechanism allows the library to execute as<br />

correctly as<br />

possible, without disrupting CORCON setting.<br />

When the CORCON register is modified, it is typically set to 0x00F0. This<br />

places the<br />

dsPIC30F device into the following operational mode:<br />

• DSP multiplies are set to used signed and fractional data<br />

• Accumulator saturation is enabled for Accumulator A and Accumulator B<br />

• Saturation mode is set to 9.31 saturation (Super Saturation)<br />

• Data Space Write Saturation is enabled<br />

• Program Space Visibility disabled<br />

• Convergent (unbiased) rounding is enabled<br />

For a detailed explanation of the CORCON register and its effects, refer to the<br />

dsPIC30F Family Reference Manual.<br />

dsPIC<br />

®<br />

Language Tools Libraries<br />

có thể, mà không làm gián đoạn thiết lập CORCON.<br />

Khi đăng ký CORCON được sửa đổi, nó thường được thiết lập để 0x00F0. Điều<br />

này đặt các<br />

dsPIC30F thiết bị vào chế độ hoạt động sau đây:<br />

• bội DSP được thiết lập để được sử dụng chữ ký và dữ liệu phân đoạn<br />

• ác bão hòa được kích hoạt cho ác A và B ác<br />

• Chế độ bão hòa được thiết lập là 9,31 bão hòa (Super Saturation)<br />

• Không gian dữ liệu Viết Saturation được kích hoạt<br />

• Không gian Chương trình Tầm nhìn bị vô hiệu hóa<br />

• hội tụ (không thiên vị) làm tròn được kích hoạt<br />

Đối với một lời giải thích chi tiết về đăng ký CORCON và ảnh hưởng của nó,<br />

hãy tham khảo<br />

dsPIC30F Family Reference Manual.<br />

dsPIC<br />

®<br />

Thư viện Công cụ Ngôn ngữ<br />

DS51456B trang 12<br />

2.2.7 tràn và Saturation Xử lý<br />

2004 Microchip Technology Inc<br />

Thư viện DSP thực hiện computationsusing nhất 9,31 bão hòa, nhưng phải lưu<br />

trữ<br />

đầu ra của chức năng định dạng 1.15. Nếu trong quá trình hoạt động của ắc quy<br />

trong bão hòa sử dụng (đi trên 0x7F FFFFFFFF hoặc thấp hơn 0x80 0000<br />

0000), các bit bão hòa tương ứng (SA hoặc SB) trong Statusregister sẽ được<br />

thiết lập. Bit này sẽ ở lại thiết lập<br />

cho đến khi nó bị xóa. Điều này cho phép bạn kiểm tra SA hoặc SB sau khi<br />

chức năng thực hiện và<br />

để xác định xem hành động cần được thực hiện để mở rộng các dữ liệu đầu vào<br />

cho các chức năng.<br />

Tương tự như vậy, nếu tính toán thực hiện với kết quả ác trong một tràn (các<br />

ắc đi trên 0x00 7FFF FFFF hoặc thấp hơn 0xFF 8000 0000), bit tràn tương ứng<br />

(viêm khớp hoặc OB) trong tình trạng đăng ký sẽ được thiết lập.Không giống<br />

như các bit trạng thái SA và SB, viêm khớp và OB sẽ không ở lại cho đến khi<br />

thiết lập theyare xóa. Những bit này được cập nhật mỗi<br />

Hiện một thao tác dùng ắc được thực hiện. Nếu vượt quá phạm vi quy định này<br />

đánh dấu một sự kiện quan trọng, bạn nên cho phép bẫy ác tràn<br />

thông qua các bit hình trứng và OVBTE vào sổ đăng ký INTCON1. Điều này s<br />

có tác dụng<br />

tạo ra một lỗi số học Trap ngay asthe tình trạng tràn xảy ra, và bạn<br />

sau đó có thể có những hành động cần thiết.<br />

2.2.8 Tích hợp với ngắt và một RTOS<br />

Thư viện DSP có thể dễ dàng được tích hợp vào một ứng dụng mà sử dụng ngắ<br />

hoặc một RTOS, nhưng nguyên tắc nhất định phải được tuân thủ. Để giảm thiểu<br />

thời gian thực hiện, các<br />

DSP Thư viện sử dụng DOloops, REPEATloops, modulo địa chỉ và đảo ngược<br />

bit<br />

DS51456B-page 12<br />

2004 Microchip Technology Inc.<br />

giải quyết. Mỗi thành phần này là một nguồn tài nguyên hữu hạn phần cứng trê

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!