Lịch sử phát triển của vi điều khiển và vi xử lí

Ở bài trước mình đã so sánh sự khác nhau giữa vi xử lí và vi điều khiển (Bạn có thể xem lại tại đây). Ở bài này mình sẽ nói về lịch sử phát triển của chúng để trọn bộ luôn ha. Ok

1. Tóm tắt lịch sử ra đời và phát triển của các dòng vi xử lý và vi điều khiển

1.1 Vi xử lý

vi_dieu_khien_image009.jpg

Vi xử lý được chế tạo từ các tranzito tích hợp trên một vi mạch tích hợp đơn. Xuất hiện lần đầu tiên vào những năm đầu của thập kỷ 70 của thế kỷ 20. Sử dụng mã BCD trên nền 4 bit. Các vi xử lý 4 bit và 8 bit được sử dụng trong các thiết bị đầu cuối, máy in, các hệ thống tự động...Đến giữa những năm 1970 thì lần đầu tiên các vi xử lý 8 bit với 16 bit địa chỉ được sử dụng như máy tính đa mục đích. Các hãng sản xuất vi xử lý đầu tiên ở thời điểm này là Intel, Texas Instruments và Garrett AiResearch với ba dòng chip tương ứng: Intel 4004, TMS 1000 và Central Air Data Computer. Đây là những vi xử lý 4 bit. Sau sự ra đời của các vi xử lý 4 bit thì các hãng cho ra đời các dòng 8 bit, 12 bit, 16 bit, 32 bit, 64 bit. Intel 8008 là vi xử lý 8 bit đầu tiên trên thế giới được sản xuất năm 1972. Tiếp sau thành công của 8008 là các phiên bản như 8080 (1974), Zilog Z80 (1976). Các vi xử lý của Motorola 6800 được phát hành tháng 8 năm 1974 và MOS technology ra đời năm 1975. Intersil 6100 là vi xử lý 12 bit, từ khi được sản xuất bởi công ty Harris nó được biết đến với tên HM-6100 được sử dụng trong quân đội suốt thập niên 1980. Vi xử lý 16 bit đầu tiên được giới thiệu bởi hãng National Semiconductor IMP-16 vào năm 1973 đây là vi xử lý đa chip. Đến năm 1975 hãng này giới thiệp vi xử lý đơn chip đầu tiên. Hãng Texas Instruments ra đời vi xử lý 16 bit đơn chip TI-990 sử dụng như một máy tính mini. Intel cũng cho ra đời dòng vi xử lý 16 bit lấy tên 8086. Vi xử lý 16 bit chỉ xuất hiện trên thị trường một thời gian ngắn thì dòng 32 bit đã bắt đầu xuất hiện. MC6800 là vi xử lý 32 bit đầu tiên của hãng Motorola, họ 68k có 32 bit thanh ghi nhưng sử dụng đường dẫn dữ liệu 16 bit bên trong và 16 bit dữ liệu bên ngoài để giảm số lượng pin, hỗ trợ 24 bit địa chỉ. Motorola thường được biết đến như vi xử lý 16 bit mặc dù nó có cấu trúc 32 bit. Vi xử lý 32 bit đầy đủ đầu tiên là AT&T Bell Labs BELLMAC-32A với mẫu đầu tiên vào năm 1980 và sản xuất năm 1982. Vi xử lý 32 bit đầu tiên của Intel là dòng iAPX 432 được giới thiệu năm 1981 nhưng không thu được thành công. Vi xử lý ARM đầu tiên ra đời năm 1985 với thiết kế RISC viết tắt của reduced instruction set computer máy tính có tập lệnh rút gọn, các vi xử lý ARM được sử dụng chủ yếu trong các điện thoại di động. Vi xử lý 64 bit được thiết kế cho các máy tính cá nhân. Nó được thiết kế vào đầu những năm 1990 đến đầu những năm 2000 chứng kiến vi xử lý 64 bit nhằm vào thị trường máy tính. Vi xử lý AMD 64 bit tương thích ngược với x86, x86-64 còn gọi là AMD64 trong tháng 9 năm 2003, tiếp sau thành công của Intel64. Kỷ nguyên của máy tính 64 bit đã bắt đầu.

