Tại sao TI có nhiều vi điều khiển như vậy?


44

Tôi đang làm việc trong một dự án với một nhóm và tôi chịu trách nhiệm về phần kỹ thuật số của dự án, vì vậy tôi sẽ viết mã. Để đi từ Analog sang Digital, tôi phải chọn một vi điều khiển.

Tôi đã xem xét vi điều khiển TI và thấy rằng họ có rất nhiều. Họ có:

  • Stellaris

  • Hercules

  • Dòng MSP430

  • Và danh sách chỉ tiếp tục ..

Những câu hỏi của tôi:

  • Bộ vi điều khiển nào sử dụng và tại sao?

  • Trong những điều kiện nào tôi nên sử dụng vi điều khiển X chứ không phải Y?

  • Tại sao có nhiều bộ điều khiển vi mô khác nhau?


5
Bởi vì bạn quyết định theo yêu cầu của mình, sau đó tìm kiếm và tìm một cái phù hợp với 90% thay vì chỉ mua một thứ có thể làm tất cả và hơn 150% cho giá ba lần.
PlasmaHH

4
@PlasmaHH 90% không phải là một lựa chọn tốt :)
Eugene Sh.

39
Tại sao có nhiều xe để lựa chọn khi tôi chỉ muốn đi làm với công việc của mình?
Wouter van Ooijen

9
Super-mega khoảng: 1) MSP430: ứng dụng pin và năng lượng thấp; 2) C2000: điều khiển động cơ & điện tử công suất; 3) Tiva (TM4C): bộ xử lý ARM đa năng; 4) Sitara: cao cấp hơn nhiều (cortex A8, A9, v.v.), bạn có thể chạy linux trên nó; 5) Hercules: ứng dụng an toàn. Ngoài ra có nhiều DSP (C5000 và C6000). Liên kết này có thể hữu ích. Ngoài ra TI có nhiều liên kết hướng dẫn lựa chọn mà tôi chưa sử dụng cá nhân thậm chí 10% trong số họ, vì vậy không thể nói thêm ...
GAttuso

9
Một phần của câu trả lời là TI đã mua một số nhà sản xuất vi điều khiển thành công và bán thành công và tiếp tục phát triển và sản xuất các dòng đó.
DoxyLover

Câu trả lời:


123

Tôi là nhân viên TI làm việc trong nhóm phát triển MCU, nhưng đây không phải là tuyên bố chính thức từ TI. Đặc biệt, đây không phải là một tuyên bố chính thức về lộ trình hoặc ưu tiên. Ngoài ra, tôi không tham gia tiếp thị, vì vậy nếu tôi mâu thuẫn với bất kỳ tài liệu tiếp thị nào của chúng tôi, họ đúng và tôi sai. :-)

Câu trả lời của MD là chính xác, nhưng tôi nghĩ một số chi tiết sẽ hữu ích. TI nhắm mục tiêu các ứng dụng khác nhau với các yêu cầu khác nhau. Khi bạn cạnh tranh cho một ổ cắm MCU (và có rất nhiều sự cạnh tranh trong ngành này), cả về tính năng và giá cả. Chênh lệch chi phí mười xu có thể thắng hoặc mất ổ cắm. Một trong những động lực chính của chi phí là kích thước khuôn - bao nhiêu thứ trên chip. Do đó, thật hợp lý khi có các dòng sản phẩm khác nhau và các họ khác nhau trong các dòng sản phẩm đó. Các dòng sản phẩm khác nhau chủ yếu ở các loại ngoại vi và kiến ​​trúc, trong khi các gia đình trong một dòng sản phẩm khác nhau chủ yếu về chi phí và bộ tính năng.

