MCU là gì ? Vi điều khiển tích hợp trên các hệ thống nhúng

Vi điều khiển MCU tích hợp trên các hệ thống nhúng
Vi tinh chỉnh và điều khiển MCU tích hợp trên các mạng lưới hệ thống nhúng

Giới thiệu MCU

MCU là gì ? nó viết tắt của microcontroller unit – Bộ vi tinh chỉnh và điều khiển MCU là một máy tính nhỏ trên một chip bán dẫn tích hợp. Trong thuật ngữ tân tiến, nó tương tự nhưng kém tinh vi hơn các mạng lưới hệ thống trên chip SoC. Một vi tinh chỉnh và điều khiển chứa một hoặc nhiều CPU (lõi bộ xử lý) cùng với bộ nhớ và các thiết bị ngoại vi nguồn vào/ đầu ra được lập trình.

Bộ nhớ Khóa học lưu trữ như RAM, flash NOR hoặc ROM OTP cũng thường được gồm có trên chip. Bộ vi tinh chỉnh và điều khiển MCU được thiết kế cho những ứng dụng nhúng, trái ngược với bộ vi xử lý được sử dụng trong máy tính thành viên hoặc các ứng dụng mục tiêu khác.

Vi tinh chỉnh và điều khiển được sử dụng trong các sản phẩm và thiết bị tinh chỉnh và điều khiển tự động hóa, như mạng lưới hệ thống tinh chỉnh và điều khiển động cơ xe hơi, thiết bị y tế cấy ghép, tinh chỉnh và điều khiển từ xa, máy văn phòng, dụng cụ điện, đồ chơi và các mạng lưới hệ thống nhúng khác.

Bằng phương pháp giảm kích thước và ngân sách so với thiết kế sử dụng bộ vi xử lý, bộ nhớ và thiết bị nguồn vào/đầu ra riêng biệt, bộ vi tinh chỉnh và điều khiển giúp tiết kiệm chi phí cho nhiều thiết bị. Trong toàn cảnh internet vạn vật (IoT), vi tinh chỉnh và điều khiển MCU là một giải pháp kinh tế tài chính và phổ quát, tiếp nhận tài liệu cảm ứng và kích hoạt các thiết bị theo lập trình.

Một số vi tinh chỉnh và điều khiển có thể sử dụng 4 bit và hoạt động ở tần số thấp như 4 kHz, cho mức tiêu thụ điện năng thấp (một số lượng milliwatt hoặc microwatt). Chúng thường có chức năng mong đợi một sự kiện như nhấn nút hoặc ngắt. Nhờ tiêu thụ năng lượng trong cơ chế chờ thấp (đồng hồ đeo tay CPU và hồ hết các thiết bị ngoại vi tắt) khiến chúng rất phù hợp cho những ứng dụng sử dụng pin cần thời kì hoạt động dài.

Các bộ vi tinh chỉnh và điều khiển khác cũng có thể có thể phục vụ các vai trò quan trọng về hiệu năng, trong đó chúng có thể cần hoạt động giống như bộ xử lý tín hiệu số (DSP), với tốc độ xung nhịp mạnh hơn và tiêu thụ điện năng nhiều hơn.

Lịch sử vẻ vang phát triển MCU

Một cuốn sách ghi nhận thêm những kỹ sư TI Gary Boone và Michael Cochran với việc tạo thành công bộ vi tinh chỉnh và điều khiển trước nhất vào năm 1971. Kết quả công việc của họ là TMS 1000, được bán trên thị trường vào năm 1974. Nó phối hợp bộ nhớ chỉ đọc, bộ nhớ đọc/ghi, bộ xử lý và đồng hồ đeo tay trên một chip và được nhắm mục tiêu vào các mạng lưới hệ thống nhúng.

Trong trong time đầu đến giữa thập niên 1970, các nhà sinh sản thiết bị điện tử Nhật Bản đã mở màn sinh sản bộ vi tinh chỉnh và điều khiển cho xe hơi, gồm có MCU 4 bit trong xe hơi, cần gạt nước tự động hóa, khóa điện tử, bảng tinh chỉnh và điều khiển và MCU 8 bit để tinh chỉnh và điều khiển động cơ.

Một phần để đáp ứng với sự tồn tại của MCU TMS 1000, Intel đã phát triển một mạng lưới hệ thống máy tính trên chip được tối ưu hóa cho những ứng dụng tinh chỉnh và điều khiển, Intel 8048, được thương nghiệp lần trước nhất vào năm 1977. Nó phối hợp RAM và ROM trên cùng một con chip với bộ vi xử lý. Nó được ứng dụng rộng rãi với trên một tỷ bàn phím PC. Vào thời gian đó, Chủ toạ của Intel, Luke J. Valenter, đã tuyên bố rằng vi tinh chỉnh và điều khiển (MCU) là một trong những sản phẩm thành công nhất trong lịch sử hào hùng của tổ chức và ông đã mở rộng ngân sách phát triển giành cho bộ vi tinh chỉnh và điều khiển thêm 25%.

vi điều khiển MCU ATmega
Vi tinh chỉnh và điều khiển ATmega

