Làm thế nào để chọn một nền tảng MCU? [đóng cửa]


43

Có rất nhiều nền tảng MCU và một khi ai đó đã quen với một nền tảng, họ thường miễn cưỡng chuyển sang nền tảng khác.

Câu hỏi của tôi là: Nếu một người bắt đầu sử dụng MCU cho các nhiệm vụ mục đích chung ngày hôm nay, làm thế nào một người sẽ đi về việc chọn một? Các điểm bán hàng độc đáo của các nền tảng khác nhau là gì?


2
Hãy cho chúng tôi biết các loại dự án và khối lượng bạn có trong đầu, và nó sẽ giúp chúng tôi trả lời câu hỏi.
Rocketmagnet

3
Có mục đích chung là nhiều quá rộng. Thật không có ý nghĩa gì khi sử dụng cùng một uC để nháy đèn LED xe đạp và cho RTOS với màn hình LCD màu cảm ứng độ phân giải cao.
Wouter van Ooijen

1
Có, lý tưởng là bạn sẽ có một vài con chip mà bạn quen thuộc với các vấn đề kích thước khác nhau - và sẵn sàng chọn một con chip mới nếu nó phù hợp nhất cho một nhiệm vụ.
Chris Stratton

2
@WoutervanOoijen Ý tưởng với câu hỏi này như sau: có nhiều nhiệm vụ mà bất kỳ nền tảng nào cũng có thể xử lý dễ dàng (nghĩa là các nhiệm vụ mục đích chung). Một là hoàn toàn miễn phí để lựa chọn giữa các nền tảng. Trong trường hợp này, "các yếu tố mềm", ví dụ như dễ sử dụng, số lượng thành phần bên ngoài, vv trở nên chiếm ưu thế. - Tôi muốn tìm hiểu những nền tảng khác nhau làm tốt / kém so với những nền tảng khác.
ARF

7
TÔN GIÁO
Abbeyatcu

Câu trả lời:


30

Một năm trôi qua, tôi đã nói chuyện về chủ đề chọn vi điều khiển (mất khoảng 1,5 giờ). Đối tượng là các lập trình viên và nhà sản xuất phần mềm cấp cao. Phần lớn khán giả không có kinh nghiệm μC trước đó, phần còn lại chỉ chơi với Arduino. Số lượng đầu trong khán giả là khoảng 30. Vì vậy, đây là một phát đa hướng, trái ngược với một phòng khám một-một.

Slide chính trong cuộc nói chuyện là thế này:

Kích thước

để so sánh vi điều khiển. Danh sách theo thứ tự giảm dần.

  • Môi trường phát triển (chuỗi công cụ)
    • Môi trương phat triển
    • Tôi đã đề cập đến môi trường phát triển?
  • Ủng hộ
    • Ghi chú ứng dụng
    • Hỗ trợ đồng đẳng: kiến ​​thức bộ lạc, bạn bè, diễn đàn, mã teh [sic]
  • Đặc trưng
    • Ký ức
    • Thiết bị ngoại vi
    • Năng lực tính toán
  • Sự tiêu thụ năng lượng
  • Giá cả

ps

Tôi nên xác định phạm vi mà câu trả lời này của tôi bị giới hạn. Tôi thấy câu hỏi lựa chọn nền tảng này thông qua hai loại ống kính. Cái đầu tiên là một nguyên mẫu. Người thứ hai là nhà phát triển thiết bị chuyên nghiệp với giá đường phố trên đơn hàng $ 3k và số lượng trong hàng trăm năm. Các ống kính sở thích không phải là quá xa. Trong những trường hợp này, chi phí gia tăng của vi điều khiển là nhỏ, so với chi phí phát triển hoặc chi phí của thiết bị chuyên nghiệp mà vi điều khiển đi vào.

Tất nhiên, có một quan điểm rất khác về sản xuất hàng loạt. Khi ai đó chọn một bộ vi điều khiển cho một thiết bị giá rẻ sẽ được sản xuất với số lượng lớn (đồ chơi chính là một ví dụ điển hình), chúng sẽ bị chi phí bởi phần cứng. Một khoản tiết kiệm khiêm tốn trong chi phí phần cứng nhân với khối lượng sản xuất lớn (hàng trăm nghìn hoặc hơn) có thể biện minh cho nỗi đau của việc sử dụng môi trường phát triển khó sử dụng và một bộ vi điều khiển có giá hời với sự hỗ trợ tầm thường.