Dưới đây là một số chi tiết về các dòng sản phẩm:

  • Hercules là sự tiếp nối của dòng TMS470 / TMS570. Nó tập trung vào sự an toàn và hiệu suất. Một trong những tính năng chính của Hercules là CPU kép chạy cùng mã song song ("bước khóa"). Điều này cho phép bạn ngay lập tức phát hiện lỗi trong CPU. Kiểm tra bảng dữ liệu này để biết một số thông tin hiệu suất trên một sản phẩm mới hơn. CPU Cortex-R5F chạy ở tốc độ> 300 MHz và có một số lượng lớn các thiết bị ngoại vi với các tính năng cao cấp hơn - ví dụ, các mô-đun CAN có 64 hộp thư. Rõ ràng, thứ này không rẻ. Nhưng hãy nhìn vào các ứng dụng - máy khử rung tim, máy thở, thang máy, máy bơm insulin ... đây là những nơi khách hàng sẵn sàng trả tiền cho sự an toàn. Hercules cũng đi vào các sản phẩm ô tô có phạm vi nhiệt độ rộng hơn và tuổi thọ hoạt động lâu hơn.
  • Trọng tâm của C2000 là hỗ trợ các thuật toán điều khiển. "CPU" C28x thực sự là một DSP và bộ hướng dẫn của nó đã được mở rộng để xử lý những thứ như lượng giác và số phức. Ngoài ra còn có một bộ xử lý dựa trên nhiệm vụ riêng biệt được gọi là Bộ điều khiển Luật Tăng tốc (CLA) có thể chạy các thuật toán điều khiển độc lập với CPU. Các ADC và PWM cũng hỗ trợ rất nhiều tùy chọn thời gian. Hiệu năng thay đổi từ tầm trung ( Piccolo ) đến cao cấp ( Delfino lõi kép ). Các ứng dụng lớn ở đây là bộ chuyển đổi năng lượng, giao tiếp đường dây điện, ổ đĩa công nghiệp và điều khiển động cơ.
  • MSP430 là tất cả về năng lượng thấp. Họ có một số sản phẩm sử dụng FRAM (bộ nhớ không dễ bay hơi), sử dụng ít năng lượng hơn đèn flash và thậm chí một sản phẩm hết 0,9V (một pin). Chúng có một số thiết bị ngoại vi ít phổ biến hơn để hỗ trợ những thứ như LCD và cảm biến cảm ứng điện dung. Xem qua bảng dữ liệu của họ và bạn sẽ thấy các ứng dụng như cảm biến từ xa, thiết bị báo khói và đồng hồ thông minh.
  • Tôi không biết nhiều về nhóm MCU không dây, nhưng rõ ràng kết nối không dây có những yêu cầu đặc biệt riêng. Chúng dường như có CPU Cortex-M và MSP430, với các ứng dụng trong thiết bị điện tử tiêu dùng và Internet of Things. IoT đã trở thành một từ thông dụng lớn trong một thời gian, vì vậy tôi tưởng tượng đó là một trong những mục tiêu chính của họ. Mới nhất (?) Của họ sản phẩm được mô tả như một "Internet-on-a-chip ™ giải pháp". CẬP NHẬT: Fellow TIer justinrjy đã nhận xét với nhiều thông tin hơn về MCU không dây / kết nối: Các sản phẩm "MCU không dây" được phân biệt bằng cách có lõi xử lý chạy trình điều khiển / ngăn xếp của giao thức không dây. Ví dụ, CC26xx chạy toàn bộ ngăn xếp BLE trên Bản thân uC, giúp phát triển rất dễ dàng. Tương tự với CC3200, ngoại trừ bộ xử lý chạy tất cả các trình điều khiển WiFi trên Cortex-M4. Lõi tích hợp và trình điều khiển thực sự tạo nên một 'MCU không dây', thay vì bộ thu phát . "

Như bạn có thể thấy, các dòng sản phẩm này đang nhắm mục tiêu các ứng dụng rất khác nhau với các yêu cầu rất khác nhau. Việc đưa chip Hercules 300 MHz vào thiết bị chạy bằng pin sẽ là một thảm họa, nhưng do đó, việc đặt MSP430 vào túi khí. Kích thước vật lý cũng có thể quan trọng. Một gói BGA có pin 336 pin rất khó lắp vào một cảm biến nhỏ, nhưng nó không là gì đối với một thiết bị công nghiệp.