Hồ hết các vi tinh chỉnh và điều khiển tại thời khắc này có những biến thể. Một vài loại có bộ nhớ Khóa học EPROM, với một hành lang cửa số thạch anh trong suốt được cho phép nó có thể xóa khi xúc tiếp với tia cực tím Những con chip có thể xóa được thường được sử dụng trong nguyên mẫu.

Biến thể khác là ROM hoặc PROM biến thể chỉ được lập trình một lần. Về sau, thỉnh thoảng thuật ngữ OTP được sử dụng, viết tắt của “lập trình một lần”. Trong một vi tinh chỉnh và điều khiển OTP, PROM thường có cùng loại với EPROM, nhưng chip không có hành lang cửa số thạch anh; nên nó không thể bị xóa. Các phiên bản có thể xóa được yêu cầu các có hành lang cửa số thạch anh, chúng giá cao hơn đáng kể so với những phiên bản OTP.

Vào năm 1993, việc giới thiệu bộ nhớ EEPROM được cho phép các bộ vi tinh chỉnh và điều khiển (mở màn với Microchip PIC16C84 ) được xóa nhanh chóng mà không cần hành lang cửa số (xem thêm nội dung bài viết về ROM là gì), được cho phép tạo mẫu nhanh và lập trình trong mạng lưới hệ thống.

Công nghệ EEPROM đã có sẵn trước thời khắc này, nhưng EEPROM giá cao hơn và kém bền hơn, khiến nó không phù phù hợp với các bộ vi tinh chỉnh và điều khiển sinh sản hàng loạt ngân sách thấp. Cùng năm đó, Atmel đã giới thiệu bộ vi tinh chỉnh và điều khiển trước nhất sử dụng bộ nhớ Flash, một loại EEPROM đặc biệt quan trọng. Các tổ chức khác nhanh chóng tuân theo với cả hai loại bộ nhớ.

Ngày này, vi tinh chỉnh và điều khiển có mức giá rẻ và sẵn có cho những người dân có thị hiếu, với những cộng đồng trực tuyến lớn xung quanh các bộ xử lý nhất định.

Số lượng và ngân sách sinh sản MCU

Năm 2002, khoảng tầm 55% tổng số CPU được bán trên thế giới là bộ vi tinh chỉnh và điều khiển và bộ vi xử lý 8 bit.

Vi điều khiển MCU
Một vi tinh chỉnh và điều khiển 8-bit gồm có một CPU chạy ở 12 MHz, 128 byte của RAM , 2048 byte của EPROM , và I / O trong cùng một chip

Hơn hai tỷ bộ vi tinh chỉnh và điều khiển 8 bit đã được bán vào năm 1997, và theo Semico, hơn bốn tỷ bộ vi tinh chỉnh và điều khiển 8 bit đã được bán trong năm 2006. Gần đây, Semico đã tuyên bố thị trường MCU tăng 36,5% trong năm 2010 và 12% trong năm 2011.

Một ngôi nhà tiêu biểu ở một quốc gia phát triển có thể chỉ có bốn bộ vi xử lý đa năng nhưng có tầm khoảng ba chục bộ vi tinh chỉnh và điều khiển. Một chiếc ôtô tầm trung thông thường có tầm khoảng 30 bộ vi tinh chỉnh và điều khiển. Chúng cũng có thể có thể được tìm thấy trong nhiều thiết bị điện như máy giặt, lò vi sóng và Smartphone.

Trong lịch sử hào hùng, phân khúc thị trường 8 bit đã thống trị thị trường MCU. Năm 2011 vi tinh chỉnh và điều khiển 16 bit trở thành loại MCU có khối lượng lớn số 1, lần trước nhất vượt qua các thiết bị 8 bit IC Insights tin rằng thị trường MCU sẽ trải qua những thay đổi đáng kể trong năm năm tới với những thiết bị 32 bit liên tục chiếm Thị Trường to nhiều hơn về doanh thu và khối lượng đơn vị.

Vào năm 2017, MCU 32 bit chiếm 55% doanh thu của vi tinh chỉnh và điều khiển Và ​​chiếm 38% trong tống số lô hàng vi tinh chỉnh và điều khiển trong năm 2017, trong lúc các thiết bị 16 bit sẽ thay mặt đại diện 34% tổng số thiết kế và 4/8 bit được dự đoán là 28% số đơn vị được bán trong năm đó.

Thị trường MCU 32 bit dự kiến ​​sẽ tăng nhanh do nhu cầu về độ xác thực mạnh hơn trong các mạng lưới hệ thống xử lý nhúng và sự tăng trưởng trong kết nối sử dụng Internet IoT. Trong vài năm tới, MCU 32 bit phức tạp dự kiến ​​sẽ chiếm hơn 25% công suất xử lý trong xe hơi.

Ngân sách chi tiêu sinh sản MCU

Có thể dưới 0,1 đô la mỗi đơn vị. Ngân sách chi tiêu đã tụt giảm mạnh theo thời kì, với giá rẻ nhất 8-bit vi tinh chỉnh và điều khiển là có sẵn với giá dưới 0,03 USD vào năm 2018, và một số 32-bit vi tinh chỉnh và điều khiển khoảng tầm $ 1 cho số lượng tương tự.