Bạn tập trung vào môi trường phát triển. Có nghĩa với tôi. Kết luận của bạn là gì?
ARF

@ArikRaffaelFunke Vâng, những viên đạn trong bài viết của tôi ở trên là kết luận. Không đủ kết luận? Mục tiêu của tôi cho buổi nói chuyện là: (1) Cung cấp danh sách tối thiểu các câu hỏi cần được hỏi trong quá trình lựa chọn. (2) Hiển thị vị trí và cách tìm câu trả lời. Tôi đặc biệt tránh đưa ra kết luận khó khăn dọc theo dòng: gia đình X là tốt nếu ..., gia đình Y là tốt nếu ...
Nick Alexeev

1
Đối với khối lượng nhỏ và yêu cầu điển hình, có. Nhưng đôi khi bạn phải chọn công nghệ tốt nhất. Hoặc nếu khối lượng là rất lớn, việc phát triển khá đau đầu có thể được chứng minh nếu nó tiết kiệm một vài xu cho mỗi tiện ích - bao gồm các giải pháp dựa trên các bộ phận cạnh tranh được thử nghiệm và sẵn sàng để nhảy vào.
Chris Stratton

1
@ChrisStratton Tiêu thụ năng lượng là một điều khác [ngoài hiệu ứng khối lượng sản xuất cao], đôi khi có thể biện minh cho một số vấn đề đau đầu. Ít ai có thể làm được, nếu anh ta muốn hoạt động năng lượng rất thấp và uC (mà anh ta chọn) không thể hỗ trợ nó.
Nick Alexeev

9
Việc tập trung vào môi trường dev là hoàn toàn đúng. Bạn có thể có con chip tốt nhất trên thế giới nhưng nếu bạn không thể lập trình & gỡ lỗi thì cái thứ chết tiệt đó cũng có thể là một viên gạch. Tôi đã nghe những điều tốt về NXP, nhưng không có kinh nghiệm trực tiếp. Tôi nghĩ Freescale rất kém, nhưng sau đó tôi đã thử TI (MSP và sau đó là DM36x) và bây giờ Freescale là một ngọn hải đăng sáng chói trong mắt tôi. Lời khuyên tốt nhất với môi trường BẤT K dev: Xây dựng / cài đặt nó trong một máy ảo và giữ bản sao lưu của nó ở trạng thái hoạt động đầy đủ để nó không bị hỏng khi di chuyển máy tính / nâng cấp HĐH, v.v ...
John U

25

Vì câu hỏi này không hoàn toàn tạo ra sự so sánh nền tảng mà tôi hy vọng, tôi đã cố gắng tự tạo ra một câu hỏi bằng cách nghiên cứu tài liệu cũng như các câu trả lời khác. Có lẽ điều này có thể giúp đỡ người khác trong tương lai.

Xin vui lòng cho tôi biết nếu có bất kỳ sai lầm hoặc nếu có thông tin tôi có thể thêm.


So sánh nền tảng

Những lưu ý liên quan đến việc so sánh:

  • IDE: bình luận liên quan đến phiên bản miễn phí

PIC:

  • cho đến nay các chip cấp thấp nhất
  • nhiều người có bộ điều chỉnh điện áp bên trong
  • ở mức giá nhất định, thường có nhiều thiết bị ngoại vi tốt hơn
  • tiêu chuẩn ngành công nghiệp: thư viện rất tốt và hỗ trợ nhà phát triển
  • IDE: NetBeans, nổi bật, bao gồm mô phỏng ngoại tuyến đầy đủ và gỡ lỗi
  • trình gỡ lỗi của bên thứ ba: khoảng 25 đô la
  • rất nhiều gói
  • điểm bán hàng độc đáo: 1. XLP = thêm các thiết bị năng lượng thấp có sẵn; 2. nhiều chip hiện đại có Module cảm biến điện dung cho các nút cảm ứng, v.v.

AVR:

  • AVR thường tụt lại phía sau việc lấy lại các thiết bị ngoại vi và đắt hơn một chút. Nhìn chung, tuy nhiên, AVR rất giống với PIC về chức năng và giá cả.
  • Chip AVR 8 bit nhanh hơn chip PIC 8 bit
  • Trình giả lập của bên thứ ba: khoảng 20 đô la
  • rất nhiều gói

