Làm thế nào để chọn một vi điều khiển ARM Cortex M3?


26

Dựa trên các yêu cầu sơ bộ của tôi là ở dải tần 36 đến 72 MHz, có đèn flash 16kb + SRAM, 128kb +, được lập trình trong C, tôi đã quyết định rằng đối với ứng dụng của mình, tôi muốn sử dụng MCU ARM Cortex M3.

Câu hỏi là, mọi người sử dụng tiêu chí nào để chọn phiên bản M3 nào sẽ sử dụng? Có nhiều nhà cung cấp có thể như TI, ST, NXP, Freescale, v.v.

Một sự khác biệt chính từ quan điểm của tôi sẽ dễ dàng lập trình. Lý tưởng nhất là tôi thử nghiệm nó trên một bảng đột phá / phát triển, sau đó là triển khai PCB của riêng tôi.


11
Đây là một câu hỏi hữu ích, bất cứ ai, xin vui lòng không đóng nó như chủ yếu dựa trên ý kiến .
Dzarda

2
Chọn nhà cung cấp chip chỉ là một phần của vấn đề. Bạn đã nghĩ về những gì toolchain phát triển bạn sẽ sử dụng?
kkrambo

5
Tôi muốn nói rằng tầm quan trọng của việc chọn chip uC trong tình huống như thế này bị đánh giá quá cao. Tất cả các chip đáp ứng các yêu cầu cơ bản sẽ làm. Tôi gắn bó với C hoặc C ++ và không cần các thiết bị ngoại vi ưa thích mà thậm chí bạn có thể chuyển đổi sau này với ít nỗ lực. Tôi sẽ lựa chọn dựa trên số lượng hỗ trợ bạn có thể nhận được từ www, nhà cung cấp, nhóm (người dùng), danh sách, diễn đàn, v.v. mà bạn có thể truy cập dễ dàng.
Wouter van Ooijen

5
"Có một tá nhà sản xuất cùng lõi. Mọi người nhìn vào những thứ gì để giúp họ chọn một thứ?" có vẻ như một câu hỏi tốt cho tôi
Scott Seidman

5
Đây là câu hỏi có điểm cao nhất trong danh sách 250 câu hỏi mới nhất của chúng tôi, với ba nhãn yêu thích. Với các số liệu thống kê đó, nếu đây là OT, chúng tôi có thể xem xét hỏi tại sao. Tôi nghĩ khá rõ ràng rằng người đăng coi "dễ lập trình" là MỘT trong những tiêu chí mà anh ta hiện đang sử dụng, và anh ta yêu cầu nhiều hơn nữa. Trong bốn câu trả lời, chỉ có một câu đưa ra khuyến nghị rõ ràng cho bộ điều khiển và những câu hỏi khác đều thảo luận về tiêu chí nào họ sử dụng để đưa ra lựa chọn. Tôi đã thực hiện một chỉnh sửa nhỏ để làm cho câu hỏi nhiều hơn về chủ đề, nhưng nó dường như khá rõ ràng đối với tôi trước khi chỉnh sửa.
Scott Seidman

Câu trả lời:


19

Tôi nghĩ rằng @markt chắc chắn ở đúng nơi: Toolchain, thiết bị ngoại vi, gói, devkits.

Tôi sẽ thêm một vài, và có thể cởi ra một vài. Toolchain chắc chắn rất quan trọng, nhưng MIỄN PHÍ có thể hoặc không. Đôi khi, làm việc mà không có sự hỗ trợ thực sự có thể tốn kém hơn bạn nghĩ, và sử dụng một gói thương mại hợp lý cũng có thể có giá trị cho một tình huống nhất định. Đôi khi, việc có thể vượt qua kiểm toán giấy phép kỹ lưỡng cũng rất quan trọng và sử dụng một công cụ miễn phí có giấy phép hạn chế có thể cắn bạn sau này.

Một thư viện CMSIS tốt để hỗ trợ vi điều khiển là điều bắt buộc đối với tôi. CMSIS - Tiêu chuẩn giao diện phần mềm vi điều khiển Cortex - arm.com/products/ Processors / cortex - m / trên - là lớp trừu tượng hóa phần cứng cho các bộ vi điều khiển dòng Cortex-M. Về lý thuyết, nếu một thư viện tuân thủ CMSIS, nó độc lập với nhà cung cấp và việc trao đổi các gia đình khác nhau sẽ dễ dàng hơn và bạn không phải học lại một môi trường từ đầu để có thể sử dụng thư viện. Một trong những khía cạnh hấp dẫn của môi trường ARM Cortex là khả năng thay đổi nền tảng mà không cần phải đổ mồ hôi. Nếu bạn chọn một nền tảng không mua vào cấu trúc CMSIS, bạn có thể không thể di chuyển một cách thuận tiện.