1.2 Vi điều khiển

Vi điều khiển là một máy tính được tích hợp trên một chíp, nó thường được sử dụng để điều khiển các thiết bị điện tử. Vi điều khiển thực chất gồm một vi xử lý có hiệu suất đủ cao và giá thành thấp (so với các vi xử lý đa năng dùng trong máy tính) kết hợp với các thiết bị ngoại vi như các bộ nhớ, các mô đun vào/ra, các mô đun biến đổi từ số sang tương tự và từ tương tự sang số, mô đun điều chế độ rộng xung (PWM)... Vi điều khiển thường được dùng để xây dựng hệ thống nhúng. Nó xuất hiện nhiều trong các dụng cụ điện tử, thiết bị điện, máy giặt, lò vi sóng, điện thoại, dây truyền tự động... Hầu hết các loại vi điều khiển hiện nay có cấu trúc Harvard là loại cấu trúc mà bộ nhớ chương trình và bộ nhớ dữ liệu được phân biệt riêng. Cấu trúc của một vi điều khiển gồm CPU, bộ nhớ chương trình (thường là bộ nhớ ROM hoặc bộ nhớ Flash), bộ nhớ dữ liệu (RAM), các bộ định thời, các cổng vào/ra để giao tiếp với các thiết bị bên ngoài, tất cả các khối này được tích hợp trên một vi mạch. Các loại vi điều khiển trên thị trường hiện nay:

  • Freescale 68HC11 (8-bit)
  • Intel 8051
  • STMicroelectronics STM8S (8-bit), ST10 (16-bit) và STM32 (32-bit)
  • Atmel AVR (8-bit), AVR32 (32-bit), và AT91SAM (32-bit)
  • Freescale ColdFire (32-bit) và S08 (8-bit)
  • Hitachi H8 (8-bit), Hitachi SuperH (32-bit)
  • MIPS (32-bit PIC32)
  • PIC (8-bit PIC16, PIC18, 16-bit dsPIC33 / PIC24)
  • PowerPC ISE
  • PSoC (Programmable System-on-Chip)
  • Texas Instruments Microcontrollers MSP430 (16-bit), C2000 (32-bit), và Stellaris (32-bit)
  • Toshiba TLCS-870 (8-bit/16-bit)
  • Zilog eZ8 (16-bit), eZ80 (8-bit)
  • Philips Semiconductors LPC2000, LPC900, LPC700

2. Các loại VXL và VĐK được sử trên thị trường Việt Nam hiện nay

Có thể nói việc sử dụng các loại vi điều khiển và vi xử lý trong các thiết bị điện tử tự động ở Việt Nam rất đa dạng, phong phú tùy vào yêu cầu kỹ thuật và giá thành sản phẩm.

Đối với các thiết bị như các máy ATM, máy giặt thường sử dụng vi điều khiển 8051, các bộ điều khiển trong robot công nghiệp, trong hệ thống ô tô thường sử dụng PIC, AVR, PsoC, còn trong điện thoại sử dụng các chip ARM…

2.1 Vi điều khiển 8051

[​IMG]