Cánh tay Cortex-M:

  • kiến trúc bộ xử lý hiện đại: không có bộ nhớ ngân hàng, đa tác vụ tốt
  • cho đến nay các thiết bị 32 bit rẻ nhất
  • khá dễ dàng để di chuyển giữa các chip khác nhau và các nhà sản xuất khác nhau
  • các thiết bị thường yêu cầu nhiều thành phần bên ngoài hơn PIC
  • Các thiết bị USB rất rẻ với bộ tải khởi động ROM: NXP LPC1342 / LPC1343
  • hỗ trợ thư viện hợp lý
  • IDE: hợp lý, không có mô phỏng ngoại tuyến
  • Giao diện SWD cho phép lập trình trong hệ thống, gỡ lỗi và theo dõi với phần cứng dễ xây dựng (
  • chip NXP rẻ tiền chỉ có trong các gói nhỏ hoặc không có pin
  • điểm bán: 1. nền tảng 32 bit rẻ nhất; 2. nền tảng rẻ nhất với bộ tải khởi động USB ROM

PSoc: (từ câu trả lời của Rocketmagnet)

  • vua khi nói đến các thiết bị ngoại vi tương tự: một chip nhất định có thể được cấu hình lại bên trong để cung cấp các thiết bị ngoại vi tương tự và kỹ thuật số khác nhau
  • đắt hơn đáng kể so với PIC
  • IDE: xuất sắc
  • Lập trình viên $ 88 (nó có cho phép gỡ lỗi không?)
  • chỉ các gói SM

Cánh quạt: (từ câu trả lời của Rocketmagnet)

  • MCU đa lõi: các lõi khác nhau có thể hoạt động mô phỏng trên các tác vụ khác nhau
  • loại bỏ / giảm (?) nhu cầu cho các ngắt truyền thống
  • một vài thiết bị ngoại vi phần cứng, phải được mã hóa rõ ràng để chạy trên một trong các lõi, mang lại sự linh hoạt đáng kinh ngạc
  • yếu khi nói đến thiết bị ngoại vi tương tự
  • IDE: xuất sắc
  • Gói DIP có sẵn

So sánh theo ứng dụng

USB:

"Truyền thuyết" cho danh sách dưới đây:

  • bootloader = bộ nạp khởi động USB được lập trình sẵn
  • ổn áp = có thể được cấp nguồn từ xe buýt mà không cần bộ điều chỉnh bên ngoài
  • pullups = không cần pullup bên ngoài
  • kết hợp trở kháng = không cần điện trở kết hợp bên ngoài
  • dao động chính xác = không cần tinh thể bên ngoài

Thuộc tính của thiết bị ít tốn kém nhất: (theo thứ tự giá xấp xỉ)

  • PIC: 8 bit, tốc độ thấp và đầy đủ, bộ điều chỉnh điện áp, pullups, kết hợp trở kháng, bảo vệ ESD
  • NXP: 32 bit, bộ tải khởi động, chỉ toàn tốc độ, bảo vệ ESD
  • Freescale: 8 bit, chỉ tốc độ thấp, ổn áp, phù hợp trở kháng, bảo vệ ESD
  • Atmel: 8 bit, bộ tải khởi động, chỉ tốc độ đầy đủ, bộ điều chỉnh điện áp, pullup, bảo vệ ESD
  • STM: 32 bit, bộ tải khởi động, chỉ tốc độ đầy đủ, pullup, kết hợp trở kháng, bảo vệ ESD
  • Phòng thí nghiệm Silicon: 8 bit, tốc độ thấp và đầy đủ, bộ điều chỉnh điện áp, pullups, kết hợp trở kháng, bộ dao động chính xác
  • TI: 32bit, bộ nạp khởi động, tốc độ thấp và tốc độ đầy đủ, các thuộc tính khác chưa biết
  • PSoc: cấu hình như mô-đun, các thuộc tính khác chưa được biết
  • Cánh quạt: 32 bit, chỉ bitbanging

Ethernet:

  • PIC: thiết bị rẻ nhất có tích hợp PHY

1
Một số lưu ý ở đây: Propeller hoàn toàn không bị gián đoạn và không có hỗ trợ để gỡ lỗi trong IDE chính thức. Thay vào đó, cơ chế gỡ lỗi ưa thích dường như là kết nối mọi thứ với TV và sử dụng thư viện được cung cấp hiển thị các biến trên màn hình. Ngoài ra, không có mã hoàn thành, không có trình giả lập, không tích hợp với các hệ thống quản lý mã, bao gồm triển khai bất thường ... Ngoài ra, không có thiết bị ngoại vi phần cứng nào ngoại trừ hai bộ đếm trên mỗi lõi, theo như tôi biết.
AndrejaKo

2
Lưu ý về chân vịt - Nó KHÔNG có ngắt. Ở tất cả . Nếu bạn cần một cái gì đó tương tự như một ngắt truyền thống, bạn quay một lõi CPU bổ sung và chờ nó quay vòng.
Sói Connor

4
Một danh sách như vậy là gần như vô nghĩa và lỗi thời. Tất cả các nhà sản xuất luôn cạnh tranh với nhau mọi lúc và hầu hết đều cố gắng cung cấp một cái gì đó trong mỗi danh mục - bạn thực hiện một cuộc khảo sát khi bạn có nhu cầu, chọn một giải pháp và nếu nó hoạt động, bạn sẽ chạy theo nó cho đến khi bạn có nhu cầu trong đó có một giải pháp tốt hơn.
Chris Stratton

2
Để biết giá trị của nó, bạn có thể bao gồm dòng MSP430 ở đây cũng như mức tiêu thụ năng lượng cực thấp của nó
boardbite

2
"Hệ thống nhúng / Bộ vi xử lý đặc biệt" có thông tin tương tự về cách chọn bộ xử lý, có thể được chỉnh sửa tương tự để (hy vọng) giữ cho nó luôn cập nhật và tương đối trung tính.
davidcary

7

Sự lựa chọn MCU của bạn phụ thuộc rất nhiều vào loại dự án bạn sẽ thực hiện. Bạn đang làm những thiết bị có khối lượng lớn, siêu rẻ và đơn giản như đèn xe đạp nhấp nháy? Bạn có đang phát triển các robot nguyên mẫu phức tạp phải đối phó với nhiều thiết bị và cảm biến IO kỳ quái không?

Tôi chủ yếu làm việc sau này. Vấn đề chính đối với tôi là cố gắng tìm các bộ vi điều khiển có bộ ngoại vi mà tôi muốn. Điều này rất khó khăn vì các yêu cầu của chúng tôi dường như không phải là chủ đạo. Chúng tôi muốn những thứ như 5 kênh PWM, 5 bộ giải mã Quadrature, 2 cổng SPI không chuẩn và UART với IO bị phủ định.

Các MCU duy nhất tôi đã thấy có thể xử lý các loại yêu cầu đó một cách dễ dàng là PSoC và Cánh quạt.

Chip cánh quạt

Propeller về cơ bản là tám MCU 32 bit trong một chip. Nếu bạn muốn một số loại thiết bị ngoại vi, bạn chỉ cần lập trình một trong các MCU để thực hiện công việc đó. Vì vậy, bạn có thể có bất cứ điều gì bạn muốn.

PSoC

Các PSoC có hai hương vị, 3 và 5. 3 là lõi 8051 và 5 là vỏ ARM ARM. Cũng bao gồm trên chip là các khối kỹ thuật số và tương tự có thể cấu hình lại, có thể được chế tạo thành một loạt các thiết bị ngoại vi: ADC, bộ lọc, op-amps, DAC, SPI, UART, bộ giải mã bậc hai, bộ tạo CRC, v.v.

Môi trường phát triển thật tuyệt vời. Bạn có chỉnh sửa mã nguồn thông thường của một IDE thông thường, nhưng bạn cũng có một trình soạn thảo sơ đồ. Bạn có thể kết nối bất kỳ mạch kỹ thuật số nào bạn thích, kết nối các thiết bị ngoại vi với cổng, flipflops, v.v ... Cần 5 PWM? Dễ dàng, chỉ cần đặt chúng vào sơ đồ, dây chúng lên, và bạn đi. Bạn thậm chí có thể viết các thiết bị ngoại vi của riêng mình trong Verilog nếu bạn muốn thứ gì đó không được cung cấp. Rất nhiều ứng dụng của bạn có thể được thực hiện đơn giản trong loại phần cứng này.

Lợi ích thực sự là bạn có thể gắn bó với một con chip, biết rằng nó có thể giải quyết rất nhiều dự án tuyệt vời mà bạn muốn thực hiện trong tương lai. Điều tôi cảm thấy khó chịu về PIC là liên tục tìm kiếm hàng tá thiết bị tìm kiếm thiết bị ngoại vi cụ thể mà tôi cần. Bây giờ tôi không có vấn đề đó.


Cánh quạt là một khái niệm tò mò. Tôi phải suy nghĩ một chút về điều đó. Về PSoC: Tôi đã xem xét những thứ đó trong quá khứ do tính linh hoạt đáng kinh ngạc nhưng nhu cầu về một lập trình viên $ 250 đã khiến nó trở thành một thứ không thể bắt đầu đối với tôi.
ARF

@ArikRaffaelFunke - Lập trình viên chỉ có 88 đô la , chưa bằng một nửa giá của ICD3 .
Rocketmagnet

@ArikRaffaelFunke - một xem xét khác là bao bì. Nếu bạn có kế hoạch xây dựng các nguyên mẫu của riêng bạn, thì việc làm việc với các gói DIP sẽ dễ dàng hơn nhiều. Hầu hết các PIC và ATmel AVR đều có dạng DIP, cũng như Cánh quạt. PSoC 3 và 5 thì không.
tcrosley

3
schmartboard có một cách dễ dàng sử dụng giải pháp smt để nhúng: youtube.com/watch?v=-32orELxkpE
hulkingtickets

1
@ quantum231: Tôi đã xem xét nó nhưng: 1) Các GPU dường như thường lớn hơn và đắt hơn so với các bộ vi điều khiển (và robot thường rất ngắn trên không gian). Và 2) Tôi không có nhiều kinh nghiệm với các GPU và luôn gặp rắc rối khi phải học một bộ công cụ hoàn toàn khác và cách suy nghĩ chỉ dành cho một số ứng dụng nhỏ.
Rocketmagnet