Đối với tôi, bảng dev rẻ và tiện lợi là điều bắt buộc, nhưng điều này có thể hoặc không quan trọng như một số thứ khác (tôi nghĩ rằng dòng STM32 có các bảng dev tuyệt vời). Nếu gia đình có bảng dev rất tiện lợi và rẻ tiền, thì bạn có nhiều khả năng tìm sự giúp đỡ từ cơ sở người dùng lớn hơn nếu bạn cần. Ngoài ra, những con chip này có xu hướng nằm trong các gói SMT. Khi bạn chắc chắn làm nổ chip, hoặc cổng trên chip, hoặc một chút trên cổng trên chip, thay thế chip là PITA liên quan đến việc làm lại SMD. Nếu bạn có thể mua hai hoặc ba bảng với giá $ 10- $ 15 mỗi bảng và thay thế chúng khi bạn làm hỏng chúng, bạn thậm chí sẽ KHÔNG NGHINK về việc thực hiện công việc sửa chữa điện tử đó!

Hãy suy nghĩ "Extras". Bạn có thể cần một cái gì đó ở trên và vượt ra ngoài những gì được coi là "ngoại vi". Ví dụ: có thể bạn có nhu cầu bluetooth lớn và bạn có thể chọn sử dụng Công cụ bán dẫn Bắc Âu cho loại hỗ trợ đó. Bạn có thể xem xét một số thứ khác, như việc bootloading dễ dàng như thế nào, v.v.

Hãy suy nghĩ Tài liệu. Tôi đã có một chút ít ấn tượng với việc khó có thể lội qua một số tài liệu STM.


+1 Hoàn toàn đồng ý. Năm ngoái tôi đã bắt đầu với ARM Cortex-M3 / M4 bằng STM32. Tôi đã gần hoàn thành một thiết kế STM32F207 khi chúng tôi thực hiện chuyển đổi sang STM32F407 dựa trên giá cả / tính sẵn có. Đó là một phần mềm bổ sung và những thay đổi phần mềm là không đáng kể. Các tài liệu và sự phức tạp làm cho nó một chút đau đớn để tìm hiểu, nhưng thiết kế là vững chắc và cũng có giá trị rắc rối. Tôi sử dụng trình biên dịch GCC (miễn phí) để viết mã kiểm tra và phiên bản eval miễn phí giới hạn kích thước mã của Keil để viết / kiểm tra trình điều khiển mẫu. Lập trình viên của chúng tôi có giấy phép cho trình biên dịch Keil đầy đủ. Cả hai dường như vững chắc.
Tut

1
@NickHalden, "ARM" cấp phép lõi ARM cho các nhà sản xuất chip đóng gói chúng và thêm các thiết bị ngoại vi. CMSIS - Tiêu chuẩn giao diện phần mềm vi điều khiển Cortex - arm.com/products/ Processors / cortex - m / trên - là lớp trừu tượng hóa phần cứng cho các bộ vi điều khiển dòng Cortex-M. Về lý thuyết, nếu một thư viện tuân thủ CMSIS, nó độc lập với nhà cung cấp và việc trao đổi các gia đình khác nhau sẽ dễ dàng hơn và bạn không phải học lại một môi trường từ đầu để có thể sử dụng thư viện.
Scott Seidman

1
@YoungMoney Đi với giá rẻ nhất sẽ cung cấp cho bạn ít nhất gấp đôi tài nguyên mà bạn nghĩ bạn sẽ cần.
Markt

1
Phát triển trên lớn, chỉ để giữ cho mọi thứ khỏi bị mắc kẹt. Một khi bạn đã nắm bắt tốt những tài nguyên bạn cần, hãy cắt giảm.
Scott Seidman

1
Các bộ công cụ miễn phí rất quan trọng trong bối cảnh chuyên nghiệp, không phải vì chi phí, mà vì tính bảo mật của quyền truy cập - đi kèm với một chuỗi công cụ bị khóa và khả năng duy trì dự án của bạn không hoàn hảo bởi các giấy phép có thể hết hạn hoặc không có sẵn cho máy tính xách tay du lịch của bạn hoặc đồng nghiệp, khóa có thể bị mất, máy chủ cấp phép có thể được rút ra sau một vài năm, v.v. Hầu hết các thiết kế nhúng có tuổi thọ vượt xa các phiên bản phần cứng và hệ điều hành được sử dụng để phát triển chúng và có thể phục hồi bản gốc công cụ trong tương lai là quan trọng!
Chris Stratton

14
  1. Tìm kiếm toolchain miễn phí , RTOS và hỗ trợ JTAG / SWD chi phí thấp.
  2. Xem xét những gói bạn có thể / sẵn sàng làm việc với - nếu bắt buộc phải loại bỏ, các nhà cung cấp silicon không cung cấp các gói DIP.
  3. Nhìn vào những thiết bị ngoại vi nào được cung cấp và những gì bạn có thể muốn / cần.
  4. Tìm kiếm bang-for-buck - sử dụng một hoặc nhiều trang web của các nhà cung cấp điện tử lớn để so sánh táo với táo.

Với mong muốn của bạn cho bảng dev, hãy xem xét những gì có sẵn ở đó.

Nếu bạn đến từ một nền tảng khác (PIC, Atmel, v.v.) chấp nhận rằng sẽ có một đường cong học tập công bằng trong nhiều lĩnh vực khi chuyển sang ARM, nhưng nó rất tốt và thực sự xứng đáng.