Trong các dòng sản phẩm, có nhiều gia đình. Các thiết bị Delfino C2000 nhanh hơn, có nhiều thiết bị ngoại vi hơn và có nhiều chân hơn trên các gói của chúng. Chúng cũng có thể có giá (ít nhất) gấp đôi so với thiết bị Piccolo. Bạn cần cái nào Nó phụ thuộc vào ứng dụng của bạn. MSP430 có một số sản phẩm cân bằng mức tiêu thụ năng lượng và hiệu suất, và những sản phẩm khác chỉ tập trung vào công suất thấp. (MCU một pin đó đạt tối đa 4 MHz và 2 kB RAM.)

Có nhiều sản phẩm trong mỗi gia đình bởi vì các sản phẩm mới được phát triển mọi lúc. Các bóng bán dẫn nhận được nhỏ hơn / rẻ hơn, vì vậy nhiều thứ có thể đi trên một con chip. Một MCU tầm trung ngày nay sẽ là siêu cao cấp mười năm trước. Mỗi sản phẩm thường được thực hiện để nhắm mục tiêu một vài ứng dụng cụ thể và hỗ trợ những người khác nếu có thể.

Cuối cùng, có nhiều biến thể của mỗi sản phẩm (AKA chữ số cuối cùng trong số phần). Chúng thường có lượng bộ nhớ khác nhau và (có thể) các biến thể nhỏ trong các thiết bị ngoại vi có sẵn. Một lần nữa, đây là tất cả về việc cung cấp một phạm vi giá.

Phiên bản ngắn là mỗi sản phẩm cung cấp một sự cân bằng khác nhau về giá cả, hiệu suất và tính năng. Đó là phân khúc thị trường cũ đơn giản. Khách hàng của chúng tôi là nhà sản xuất, những người quan tâm nhiều đến chênh lệch giá nhỏ hơn người dùng cuối. Mọi người mua mỗi số phần chúng tôi có, vì vậy rõ ràng nhu cầu là có. :-)

CẬP NHẬT: Jeremy hỏi các yêu cầu của khách hàng lớn ảnh hưởng đến quá trình thiết kế như thế nào và liệu chúng tôi có thực hiện MCU tùy chỉnh không. Tôi đã thấy một số MCU TMS470 / 570 được sản xuất cho một khách hàng ô tô lớn. Nhóm đó cũng có một vài MCU có kiến ​​trúc được thiết kế bởi và cho một khách hàng. Trong ít nhất một trong số đó, khách hàng đã viết hầu hết RTL. Đó là những hạn chế NDA nặng nề, vì vậy tôi không thể cung cấp chi tiết.

Các sản phẩm thị trường chung thường có ít nhất một khách hàng lớn trong tâm trí. Đôi khi khách hàng lớn có được một số phần đặc biệt. Đôi khi chúng tôi sẽ thêm một thiết bị ngoại vi chỉ để giành được một ổ cắm lớn. Nhưng nói chung, tôi nghĩ rằng khách hàng lớn là một sàn hơn là trần nhà khi nói đến các tính năng.

Một ví dụ cực đoan của các bộ phận tùy chỉnh là nhóm có độ tin cậy cao của chúng tôi. Tôi chỉ nghe những câu chuyện về những người này, nhưng rõ ràng họ lấy các sản phẩm hiện có và làm lại chúng để làm việc trong điều kiện khắc nghiệt - nhiệt độ cao, bức xạ, mọi người bắn vào bạn, v.v. Tôi biết ai đó mua HiRel TMS470 để khoan lỗ , nơi nhiệt độ có thể đạt tới 200C. (Có thể là cái này - tồn kho tại Arrow chỉ với $ 400 / chip!) Họ có một loạt các sản phẩm tiêu chuẩn được liệt kê trên trang web, nhưng từ những gì tôi đã nghe, họ có thể xây dựng để đặt hàng ngay cả với số lượng nhỏ - bạn có thể mua hàng tá phiên bản HiRel của bất kỳ chip nào bạn muốn nếu bạn sẵn sàng chi $ 50.000 + cho mỗi chip. :-)

Theo nguyên tắc thông thường, mọi thứ trong kinh doanh đều có thể thương lượng nếu bạn chi tiêu đủ tiền.