3

Sử dụng nhiều hơn một nền tảng là được. Chọn một cái tốt nhất cho mỗi công việc và cũng có sẵn mã và các ví dụ liên quan đến công việc.

Hầu hết trong số họ có các công cụ phát triển tốt, arduino có studio trực quan, pic có một công cụ tuyệt vời và những người khác cũng vậy. Vì vậy, đối với tôi, đó là cách nhanh chóng và dễ dàng để tôi có thể hoàn thành tốt công việc, + có bao nhiêu người nguồn mở làm việc trên cùng một thứ?


Nhưng làm thế nào để người ta tìm thấy thông tin như vậy trong khi không bị đánh lừa bởi sự lộn xộn tiếp thị. Ý tôi là, chúng ta phải tìm những người đã sử dụng phần cứng và chuỗi công cụ để có được tất cả thông tin đó. Làm thế nào để bạn tìm thấy những cộng đồng như vậy trong công việc của bạn? Hay là bạn dựa vào những gì Kỹ sư ứng dụng nói với bạn?
quantum231

Bạn có thể đặt câu hỏi trên các diễn đàn khác nhau như thế này. Giải thích ứng dụng của bạn và yêu cầu trợ giúp
Visual Micro

2

Vi điều khiển là một thế giới thay đổi nhanh chóng, có nhiều lợi thế của việc học trên các chip "trong" hiện tại và đáng chú ý nhất của IDE là nhận được sự giúp đỡ từ cộng đồng. Là một người PIC, tôi có thể nói Aduino có thể có IDE và bảng phát triển tốt nhất cho người mới vào lúc này và bạn có thể thêm rất nhiều vào bảng aduino cơ bản mà không cần chạm vào sắt hàn.

