1.1. Các họ vi điều khiển
Bộ vi điều khiển (Microcontroller) là một mạch tích hợp trên một chip, có thể lập trình đợc với hệ thống tập lệnh để thực hiện một yêu cầu nào đó. Bộ vi điều khiển đợc ra đời sau Bộ vi xử lý. Về thực chất thì Bộ vi điều khiển là Bộ vi xử lý, nhng có thêm các mạch điện hỗ trợ, các thành phần I/O ngoại vi và bộ nhớ ( bộ nhớ chơng trình và bộ nhớ dữ liệu)... đợc tích hợp cùng nhau trên một bản mạch. Bộ vi điều khiển đầu tiên ra đời năm 1971, là bộ vi điều khiển 4 bít TMS1000 của Công ty Texas Instruments. Sau khi dòng sản phẩm này ra đời, nó đã đợc ứng dụng vào rất nhều lĩnh vực: sản xuất máy tính bỏ túi, điều khiển lò vi sóng, sử dụng cho các bộ định thời công nghiệp.
Năm 1976, Công ty Intelligen Electronics (INTEL) cho ra đời thế hệ đầu tiên của vi điều khiển 8 bít với tên gọi 8084. Trong bộ vi điều khiển này, ngoài bộ vi xử lý trung tâm ngời ta tích hợp thêm các bộ nhớ dữ liệu, bộ nhớ chơng trình, các cổng vào ra số, các bộ định thời... Đến năm 1980, thế hệ thứ hai của bộ vi điều khiển ra đời, đó là vi điều khiển 8051. Hiện nay vi điều khiển 8051 đợc sản xuất và sử dụng rộng rãi. Bên cạnh đó các công ty sản xuất cũng phát triển cho mình những bộ vi điều khiển có tính năng đặc biệt làm cho thị trờng vi điều khiển ngày càng phong phú và đa dạng.
Một số họ vi điều khiển thông dụng ngoài họ 8051 hiện nay: + Họ 68HC của Motorola,
+ Họ Z8 của Zilog, + Họ PIC của Microchip, + Họ H8 của Hitachi, + Họ AVR của Atmel,
1.2. Họ vi điều khiển AVR
Họ vi điều khiển AVR là một sản phẩm của Công ty Atmel mới đợc tung ra thị trờng trong những năm gần đây. Đối với thị trờng Việt Nam thì thực sự AVR còn rất mới. Nằm trong số những thế hệ vi điều khiển ra đời sau cho nên AVR có những tính năng và cấu trúc hơn hẳn những loại vi điều khiển thế hệ cũ nh 8051... Những đặc tính nổi bật của AVR:
• Kiến trúc RISC với hầu hết các lệnh có chiều dài cố định, truy nhập bộ nhớ nạp - lu trữ (load - store) và 32 thanh ghi chức năng.
• Kiến trúc đờng ống lệnh kiểu hai tầng (two stage instruction pipeline) cho phép tăng tóc độ thực thi lệnh.
• Chứa nhiều bộ phận ngoại vi ngay trên chíp, bao gồm cổng I/O số, bộ biến đổi ADC, bộ nhớ EPROM, bộ định thời, UART, bộ định thời RTC, bộ định thời WHATDOC, bộ điều chế độ rộng xung PWM...
Đến 48 đờng dẫn vào/ra (I/O) lập trình đợc, Đến 2 bộ truyền nhận UART lập trình đợc, Một dao diện SPI đồng bộ,
Một dao diện SPI đồng bộ tơng thích I2C, Đến 3 bộ Timer/Counter 8 bit,
Một bộ Timer/Counter 16 bit với chức năng so sánh và bắt mẫu, Đến 4 lối ra điều biến độ rộng xung PWM,
Một đồng hồ thời gian thực RTC,
Một bộ biến đổi ADC 10 bit có đến 8 kênh lối vào, Một bộ phát hiện trạng thái sụt điện áp nguồn nuôi, Một bộ so sánh Analog,
Một bộ định thời Watchdog.
• Hầu hết các lệnh, chỉ trừ lệnh nhảy và nạp/lu trữ, đều đợc thực hiện trong một chu kỳ xung nhịp.
• Hoạt động với tốc độ đồng hồ từ 6MHz đến 12MHz mà không phải thông qua bộ chia tần, tốc độ xử lý đến 12MPIS (triệu lệnh trong một giây).
Hình 14: So sánh thời gian thực hiện lệnh ở các bộ vi điều khiển khác nhau
• Bộ nhớ chơng trình và bộ nhớ dữ liệu đợc tích hợp ngay trên chíp: Bộ nhớ EPROM xoá đợc kiểu Flash,
Bộ nhớ EEPROM hay PROM xoá đợc bằng điện, nhng nội dung nhớ vẫn giữ nguyên khi mất điện,
Bộ nhớ RAM tĩnh.
• Khả năng lập trình ngay trên mạch khi mạch đang đợc cấp điện mà không cần phải tháo chíp ra.
• Đợc đóng trong vỏ với 8 chân đến 64 chân để thích ứng với nhiều ứng dụng khác nhau.
• Có tốc độ xử lý lớn hơn đến 12 lần so với các vi điều khiển CISC thông thờng.
• Hỗ trợ cho việc lập trình bằng ngôn ngữ bậc cao, chẳng hạn nh C...
• Chế tạo trên công nghệ CMOS 0,6àm và tiến tới là công nghệ 0,35àm, nhằm đạt đến tốc độ xung nhịp cao hơn 50% hiện nay, còn dòng điện tiêu thụ sẽ giảm đi một phần ba.
• Điện áp làm việc đợc phép thay đổi trong khoảng rộng, từ 2,7V đến 6,0V.
• Kiến trúc đơn giản và hợp lý giúp cho ngời sử dụng dễ dàng làm quen.
• Tập lệnh đến 133 lệnh, cho phép dễ dàng lập trình bằng hợp ngữ hoặc ngôn ngữ C.
Trên thị trờng có tới hàng trăm loại vi xử lý và vi điều khiển vì thế việc lựa chọn một loại cụ thể phù hợp với ứng dụng của ta trở thành một công việc hết sức khó khăn. Thông thờng việc lựa chọn phụ thuộc vào một số yếu tố nh: yếu tố tính năng công việc, giá thành, thị trờng, khả năng thiết kế... Nếu xét trên phơng diện số lợng thì một con vi điều khiển họ AVR có giá thành cao gấp nhiều lần so với một con vi điều khiển cùng kích cỡ loại cũ nh 89C51, nhng xét trên phơng diện chức năng và ứng dụng thì giá thành của AVR lại rẻ hơn rất nhiều. Để có thể có đợc những chức năng nh của AVR thì 89C51 cần rất nhiều mạch hỗ trợ bên ngoài, giá thành của những mạch ngoài sẽ làm tăng giá thành chung và kích cỡ mạch, công suất tiêu thụ vì thế cũng tăng lên rất nhiều. Ngợc lại, với AVR do đợc tích hợp nhiều thành phần ngoại vi trên cùng một vỏ chíp nên kết cấu mạch nhỏ gọn hơn nhiều, theo đó giá thành và công suất tiêu thụ cũng giảm đi...
Ngày nay những ứng dụng điện tử và điều khiển đòi hỏi phải thật nhỏ gọn và có trình độ công nghệ cao. Ngời làm kĩ thuật phải luôn luôn tìm tòi, khám phá những thành tựu công nghệ. Vì những lý do trên, chúng em quyết định chọn họ vi điều khiển AVR mà cụ thể là vi điều khiển ATMEGA8535 làm đối tợng nghiên cứu và công cụ thiết kế mạch phục vụ cho đề tài.