DSPIC có thể làm gì mà vi điều khiển PIC khiêm tốn không thể làm được?


10

Tôi chưa sử dụng chip DSP. Tất cả những gì tôi biết là kiến ​​trúc của họ sao cho họ có thể thực hiện các phép tính khá nhanh, thường là trong một chu kỳ đồng hồ, họ có các hướng dẫn tích lũy nhân trong tập lệnh của họ và họ có DMA để CPU không phải lãng phí thời gian di chuyển dữ liệu quý giá xung quanh. Tôi nghĩ có nhiều hơn thế, nhưng đây là một vài điểm cơ bản.

Tôi có thể thấy rằng Microchip có DSPIC là dòng chip DSP của họ. Chúng ta có thể chỉ sử dụng PIC18 hoặc PIC32 cũng được tích hợp nhiều số để làm DSP không? DSPIC khác với PIC bình thường như thế nào?

Câu hỏi chính của tôi là, Tại sao chúng ta cần phải có một thứ riêng biệt và riêng biệt được gọi là chip DSP và không tích hợp khả năng tính toán đơn vị điểm nổi có độ chính xác cao trên tất cả các bộ vi điều khiển? Chắc chắn với các công nghệ xử lý hiện có, điều này sẽ không tốn nhiều không gian.

Ngoài ra, làm thế nào để tôi biết rằng tôi cần sử dụng chip DSP trong dự án của mình chứ không phải là một vi điều khiển thông thường>


1
Có câu trả lời tốt cho câu hỏi tương tự ở đây: Electronics.stackexchange.com/questions/3067/iêu
David

Câu trả lời:


3