Bất cứ ai sử dụng aduino cho công cụ thực tế có thể sớm muốn tiếp tục nhưng đến lúc đó bạn sẽ học được rất nhiều thiết bị điện tử kỹ thuật số cơ bản và một bộ phụ C tốt để dễ dàng sử dụng thứ gì đó phù hợp hơn.

Như ai đó đã đề cập đến việc bạn chọn chip cho dự án của mình, tôi đã thấy một vài dự án sử dụng chip ARM làm cảm biến nhiệt độ đơn giản hoặc bộ chuyển đổi AD, giống như cách tôi đã thấy aduinos và PIC 16 bị đẩy đến giới hạn của chúng để tạo ra một trò chơi xâm lược không gian, FPGA Thật tuyệt vời và thật tuyệt khi hiểu HDL nếu bạn nghiêm túc với thiết kế điện tử .. nhưng thật không may, không có nhiều dự án trong thế giới thực, nơi bạn sẽ cần sử dụng một công việc nhất là khối lượng thấp, thiết kế nhanh và hạn chế về giá và đây là nơi uC 8 bit trị vì tối cao


Tôi hiểu, những hạn chế của Arduino mà một người sẽ khiến một người vượt ra ngoài chúng là gì? ARM có sức mạnh xử lý nhiều hơn PIC và Arduino, liệu nó có các thiết bị ngoại vi không có trong PIC và Arduino hay công cụ của nó vượt trội hơn so với những gì tồn tại cho PIC và Arduino? Tại sao rất nhiều tiếng ồn về chip dựa trên ARM. Tôi biết họ có mức tiêu thụ điện năng rất thấp nhưng tại sao ARM lại được chọn cho các dự án "nghiêm túc"?
quantum231