Có - các bộ công cụ miễn phí rất quan trọng để bảo mật cho tương lai / máy tính thay thế / kỹ sư thay thế truy cập vào chuỗi công cụ nhiều hơn chi phí. Đối với các bộ phận Cortex, các bộ công cụ khá phổ biến, vì vậy, bạn nên biết rằng bạn có thể lập trình chúng với một thiết bị giao diện SWD dễ làm việc sẽ có sẵn hoặc có thể tạo lại và có thể được điều khiển từ HĐH hiện tại (và tương lai) của bạn sự lựa chọn
Chris Stratton

5

Nếu bạn không có sở thích mạnh mẽ (ví dụ: giá cả, kích thước, sức mạnh, cộng với những gì người khác liệt kê), thì tôi sẽ xem xét ai hỗ trợ bạn. Nếu nhà sản xuất không trả lời câu hỏi của bạn, đó có thể là một vấn đề. Hoặc họ có nhà phân phối địa phương với FAE (Kỹ sư ứng dụng hiện trường) mà bạn có thể yêu cầu? Điều đó đặc biệt quan trọng đối với các công ty nhỏ và người hobbit.

Một số phần có thể không có sẵn với số lượng nhỏ. Ví dụ: những sản phẩm có DRAM trong cùng một gói được nhắm đến người mua lớn (> 10 k đơn vị).


2

Có lẽ STM32L151VBT6 phù hợp với yêu cầu của bạn. Ngay cả chúng tôi đã sử dụng nó trong công ty của chúng tôi, nó có chi phí kiểm duyệt và tốt về mặt tiêu thụ điện năng. ngoài ra, bạn sẽ nhận được hầu hết các tài nguyên thiết kế trên http://www.st.com .

Các tính năng chính của STM32L151VB MCU là:

Nền tảng công suất cực thấp Cung cấp năng lượng từ 1.65 V đến 3.6 V

-40 ° C đến 85 ° C / 105 ° C phạm vi nhiệt độ

0,3 Chế độ chờ (3 chân đánh thức)

0,9 Chế độ chờ + RTC

0,57 A Chế độ dừng (16 dòng đánh thức)

1.2 AA Chế độ dừng + RTC

9 mode Chế độ chạy công suất thấp

Chế độ chạy 214 AA / MHz

Rò rỉ I / O cực thấp 10 nA

Thời gian thức dậy của 8 giờ

Lõi: CPU ARM®Cortex ™ -M3 32 bit

Từ tối đa 32 kHz đến tối đa 32 MHz

33.3 DMIPS đỉnh (Dhstallone 2.1)

Bộ bảo vệ bộ nhớ

Đặt lại và quản lý cung ứng

BOR cực kỳ an toàn, công suất thấp (thiết lập lại màn hình) với 5 ngưỡng có thể lựa chọn

POR / PDR công suất cực thấp

Đầu dò điện áp lập trình (PVD)

Nguồn đồng hồ

Dao động tinh thể 1 đến 24 MHz

Dao động 32 kHz cho RTC với hiệu chuẩn

RC tốc độ cao 16 MHz được cắt tại nhà máy (+/- 1%)

Công suất thấp 37 kHz RC

Công suất thấp đa năng bên trong 65 kHz đến 4.2 MHz

PLL cho xung nhịp CPU và USB (48 MHz)

Bộ nạp khởi động được lập trình sẵn

USART được hỗ trợ

Hỗ trợ phát triển

Hỗ trợ gỡ lỗi nối tiếp

JTAG và theo dõi được hỗ trợ

Lên đến 83 I / O nhanh (dung sai 73 I / Os 5V), tất cả có thể ánh xạ trên 16 vectơ ngắt ngoài

Hồi ức:

Flash lên tới 128 KB với ECC

RAM lên đến 16 KB

Lên đến 4 KB EEPROM thực sự với ECC

Đăng ký sao lưu 80 byte

Trình điều khiển LCD cho tối đa 8x40 phân khúc

Hỗ trợ điều chỉnh độ tương phản

Hỗ trợ chế độ nhấp nháy

Bộ chuyển đổi bước lên tàu

Thiết bị ngoại vi tương tự phong phú (xuống tới 1,8 V)

ADC 12 bit 1 Msps lên đến 24 kênh

12 kênh DAC 2 bit với bộ đệm đầu ra

2x Bộ so sánh công suất cực thấp (chế độ cửa sổ và khả năng đánh thức)

Bộ điều khiển DMA 7x kênh

Giao diện truyền thông ngoại vi 8x

1x USB 2.0 (PLL 48 MHz bên trong)

3x USART (ISO 7816, IrDA)

2 lần SPI 16 Mb / giây

2 lần I2C (SMBus / PMBus)

Bộ định thời 10 x: 6x 16 bit với tối đa 4 kênh IC / OC / PWM, bộ hẹn giờ cơ bản 2x 16 bit, bộ hẹn giờ theo dõi 2x (độc lập và cửa sổ)

Lên đến 20 kênh cảm biến điện dung hỗ trợ touchkey, cảm biến tuyến tính và cảm biến quay Đơn vị tính toán CRC, ID duy nhất 96 bit

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.