Intel 8051 - là vi điều khiển đơn tinh thể kiến trúc Harvard, lần đầu tiên được sản xuất bởi Intel năm 1980, để dùng trong các hệ thống nhúng. Trong những năm 1980 và đầu những năm 1990 đã rất nổi tiếng. Tuy nhiên hiện tại đã cũ và được thay thế bằng các thiết bị hiện đại hơn, với các lõi phối hợp 8051, được sản xuất bởi hơn 20 nhà sản xuất độc lập như Atmel, Maxim IC (công ty con của Dallas Semiconductor), NXP Semiconductors (Philips Semiconductor trước đây), Winbond, Silicon Laboratories, Texas Instruments và Cypress Semiconductor. Tên gọi chính thức của họ vi điều khiển Intel 8051 - MCS 51. Những vi điều khiển Intel 8051 được sản xuất với việc dùng công nghệ MOSFET, những những bản sau, chứa kí hiệu “C” trong tên, như 80C51, dùng công nghệ CMOS và yêu cầu công suất thấp, hơn những cái MOSFET trước (điều này cho phép trang bị cho các thiết bị với nguồn là pin). Các thông số kỹ thuật: 8 bit ALU, 8 bit thanh ghi. 8 bit dữ liệu bus 16 bit địa chỉ bus vì vậy không gian bộ nhớ tối đa cho ROM và RAM lên tới 64 kb Bộ nhớ dữ liệu SRAM 128 bytes Bộ nhớ chương trình ROM 4 kb. 32 chân vào/ra đa hướng. Giao tiếp nối tiếp UART. Hai bộ timer/counter 16 bit. Hai ngắt ngoài. Sơ đồ chân của 8051: Sơ đồ khối điều khiển: Lập trình cho 8051: Các nhà sản xuất 8051 đều hỗ trợ ngôn ngữ lập trình Assembler tuy nhiên ngôn ngữ này thường ít được dùng cho những ứng dụng lớn do tính phù hợp của nó, vì vậy trong các ứng dụng thực tế hay sử dụng ngôn ngữ C. Ngoài ra còn một số ngôn ngữ khác được phát triển cho 8051 như Pascal, Basic, Forth.

2.2 Vi điều khiển AVR

Là dòng vi điều khiển do hãng Atmel sản xuất có nhiều loại AVR như:

  • 32-bit AVR UC3.
  • 8/16-bit AVR XMEGA.
  • 8-bit mega AVR.
  • 8-bit tiny AVR.

Vi điều khiển Atmega 16: Là vi điều khiển 8 bit với tiêu thụ điện năng thấp dựa trên kiến trúc RISC (Reduced Instruction Set Computer). Vào ra Analog – digital và ngược lại. Với công nghệ này cho phép các lệnh thực thi chỉ trong một chu kì xung nhịp, vì thế tốc độ xử lý dữ liệu có thể đạt đến 1 triệu lệnh trên giây ở tần số 1Mhz. Vi điều khiển này cho phép người thiết kế có thể tối ưu hoá chế độ tiêu thụ năng lượng mà vẫn đảm bảo tốc độ xử lý. Lõi AVR có tập lệnh phong phú với số lượng với 32 thanh ghi làm việc chung với nhau. Tất cả 32 thanh ghi đều được nối trực tiếp với ALU (Arithmetic Logic Unit), cho phép 2 thanh ghi truy cập độc lập trong một chỉ lệnh đơn trong một chu kỳ xung nhịp. Kiến trúc đạt được có tốc độ xử lý nhanh gấp 10 lần vi điều khiển dạng CISC (Complex Instruction Set Computer) thông thường. Atmega 16 được hỗ trợ đầy đủ phần mềm và công cụ phát triển hệ thống bao gồm: Trình dịch Assembly như AVR studio của Atmel, Trình dịch C như win AVR, CodeVisionAVR C, ICCAVR. C - CMPPILER của GNU… Trình dịch C đã được nhiều người dùng và đánh giá tương đối mạnh, dễ tiếp cận đối với những người bắt đầu tìm hiểu AVR, đó là trình dịch CodeVisionAVR C. Phần mềm này hỗ trợ nhiều ứng dụng và có nhiều hàm có sẵn nên việc lập trình tốt hơn. - Bộ nhớ: Flash 16KB EEPROM 512 Byte SRAM 1KB. - Ngoại vi: Hai timer 8 bit Một timer 16 bit Bộ counter với tần số riêng Bốn bộ điều chế độ rộng xung PWM. Tám kênh ADC 10 bit. USART. Giao tiếp SPI, Giao diện I2C. Watchdog timer. Bộ so sánh tương tự trên chip. - Tính năng: Tập lệnh gồm 131 lệnh, hầu hết thực hiện trong một chu kỳ máy. Xử lý 16 triệu lệnh ở tần số 16 MHZ. 32 chân vào/ra có thể lập trình được. Sáu chế độ sleep . 40 pin kiểu PDIP, 44 pin kiểu TQFP và kiểu QFL/MLF. 32 thanh ghi 8 bit đa dụng. Ngắt trong và ngắt ngoài. Điện áp hoạt động từ 2,7-5,5V cho Atmega 16A.

