Các câu trả lời cho câu hỏi của bạn là khác nhau tùy thuộc vào mục tiêu cuối cùng của bạn là gì. Nếu bạn cần một số ít hoặc ít hơn các thiết bị này, bạn nên làm cho việc phát triển dễ dàng hơn và không phải lo lắng về chi phí bộ phận. Nếu bạn sẽ tạo ra một nghìn hoặc nhiều trong số này, thì đáng để phân tích các yêu cầu của bạn và giảm chi phí cho phần cứng thiết bị.
Số lượng nhỏ
Nếu bạn đang thực hiện một hoặc một vài hoạt động nhỏ của các thiết bị này, thì những nỗ lực phát triển của bạn sẽ làm giảm chi phí cho mỗi mặt hàng của bạn và bạn nên tập trung vào những gì sẽ dễ nhất / nhanh nhất để bạn phát triển, thay vì chi phí / kích thước của vi điện tử.
Trong đóng gói chung có thể làm giảm sự phức tạp, tăng năng suất của bạn. Nếu bạn có một số yêu cầu thời gian thực khó khăn, chẳng hạn như điều khiển BLDC, vòng lặp PID, v.v. thì bạn có thể thấy nhanh hơn khi sử dụng các bộ điều khiển riêng biệt cho các tác vụ giao tiếp với bộ điều khiển trong đó bạn giữ giao diện người dùng và các giao diện không thực khác nhiệm vụ thời gian.
Vì vậy, trong trường hợp này, câu trả lời cho câu hỏi của bạn là:
Cách tiếp cận tất cả trong một có phải là một ý tưởng tốt khi phải thực hiện nhiều thao tác đa nhiệm hay tốt hơn là phân đoạn và cách ly, và
Các mẹo quy mô hơi hướng tới phân khúc và cô lập. Lý do chính là việc gỡ lỗi một hệ thống thời gian thực có thể rất tốn thời gian và việc giữ các tác vụ đó trên bộ xử lý của riêng chúng sẽ hạn chế các biến bạn phải đo hoặc kiểm soát khi cố gắng tìm ra lý do tại sao một cái gì đó không hoạt động đúng.
Làm thế nào tôi có thể tìm ra bằng trực giác nếu vi điều khiển mà tôi đang xem có đủ sức mạnh tính toán để làm những gì tôi cần dựa trên danh sách các nhiệm vụ của tôi không?
Trong trường hợp này, chênh lệch chi phí giữa bộ xử lý 32 bit có nhiều tài nguyên và bộ xử lý 8 bit có tài nguyên hạn chế là nhỏ so với lượng thời gian bạn sẽ dành cho việc phát triển. Có rất ít lý do để thử và tìm hiểu xem bạn cần bao nhiêu năng lượng - chỉ cần có bộ xử lý lớn nhất mà bạn cảm thấy bạn có thể phát triển và sử dụng. Nếu tại một thời điểm nào đó sau này bạn cần chi phí tối ưu hóa thiết kế, thì việc đo mức sử dụng tài nguyên bộ xử lý thực tế là tương đối dễ dàng, sau đó chọn bộ xử lý bên cho thuê có thể xử lý tải thực tế. Cho đến lúc đó, hãy sử dụng cái lớn nhất và đừng lo lắng về việc tìm kiếm "phù hợp nhất".
Sản xuất hàng loạt
Nếu bạn có kế hoạch sản xuất nhiều thiết bị này, thì phân tích cẩn thận sẽ mang lại hiệu quả tiết kiệm chi phí đáng kể. Nói chung, một vi điều khiển lớn hơn sẽ có giá thấp hơn hai vi điều khiển có khả năng thay thế vi điều khiển đơn, mặc dù chắc chắn có các ngoại lệ tùy thuộc vào các tác vụ cụ thể được yêu cầu. Với số lượng này, chi phí cho phần cứng có thể sẽ lớn hơn nhiều so với chi phí phát triển, do đó bạn nên dành nhiều thời gian để phân tích các yêu cầu của mình và thực hiện phát triển hơn so với nếu bạn chỉ thực hiện một số ít.
Là cách tiếp cận tất cả trong một là một ý tưởng tốt khi phải thực hiện nhiều thao tác đa nhiệm, hay tốt hơn là phân đoạn và cách ly?
Cách tiếp cận tất cả trong một nói chung sẽ ít tốn kém hơn trong suốt vòng đời của toàn bộ dự án so với nhiều bộ xử lý. Nó sẽ đòi hỏi nhiều thời gian phát triển và gỡ lỗi hơn để đảm bảo các tác vụ khác nhau không xung đột, nhưng thiết kế phần mềm nghiêm ngặt sẽ hạn chế gần như nhiều phần cứng riêng biệt.
Làm thế nào tôi có thể tìm ra bằng trực giác nếu vi điều khiển mà tôi đang xem có đủ sức mạnh tính toán để làm những gì tôi cần dựa trên danh sách các nhiệm vụ của tôi không?
Bạn sẽ cần hiểu các nhiệm vụ bạn muốn thực hiện và số lượng tài nguyên chúng thực hiện. Giả sử như sau là đúng:
Các thói quen BLDC PI của bạn sẽ tiêu tốn X chu kỳ thời gian của bộ xử lý 100 lần một giây và mỗi lần cần khoảng 50 byte RAM để hoạt động, 16 byte EEPROM để điều chỉnh và flash 1k cho mã. Mỗi người sẽ cần 3 thiết bị ngoại vi PWM mười sáu bit trong vi điều khiển. Bạn có thể cần chỉ định jitter, sẽ có các yêu cầu độ trễ ngắt cụ thể.
USB và các thói quen nối tiếp của bạn sẽ tiêu tốn Y chu kỳ thời gian của bộ xử lý trên cơ sở khi cần thiết, RAM 2k, EEPROM 64 byte và đèn flash 8k. Nó sẽ yêu cầu USB và thiết bị ngoại vi nối tiếp.
GUI của bạn sẽ tiêu thụ Z chu kỳ công suất bộ xử lý 30 lần một giây và sẽ cần 2k RAM, 128 byte EEPROM và flash 10k. Nó sẽ sử dụng 19 I / O để liên lạc với màn hình LCD, các nút, núm, v.v.
Khi bạn mới bắt đầu, có thể khó hiểu X, Y, Z thực sự là gì và điều này sẽ thay đổi một chút tùy thuộc vào kiến trúc của bộ xử lý. Tuy nhiên, bạn sẽ có thể hiểu được, trong một ước tính sân bóng, bao nhiêu ram, eeprom và flash thiết kế của bạn sẽ cần, và những thiết bị ngoại vi nào bạn cần. Bạn có thể chọn một họ bộ xử lý đáp ứng các yêu cầu về bộ nhớ và ngoại vi của bạn và có nhiều tùy chọn hiệu năng trong họ đó. Tại thời điểm đó, để phát triển, bạn chỉ cần sử dụng bộ xử lý mạnh nhất trong gia đình. Khi bạn đã thực hiện thiết kế của mình, bạn có thể dễ dàng chuyển gia đình về quyền lực sang tùy chọn chi phí thấp hơn mà không thay đổi môi trường thiết kế hoặc phát triển của bạn.
Sau khi bạn thực hiện đủ các thiết kế này, bạn sẽ có thể ước tính X, Y và Z tốt hơn. Bạn sẽ biết rằng các thói quen BLDC PI, mặc dù chạy thường xuyên, khá nhỏ và yêu cầu rất ít chu kỳ. Các thói quen USB và nối tiếp đòi hỏi rất nhiều chu kỳ, nhưng xảy ra không thường xuyên. Giao diện người dùng yêu cầu một vài chu kỳ thường xuyên để tìm thay đổi, nhưng sẽ yêu cầu rất nhiều chu kỳ không thường xuyên để cập nhật màn hình.