Vào thời điểm năm 2012, sau một cuộc khủng hoảng toàn diện toàn cầu, một sự sụt giảm doanh thu thường niên tồi tệ nhất và giá bán trung bình giảm 17%, tụt giảm mạnh nhất Tính từ lúc trong time 1980, giá trung bình cho một vi tinh chỉnh và điều khiển là 0,88 đồng USD (0,69 đô la cho 4 – 8 bit, 0,59 đô la cho 16 bit, 1,76 đô la cho 32 bit). Thời điểm năm 2012, doanh thu bán vi tinh chỉnh và điều khiển 8 bit trên toàn thế giới là khoảng tầm 4 tỷ USD, trong những lúc đó, vi tinh chỉnh và điều khiển 4 bit cũng có thể có doanh thu đáng kể.

Trong năm 2015, các bộ vi tinh chỉnh và điều khiển 8 bit có thể được mua với giá $ 0,11 (1.000 đơn vị), 16-bit với giá $ 0,385 (1.000 đơn vị) và 32-bit với giá $ 0,378 (1.000 đơn vị, nhưng tại mức $ 0,35 cho 5.000).

Trong năm 2018, các bộ vi tinh chỉnh và điều khiển 8 bit có thể được mua với giá 0,03 đô la, 16 bit với giá 0,393 (1.000 đơn vị, nhưng tại mức 0,563 đô la cho 100 hoặc 0,349 cho một cuộn 2.000), và 32 bit với giá 0,503 (1.000 đơn vị, nhưng tại mức $ 0,466 cho 5.000). Một số bộ vi tinh chỉnh và điều khiển 32 bit có mức giá thấp hơn, tính theo đơn vị một, có thể có mức giá $ 0,891.

Máy tính nhỏ nhất thế giới

máy tính nhỏ nhất thế giới

Vào trong ngày 21 tháng 6 năm 2018, “máy tính nhỏ nhất thế giới” đã được ĐH Michigan công bố. Thiết bị này là “mạng lưới hệ thống cảm ứng không dây và pin có kích thước 0,04mm3 công suất 16nW với bộ xử lý Cortex-M0 + tích hợp và giao tiếp quang quẻ học” Nó có kích thước nhỏ hơn một hạt gạo.

Thiết bị được tích hợp RAM, tế bào quang quẻ điện, bộ xử lý và bộ truyền phát không dây . Vì chúng quá nhỏ để trang bị ăng ten vô tuyến thông thường, chúng nhận và truyền tài liệu bằng ánh sáng. Thiết bị này còn có kích thước bằng 1/10 so với máy tính có kích thước kỷ lục thế giới được IBM tuyên bố trước đó vào tháng 3 năm 2018, nó có một triệu bóng bán dẫn, giá thành sinh sản thấp hơn 0,1 đô la.

Thiết kế nhúng là gì

Một vi tinh chỉnh và điều khiển có thể được xem là một mạng lưới hệ thống khép kín với bộ xử lý, bộ nhớ và các thiết bị ngoại vi và có thể được sử dụng như một mạng lưới hệ thống nhúng. Phần lớn các bộ vi tinh chỉnh và điều khiển đang sử dụng ngày này được nhúng vào các máy móc khác, như xe hơi, Smartphone, thiết bị và thiết bị ngoại vi cho những mạng lưới hệ thống máy tính.

Trong những khi một số mạng lưới hệ thống nhúng rất tinh vi, nhiều mạng lưới hệ thống có yêu cầu tối thiểu về bộ nhớ, không có hệ điều hành và độ phức tạp phần mềm thấp. Các thiết bị nguồn vào và đầu ra tiêu biểu gồm có công tắc nguồn, rơle, solenoids, đèn LED, màn hình hiển thị tinh thể lỏng nhỏ hoặc tùy chỉnh, thiết bị tần số vô tuyến và cảm ứng cho tài liệu như nhiệt độ, nhiệt độ, mức độ ánh sáng, vv

Các mạng lưới hệ thống nhúng thường không có bàn phím, màn hình hiển thị, ổ cứng, máy in hoặc các thiết bị I/O dễ nhận mặt khác của máy tính thành viên.

Ngắt vi tinh chỉnh và điều khiển MCU là gì

Vi tinh chỉnh và điều khiển phải cung cấp phản ứng thời kì thực (có thể dự đoán được, mặc dù không nhất thiết phải nhanh) khi đối chiếu với các sự kiện trong mạng lưới hệ thống nhúng mà chúng đang tinh chỉnh và điều khiển.

Khi một số sự kiện xẩy ra, một mạng lưới hệ thống ngắt có thể báo hiệu cho bộ xử lý tạm dừng xử lý chuỗi lệnh ngày nay và mở màn một dịch vụ ngắt (ISR hoặc “trình xử lý ngắt”) sẽ thực hiện bất kỳ xử lý nào được yêu cầu dựa trên nguồn của ngắt, trước lúc trở lại chuỗi lệnh ban sơ.