-Sơ đồ chân

[​IMG] 

Sơ đồ khối điều khiển:

[​IMG]

2.3 Vi điều khiển PIC

PIC là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip Technology. Dòng PIC đầu tiên là PIC1650 được phát triển bởi Microelectronics Division thuộc General Instrument . PIC bắt nguồn là chữ viết tắt của "Programmable Intelligent Computer" (Máy tính khả trình thông minh). Là vi điều khiển với kiến trúc RISC thực thi một lệnh với một chu kỳ máy (bằng bốn chu kỳ của bộ dao động). Ngày nay có nhiều dòng PIC được sản xuất với hàng loạt các mô đun ngoại vi tích hợp sẵn như ADC, PWM, USART, SPI…với bộ nhớ chương trình từ 512 word đến 32 Kword. Các họ vi điều khiển PIC: - Họ 8 bit: PIC 10/ PIC 12/ PIC 16/ PIC 18 - Họ 16 bit: PIC 24F/ PIC 24H/ dsPIC 30/ dsPIC 33 - Họ 32 bit: PIC 32. Một vài đặc tính:

  • Chân vào/ra I/O có thể lập trình được.
  • Flash và ROM có thể tuỳ chọn từ 256 byte đến 512 Kbyte
  • Bộ dao động bên trong.
  • 8/16/32 bit Timers.
  • Bộ nhớ EEPROM nội
  • Chuẩn giao tiếp nối tiếp đồng bộ và không đồng bộ USART
  • MSSP Peripheral cho giao tiếp I2C và SPI
  • Các chế độ so sánh, bắt giữ và điều chế độ rộng xung PWM.
  • Bộ so sánh điện áp.
  • Bộ chuyển đổi ADC (tần số có thể lên tới 1 MHz).
  • Hộ trợ các giao thức USB, CAN, Ethernet.
  • Mô đun điều khiển động cơ, mô đun đọc encoder.
  • Hộ trợ bộ nhớ ngoài.
  • DSP những tính năng xử lý tín hiệu số (dsPIC)

Lập trình cho PIC: Hãng Microchip cung cấp môi trường lập trình MPLAB nó bao gồm phần mềm mô phỏng, trình dịch ASM, liên kết và gỡ rối. Ngoài ra hãng này cũng bán trình biên dịch C cho các dòng PIC18 và dsPIC tích hợp trong MPLAB. Ngoài ra còn một số công ty khác cung cấp trình biên dịch C, PASCAL, BASIC cho PIC đó có thể là phần mềm thương mại hoặc phần mềm mã nguồn mở.

2.4 Vi điều khiển ARM

Cấu trúc ARM (viết tắt từ tên gốc là Acorn RISC Machine) là một loại cấu trúc vi xử lý 32-bit kiểu RISC được sử dụng rộng rãi trong các thiết kế nhúng. Được phát triển lần đầu trong một dự án của công ty máy tính Acorn. Do có đặc điểm tiết kiệm năng lượng, các bộ CPU ARM chiếm ưu thế trong các sản phẩm điện tử di động, mà với các sản phẩm này việc tiêu tán công suất thấp là một mục tiêu thiết kế quan trọng hàng đầu. Ngày nay, hơn 75% CPU nhúng 32-bit là thuộc họ ARM, điều này khiến ARM trở thành cấu trúc 32-bit được sản xuất nhiều nhất trên thế giới. CPU ARM được tìm thấy khắp nơi trong các sản phẩm thương mại điện tử, từ thiết bị cầm tay (PDA, điện thoại di động, máy đa phương tiện, máy trò chơi cầm tay, và máy tính cầm tay) cho đến các thiết bị ngoại vi máy tính (ổ đĩa cứng, bộ định tuyến để bàn.). Một nhánh nổi tiếng của họ ARM là các vi xử lý Xscale của Intel. Giới thiệu về vi điều khiển LPC2148: Là dòng vi điều khiển ARM được sản xuất bởi hãng Philips. Tính năng:

  • Vi điều khiển 16/32-bit ARM7TDMI-S
  • 40k RAM tĩnh (8k +32k), 512k flash
  • Tích hợp USB 2.0
  • Hộ trợ hai bộ ADC 10 bit
  • Một bộ DAC 10 bit
  • 2 bộ timer 32 bit, 6 ngõ điều chế độ rộng xung
  • Đồng hồ thời gian thực hỗ trợ tần số 32kHz
  • Khả năng thiết lập chế độ ưu tiên và định địa chỉ cho ngắt
  • 45 chân GPIO vào ra đa dụng
  • 9 chân ngắt ngoài (tích cực cạnh hoặc tích cực mức)
  • CPU clock đạt tối đa 60MHz thông qua bộ PLL lập trình được
  • Xung PLCK hoạt động độc lập.