3
Wow thật là một câu trả lời! Tuyệt vời! Cảm ơn ngài đã dành chút thời gian quý báu của bạn và trả lời câu hỏi của tôi một cách kỹ lưỡng. Tôi yêu TI, và tôi rất thích làm việc cho TI một ngày nào đó. Các bạn đang làm những điều tuyệt vời tại TI.
Andy_A̷n̷d̷y̷

4
@Jeremy: Để có đủ tiền, về cơ bản bạn có thể nhận được bất cứ thứ gì (số tiền đó có thể mua). Nhưng hãy lưu ý rằng ý tưởng của bạn về "khối lượng lớn" và ý tưởng của nhà sản xuất có thể không khớp chính xác. Tôi nhớ rằng Quỹ RaspberryPi đã có một thời gian thực sự khó khăn khi kinh doanh với Broadcom, vì họ (Broadcom) thường không giao dịch với số lượng "thấp" như vậy ...
DevSolar

5
Mười xu? Tôi đã từng làm việc ở một nơi mà việc giảm 1/10 xu chi phí sản xuất đáng giá hơn một năm lương cho một kỹ sư cao cấp. Tất nhiên, ở quy mô đó, họ không mua MCU rời rạc: Họ đã cấp phép cho IP và sử dụng nó trong các thiết kế ASIC hoàn toàn tùy chỉnh.
Solomon chậm

4
Kỹ sư ứng dụng TI đang tìm kiếm ở đây - Tôi có thể lấp đầy khoảng trống một chút về thông tin liên quan đến phần Kết nối / MCU không dây! Các sản phẩm "MCU không dây" được phân biệt bằng cách có lõi bộ xử lý chạy trình điều khiển / ngăn xếp của giao thức không dây. Chẳng hạn, CC26xx chạy toàn bộ ngăn xếp BLE trên chính uC, giúp nó thực sự dễ dàng phát triển. Tương tự với CC3200, ngoại trừ bộ xử lý chạy tất cả các trình điều khiển WiFi trên Cortex-M4. Lõi tích hợp và trình điều khiển thực sự là thứ tạo nên "MCU không dây", thay vì bộ thu phát.
justinrjy

2
@ Rev1.0, Ổ đĩa cứng cho PC hàng hóa.
Solomon chậm

27

MSP430 là / là một lõi được phát triển TI. Nó là lõi 16 bit và được bán trên thị trường với công suất cực thấp. Do thị trường MCU 16 bit đang nhanh chóng bốc hơi với sự phổ biến của Arm Cortex-M0, nên có những MSP430 mới hơn dựa trên lõi Cortex. Các MPS430 cũ hơn hiện đang cạnh tranh cho các ổ cắm 8 bit.

Stellaris, được đổi tên thành Tiva, là cựu MCU của Luminary. Công ty đó đã được TI mua lại khoảng 6 hoặc 7 năm trước. Đây là (là?) Các thiết bị dựa trên Cortex-M3 / M4. Có khả năng / mạnh hơn MSP430 trong hầu hết các trường hợp.

C2000 (Piccolo / Delfino / v.v.) được nhắm mục tiêu vào điều khiển thời gian thực (điều khiển động cơ, chuyển đổi / điều chỉnh công suất, v.v.). Gia đình này cũng có chức năng DSP cấp thấp hơn. Nhắm mục tiêu nhiều hơn vào công nghiệp, và có lẽ một số ô tô (một trong số ít MCU TI đủ điều kiện ô tô).

Hercules tập trung vào sự an toàn. Dự phòng, kiểm tra lỗi thời gian chạy, BIST, rất nhiều chức năng theo dõi. Ứng dụng quan trọng an toàn.

Có một số phần khác có một số kết hợp các tính năng và / hoặc chức năng thích hợp (ví dụ, không dây tích hợp, lõi kép, FRAM, v.v.). Và sau đó, cũng có các DSP và Bộ vi xử lý có khả năng cao hơn được cung cấp.