Các nguồn ngắt có thể phụ thuộc vào thiết bị và thường gồm có các sự kiện như tràn bộ đếm thời kì bên trong, hoàn thành chuyển đổi tương tự sang kỹ thuật số, thay đổi mức logic trên nguồn vào như nút được nhấn và tài liệu nhận được trên liên kết truyền thông.

Trong trường hợp tiêu thụ năng lượng thấp, các ngắt cũng có thể có thể thức tỉnh vi tinh chỉnh và điều khiển khỏi trạng thái ngủ công suất thấp nơi bộ xử lý bị dừng cho tới lúc được yêu cầu làm điều gì đó bởi một sự kiện ngoại vi.

Khóa học lập trình cho MCU

Thông thường các Khóa học được lập trình cho vi tinh chỉnh và điều khiển phải phù phù hợp với bộ nhớ trên chip có sẵn, vì sẽ tốn kém khi trang bị một mạng lưới hệ thống với bộ nhớ ngoài, có thể mở rộng.

Trình biên dịch được sử dụng để chuyển đổi cả mã tiếng nói cấp cao và mã assembly thành mã máy nhỏ gọn để lưu trữ trong bộ nhớ của cục vi tinh chỉnh và điều khiển MCU. Tùy thuộc vào thiết bị, bộ nhớ Khóa học có thể là vĩnh viễn, bộ nhớ chỉ đọc chỉ có thể được lập trình tại xí nghiệp hoặc có thể là bộ nhớ flash có thể thay đổi hoặc bộ nhớ chỉ đọc có thể xóa.

Các nhà sinh sản thường sinh sản các phiên bản đặc biệt quan trọng của cục tinh chỉnh và điều khiển MCU của họ để giúp phát triển phần cứng và phần mềm của mạng lưới hệ thống đích. Ban sơ chúng gồm có các phiên bản EPROM có “hành lang cửa số” trên đỉnh thiết bị, thông qua đó bộ nhớ Khóa học có thể bị xóa bởi ánh sáng cực tím , sẵn sàng để lập trình lại sau một chu trình lập trình (“ghi”) và kiểm tra. Từ thời điểm năm 1998, các phiên bản EPROM rất hiếm và được thay thế bằng EEPROM và flash, dễ sử dụng hơn (có thể xóa bằng điện tử) và rẻ hơn để sinh sản.

Các phiên bản khác của Khóa học có thể có sẵn khi ROM được truy cập như một thiết bị phía bên ngoài thay vì bộ nhớ trong, tuy nhiên những phiên bản này đang trở thành hiếm do sự sẵn có rộng rãi của đa số lập trình viên vi tinh chỉnh và điều khiển giá rẻ.

Việc sử dụng các thiết bị lập trình trên bộ vi tinh chỉnh và điều khiển MCU có thể được cho phép update Khóa học firmware hoặc được cho phép sửa đổi khi đối chiếu với các sản phẩm đã được lắp ráp nhưng không được xuất xưởng. Bộ nhớ lập trình được cũng giảm thời kì dẫn cấp thiết để triển khai một sản phẩm mới.

Một bộ vi tinh chỉnh và điều khiển MCU tùy chỉnh phối hợp một khối logic kỹ thuật số có thể được thành viên hóa cho khả năng xử lý bổ sung, các thiết bị ngoại vi và giao diện phù phù hợp với yêu cầu của ứng dụng. Một ví dụ là AT91CAP từ Atmel .

Các tính năng khác của vi tinh chỉnh và điều khiển MCU

MCU thường chứa từ vài đến hàng nghìn chân nguồn vào/đầu ra cho mục tiêu chung (GPIO). Các chân GPIO có thể cấu hình theo trạng thái nguồn vào hoặc đầu ra. Lúc các chân GPIO được cấu hình ở trạng thái nguồn vào, chúng thường được sử dụng để đọc các cảm ứng hoặc tín hiệu phía bên ngoài. Được cấu hình ở trạng thái đầu ra, chân GPIO có thể tinh chỉnh và điều khiển các thiết bị phía bên ngoài như đèn LED hoặc động cơ, nhưng thường là gián tiếp thông qua các linh phụ kiện công suất cao phía bên ngoài.

Nhiều mạng lưới hệ thống nhúng cần đọc các cảm ứng tạo ra tín hiệu tương tự. Đây là mục tiêu của cục chuyển đổi tương tự sang số (ADC). Vì bộ xử lý được xây dựng để giảng giải và xử lý tài liệu số, tức là một trong và 0, nên chúng không thể làm bất luận điều gì với những tín hiệu tương tự có thể được gửi đến thiết bị.

Vì vậy, bộ chuyển đổi tương tự sang số được sử dụng để chuyển đổi tài liệu đến thành một dạng mà bộ xử lý có thể nhận ra. Một tính năng ít phổ quát hơn trên một số bộ vi tinh chỉnh và điều khiển là bộ chuyển đổi tín hiệu số sang tương tự (DAC) được cho phép bộ xử lý phát tín hiệu tương tự hoặc mức điện áp.