1

Vì nhiều câu trả lời được đăng tập trung vào việc sử dụng sở thích, nên ở đây có nhiều khuyến nghị khác nhau chỉ dành cho các nhà phát triển chuyên nghiệp.

Yêu cầu tối thiểu
Nếu MCU không đáp ứng tất cả những điều này, thì không nên sử dụng nó.

  • Được sản xuất ít nhất 1 năm.
  • Silicon errata có sẵn và đã được sửa đổi ít nhất một lần.
  • Cơ quan giám sát nội bộ.
  • Phát hiện điện áp thấp / mất điện bên trong.
  • Bộ nhớ flash trên chip.
  • Bảo vệ chống tĩnh điện.
  • JTAG / SWD hoặc một số giao diện gỡ lỗi dây đơn.
  • Lõi sử dụng 8 bit byte và ký hiệu bổ sung của 2.
  • Các mẫu và bảng đánh giá có sẵn.
  • Có hỗ trợ kỹ thuật đáp ứng trực tiếp từ nhà sản xuất.

Dấu hiệu cảnh báo - Phần cứng MCU
Đây là những điều bạn không nên lãng phí thời gian trong năm 2019.

  • Các chế độ địa chỉ tối nghĩa phải được lập trình viên xử lý. Bao gồm việc sử dụng các từ khóa tối nghĩa, không chuẩn để truy cập dữ liệu ROM.
  • Bộ nhớ ngăn xếp nghiêm trọng hoặc giới hạn độ sâu ngăn xếp.
  • 16 bit int, lần lượt đi kèm với tất cả các mối nguy hiểm tiềm ẩn của các chương trình khuyến mãi số nguyên ngôn ngữ C.
  • Không thể thực hiện số học 16 hoặc 32 bit mà không bắt đầu đun sôi.
  • Không bẫy nếu bạn thực thi mã trong phần dữ liệu.
  • Không có bộ đệm theo dõi hướng dẫn.
  • Đi kèm với các thiết bị ngoại vi phần cứng kỳ lạ mà bạn không có sử dụng.

Dấu hiệu cảnh báo - chuỗi công cụ

  • Dựa vào các trình giả lập phần mềm trong PC hoặc một số cách của bộ tải khởi động, thay vì flash toàn bộ MCU và sử dụng thực thi / gỡ lỗi trên chip.
  • Không đi kèm với trình điều khiển / ví dụ / thư viện được tạo sẵn bởi các chuyên gia. Dựa vào các nhà phát triển phát minh lại bánh xe, hoặc các diễn đàn internet / nguồn mở.
  • CRT cho trình biên dịch C không đáp ứng các yêu cầu được liệt kê ở đây .
  • Trình biên dịch C đi kèm với một danh sách dài các tính năng C tiêu chuẩn không được hỗ trợ.
  • Trình biên dịch C vẫn không hỗ trợ C11 (bất kể bạn có ý định sử dụng nó hay không).
  • IDE phát sinh nhiều lỗi liên kết lạ đối với bạn trong lần đầu tiên bạn thử chương trình "hello world".
  • Gặp nhiều lỗi IDE hoặc trình biên dịch trong những tuần đầu tiên sử dụng.