Ứng dụng của bạn là gì? Âm lượng? Dòng thời gian phát triển? Bạn cần những thiết bị ngoại vi / tài nguyên nào? Bao nhiêu - và loại công suất - là cần thiết? Bạn có thể nhận được bằng các thiết bị ngoại vi tương tự hiệu suất thấp hơn của MCU, hoặc bạn sẽ thực hiện tất cả các xử lý đường dẫn tín hiệu ra bên ngoài / một cách riêng biệt? Có nhiều yếu tố trong việc chọn bộ xử lý / bộ điều khiển cho một hệ thống / ứng dụng cụ thể.


6
Các lõi Cortex công suất thấp được gọi là MSP432 để (tối thiểu) phân biệt chúng với MSP430. Stellaris trở thành Tiva. Và loạt Hercules được phân chia giữa ô tô và loạt công nghiệp / y tế - chủ yếu dựa trên phạm vi nhiệt độ và tôi có thể hỗ trợ cho ô tô.
Brian Drumond

1
Tại một thời điểm IIRC, Hercules là lõi Cortex-Rx, hoàn thành với các đường ống dẫn hướng bước khóa kép. Dự định sử dụng trong bộ điều khiển phanh, mô-đun túi khí, vv
Krunal Desai

1
Câu trả lời rất hay. Bạn dường như biết rất nhiều về TI. Tôi không biết họ đã mua Luminary Micro MCU. Cảm ơn bạn đã dành thời gian.
Andy_A̷n̷d̷y̷

18

Microchip là một công ty khác có một dòng vi điều khiển hoàn chỉnh - hơn 4.000 được lưu trữ tại Digi-Key, bao gồm tất cả các biến thể gói. Giống như TI, chúng trải rộng gam từ 8 bit đến 32 bit:

~2700  8-bitters: from 384 bytes Flash and 16 bytes RAM to 128 KB Flash and 4 KB RAM 
~1000 16-bitters: from 4 KB Flash and 256 bytes RAM to 1 MB Flash and 96 KB RAM
 ~500 32-bitters: from 16 KB Flash and 4 KB bytes RAM to 2 MB Flash and 512 KB RAM

Lưu ý nhỏ nhất được chỉ định bằng byte, không phải KB.

Chúng có giá dao động từ 35 đến $ 13,36 với số lượng duy nhất. Tôi tưởng tượng những cái giá thấp nhất có thể có giá dưới 20 với số lượng lớn. Thậm chí có thể 10 ¢ cho những người chưa được kiểm tra (trong đó khách hàng thực hiện kiểm tra chấp nhận thay vì nhà sản xuất). ARM 32 bit rẻ nhất nhiều gấp đôi số lượng đơn ở mức 76. Đối với một sản phẩm khối lượng cao, đó là một sự khác biệt lớn. Các PIC10F200 là μC rẻ nhất của tất cả gần 15.000 cổ phiếu Digi-Key.

Microchip cũng có một danh tiếng tuyệt vời để duy trì các cổ phiếu của dòng cũ của nó (được liệt kê trong bộ chọn sản phẩm dưới đây là "Trưởng thành"), đây là một điều cần xem xét.

Làm thế nào để có ý nghĩa của tất cả điều đó? Sử dụng bộ chọn sản phẩm. Digi-Key, Mouser và các nhà phân phối khác có những cái khá tốt, nhưng chúng không bao gồm tất cả các tham số (Bộ chọn sản phẩm của Cigi của Digi-Key có ít hơn 20, bảng dưới đây có hơn 50). Microchip (và tôi tưởng tượng các nhà sản xuất khác) có những nhà sản xuất rộng hơn, chẳng hạn như bên dưới. Lưu ý rằng bạn có thể đưa ra phạm vi cho hầu hết tất cả các tham số:

nhập mô tả hình ảnh ở đây

Bây giờ với việc mua lại Atmel của Microchip, sẽ rất thú vị để xem điều gì sẽ xảy ra. Có vẻ có một chút trùng lặp trong một số dòng.


15