Nói chung "DSP ..." có nghĩa là 'mã lực phù hợp hơn và / hoặc phần cứng phù hợp hơn tại thời điểm sản phẩm được giới thiệu .'
Bộ xử lý tổng quát có xu hướng bắt kịp với các thiết bị chuyên dụng olde.
DSPIC là p [dễ dàng hơn 10 tuổi - Olin sẽ biết.

[Các mục trong ngoặc liên quan đến một số ví dụ DSPIC - không đầy đủ].

Trong các sản phẩm DSP mong đợi một số kết hợp:
Mong đợi những thứ như bộ chuyển đổi thùng,
đường ống nhanh và thời gian thực hiện chu kỳ đơn nhanh,
hướng dẫn chu kỳ đơn rộng,
DMA [6 hoặc 8 kênh, bộ đệm RAM cổng kép] phạm vi địa chỉ bộ nhớ tuyến tính lớn [Chương trình 4 Mword , Dữ liệu 64 kB] Các tính năng định hướng số học chuyên gia
Có thể:
các thiết bị ngoại vi chuyên dụng như điều khiển động cơ,
phần cứng cho một số tiêu chuẩn coms khác nhau [CAN, IIC, UART, IIS, AC97, ...] sâu hơn bộ đệm coms thông thường [4 byte] nhanh hơn và / hoặc rộng hơn các ADC thông thường [2 Msps, 10 hoặc 12 bit]

Bạn sẽ tìm thấy hầu hết những thứ này trong gia đình DSPIC - và ngày càng nhiều trong các gia đình bộ xử lý gp.
Trong trường hợp cực đoan, bạn nhận được mã hóa người dùng và nhiều hơn nữa.


1
Nếu tôi nhớ đúng, lần đầu tiên tôi nghe về nỗ lực thiết kế của DSPIC vào năm 1999, các mẫu đầu tiên đã được đưa ra vào đầu năm 2002 với các bộ phận sản xuất vào cuối năm 2002 hoặc đầu năm 2003. Ở đâu đó tôi vẫn có một chiếc 30F2010 được bọc bằng tay trong một gói gốm 28 pin. đã vô tình được dán nhãn là 30F6010. Nó chỉ chạy ở tốc độ tối đa 1/3 cuối cùng, và được đánh dấu bằng tay là # 55 hoặc một cái gì đó.
Olin Lathrop

1
Chúng cũng có thể được xung nhịp lên tới 200 hoặc 260 MHz trong khi dòng PIC chỉ hỗ trợ tối đa 4 đến 20 MHz. Nhanh hơn 10 lần chắc chắn là một điểm cần xem xét.
Havenard

1
@Havenard - Lưu ý rằng đây là một câu hỏi và trả lời năm 2014: Ông đã đề cập đến PIC32 như một giải pháp thay thế khả thi cho DSPIC. PIC32MX 2007 có Cmax (tần số xung nhịp tối đa) là 80 MHz. PIC32MZ 2013 có Cmax là 252 MHz. | | Hữu ích mặc dù so sánh không đầy đủ ở đây {Wikipedia}.
Russell McMahon

11

Một số ưu điểm của DSPIC so với các PIC có kiến ​​trúc trước đó, như các họ PIC 16 và 18:

  1. Đường dẫn dữ liệu rộng 16 bit và ALU, như được gắn với 8.

  2. Khả năng giải quyết trực tiếp (các phiên bản sau của cả hai kiến ​​trúc đã mở rộng điều này theo nhiều cách khác nhau) nhiều bộ nhớ dữ liệu hơn. Một PIC 16 cơ bản có thể giải quyết trực tiếp 128 byte, 512 với ngân hàng. PIC 16F1xxx mới hơn đã mở rộng ngân hàng để cho phép giải quyết nhiều bộ nhớ dữ liệu hơn. Kiến trúc PIC 18 bị giới hạn ở 4k byte. Kiến trúc DSPIC có thể giải quyết trực tiếp 64k byte hoặc 32k từ 16 bit, mặc dù vì nhiều lý do chỉ có một nửa số đó có sẵn cho RAM trong kiến ​​trúc cơ bản. Một kế hoạch ngân hàng trong một số mô hình sau này đã mở rộng điều đó.

  3. Nhanh hơn. 30F ban đầu có thể chạy ở 30 MIP, với 40 phần MIP là tiêu chuẩn. Sê-ri E mới có thể chạy tới 70 MIP, mặc dù có nhiều lý do khiến nó có thể bị chờ đợi trên một cái gì đó so với các mẫu chậm hơn trước đó. Họ vẫn nhanh hơn đáng kể trung bình.

  4. Khả năng DSP. Công cụ DSP có hai bộ tích lũy 40 bit và phần cứng thông thường để thực hiện một chuỗi các hoạt động MAC trên mảng một MAC cho mỗi chu kỳ hướng dẫn (xem câu trả lời của Dave Tweed). MAC và các hướng dẫn liên quan chồng lấp chỉ mục mảng và chấm dứt vòng lặp với tích lũy nhân thực tế.

  5. 15 "thanh ghi làm việc" 16 bit có thể sử dụng phần mềm thay vì thanh ghi W 8 bit đơn của kiến ​​trúc PIC 8 bit.

  6. Thùng shifter.

  7. Nhân một chu kỳ 16x16 -> 32 bit.

  8. Phân chia phần cứng. Một hoạt động 32 div 16 -> 16 bit mất 18 chu kỳ.

  9. Rất nhiều hướng dẫn 3 toán hạng. Ví dụ, bạn có thể thêm nội dung của hai thanh ghi làm việc và đặt kết quả vào một phần ba, tất cả trong một chu kỳ. Điều này áp dụng cho hầu hết các hoạt động toán học, logic và thay đổi.

  10. Nhìn chung, tập lệnh đối xứng thường xuyên hơn.

  11. Ngắt véc tơ. PIC 16 có một vectơ ngắt đơn và PIC 18 có hai. Trên các phần 16 bit (PIC 24, DSPIC 30 và 33), mỗi nguồn ngắt có vectơ riêng. Điều này làm giảm độ trễ trong thói quen ngắt vì nó không phải mất các chu kỳ để tìm ra ngắt nào cho dịch vụ.

    Điều này cũng cho phép kiến ​​trúc phần mềm tốt hơn. Thói quen ngắt cho một thiết bị ngoại vi cụ thể có thể nằm trong cùng một mô-đun với việc xử lý mã khác ngoại vi đó, thay vì phải có một thói quen ngắt toàn cầu.

  12. Nhiều lợi thế khác rơi ra từ kiến ​​trúc rộng hơn.


8

Thông thường, tính năng phân biệt chính của DSP khi so sánh với CPU có mục đích chung là DSP có thể thực hiện một số hoạt động xử lý tín hiệu nhất định với một số, nếu có, chu kỳ CPU bị lãng phí theo các hướng dẫn không tính toán kết quả.

Một trong những hoạt động cơ bản nhất trong nhiều thuật toán DSP chính là hoạt động MAC (tích lũy nhân), đây là bước cơ bản được sử dụng trong ma trận điểm và các sản phẩm chéo, bộ lọc FIR và IIR cũng như FFT. DSP thường sẽ có một thanh ghi và / hoặc tổ chức bộ nhớ và đường dẫn dữ liệu cho phép nó thực hiện ít nhất 64 thao tác MAC trên các cặp dữ liệu duy nhất trong một hàng mà không có bất kỳ đồng hồ nào bị lãng phí khi sử dụng vòng lặp hoặc di chuyển dữ liệu. Các CPU đa năng thường không có đủ các thanh ghi để thực hiện việc này mà không sử dụng các hướng dẫn bổ sung để di chuyển dữ liệu giữa các thanh ghi và bộ nhớ.


1
+1 cho sự nhấn mạnh vào các hoạt động MAC. Đây chắc chắn là cốt lõi của hầu hết các hoạt động DSP.
Matt Young
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.