GIÁO TRÌNH VI XỬ LÝ ( Lưu hành nội bộ) HÀ NỘI 300 BÀI 1. SƠ LƯỢC VỀ LỊCH SỬ VÀ HƯỚNG PHÁT TRIỂN CỦA VI XỬ LÝ Mục tiêu: + Kiến thức: - Trình bày được lịch sử phát triển của vi xử lý; - Trình bày được cấu trúc chung của vi xử lý; - Phát biểu đúng các ứng dụng của vi xử lý và hướng phát triển của vi xử lý; + Kỹ năng: - Nâng cao kỹ năng hoạt động nhóm trong quá trình học tập; + Thái độ: - Đảm bảo an toàn cho người và thiết bị, Các thuật ngữ chuyên môn: Được giải thích chi tiết trong nội dung bài học Nội dung: A. Giới thiệu lịch sử phát triển của vi xử lý Trước khi tìm hiểu lịch sử phát triển của vi xử lý chúng ta cùng nhắc lại lịch sử phát triển của vi xử lý. Lịch sử phát triển của vi xử lý gắn liền với sự phát triển của các vi mạch điện tử vì vi xử lý là vi mạch điện tử chế tạo theo công nghệ LSI (Large Scale Integrated) cho đến VLSI (Very Large Scale Integrated).
Với sự khám phá ra transistor và phát triển của công nghệ chế tạo vi mạch SSI, MSI, máy tính vẫn còn là một nhóm gồm nhiều IC kết hợp lại với nhau, cho đến thập niên 70, với sự phát triển của công nghệ LSI, cấu trúc máy tính được rút gọn bởi các nhà thiết kế và được chế tạo thành một IC duy nhất được gọi là vi xử lý (microprocessor). Vi xử lý kết hợp với các thiết bị khác tạo ra các máy tính có khả năng tính toán rất lớn như máy vi tính và có thể tạo ra các sản phẩm khác các máy điện thoại, các tổng đài điện thoại, các hệ thống điều khiển tự động. Vi xử lý đầu tiên có khả năng xử lý 4 bit dữ liệu, các vi xử lý này có tốc độ xử lý rất chậm, các nhà thiết kế cải tiến thành vi xử lý 8 bit, sau đó là vi xử lý 16 bit và 32 bit. Sự phát triển về dung lượng các bit của vi xử lý làm tăng thêm số lượng các lệnh điều khiển và các lệnh tính toán phức tạp.
Vi xử lý có rất nhiều loại bắt đầu từ 4 bit cho đến 32 bit, vi xử lý 4 bit hiện nay không còn nhưng vi xử lý 8 bit vẫn còn mặc dù đã có vi xử lý 32 bit. Lý do sự tồn tại của vi xử lý 8 bit là phù hợp với một số yêu cầu điều khiển của các thiết bị điều khiển trong công nghiệp. Các vi xử lý 32 bit thường sử dụng cho các máy tính với khối lượng dữ liệu của máy tính rất lớn nên cần các vi xử lý càng mạnh càng tốt. Các hệ thống điều khiển trong công nghiệp sử dụng các vi xử lý 8 bit để điều khiển như hệ thống điện của xe hơi, hệ thống điều hòa, hệ thống điều khiển các dây chuyền sản xuất,… Khi sử dụng vi xử lý cần phải thiết kế một hệ thống gồm có: - Vi xử lý.
- Các IC ngoại vi. Bộ nhớ dùng để chứa chương trình cho vi xử lý thực hiện và chứa dữ liệu xử lý, các IC ngoại vi dùng để xuất nhập dữ liệu từ bên ngoài vào xử lý và điều 301 khiển trở lại. Các khối này liên kết với nhau tạo thành một hệ thống vi xử lý. Yêu cầu điều khiển càng cao thì hệ thống càng phức tạp và nếu yêu cầu điều khiển đơn giản ví dụ chỉ cần đóng mở một đèn Led theo một thời gian yêu cầu nào đó thì hệ thống vi xử lý cũng phải có đầy đủ các khối trên.
Để kết nối các khối trên tạo thành một hệ thống vi xử lý đó hỏi người thiết kế phải rất hiểu biết về tất cả các thành phần vi xử lý, bộ nhớ, các thiết bị ngoại vi. Hệ thống tạo ra khó phức tạp, chiếm nhiều không gian, mạch in, và vấn đề chính là đó hỏi người thiết kế, người sử dụng hiểu thật sự về hệ thống. Một lý do chính nữa là vi xử lý thường xử lý dữ liệu theo byte hoặc word trong khi đó các đối tượng điều khiển trong công nghiệp thường điều khiển theo bit. Chính với sự phức tạp nên các nhà chế tạo đó tích hợp một ít bộ nhớ và một số các thiết bị ngoại vi cùng với vi xử lý tạo thành một IC gọi là vi xử lý – Microcontroller.
Khi vi xử lý ra đời đó mang lại sự tiện lợi là dễ dàng sử dụng trong điều khiển công nghiệp, việc sử dụng vi xử lý không đòi hỏi người sử dụng phải hiểu biết một lượng kiến thức quá nhiều như người sử dụng vi xử lý – dĩ nhiên người sử dụng hiểu biết càng nhiều thì càng tốt nhưng đối với người bắt đầu thì việc sử dụng vi xử lý là điều rất phức tạp trong khi đó mong muốn là sử dụng được ngay. Các phần tiếp theo chúng ta sẽ khảo sát vi xử lý để thấy sự sự tiện lợi trong vấn đề điều khiển trong công nghiệp. Có rất nhiều hãng chế tạo được vi xử lý, hãng sản xuất nổi tiếng là ATMEL. Hãng Intel là nhà thiết kế.
Có nhiều họ vi xử lý mang các mã số khác nhau, một trong họ nổi tiếng là họ MCS-51. Trong họ MCS-51 thì vi xử lý đầu tiên là 80C31 không có bộ nhớ bên trong là do chưa tích hợp được. - Vi xử lý 80C51 tích hợp được 4 kbyte bộ nhớ PROM. Chỉ lập trình 1 lần không thể xóa để lập trình lại được.
- Vi xử lý 87C51 tích hợp được 4 kbyte bộ nhớ EPROM. Cho phép lập trình nhiều lần và xóa bằng tia cực tím. - Vi xử lý 89C51 tích hợp được 4 kbyte bộ nhớ flash ROM nạp và xóa bằng điện một cách tiện lợi và nhanh chĩng. Có thể cho phép nạp xóa hàng ngàn lần.
Song song với họ MCS-51 là họ MCS-52 có 3 timer nhiều hơn họ MCS- 51 một timer và dung lượng bộ nhớ nội lớn gấp đôi tức là 8Kbyte. Hiện nay có rất nhiều vi xử lý thế hệ mới với nhiều đặc tính hay hơn, nhiều thanh ghi hơn, dung lượng bộ nhớ lớn hơn. Ứng dụng của vi xử lý rất nhiều trong các hệ thống điều khiển công nghiệp, các dây chuyền sản xuất, các bộ điều khiển lập trình, máy giặt, máy điều hòa nhiệt độ, máy bơm xăng tự động… có thể nói vi xử lý và vi xử lý được ứng dụng trong hầu hết mọi lĩnh vực tự động. Các bộ vi xử lý so với bộ vi xử lý dùng chung.
Sự khác nhau giữa một bộ vi xử lý và một bộ vi xử lý như thế nào? Bộ vi xử lý ở đây là các bộ vi xử lý công dụng chung như họ Intell x86(8086, 80286, 80386, 80486 và Pentium) hoặc họ Motorola 680x0 (68000, 68010, 68020, 68030, 68040 v. Những bộ vi xử lý này không có RAM, ROM và không có các cổng vào ra trên chíp. Với lý do đó mà chúng được gọi chung là các bộ vi xử lý công dụng chung Hình 1.1: Hệ thống vi xử lý được so sánh với hệ thống vi xử lý (a) Hệ thống vi xử lý công dụng chung (b) Hệ thống vi xử lý Một nhà thiết kế hệ thống sử dụng một bộ vi xử lý công dụng chung chẳng hạn như Pentium hay 68040 phải bổ xung thêm RAM, ROM, các cổng vào ra và các bộ định thời làm cho chúng cồng kềnh và đắt hơn, nhưng chúng có ưu điểm là linh hoạt chẳng hạn người thiết kế có thể quyết định về số lượng RAM, ROM và các cổng vào ra cần thiết phù hợp với bài toán trong tầm tay của mình. Điều này không thể có được đối với một bộ vi xử lý.
Một bộ vi xử lý có một CPU (một bộ vi xử lý) cùng với một số lượng cố định RAM, ROM, các cổng vào ra và một bộ định thời tất cả trên cùng một chíp. Hay nói cách khác là bộ xử lý, RAM, ROM các cổng vào ra, bộ định thời đều được nhúng với nhau trên một chíp do vậy người thiết kế không thể bổ xung thêm bộ nhớ ngoài, cổng vào ra hoặc bộ định thời cho nó, chính vì vậy chúng trở lên lý tưởng với nhiều ứng dụng mà trong đó giá thành và không gian lại hạn chế. Trong nhiều ứng dụng, ví dụ một điều khiển từ xa ti vi thì không cần công suất tính toán của một bộ vi xử lý 80486 hoặc 8086. Trong rất nhiều ứng dụng mà trong đó giá thành và không gian nó chiếm, công suất nó tiêu tốn và giá thành trên một đơn vị là những còn nhắc nghiêm ngặt hơn nhiều so với công suất tính toán.
Những ứng dụng thường yêu cầu một số thao tác vào ra để đọc các tín hiệu và tắt mở những bit nhất định. Với lý do đó mà một số người gọi các bộ xử lý này là IBP (Itty Bitty Processor). Điều thú vị nhất là một số nhà sản xuất các bộ vi xử lý đó đi xa hơn là tích hợp cả bộ chuyển đổi ADC và các ngoại vi khác vào trong bộ vi xử lý.1: Một số sản phẩm được nhúng sử dụng các bộ vi xử lý Thiết bị nội thất gia Văn phòng Ô tô đình Đồ điện trong nhà Máy tính Điều khiển động cơ Máy điện thoại Máy fax Điều khiển túi đệm khí Các hệ thống an toàn Máy điện thoại Thiết bị ABS Các bộ mở cửa ga ra xe Các hệ thống an toàn Thiết bị đo lường Máy fax Máy Scaner Hệ thống bảo mật Máy trả lời thự động Máy photocopy Điều khiển truyền tin Máy tính gia đình Máy in … Giải trí Ti vi Điều hòa nhiệt độ Truyền hình cáp Mở cửa không cần chìa Máy quay camera khóa… Điều khiển từ xa Trị chơi điện tử Các lại nhạc cụ điện tử Điều khiển ánh sáng Lò vi sóng Máy giặt Tủ lạnh Các máy tập thể dục, thể hình… 1. Các bộ vi xử lý cho các hệ thống nhúng Trong các tài liệu về vi xử lý, vi xử lý ta thường thấy khái niệm về hệ thống nhúng (Embeded system).
Các bộ vi xử lý, vi xử lý được sử dụng rộng rãi trong các sản phẩm hệ thống nhúng. Một sản phẩm nhúng sử dụng một bộ vi xử lý hoặc một bộ vi xử lý để thực hiện một nhiệm vụ chỉ một mà thôi. Máy in là một ví dụ về một việc nhúng với bộ vi xử lý bên trong nó chỉ làm một việc là nhận dữ liệu và in ra. Điều này khác với một máy tính PC dựa trên bộ vi xử lý Pentium (hoặc một PC tương ứng với IBM x86 bất kỳ).