Ngoài các bộ chuyển đổi, nhiều bộ vi xử lý nhúng cũng gồm có nhiều bộ định thời khác nhau. Một trong những loại bộ định thời phổ quát nhất là bộ định thời PIT. Bộ PIT có thể đếm ngược từ một số giá trị về 0 hoặc tối đa dung tích của thanh ghi đếm về 0. Khi nó đạt đến 0, nó sẽ gửi một ngắt đến bộ xử lý chỉ ra rằng nó đã kết thúc đếm. Điều này rất hữu ích cho những thiết bị như máy kiểm soát và điều chỉnh nhiệt, định kỳ kiểm tra nhiệt độ xung quanh chúng để xem chúng có cần bật điều hòa, bật máy sưởi, v.v.

Khối điều cơ chế rộng xung chuyên được sự dụng (PWM) giúp CPU có thể tinh chỉnh và điều khiển bộ chuyển đổi công suất , tải điện trở , động cơ , v.v. mà không cần sử dụng nhiều tài nguyên CPU trong các vòng lặp hứa giờ chặt chẽ.

Một khối thu/phát không đồng bộ (UART) được cho phép nhận và truyền tài liệu qua một kết nối tiếp nối với rất ít tải trên CPU. Phần cứng trên các vi tinh chỉnh và điều khiển MCU chuyên được sự dụng cũng thường gồm có các khả năng giao tiếp với những thiết bị (chip) khác ở các định dạng kỹ thuật số như Mạch tích hợp (I²C), Giao diện ngoại vi tiếp nối (SPI), Bus tiếp nối vạn năng (USB) và Ethernet .

MCU Tích hợp cao

Bộ vi tinh chỉnh và điều khiển MCU có thể không triển khai địa chỉ phía bên ngoài hoặc bus tài liệu vì chúng tích hợp RAM và bộ nhớ không mất tài liệu trên cùng một chip với CPU. Sử dụng ít chân hơn, chip có thể được đặt trong một gói nhỏ hơn, rẻ hơn nhiều.

Vi điều khiển MCU tích hợp cao
Vi tinh chỉnh và điều khiển CMOS dựa trên cơ sở PIC12C508 8 bit, tích hợp EEPROM/EPROM/ROM do Microchip Technology sinh sản bằng quy trình 1200 nanomet

Tích hợp bộ nhớ và các thiết bị ngoại vi khác trên một chip duy nhất làm tăng ngân sách của chip đó, nhưng thường dẫn đến giảm toàn bộ ngân sách tổng của mạng lưới hệ thống nhúng. Ngay cả những lúc ngân sách CPU có những thiết bị ngoại vi tích hợp mạnh hơn một tí so với ngân sách của CPU và các thiết bị ngoại vi phía bên ngoài, việc có ít chip hơn thường được cho phép một bảng mạch nhỏ hơn và rẻ hơn, và giảm thời kì cấp thiết để lắp ráp và kiểm tra bảng mạch, có xu hướng giảm tỷ lệ lỗi lắp ráp hoàn thiện.

Bộ vi tinh chỉnh và điều khiển MCU là một mạch tích hợp đơn, thường có những tính năng sau:

  • Đơn vị xử lý trung tâm – từ nhỏ và đơn giản 4-bit đến phức tạp 32-bit hoặc 64-bit
  • Bộ nhớ truy xuất tình cờ (RAM)
  • ROM , EPROM , EEPROM hoặc bộ nhớ Flash để lưu trữ Khóa học vận hành
  • Các nguồn vào và đầu ra riêng biệt, được cho phép kiểm soát hoặc phát hiện trạng thái logic của một chân riêng lẻ
  • Cổng tiếp nối nguồn vào/đầu ra như cổng tiếp nối (UARTs)
  • Các giao tiếp truyền thông tiếp nối khác ví như I²C , Giao diện ngoại vi tiếp nối và Mạng để kết nối mạng lưới hệ thống
  • Các khối ngoại vi như bộ hứa giờ, bộ đếm sự kiện, bộ tạo PWM và bộ giám sát
  • Bộ tạo xung nhịp – thường là bộ tạo dao động tinh thể thạch anh, bộ cộng hưởng hoặc mạch RC
  • Thỉnh thoảng thường gồm có bộ chuyển đổi tương tự sang số, một số gồm có bộ chuyển đổi kỹ thuật số sang tương tự
  • Mạch lập trình và mạch tương trợ gỡ lỗi

Việc tích hợp này làm giảm đáng kể số lượng chip và số lượng không gian bảng mạch và dây điện cấp thiết để sinh sản các mạng lưới hệ thống tương đương bằng phương pháp sử dụng các chip riêng biệt. Hơn nữa, đặc biệt quan trọng trên các thiết bị năng lượng thấp, mỗi chân (pin) có thể giao tiếp với một số thiết bị ngoại vi bên trong, với chức năng pin được lập trình bằng phần mềm. Điều này được cho phép các chân MCU được sử dụng trong nhiều ứng dụng hơn so với những chân có chức năng chuyên được sự dụng.

Bộ vi tinh chỉnh và điều khiển MCU đã được chứng minh là rất phổ quát trong các mạng lưới hệ thống nhúng kể từ lúc được giới thiệu vào trong time 1970.