Không đi sâu vào chi tiết chính xác mà dịch vụ TI có (đã được trả lời ở đây), tôi muốn nhấn mạnh rằng bạn cần thông số kỹ thuật. Nếu bạn không có chúng, giả sử công việc của bạn là xác định chúng. Điều này có thể hơi quá sức nếu bạn là người mới, nhưng hãy kể tên một vài thông số có thể xảy ra trong một dự án:

  • MCU sẽ làm gì? Có bị hạn chế bởi thời gian CPU? Bạn sẽ làm một số "xử lý đặc biệt" như dấu phẩy động? Điều này sẽ xác định lõi CPU & tốc độ xung nhịp cần thiết.

  • Hoặc nó bị hạn chế bởi tuổi thọ pin? Nếu vậy; bạn cần điều tra các chế độ chờ mà vi điều khiển phải cung cấp, độ trễ để đánh thức, nguồn đánh thức, đường ray điện áp cho kỹ thuật số & analog (ví dụ: nếu bạn cấp nguồn trực tiếp từ pin), v.v. Ngoài ra, hãy lưu ý tất cả I / O trong hệ thống là tốt. Bạn có thể có một bộ vi điều khiển tuyệt vời tiêu thụ 50nA trong khi ngủ - nhưng không đáng kể nếu ví dụ như LDO hoặc EEPROM đang tiêu thụ 10uA không hoạt động.

  • Gói nào có thể / bạn cần sử dụng? Có bao nhiêu chân & công nghệ gì? Bạn có bao nhiêu không gian, bạn có thể lắp ráp những gì?

  • Bao nhiêu mã bạn sẽ viết cho nó? Bạn có biết mình cần bao nhiêu RAM / FLASH không? Một số kinh nghiệm thực hành trên một devboard có thể giúp với điều này.

  • Có gì giao diện nào bạn cần phải sử dụng trong thiết kế hệ thống của bạn, và cách nào bạn muốn sử dụng chúng? Điểm bắt đầu cơ bản:

1) Hạn chế về tốc độ (ví dụ: tôi cần USART chạy ở tốc độ 3MBaud)

2) Hạn chế số lượng cổng (ví dụ: tôi cần 5 USART)

3) Ràng buộc thông lượng (ví dụ: tôi cần DMA để truyền 2Mbps dữ liệu đến / từ USART)

4) Quan sát bất kỳ "sự kiện" nào có thể xảy ra trong hệ thống và những độ trễ bạn phải đáp ứng. Ví dụ: bạn có thể thăm dò chân cảnh báo của thiết bị hoặc bạn có cần pin ngắt bên ngoài cho thiết bị không?

Đây có thể là một câu hỏi khó cho dù bạn thiết kế "từ dưới lên" hay "từ trên xuống". Nếu bạn thiết kế "từ trên xuống", bạn có thể nhận ra tại thời điểm này, không có vi điều khiển nào có 16 USART mà thiết kế hệ thống đã được cấp.

OTOH nếu bạn thiết kế "từ dưới lên", bạn có thể chọn một vi điều khiển mà bạn biết và quen thuộc, nhưng phát hiện ra rằng nó không có lượng I / O phù hợp và cần "chip keo" để hoạt động.

Nếu bất cứ điều gì; làm cho mình quen thuộc với các đề nghị của các nhà cung cấp. Thật tuyệt khi biết các ràng buộc ở đâu khi bạn thực hiện tất cả các mong muốn của mình vào một tìm kiếm tham số và nhận được 0 kết quả.

  • Bất kỳ hạn chế cụ thể khác? Như đã đề cập; một số bộ vi điều khiển có các thiết bị ngoại vi rất cụ thể để quản lý nguồn (mô-đun PWM hi-res) hoặc an toàn (dự phòng, chu trình theo dõi xác định & chu kỳ thiết lập lại, v.v.).

Luôn luôn là một ý tưởng tốt để xác định các nút thắt cổ chai trong một thiết kế và cố gắng giải quyết chúng. Một bảng phát triển có thể là một kinh nghiệm "thực hành" tốt để kiểm tra mã của bạn về thời gian CPU, yêu cầu bộ nhớ và "các yêu cầu" mà vi điều khiển có thể có.

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.