On-chip Flash Memory: LPC 2148 có 512K bộ nhớ Flash có thể được dùng để lưu trữ code và dữ liệu. Trong khi thực thi ứng dụng, vẫn có thể xóa hoặc lập trình Flash thông qua IAP (In Application Programming). Khi đó trình loader trên chip được sử dụng, bộ nhớ trống còn lại là 500K. Bộ nhớ Flash có thể ghi xóa được ít nhất 100000 lần, lưu trữ dữ liệu đến 20 năm. On-chip Static RAM: LPC 2148 có 32K RAM tĩnh, có thể được truy xuất theo đơn vị byte, half word & word. Bộ điều khiển SRAM sử dụng phương thức write-back buffer để ngăn chặn tình trạng treo CPU khi có thao tác ghi. Bộ đệm luôn giữ dữ liệu cuối cùng từ chương trình gửi tới bộ nhớ. Dữ liệu chỉ được ghi vào SRAM khi có 1 thao tác ghi khác từ chương trình. Lập trình cho ARM: Ngôn ngữ lập trình chính cho ARM hiện nay là ngôn ngữ C. Các trình biên dịch cho ARM thường được dùng:

  • Keil ARM.
  • IAR.
  • HTPICC for ARM.
  • ImageCraft ICCV7 for ARM

3. Kết luận

Các dòng vi điều khiển từ đơn giản đến phức tạp rất đa dạng tùy vào yêu cầu kỹ thuật và giá thành của sản phẩm mà chọn loại vi điều khiển thích hợp cho việc thiết kế và lập trình sản phẩm. Chào tạm biệt.

lên
19 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

[Truyền thông] Phát động cuộc thi "Oraichain Hackathon" 2022 - Săn tiền thưởng 100 triệu đồng

    Hiện nay với xu thế phát triển của cách mạng công nghiệp 4.0, AI và Blockchain đang ngày càng được quan tâm, phát triển. Các cuộc thi về AI thì đã có nhiều, còn các cuộc thi về Blockchain thì vẫn còn khá ít và hạn chế. Trước sự quan tâm của các bạn trẻ đam mê công nghệ tại Việt Nam về Blockchain, chiều ngày 19/4/2022, tại Hà Nội, Trung tâm Phát triển khoa học, công nghệ và tài năng trẻ (Trung ương Đoàn) đã phối hợp với các đơn vị chính thức khởi động cuộc thi lập trình Orachain Hackathon năm 2022.

lên
9 thành viên đã đánh giá bài viết này hữu ích.

Lập trình Arduino không cần viết code - Phần 14: Timer - Millis()

Đây là phần 14 của chuỗi bài viết "Lập trình Arduino không cần viết code"

- Xem lại phần 13 tại đây.

Xin chào các bạn, hôm nay chúng ta sẽ cùng tìm hiểu về timer và cách sử dụng nó trong mBlock cũng như trong Arduino. Xơi luôn

 

lên
13 thành viên đã đánh giá bài viết này hữu ích.