Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
582,4 KB
Nội dung
Chương 1: Giới thiệu Giáo trình vi xử lý Chương GIỚI THIỆU VI XỬ LÍ – VI ĐIỀU KHIỂN 1.1 GIỚI THIỆU VỀ CÁC HỌ VI XỬ LÝ VÀ THÔNG DỤNG 1.1.1 Lịch sử phát triển vi xử lí vi điều khiển Sự đời phát triển nhanh chóng kỹ thuật vi điện tử mà đặc trưng kỹ thuật vi xử lí tạo bước ngoặt quan trọng phát triển khoa học tính tốn, điều khiển xử lí thơng tin Kỹ thuật vi xử lí đóng vai trị quan trọng tất lĩnh vực sống khoa học kỹ thuật, đặc biệt lĩnh vực Tin học Tự động hóa Năm 1971, hãng Intel cho đời vi xử lí (microprocessor) giới tên gọi Intel-4004/4bit , nhằm đáp ứng nhu cầu cấp thiết công ty kinh doanh hãng truyền thông BUSICOM Intel-4004 kết ý tưởng quan trọng kỹ thuật vi xử lí số Đó kết cấu logic mà thay đổi chức chương trình ngồi không phát triển theo hướng tạo cấu trúc cứng thực số chức định trước Sau đó, vi xử lí liên tục đưa thị trường ngày phát triển, hoàn thiện hệ sau : Vào năm 1972, hãng Intel đưa vi xử lí 8-bit với tên Intel-8008/8bit Từ 1974 đến 1975 , Intel chế tạo vi xử lí 8-bit 8080 v 8085A Cũng vào khoảng thời gian này, loạt hãng khác giới cho đời vi xử lí tương tự : 6800 Motorola với 5000 tranzitor, Signetics 6520, 1801 RCA, 6502 hãng MOS Technology Z80 hãng Zilog Năm 1978 xuất Intel 8086 loại xi xử lý 16 bit với 29.000 tranzitor, Motorola 68000 tích hợp 70.000 tranzitor, APX 432 chứa 120.000 tranzitor Bộ vi xử lý Hewlet Pakard có khoảng 450.000 tranzitor Từ năm 1974 đến 1984 số tranzitor tích hợp chip tăng khoảng 100 lần Năm 1983, Intel đưa vi xử lý 80286 dung máy vi tinh họ AT (Advanced Technology) 80286 sử dụng I/O 16 bit, 24 đường địa không gian nhớ địa thực 16MB Năm 1987, Intel đưa vi xử lý 80386 32-bit Năm 1989 xuất xuất vi xử lý Intel 80486 cải tiến Intel 80386 với nhớ ẩn mạch tính phép toán đại số dấu phẩy động Năm 1992, xuất Intel 80586 gọi Pentium 64 bit chứa triệu tranzitor Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu Giáo trình vi xử lý Độ phức tạp, gọn nhẹ kích thước khả vi điều khiển tăng thêm bậc quan trọng vào năm 1980 Intel công bố chip 8051, vi điều khiển họ vi điều khiển MCS-51 So với 8048, chip 8051 chứa 60.000 transistor bao gồm 4K byte ROM, 128 byte RAM, 32 đường xuất nhập, port nối tiếp định thời 16-bit – số lượng mạch đáng ý IC đơn Từ vi xử lý ban đầu xử lý trung tâm hệ thống, hoạt động thiếu phận RAM, ROM, bo mạch chủ hãng phát triển vi xử lý lên thành vi điều khiển để phục vụ mục đích riêng biệt, khác công nghiệp Một vi điều khiển hệ vi xử lí thật tổ chức chip (trong vỏ IC) bao gồm vi xử lí (microprocessor), nhớ chương trình (ROM), nhớ liệu (RAM), không dung lượng RAM máy vi tính khơng phải hạn chế vi điều khiển thiết kế cho mục đích hồn tồn khác, ngồi chip cịn có xử lý số học-logic (ALU) với ghi chức năng, cổng vào/ra, chế điều khiển ngắt, truyền tin nối tiếp, định thời Hiện nay, vi điều khiển sử dụng rộng rãi ngày chuẩn hóa để sử dụng rộng rãi ngành cơng nghiệp, có mặt nhiều máy móc, hàng tiêu dùng 1.1.2 Ưu khuyết điểm vi điều khiển Các công việc thực vi điều khiển khơng Điều thiết kế thực với thành phần so với thiết kế trước Các thiết kế trước địi hỏi phải vài chục vài trăm IC để thực cần thành phần bao gồm vi điều khiển Số thành phần giảm bớt, hiệu trực tiếp tính khả lập trình vi điều khiển độ tích hợp cao công nghệ chế tạo vi mạch, thường chuyển thành thời gian phát triển ngắn hơn, giá thành sản xuất thấp hơn, công suất tiêu thụ thấp độ tin cậy cao Vấn đề tốc độ Các giải pháp dựa vi điều khiển không nhanh giải pháp dựa thành phần rời rạc Những tình địi hỏi phải đáp ứng thật nhanh (cỡ nsec) kiện (thường chiếm thiểu số ứng dụng) quản lý tồi dựa vào vi điều khiển Tuy nhiên vài ứng dụng, đặc biệt ứng dụng liên quan đến người, khoảng thời gian trễ tính nsec, μsec chí msec khơng quan trọng Việc giảm bớt thành phần điều lợi đề cập, thao tác chương trình điều khiển làm cho thiết kế thay đổi cách thay đổi phần mềm Điều có ảnh Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu Giáo trình vi xử lý hưởng tối thiểu đến chu kỳ sản xuất Do vi điều khiển ứng dụng rộng rãi ứng dụng phục vụ người Để hiểu rõ vi điều khiển, tìm hiểu số họ vi điều khiển số hãng điện tử điển hình sử dụng rộng rãi khoa học kỹ thuật đời sống 1.2 KHÁI QUÁT HỌ 8051 1.2.1 Họ MCS-51™ MCS-51™ họ IC vi điều khiển Intel phát triển sản xuất Một số nhà sản xuất phép cung cấp IC tương thích với sản phẩm MCS-51™ Intel Siemens, Advanced Micro Devices, Fujitsu, Philips, Atmel… Các IC họ MCS-51™ có đặc trưng chung sau: port I/O bit Giao tiếp nối tiếp 64K khơng gian nhớ chương trình mở rộng 64K không gian nhớ liệu mở rộng Một xử lý luận lý (thao tác bit đơn) 210 bit địa hóa Bộ nhân/chia μs Ngoài ra, tùy theo số hiệu sản xuất mà chúng có khác biệt nhớ định thời/bộ đếm bảng so sánh đây: Số hiệu sản Bộ nhớ chương Bộ nhớ liệu Số định thời xuất trình chip chip (bộ đếm) 8031 0K 128 byte 8051 4K ROM 128 byte 8751 4K EPROM 128 byte 8951 4K FLASH 128 byte 8032 0K 256 byte 8052 8K ROM 256 byte 8752 8K EPROM 256 byte 8952 8K FLASH 256 byte Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu Giáo trình vi xử lý 1.2.2 Giới thiệu AT89C51 AT89C51 Microcomputer bit, loại CMOS, có tốc độ cao cơng suất thấp với nhớ Flash lập trình Nó sản xuất với cơng nghệ nhớ không bay mật độ cao hãng Atmel, tương thích với chuẩn cơng nghiệp 80C51 80C52 chân lệnh Vì lý đó, kể từ sau ta dùng thuật ngữ “80C51” (hoặc "8051") Hình 1.2: Sơ đồ khối AT89C51 Những đặc trưng AT89C51 Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu Giáo trình vi xử lý + Tương thích với sản phẩm MCS-51 + 4KByte nhớ Flash lập trình lại với 1000 chu kỳ đọc/xoá + Hoạt động tĩnh đầy đủ: 0Hz đến 24MHz + Khố nhớ chương trình ba cấp + 128 x bit RAM nội + 32 đường xuất-nhập lập trình (tương ứng port) + Hai timer/counter 16 bit + Một port nối tiếp song cơng lập trình + Mạch đồng hồ dao động chip Cấu hình chân AT89C51 sau: Hình 1.3: Sơ đồ chân AT89C51 Như AT89C51 có tất 40 chân Mỗi chân có chức đường I/O (xuất/nhập), 24 chân có cơng dụng kép: đường hoạt động đường I/O đường điều khiển thành phần bus địa bus đữ liệu 1.2.3 Mô tả xuất nhập VCC (chân 40) Chân cấp nguồn GND (chân 20) Chân nối đất Port Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu Giáo trình vi xử lý Port port xuất/nhập song hướng cực máng hở bit Nếu sử dụng ngõ xuất chân kéo ngõ vào TTL Khi mức viết vào chân port 0, chân dùng ngõ nhập tổng trở cao Port định cấu hình để hợp kênh bus địa bus liệu (phần byte thấp) truy cập đến nhớ liệu nhớ chương trình ngồi Ở chế độ này, P0 có điện trở pullup bên Port nhận byte code (byte mã chương trình) lập trình Flash, xuất byte code kiểm tra chương trình Cần có điện trở pullup bên ngồi thực việc kiểm tra chương trình Port Port port xuất/nhập song hướng bit có điện trở pullup bên Các đệm ngõ port kéo cung cấp ngõ nhập TTL Khi mức viết vào chân port 1, chúng kéo lên cao điện trở pullup nội dùng ngõ nhập Nếu đóng vai trị ngõ nhập, chân port (được kéo xuống thấp qua điện trở bên ngồi) cấp dịng IIL điện trở pullup bên Port Port port xuất/nhập song hướng bit có điện trở pullup bên Các đệm ngõ port kéo cung cấp ngõ vào TTL Khi mức viết vào chân port chúng kéo lên cao điện trở pullup nội dùng ngõ vào Khi dùng ngõ vào, chân port (được kéo xuống qua điện trở bên ngoài) cấp dịng IIL có điện trở pullup bên Port phát byte cao địa đọc từ nhớ chương trình ngồi truy cập nhớ liệu dùng địa 16 bit (MOVX @DPTR) Trong ứng dụng này, dùng điện trở pullup nội "mạnh" phát mức Khi truy cập nhớ liệu dùng địa bit (MOVX @RI), port phát nội dung ghi chức đặc biệt P2 Port nhận bit cao địa vài tín hiệu điều khiển lập trình kiểm tra Flash Port Port port xuất-nhập song hướng bit có điện trở pullup nội bên Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu Giáo trình vi xử lý Các đệm ngõ port kéo cung cấp ngõ vào TTL Khi mức viết vào chân port chúng kéo lên cao điện trở pullup nội dùng ngõ vào Khi dùng ngõ vào, chân port (được kéo xuống qua điện trở bên ngồi) cấp dịng IIL có điện trở pullup bên Port cung cấp chức đặc trưng đặc biệt liệt kê đây: Bảng :Các chức chuyển đổi Port Chân Tên Các chức chuyển đổi P3.0 RXD Port nhập nối tiếp P3.1 TXD Port xuất nối tiếp P3.2 INT0 Ngắt bên P3.3 INT1 Ngắt bên P3.4 T0 Ngõ vào Timer/Counter P3.5 T1 Ngõ vào Timer/Counter P3.6 WR Xung ghi nhớ liệu P3.7 RD Xung đọc nhớ liệu RST (chân 9) Ngõ vào reset Một mức cao chân khoảng hai chu kỳ máy dao động chạy reset thiết bị ALE/ PROG ALE xung ngõ để chốt byte thấp địa truy cập nhớ Chân ngõ nhập xung lập trình ( PROG ) lập trình Flash Khi hoạt động bình thường, ALE phát với tỷ lệ không đổi 1/6 tần số dao động dùng cho mụch đích timing clocking bên ngồi Tuy nhiên, lưu ý xung ALE bị bỏ qua truy cập nhớ liệu Nếu muốn, hoạt động ALE cấm cách set bit SFR địa 8Eh Nếu bit set, ALE dược hoạt động có lệnh MOVX MOVC Ngược lại, chân kéo lên cao điện trở pullup "nhẹ" Việc set bit cấm-ALE khơng có tác dụng vi điều khiển chế độ thi hành PSEN Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu Giáo trình vi xử lý PSEN (Program Store Enable) xung đọc nhớ chương trình ngồi Khi AT89C52 thi hành mã (code) từ nhớ chương trình ngồi, PSENđược kích hoạt hai lần chu kỳ máy, hai hoạt động PSEN bị bỏ qua truy cập nhớ liệu EA /Vpp EA (External Access Enable) phải nối với GND phép thiết bị đọc code từ nhớ chương trình ngồi có địa từ 0000H đến FFFFH Tuy nhiên, lưu ý bit khoá (lock-bit 1) lập trình, EA chốt bên reset EA phải nối với Vcc thi hành chương trình bên Chân nhận điện áp cho phép lập trình Vpp=12V lập trình Flash (khi áp lập trình 12V chọn) XTAL1 XTAL2 XTAL1 XTAL2 hai ngõ vào khuếch đại dao động nghịch cấu hình để dùng dao động chip Hình 1.4: Các kết nối dao động Khơng có u cầu duty cycle tín hiệu xung ngồi,vì ngõ nhập nối với mạch tạo xung nội flip-flop chia đôi, định thời gian high low, mức áp tối đa tối thiểu phải tuân theo Các đặc trưng khác trình bày cách chi tiết phần sau 1.3 HỆ VI XỬ LÝ Z-80 1.3.1 Cấu trúc CPU - Bộ nhớ gồm ROM & RAM - Các giao tiếp (Input / Output Adapter) - Các Thiết bị ngoại vi ( Peripheral) Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu Giáo trình vi xử lý Bus : Data Addr Ctrl Hình 1.5: Sơ đồ khối vi xử lý Z-80 CPU Là khối liên kết trung tâm, thực phép toán điều khiển liên kết cịn lại thơng qua việc thi hành Lệnh: Lệnh giá trị nhị phân tượng trưng (mã hóa) cho phép tính mà CPU thực được, giá trị nhà sản xuất qui định Dựa vào số bit Data Bus để phân loại CPU: - 8080, 8085 Intel 6800, 6802 Intel Z80 - CPU bit: Zilog CPU có Data Bus lớn bit: 16 bit: 8088, 8086, 80286 Intel 32 bit: 80386, 80486 64 bit: Pentium Intel Ngoài theo xu nay, người ta phân loại CPU theo hướng: CISC ( Complete Instruction Set Computer) RISC ( Reduced Instruction Set Computer) Gồm phần chính: - Tập ghi ( Register Set) - Bộ số học Logic ( Arithmetic & Logic Unit) - Khối điều khiển giải mã lệnh Bộ nhớ : Chứa số liệu Lệnh CPU Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu 10 Giáo trình vi xử lý Các giao tiếp : Là phần tử mạch trung gian cho phép CPU điều khiển thiết bị ngoại vi (bàn phím, máy in, đèn thị, … ) a Tập ghi: • Chức năng: Đóng vai trị ô nhớ nằm bên CPU Mỗi ghi nhà sản xuất qui định cho người sử dụng tên gọi (A, B, C, …) Các ghi sở (nơi chứa số liệu) cho đa số phép tốn mà CPU thực • Phân loại: + Các ghi địa chỉ: liên quan đến Addr Bus + Các ghi liệu: liên quan đến Data Bus • Các ghi thường gặp CPU bit: a1 Thanh ghi PC ( Program Counter) + Số bit PC = Số bit Addr Bus + PC chứa địa Lệnh mà CPU thực + PC tự động tăng ghi lên sau byte thực Thường Reset CPU giá trị ghi PC = Hằng số *** Nhận xét: - Các lệnh mà người sử dụng muốn CPU thực theo thời gian phải đặt theo thứ tự tăng dần địa nhớ - Sự thay đổi giá trị ghi PC nguyên nhân chúng làm chuyển hướng việc thi hành Lệnh CPU a2 Các ghi đa ( General Purpose): - Số bit độ rộng Data Bus - Các ghi thường dùng lệnh CPU (tính tốn, chuyển dời liệu, …) - Trong số ghi đa năng, có ghi đặc biệt gọi tích lũy (gọi ghi A) – Accumulator Đặc biệt chỗ phép toán tiến hành ghi A mà không thực ghi khác a3 Thanh ghi Cờ ( Flag – Condition): - Thanh ghi thường khơng tham gia vào phép tốn phản ánh giá trị đặc biệt kết thu sau phép tốn - Mỗi bit ghi có ý nghĩa độc lập thường gọi cờ + Các Cờ thường gặp: Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu 11 *Cờ Z (Zero): Giáo trình vi xử lý kết = Z= số khác *Cờ C (Carry): Z= Có bit nhớ (phép +) có bit mượn (-) Ngược lại Các bit nhớ mượn xét vị trí MSB *Cờ H (Halt): Giống Cờ C vị trí mà phản ánh (xét đến) bit thứ (bit 3) kết Cờ ảnh hưởng đến phép tính cho số BCD *Cờ S (Sign): Quan điểm số (+) (-) hệ μP: Định nghĩa: Nếu xem số thao tác số có dấu xét độ dài hữu hạn bit số đối định nghĩa sau: X + Y = Ví dụ : Nếu xét theo quan điểm FF = - FF + 01 = 00 Người ta chứng minh : - X = X + Nhận xét: MSB = Tầm số (+) Nếu Thì số MSB = Tầm số (-) Với số nhị phân n bit mà nhìn số có dấu, người ta chia thành tầm số nhận xét 00 7F: biểu diễn số +0 +127 80 Ví dụ: FF: biểu diễn số -128 -1 Giá trị Cờ S thực chất giá trị MSB kết quả, trường hợp tính tốn với số có dấu Cờ S dùng để xác định xem số thuộc tầm (+) hay (-) *Cờ O (OverFlow): Cờ O sử dụng phương trình tính tốn với số có dấu Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu 12 Giáo trình vi xử lý : Phản ánh tượng tràn (quá tầm vực số đó) O= : Nếu ngược lại Ví dụ : 0100 0000 (64) 0100 0001 (65) 1000 0001 (129 > 127 thuộc tầm số (+) ) Cờ O = a4 Thanh ghi số: - Nó dùng phép định vị số a5 Nhà hầm ghi trỏ nhà hầm Stack Pointer (SP): • Khái niệm : Nhà hầm vùng nhớ RAM CPU chọn làm nơi chứa tạm giá trị ghi cần thiết (Khi thi hành lệnh cất ghi) phục hồi lại chúng • Cơ chế hoạt động : + Nhà hầm quản lý theo chế địa chỉ: Địa vùng nhớ RAM dùng làm nhà hầm phải nạp vào ghi SP Do lệnh có liên quan đến nhà hầm thực theo địa Ví dụ: lệnh cất ghi A CPU đem nội dung ghi A vào ô nhớ có địa nằm SP (ký hiệu [SP] ) + Nhà hầm hoạt động theo nguyên tắc giảm, nghĩa sau lệnh cất nội dung ghi bit giá trị ghi SP giảm + Phục hồi lại giá trị ghi đem cất trước cách đem nội dung ô nhớ có địa chứa SP +1 lại ghi A sau tăng SP lên + Nhà hầm hoạt động theo nguyên tắc LIFO ( Last In First Out), nghĩa ghi cất vào trước lấy sau 1.3.2 Hệ thống Bus : Address Bus: Là Bus chiều CPU gởi Số bit Addr qui định số ô nhớ mà CPU truy xuất hay gọi khả định vị (mapping) CPU Data Bus: Là Bus chiều, nơi chuyển lệnh số liệu trình hoạt động CPU Control Bus: Mỗi đường chiều (nhưng quan điểm theo kiểu tổng qt chiều), chứa tín hiệu CPU để điều khiển linh kiện xung quanh Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu 13 Giáo trình vi xử lý Hình 1.6: Sơ đồ cấu trúc chân Z -80 hãng NEC A0 ÷ A15 : 16 bit Addr Bus (3 trạng thái) Có 216B = 64 KB ụ nh ã D0 ữ D7 : bit Data Bus (2 chiều – trạng thái) • Điều kiện điện : + CK (Clock): Sóng vng (biên độ TTL) f ≤ MHz + RESET: có độ rộng khoảng vài chục μs, lúc reset PC = 0000h • CPU điều khiển linh kiện ngoài: + RD (ReaD)= 0: Data Bus vào CPU + WR (WRite) : WR = : Data Bus CPU Lưu ý : Đọc lệnh RD = Xác định Thi hành lệnh : RD = WR = • MERQ (MEmory ReQuest): + Khi MERQ = đảm bảo giá trị ổn định Addr Bus Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu 14 Giáo trình vi xử lý MERQ = 0: Đọc lệnh từ nhớ + Cụ thể MERQ = 1: Thi hành lệnh thuộc nhóm LD + IORQ ( In Out ReQuest): - Chân = 0: Báo hiệu giá trị ổn định Addr Bus = 0: Thi hành lệnh thuộc nhóm IN / OUT - Cụ thể = 1: Trạng thái phục vụ ngắt • Nhóm chân thơng báo trạng thái CPU: + M1 ( Machine Cycle ): 16 States MC1 MC2 M1 = : Nếu CPU chu kỳ máy Nhận xét: M1 MERQ = + HALT = 0: Báo hiệu CPU ngưng hoạt động Lúc CPU hoạt động lại có tín hiệu Reset có tượng ngắt xảy + RFSH ( ReFreSH): Xem giản đồ thời gian • Nhóm chân điều khiển trạng thái CPU: + WAIT = : CPU kéo dài việc thi hành đọc lệnh WAIT = + INT ( Interrupt) + NMI ( Non Maskable Int ) + BUSRQ ( BUS ReQuest) = 0: CPU đưa tất chân lên trạng thái thông báo tín hiệu BUSACK ( ACKnownlegde) = * Tập ghi Z-80: - Các ghi đa năng: A, B, C, D, E, H, L Trong A tích lũy ghi cịn lại ghép cặp dùng ghi 16 bit BC, DE, HL - Tập ghi phụ ( có dấu phẩy): A’, B’, … Cất hết liệu ghi đa cần thiết ( nhà hầm nhỏ ) Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu 15 - Thanh ghi số: IX, IY - Giáo trình vi xử lý Thanh ghi I: Dùng chế xử lý ngắt 1.4 VI ĐIỀU KHIỂN AVR Vi điều khiển AVR (Atmel Norway design) thuộc họ vi điều khiển Atmel, họ Vi điều khiển thị trường người sử dụng Đây họ Vi Điều Khiển chế tạo theo kiến trúc RISC (Reduced Intruction Set Computer) có cấu trúc phức tạp Ngồi tính họ VĐK khác, cịn tích hợp nhiều tính tiện lợi cho người thiết kế lập trình Sự đời AVR bắt nguồn từ yêu cầu thực tế hầu hết cần lập trình cho vi điều khiển, thường dùng ngôn ngữ bậc cao HLL (Hight Level Language) để lập trình với loại chip xử lí bit ngơn ngữ C ngơn ngữ phổ biến Tuy nhiên biên dịch kích thước đoạn mã tăng nhiều so với dùng ngôn ngữ Assembly Hãng Atmel nhận thấy cần phải phát triển cấu trúc đặc biệt cho ngôn ngữ C để giảm thiểu chênh lệch kích thước mã nói Và kết họ vi điều khiển AVR đời với việc làm giảm kích thước đoạn mã biên dịch thêm vào thực lệnh đơn chu kỳ máy với 32 ghi tích lũy đạt tốc độ nhanh họ vi điều khiển khác từ đến 12 lần Vì nghiên cứu AVR đề tài lý thú giúp cho sinh viên biết thêm họ vi điều khiển vào loại mạnh 1.4.1 Phân loại AVR • AT90S8535: Khơng có lệnh nhân chia ghi AT 90S8535 vi điều khiển CMOS bit tiêu thụ điện thấp dựa kiến trúc RISC (Reduced Intruction Set Computer) Với công nghệ cho phép lệnh thực thi chu kì xung nhịp, tốc độ xử lý liệu đạt đến triệu lệnh giây tần số Mhz Vi Điều Khiển cho phép người thiết kế tối ưu hoá mức độ tiêu thụ lượng mà đảm bảo tốc độ xử lí • ATMEGA 8, 16, 32 (AVR loại bit, 16 bit, 32 bit): Là loại AVR tốc độ cao, tích hợp sẵn ADC 10 bit • AVR tích hợp sẵn LCD driver : Atmega169,329 • AVR có tích hợp SC (power stage controller): AT90PWM thường dùng ứng dụng điều khiển động hay chiếu sáng nên gọi lighting AVR • Attiny11, 12, 15: AVR loại nhỏ Phần cốt lõi AVR kết hợp tập lệnh phong phú số lượng với 32 ghi làm việc đa Toàn 32 ghi nối trực tiếp với Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu 16 Giáo trình vi xử lý ALU (Arithmetic Logic Unit), cho phép truy cập ghi độc lập chu kì xung nhịp Kiến trúc đạt có tốc độ xử lý nhanh gấp 10 lần vi điều khiển dạng CISC (Complex Intruction Set Computer) thông thường 1.4.2 Cấu trúc AVR Hình 1.7: Sơ đồ chân vi xử lý AVR Được chế tạo theo kiến trúc RISC, hiệu suất cao điện tiêu thụ thấp - Bộ lệnh gồm 118 lệnh, hầu hết thực thi chu kì xung nhịp - 32x8 ghi làm việc đa dụng - 8KB Flash ROM lập trình hệ thống +Giao diện nối tiếp SPI cho phép lập trình hệ thống +Cho phép 1000 lần ghi/xoá - Bộ EEPROM 512 byte +Cho phép 100.000 ghi/xoá - Bộ nhớ SRAM 512 byte - Bộ biến đổi ADC kênh, 10 bit - 32 ngõ I/O lập trình - Bộ truyền nối tiếp bất đồng vạn UART - Vcc=2.7V đến 6V - Tốc độ làm việc: đến MHz Sơ đồ chân Atmega16 Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu 17 Giáo trình vi xử lý - Tốc độ xử lí lệnh đến MIPS MHz nghĩa triệu lệnh giây - Bộ đếm thời gian thực (RTC) với dao động chế độ đếm tách biệt - Timer bit Timer 16 bit với chế độ so sánh chia tần số tách biệt chế độ bắt mẫu - Ba kênh điều chế độ rộng xung PWM - Có đến 13 interrupt ngồi - Bộ định thời Watchdog lập trình được, tự động reset treo máy - Bộ so sánh tương tự - Ba chế độ ngủ: chế độ rỗi (Idle), tiết kiệm điện (Power save) chế độ Power Down VCC: Điện áp nguồn nuôi GND: Nối mass 1.4.3 Xuất/ nhập PortA (PA7…PA0): PortA Port vào/ hai hướng bit, chân PortA có điện trở nối lên nguồn dương Các chân Port A cho phép dòng điện 20mA qua trực tiếp điều khiển LED hiển thị Khi chân PA0 đến PA7 lối vào đặt xuống mức thấp từ bên ngồi, chúng nguồn dịng điện trở nối lên nguồn dương kích hoạt Các chân cổng A vào trạng thái có điện trở cao tín hiệu reset mức tích cực khơng có tín hiệu xung clock Port A cung cấp đường địa chỉ/ liệu vào/ hoạt động theo kiểu đa hợp kênh dùng nhớ SRAM bên ngồi PortA cịn có thêm chức ngõ vào tương tự đưa đến chuyển đổi AD Các Port B, C, D tương tự Port A khơng có chức chuyển đổi AD RESET: Lối vào đặt lại Bộ vi điều khiển đặt lại chân mức thấp 50ns, xung ngắn không tạo tín hiệu đặt lại XTAL1: Lối vào khuếch đại đảo lối vào mạch tạo xung nhịp bên XTAL2: Lối khuếch đại đảo XTAL1 XTAL2 lối vào lối khuếch đại đảo Bộ khuếch đại bố trí để làm tạo dao động chip Một tinh thể thạch anh cộng hưởng gốm sử dụng Để điều khiển vi điều khiển từ nguồn xung nhịp bên ngồi, chân XTAL2 để trống, cịn chân XTAL1 nối với dao động bên ICP: Là chân vào cho chức bắt tín hiệu vào timer/ counter1 Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu 18 Giáo trình vi xử lý OC1B: Là chân PWM, ngõ so sánh timer/ counter1 ALE: Là chân tín hiệu cho phép chốt địa dùng truy nhập nhớ Xung ALE dùng để chốt bit địa thấp vào chốt địa chu kỳ truy cập nhớ thứ Sau chân AD0-7 dùng làm đường liệu chu kỳ truy nhập nhớ thứ hai 1.5 HỌ PIC 1.5.1 Giới thiệu họ vi điều khiển bit hãng Microchip Technology Hãng Microchip Technology nhà cung cấp hàng đầu giải pháp điều khiển cho hệ thống nhúng (Embedded control system) Hai dòng sản phẩm hãng họ vi điều khiển 8-bit PIC16/17 chip nhớ không bay EEPROM nối tiếp, sản phẩm đưa vào ứng dụng cho việc đưa giải pháp thiết kế hệ thống điều khiển nhúng hãng cung cấp cho khách hàng Các họ vi điều khiển PIC16Cxx v PIC17Cxx hãng Microchip Technology sử dụng thông dụng rộng rãi cho ứng dụng điều khiển việc chế tạo sản phẩm tiêu dùng, tự động hóa văn phịng, thiết bị ngoại vi máy tính, hệ thống tự động điều khiển Dưới liệt kê đặc điểm chính, thnh phần số chip vi điều khiển họ vi điều khiển 8- bit PIC16Cxx v PIC17Cxx 1.5.2 Cấu trúc phần cứng Hình 1.8: Sơ đồ chân PIC18F4431/4331 PIC thiết kế tương thích với RISC CPU Tập lệnh gồm có 35 word - Thích hợp với tần số dao động đầu vào 20MHz, chu kỳ lệnh 20ns Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu 19 Giáo trình vi xử lý - Bộ nhớ chương trình: 8Kb - Bộ nhớ liệu(RAM): 368Byte - Bộ nhớ EEPROM: 256Byte - Có định thời: Timer0 (8 bit), timer1(16 bit), timer2(8 bit) - chế độ Capture, chế độ điều khiển độ rộng xung - giao tiếp RS232, chế độ SPI, I2C, giao tiếp song song - Có 15 nguyên nhân ngắt - cổng vào/ra liệu kênh đầu vào tín hiệu tương tự, chuyển đổi AD 10bit, kênh so sánh tín hiệu tương tự Tập lệnh: gồm có 35 từ khóa VDD: chân nguồn tương thích họ TTL 5V VSS: nối đất GND PORTA: gồm có bit (RA5-RA0), cổng vào liệu chiều định hướng ghi TRISA Nếu TRISA=0, chân PORTA định hướng kiểu cổng (output), TRISA=0xFF PORTA định hướng đầu vào (input) Ngồi PORTA cịn chân đầu vào tín hiệu Analog đặt cấu hình chuyển đổi ADC Sau reset phần cứng PORTA mặc định chế độ ADC Khi muốn làm cổng vào liệu cần tắt chế độ ADC PORTE: có chân RE2-RE0, giống PORTA, không đặt chế độ ADC cổng định hướng vào TRISE PORTB, PORTC, PORTD giống hai PORT trên, cấu hình vào định hướng bới ghi TRISB, TRISC, TRISD lại khơng có chế độ ADC OSC1: chân vào dao động OSC2: chân dao động Dao động dụng thạch anh đến tần số 20MHz Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu 20 Giáo trình vi xử lý Hình 1.9: Sơ đồ đấu nối giao tiếp PIC 1.5.3 Công cụ phát triển cho họ vi điều khiển PIC16/17 Họ vi điều khiển PIC16/17 hỗ trợ đầy đủ công cụ phát triển phần cứng phần mềm sau : PICMASTERđ Real-Time In-Curcirt Emulator PROMATETM Universal Programmer PICSTARTđ Low-Cost Prototype Programmer PICDEM-1 Low-Cost Demonstration Board PICDEM-2 Low-Cost Demonstration Board MPASM Assembler MPSIM Softwave Simulator C Compiler (MP-C) Fuzzy logic development system (fuzzy TECHđ-MP) Dưới ta vào giới thiệu hai công cụ phát triển phần mềm thường sử dụng MPASM Assembler C Compiler (MP-C) MPASM Assembler MPASM có hỗ trợ đầy đủ cho việc viết tạo Macro chương trình mã ngữ, viết chương trình ngơn ngữ Assembly, cung cấp mã nguồn có sẵn định dạng file khác Nó tạo mơi trường cho phép soạn thảo mã nguồn, biên dịch gỡ rối chương trình người sử dụng lập trình cho chip vi điều khiển khác bao gồm họ PIC16Cxx, PIC 16Cxx v PIC16C5x Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu 21 Giáo trình vi xử lý MPASM có đặc điểm sau việc hỗ trợ phát triển ứng dụng người dùng: + Cho phép biên dịch chương trình từ mã Assembly sang mã đối tượng cho tất vi điều khiển hãng Microchip + Cho phép tạo chương trình Macro + Tạo tất file cần thiết (Object, Listing, Symbol, dạng đặc biệt khác) biên dịch gỡ rối cho hệ vi điều khiển Microchip + Hỗ trợ việc sử dụng tạo file định dạng Hex, Decimal v Octal C Compiler (MP-C) Công cụ phát triển phần mềm MP-C trình biên dịch hồn chỉnh tích hợp vào mơi trường phát triển cho chip vi điều khiển họ PIC16/17 Microchip Trình biên dịch có nhiều khả mạnh mẽ dễ sử dụng, điều khó tìm thấy cơng cụ phát triển khác Để dễ dàng cho việc sử dụng gỡ rối, trình biên dịch MP-C sử dụng ký hiệu thơng tin thích hợp với kí hiệu cơng cụ phát triển khác PICMASTERđ Universal Emulator Ngoài cịn có số phần mềm khác linh hoạt, hỗ trợ viết cho nhiều dòng PIC, từ 16/17/18 đến dsPIC C CCS C, HT PIC, HT PIC 18 hay Pascal MikroPascal 1.5.4 Giới thiệu họ PIC16Cxx Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu Giáo trình vi xử lý (0) : Tần số cấp tạo xung Clock (MHz) (5) : Số Module Timer (1) : Dung l−ợng nhớ ch−ơng trình (6) : Số Capture, Module PWM EPROM (7) : Cổng nối tiếp (2) : Dung l−ợng nhớ ch−ơng trình (8) : Cổng song song EEPROM (9) : Số kênh chuyển đổi Analog – Digital (3) : Dung l−ợng nhớ liệu RAM (ADC) (bytes) (10) : Số so sánh (Comparator) (4) : Dung l−ợng nhớ liệu EEPROM (11) : Số nguồn ngắt (Interrup source) (bytes) (12) : Số đ−ờng vo/ra (I/O pins) 1.5.5 Đánh giá dòng PIC - Dòng PIC nhiều chân l dịng dsPIC30Fxxxx PIC18Fxxxx, có số chân lên đến 80 chân - Dòng PIC chân dịng PIC10Fxxx, có chân - Dòng PIC phổ biến dòng PIC16F877A (đủ mạnh tính năng, 40 chân, nhớ đủ cho hầu hết ứng dụng thơng thường) - Dịng PIC mà chuyên gia đánh giá cao dịng PIC16F876A (28 chân, chức khơng khác so với PIC16F877A, nhỏ gọn nhiều, số chân khơng q PIC16F88) - Dịng PIC hỗ trợ giao tiếp USB dòng PIC18F2550 PIC18F4550 - Dòng PIC điều khiển động mạnh dòng PIC18F4x31 dòng dsPIC30F dùng điều khiển động - Dịng PIC khơng cịn sản xuất dòng PIC17xxxxx *(Các đánh giá PIC trích website www.picvietnam.com) 1.6 VI ĐIỀU KHIỂN THƠNG MINH PsoC 1.6.1 Giới thiệu PSoC chữ viết tắt Programmable System on Chip Đó cơng nghệ chế tạo chip đại nay, cho phép tạo chip hệ thống xử lí hỗn hợp (Mixed signal) với khả xử lí thuật tốn mạnh Đặc điểm hệ vi điều khiển chế tạo theo cụng nghệ trước chip vi điều khiển thay đổi chương trinh phần mềm khơng thể lập trình thay đổi cấu trúc phần cứng Giá thành cho việc sử dụng chip vi điều khiển mua Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu Giáo trình vi xử lý phần mềm hỗ trợ để phát triển ứng dụng đắt mang lại hiệu khơng cao, khó thơng minh hóa việc điều khiển hệ thống Với chip vi điều khiển thông minh chế tạo theo công nghệ PSoC, lập trình chip để thay đổi khơng phần mềm điều khiển mà cấu trúc phần cứng hệ thống hoạt động Việc ứng dụng chip vi điều khiển thông minh theo công nghệ PSoC mang lại hiệu cao kỹ thuật giá thành giảm nhiều lần so với việc sử dụng chip vi điều khiển trước Đối với chip vi điều khiển thông minh, bên tích hợp đầy đủ thnh phần CPU, nhớ, khối (block) tương tự số nên số thành phần ngoại vi bên chip hệ thống giảm Vì thế, giá thành kích thước hệ thống giảm nhiều so với hệ thống sử dụng chip vi điều khiển hệ trước Hiện nay, có nhiều hãng điện tử giới quan tâm đầu tư cho việc nghiên cứu áp dụng công nghệ chế tạo chip Trong kể đến hãng Cypress Microchip áp dụng thành công công nghệ PSoC đời họ vi điều khiển thông minh CY8C24xxx, CY8C25xxx, CY8C26xxx v CY8C27xxx Một ví dụ cụ thể khả lập trình thay đổi cấu hình phần cứng chương trình phần mềm điều khiển đề tài ứng dụng chip vi điều khiển thông minh công nghệ PSoC để chế tạo máy bán hàng thơng minh tự động Máy có chức bán hàng tự động vào ban ngày ban đêm thay đổi cấu hình phần cứng chương trình phần mềm để làm chức truyền thơng Hình 1.9: Hình dạng chip thơng minh Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu Giáo trình vi xử lý 1.6.2 Công cụ phát triển cho họ vi điều khiển thông minh PSoC Phần mềm PSoC Designer cơng cụ hon chỉnh tích hợp vào hệ thống hỗ trợ cho việc phát triển mặt lập trình cấu hình phần cứng chương trình phần mềm cho chip vi điều khiển thông minh chế tạo theo cơng nghệ PSoC hãng Cypress Microchip, ví dụ họ CY8C25-26xxx Phần mềm PSoC Designer xây dựng hệ điều hành Windows chạy Windows98, Windows NT 4.0, Windows 2000, Windows Millennium (Me), or Windows XP PSoC Designer giúp người sử dụng lựa chọn thuật tốn cấu hình phần cứng cho vi điều khiển, lập trình phần mềm cho vi điều khiển, gỡ rối Hệ thống cho phép quản lí sở liệu project, tích hợp phần gỡ rối với In-Circuit Emulator, cho phép lập trình hệ thống (In-system programming), hỗ trợ việc tạo Macro CYASM cho chương trình hợp ngữ PSoC Designer hỗ trợ việc lập trình ngôn ngữ bậc cao C biên dịch, gỡ rối chương trình cho thiết bị hãng Cypress Microchip Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu Giáo trình vi xử lý PHỤ LỤC 8031 CPU 1.50€ 8039 CPU 3.35€ 80535-N CPU PLCC=SAB… 25.00€ 8085 CPU 5.05€ 8086 CPU 7.55€ 8088 CPU 6.70€ 80C286 PLCC 8.40€ 80C31 PLCC 1.50€ 80C31 = M80C31 jalallinen 1.50€ 80C32 PLCC 3.00€ 80C32 ⎧Prosessor 3.00€ 80C51 4.00€ 80C51 PLCC 4.00€ 80C51 SAT 42-0 ohjelma 1.00€ 80C52 SAT43-06 ohjelma 1.00€ 80C88 CPU 8.40€ 80C188EC20 PLCC 12.00€ 80960 JS25 so-kotelo =TA 27.00€ 80960 KA16 fpga = TA 27.00€ 8243 I/O expander 4.20€ 82C37 Multim.DMA 6.70€ 82C50=TL16C450 smd 3.35€ 8251 Prog.comm 5.05€ 82C51 = M82C51 1.00€ 82C51 PLCC = M82C51 1.00€ 8253 Prog.timer 5.05€ 82C53 PLCC 1.65€ 8254 Timer/counter 5.05€ 82C54 Timer/counter 2.00€ 82C54 PLCC 1.65€ 8255 Prog.perph 2.50€ 8259=M5L8259=SAB8259 4.20€ 82C59 = M82C59A-2 2.00€ 82C84A 3.00€ 8286 Octal bus tx/rx 5.05€ 87S181 Prom 1k x 3.35€ 91L01… = PCD5101 9346 pintaliitos 0.80€ 9346 EEPROM 1.15€ 93C06 EEPROM 2.50€ 93C46 pintaliitos SO wide 1.65€ 93C46 pintaliitos SO-8 1.65€ 93C46 EEPROM 3.35€ 93L422 SRAM 4.20€ ADC 0800 8-bit AD 6.70€ Canquynhon.blogtiengviet.net ADC 0804 AD-con 6.90€ ADC 0808 PLCC 8bit AD 3.35€ ADC 0809 8-bit A/D 7.10€ ADC 0809 PLCC 8bit AD 3.35€ ADC 0820 8-bit A/D 13.45€ ADC 0832 8-bit serial A/D 11.75€ ADC 0844 4ch ADC mux 13.45€ ADC 0848 8-bit ADC 8ch 6.70€ ADC 1211 12-bit A/D 6.70€ ADC 601JG 12-bit A/D 16.80€ AT 89C51 microcontroller PH AT 89C51-24JC PLCC PH AT 89C2051 PH AT 89C4051 PH AT 89LV51 PH AT 89LV52 PH AT 89S53 PH AT 89S8252 PH AT 90S1200 PH AT 90S2313 PH AT 90S2323 PH AT 90S2343 PH AT 90S8515 PH AT 90S8535 PH AT 93C46 eeprom 1k PH AT 93C56-10PC eeprom 2k PH AT 93C56-10SC eeprom2k smd PH AT 93C57 PH AT 93C66-10PC eeprom 4k PH AT 93C66-10SC eeprom4k smd PH AT 93C66W-10SC eeprom4k s PH ATF 16V8BQL-25SI EE PLD PH ATMEGA 16-16 DIP PH ATMEGA 161-8 DIP PH ATMEGA 163-8 DIP PH ATMEGA 323-8 DIP PH ATT 3042-70 PLCC 14.00€ BA 1404 Stereo tx 4.35€ BA 2266A Rx servo 7.55€ BA 3121 isolation amp 4.80€ BA 3822LS equalizer ster 3.00€ BA 5204 3Vdualpoweramp 2.50€ BA 683A 18LEDmeter 8.20€ BA 6137 = KA 2285B 3.35€ BA 6209 Motor driver 3.00€ Đại học Quy Nhơn ... Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu 15 - Thanh ghi số: IX, IY - Giáo trình vi xử lý Thanh ghi I: Dùng chế xử lý ngắt 1.4 VI ĐIỀU KHIỂN AVR Vi điều khiển AVR (Atmel... cứng Giá thành cho vi? ??c sử dụng chip vi điều khiển mua Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu Giáo trình vi xử lý phần mềm hỗ trợ để phát triển ứng dụng đắt mang lại... Canquynhon.blogtiengviet.net Đại học Quy Nhơn Chương 1: Giới thiệu Giáo trình vi xử lý Port port xuất/nhập song hướng cực máng hở bit Nếu sử dụng ngõ xuất chân kéo ngõ vào TTL Khi mức vi? ??t vào chân port 0, chân