Một số bộ vi tinh chỉnh và điều khiển MCU sử dụng kiến trúc Harvard : các bus bộ nhớ riêng để hướng dẫn và tài liệu, được cho phép truy cập diễn ra song song. Khi sử dụng kiến ​​trúc Harvard, các hướng dẫn cho bộ xử lý có thể có kích thước bit khác với chiều dài của cục nhớ trong và các thanh ghi; ví dụ: hướng dẫn 12 bit được sử dụng với những thanh ghi tài liệu 8 bit.

Các nhà sinh sản vi tinh chỉnh và điều khiển MCU thường thiết kế tần số hoạt động và mạng lưới hệ thống linh hoạt trước các yêu cầu từ thị trường của khách hàng và phải cân bằng nhu cầu giảm thiểu kích thước chip so với chức năng bổ sung.

Kiến trúc vi tinh chỉnh và điều khiển MCU rất khác nhau. Một số thiết kế gồm có các lõi vi xử lý đa năng, với một hoặc nhiều chức năng ROM, RAM hoặc I/O được tích hợp. Một tập lệnh của cục vi tinh chỉnh và điều khiển MCU thường có nhiều hướng dẫn để làm cho những Khóa học tinh chỉnh và điều khiển nhỏ gọn hơn.

Ví dụ, bộ MCU đa năng có thể yêu cầu một số hướng dẫn để kiểm tra một bit trong thanh ghi nếu bit được đặt, trong đó MCU có thể có một lệnh duy nhất để cung cấp chức năng thường được yêu cầu.

Theo truyền thống, vi tinh chỉnh và điều khiển không có bộ xử lý toán học, vì vậy các phép toán dấu phẩy động được thực hiện bằng phần mềm. Tuy nhiên, một số thiết kế gần đây gồm có các tính năng được tối ưu hóa của FPU và DSP. Một ví dụ là dòng dựa trên PIC32 MIPS của Microchip.

Môi trường thiên nhiên lập trình MCU là gì ?

lập trình bằng ngôn ngữ assembly cho MCU

Các bộ vi tinh chỉnh và điều khiển ban sơ chỉ được lập trình bằng tiếng nói assembly, nhưng các tiếng nói lập trình cấp cao khác, như C , Python và JavaScript, lúc bấy giờ cũng được sử dụng phổ quát cho vi tinh chỉnh và điều khiển và các mạng lưới hệ thống nhúng.

Trình biên dịch cho những tiếng nói cấp cao thường sẽ sở hữu một số hạn chế nhưng cũng có thể có một số cải tiến để tương trợ tốt hơn các đặc tính của vi tinh chỉnh và điều khiển. Một số vi tinh chỉnh và điều khiển có môi trường thiên nhiên để tương trợ phát triển ứng dụng. Các nhà cung cấp vi tinh chỉnh và điều khiển thường cung cấp các phương tiện miễn phí để dễ dàng lập trình và ứng dụng trên phần cứng của họ.

Các bộ vi tinh chỉnh và điều khiển có phần cứng đặc biệt quan trọng có thể yêu cầu các tiếng nói không chuẩn của riêng họ, ví dụ như SDCC cho 8051. Các trình biên dịch cũng có thể có thể chứa các tính năng không tiêu chuẩn, ví dụ như MicroPython.

Phần mềm biên dịch cũng có thể có sẵn cho một số vi tinh chỉnh và điều khiển. Ví dụ, BASIC trên các bộ vi tinh chỉnh và điều khiển MCU Intel 8052 ; BASIC và FORTH trên Zilog Z8 cũng như một số thiết bị tân tiến. Thông thường các trình biên dịch tương trợ lập trình tương tác .

Mô phỏng có sẵn cho một số vi tinh chỉnh và điều khiển. Điều này được cho phép nhà phát triển phân tích hành vi của vi tinh chỉnh và điều khiển và Khóa học của họ sẽ ra làm sao trong thực tế. Một trình giả lập sẽ hiển thị trạng thái bộ xử lý bên trong và cả trạng thái đầu ra, cũng như được cho phép các tín hiệu nguồn vào được tạo ra.

Mặc dù hồ hết các trình giả lập sẽ bị hạn chế do không thể mô phỏng nhiều phần cứng khác nhau trong một mạng lưới hệ thống, chúng có thể thực hiện các nhập cuộc rất khó có thể có thể tái tạo Theo phong cách thực hiện trong thực tế và có thể là cách nhanh nhất để gỡ lỗi và phân tích các vấn đề.

Các bộ vi tinh chỉnh và điều khiển gần đây thường được tích phù hợp với mạch gỡ lỗi trên chip khi được trình giả lập trong mạch (ICE) truy cập thông qua JTAG , được cho phép gỡ lỗi firmware với trình gỡ lỗi. ICE thời kì thực có thể được cho phép xem hoặc thao tác các trạng thái nội bộ trong những lúc chạy. ICE truy tìm có thể ghi lại Khóa học đã thực hiện và trạng thái MCU trước/sau điểm kích hoạt.

Các loại vi tinh chỉnh và điều khiển MCU phổ quát