Đây là giáo điều quá mức. Bạn đã hoàn toàn bỏ qua chi phí, các tùy chọn đóng gói, (nguồn mở! = Không chuyên nghiệp), chất lượng của các thiết bị ngoại vi, v.v. Tôi không đồng ý chung với hầu hết những điều này, nhưng những thứ như "giới hạn ngăn xếp [...]" có nghĩa là bạn cần biết sự đánh đổi dẫn đến những hạn chế này ngay từ đầu.
awjlogan

@awjlogan Tùy chọn chi phí và đóng gói rất cụ thể theo dự án, vì vậy không có ý nghĩa gì khi giải quyết ở đây. Tôi đã không nói rằng nguồn mở là không chuyên nghiệp, nhưng một công ty thuê ngoài chuỗi công cụ của họ thành nguồn mở và sự hỗ trợ của họ cho các trang web như SO là không chuyên nghiệp. Mặc dù các dự án nguồn mở có quá ít người đóng góp cũng không chuyên nghiệp, như chúng ta có thể thấy với các cổng trình biên dịch mã nguồn mở cho các MCU kỳ lạ khác nhau. Không nên có bất kỳ lý do nào để chọn MCU với số lượng giới hạn trong năm 2019.
Lundin

Chắc chắn, họ đang dự án cụ thể nhưng bạn đã tăng chi phí ban đầu của bạn ngay lập tức bằng cách xác định 16/32 chút chỉ trong danh sách của bạn (nhanh chóng quét của Digikey) và tôi đã không nhìn thấy một pin 6 M0 thời gian gần đây. Nếu bạn không cần thứ gì đó (bao gồm cả thời gian), đừng tiêu thêm tiền vào đó, đó là những quyết định bạn nên đưa ra như một chuyên gia. Nhưng, vâng, công cụ tốt là rất cần thiết, không thể đồng ý nhiều hơn.
awjlogan

@awjlogan LPC81X đã tồn tại hơn 5 năm. Tôi mới phát hiện ra về Cypress PSoC4 có vẻ thú vị. Và như vậy. Số lượng chân không thường là một đối số, chỉ là kích thước và loại gói. Nếu bạn có thể chịu đựng được QFN hoặc BGA, bạn có thể nhận được những con chip rất nhỏ.
Lundin

đồng ý rằng, lựa chọn của bạn thu hẹp ở kích thước nhỏ (tương tự đối với bất kỳ kiến ​​trúc nào). Quan điểm chung của tôi là trong khi tất cả những thứ trong danh sách của bạn đều được mong muốn, bạn cũng nên nắm bắt đủ để biết khi nào nên phá vỡ chúng.
awjlogan

0

Nếu bạn đang thực hiện một nhiệm vụ có mục đích chung có thể xử lý tương tự và kỹ thuật số thì tôi sẽ ưu tiên PSoC cho IDE, Debugger và số lượng lớn những việc bạn có thể làm với những việc đó.

Tôi đã sử dụng PSoC3 ở trường đại học cho các dự án của mình và nó khá đơn giản để thành thạo. Chỉ có điều là nếu bạn cần một số chip hiệu suất, bạn vẫn sẽ cần phải tách chúng ra. Nó có cổng đủ tốt. Vì vậy, nếu bạn đang tìm kiếm một số chip hiệu suất cùng với bộ phát triển, tốt hơn hết là tìm các thành phần riêng biệt.


1
Có thể đáng để thêm một chút thông tin về PSoC để làm cho điều này hữu ích hơn, một vài câu trả lời khác đã bao gồm nó.
PeterJ

@PeterJ: Tôi muốn đưa ra nhận xét này như một nhận xét cho câu trả lời của Rocketmagnet nhưng tôi không có tiếng tăm gì để đưa ra nhận xét.
ganesh737

Có lý do nào mà bạn không sử dụng thiết kế dựa trên nền tảng mềm mại như sử dụng Nios II trên Altera FPGA hoặc microblaze / picoblaze trên Xilinx FPGA không? Chúng có thể được sử dụng để có được hiệu ứng tương tự như PSoC và tôi cho rằng theo nhiều cách là một sự lựa chọn ưu việt.
quantum231

1
@ quantum231: Tôi sẽ chấp nhận điều đó, nhưng hạn chế chính đối với tôi tại thời điểm đó là ngân sách và điều này có sẵn miễn phí trong bộ phận điện tử của chúng tôi.
ganesh737
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.