Có hàng tá kiến ​​trúc và nhà sinh sản vi tinh chỉnh và điều khiển gồm có:

  • ARM core processors (nhiều nhà sinh sản)
  • ARM Cortex-M cores sử dụng cho những ứng dụng cụ thể khác nhau
  • Microchip Technology Atmel AVR (8-bit), AVR32 (32-bit) và AT91SAM (32-bit)
  • Cypress Semiconductor’s M8C core sử dụng trên các PSoC (Programmable System-on-Chip)
  • Freescale ColdFire (32-bit) và S08 (8-bit)
  • Freescale 68HC11 (8-bit) và các loại khác thuộc họ Motorola 6800
  • Intel 8051 được sinh sản bởi NXP Semiconductors và nhiều nhà sinh sản khác
  • Infineon: 8-bit XC800, 16-bit XE166, 32-bit XMC4000 (ARM dựa trên Cortex M4F), 32-bit TriCore và 32-bit Aurix Tricore Bit
  • Maxim tích hợp MAX32600, MAX32620, MAX32625, MAX32630, MAX32650, MAX32640
  • MIPS
  • Microchip Technology PIC, (8-bit PIC16, PIC18, 16-bit dsPIC33 / PIC24), (32-bit PIC32)
  • NXP Semiconductors LPC1000, LPC2000, LPC3000, LPC4000 (32-bit), LPC900, LPC700 (8-bit)
  • Parallax Propeller
  • PowerPC ISE
  • Rabbit 2000 (8-bit)
  • Renesas Electronics: RL78 16-bit MCU; RX 32-bit MCU; SuperH; V850 32-bit MCU; H8; R8C 16-bit MCU
  • Silicon Laboratories Pipelined 8-bit 8051 và ARM-dựa trên 32-bit MCU
  • STMicroelectronics STM8 (8-bit), ST10 (16-bit), STM32 (32-bit), SPC5 (automotive 32-bit)
  • Texas Instruments TI MSP430 (16-bit), MSP432 (32-bit), C2000 (32-bit)
  • Toshiba TLCS-870 (8-bit/16-bit)

Nhiều vi tinh chỉnh và điều khiển MCU khác tồn tại được sử dụng trong phạm vi ứng dụng rất hẹp hoặc giống như bộ xử lý ứng dụng hơn là vi tinh chỉnh và điều khiển. Thị trường vi tinh chỉnh và điều khiển cực kỳ phân mảnh, với nhiều nhà cung cấp, công nghệ và thị trường. Lưu ý rằng nhiều nhà cung cấp có thể bán các kiến ​​trúc vi tinh chỉnh và điều khiển cho những nhà sinh sản khác.

Độ trễ ngắt của MCU là gì

Trái ngược với những máy tính đa năng, các bộ vi tinh chỉnh và điều khiển được sử dụng trong các mạng lưới hệ thống nhúng thường tìm cách tối ưu hóa độ trễ ngắt. Gồm có cả việc giảm độ trễ và làm cho nó dễ dự đoán hơn (để tương trợ kiểm soát thời kì thực).

Khi một thiết bị gây ra gián đoạn (ngắt), các kết quả trung gian (thanh ghi) phải được lưu trước lúc phần mềm chịu trách nhiệm xử lý ngắt có thể chạy. Chúng cũng phải được khôi phục sau khoản thời gian xử lý ngắt đó kết thúc.

Nếu có nhiều thanh ghi bộ xử lý, quá trình lưu trữ và khôi phục này còn có thể mất nhiều thời kì hơn, làm tăng độ trễ. (Nếu ISR không yêu cầu sử dụng một số thanh ghi, nó có thể được giữ nguyên thay vì lưu và khôi phục chúng, vì vậy trong trường hợp đó, các thanh ghi đó không liên quan đến độ trễ).

Những phương pháp để giảm độ trễ như yêu cầu ít các tiến trình của lõi xử lý (hạn chế chiếm dụng lõi xử lý vì nó làm chậm hồ hết quá trình xử lý) hoặc ít nhất là phần cứng không lưu tất cả chúng (điều này sẽ không hiệu quả nếu phần mềm sau đó cần phải bù bằng phương pháp lưu phần sót lại “thủ công”).

Một kỹ thuật khác liên quan đến việc sử dụng cổng silicon cho “shadow registers”: Một hoặc nhiều thanh ghi trùng lặp chỉ được sử dụng bởi phần mềm ngắt, tương trợ ngăn xếp chuyên được sự dụng.

Các yếu tố khác tác động ảnh hưởng đến độ trễ ngắt gồm có:

Chu kỳ luân hồi cấp thiết để hoàn thành những hoạt động CPU ngày nay. Để giảm thiểu các ngân sách đó, bộ vi tinh chỉnh và điều khiển có xu hướng có những đường ống ngắn (pipelines), bộ đệm ghi nhỏ và đảm nói rằng các lệnh dài có thể tiếp tục hoặc có thể phát động lại. Nguyên tắc thiết kế của RISC đảm nói rằng hồ hết các hướng dẫn đều phải có cùng số chu kỳ luân hồi, giúp tránh sự cấp thiết của quá trình tiếp tục/phát động lại như vậy.

Độ dài của bất kỳ phần quan trọng cần phải bị gián đoạn. Hạn chế truy cập cấu trúc tài liệu song song. Một cấu trúc tài liệu phải được truy cập bởi một trình xử lý ngắt, phần quan trọng phải chặn ngắt đó. Từ đó, khi có những ràng buộc phía bên ngoài cứng khi đối chiếu với độ trễ mạng lưới hệ thống, các nhà phát triển thường cần các phương tiện để đo độ trễ ngắt và theo dõi phần nào quan trọng gây ra sự chậm chạp.

Một kỹ thuật phổ quát chỉ chặn tất cả những ngắt trong thời kì của phần quan trọng. Điều này dễ thực hiện, nhưng thỉnh thoảng các phần quan trọng trở thành dài một cách khó chịu.

Một kỹ thuật phức tạp hơn chỉ chặn các ngắt có thể kích hoạt quyền truy cập vào cấu trúc tài liệu đó. Điều này thường dựa trên các ưu tiên ngắt, có xu hướng không tương thích tốt với những cấu trúc tài liệu mạng lưới hệ thống có liên quan. Từ đó, kỹ thuật này được sử dụng chủ yếu trong môi trường thiên nhiên rất hạn chế.

Bộ xử lý có thể có tương trợ phần cứng cho một số phần quan trọng. Các ví dụ gồm có tương trợ truy cập vào bit hoặc byte hoặc các hàm truy cập LDREX / STREX được giới thiệu trong kiến trúc ARMv6 .

Một số vi tinh chỉnh và điều khiển được cho phép ngắt ưu tiên mạnh hơn để ngắt các ưu tiên thấp hơn. Điều này được cho phép phần mềm quản lý độ trễ bằng phương pháp cung cấp các ngắt thời kì quan trọng ưu tiên mạnh hơn (và do đó độ trễ thấp hơn và dễ dự đoán hơn).

Tỷ lệ kích hoạt. Khi ngắt xẩy ra back-to-back, vi tinh chỉnh và điều khiển có thể tránh chu kỳ luân hồi lưu / khôi phục văn cảnh bổ sung bằng một hình thức tối ưu hóa.

Các bộ vi tinh chỉnh và điều khiển thấp cấp có xu hướng độ trễ ngắt thấp hơn.

Công nghệ bộ nhớ trên MCU

Hai loại bộ nhớ khác nhau thường được sử dụng với vi tinh chỉnh và điều khiển, bộ nhớ không mất tài liệu (bộ nhớ chỉ đọc) để lưu trữ phần firmware và bộ nhớ đọc ghi cho tài liệu tạm thời.

Tài liệu

Từ các bộ vi tinh chỉnh và điều khiển sớm nhất cho tới ngày này, SRAM hầu như luôn luôn được sử dụng làm bộ nhớ thao tác đọc/ghi . FRAM hoặc MRAM có khả năng có thể thay thế vì nó sẽ giúp tiết kiệm chi phí ngân sách hơn.

Ngoài SRAM, một số bộ vi tinh chỉnh và điều khiển cũng có thể có EEPROM nội bộ để lưu trữ tài liệu; và thậm chí còn những cái không có (hoặc không đủ) thường được kết nối với chip EEPROM phía bên ngoài (như tem BASIC) hoặc chip bộ nhớ flash phía bên ngoài.

Phần sụn firmware của MCU là gì

Các bộ vi tinh chỉnh và điều khiển sớm nhất đã sử dụng ROM để lưu trữ firmware. Các bộ vi tinh chỉnh và điều khiển sau này (các phiên bản đầu của Freescale 68HC11 và các bộ vi tinh chỉnh và điều khiển PIC trước nhất) có bộ nhớ EPROM, sử dụng hành lang cửa số được cho phép xóa qua đèn UV, trong lúc các phiên bản sinh sản không có hành lang cửa số như vậy là OTP (có thể lập trình một lần). Các bản update firmware có thể tương đương với việc thay thế chính vi tinh chỉnh và điều khiển, do đó nhiều sản phẩm không thể nâng cấp được.

Motorola MC68HC805 là bộ vi tinh chỉnh và điều khiển trước nhất sử dụng EEPROM để lưu trữ phần sụn. Bộ vi tinh chỉnh và điều khiển EEPROM trở thành phổ quát hơn vào năm 1993 khi Microchip giới thiệu PIC16C84 và Atmel giới thiệu bộ vi tinh chỉnh và điều khiển 8051, lần trước nhất sử dụng bộ nhớ NOR Flash để lưu trữ firmware. Các bộ vi tinh chỉnh và điều khiển ngày này hầu như chỉ sử dụng bộ nhớ flash, với một số MCU sử dụng FRAM và một số phòng ban có ngân sách rất thấp vẫn sử dụng OTP hoặc Mask-ROM.

Nguồn: chỉnh sửa thiebiketnoi.com

Xem thêm :

  • Hệ điều hành là gì ? – Các loại hệ điều hành và thành phần của nó
  • GPS là gì ? – Tài liệu kỹ thuật mạng lưới hệ thống định vị toàn cầu

You May Also Like

About the Author: v1000