Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
65,5 KB
Nội dung
ĐỒ ÁN 2 Chương 1 : Cơ Sở Lý Thuyết I .Giới thiệu chung : Trong một số hệ thống số ,việc sử dụng các mạch tính hộp số với vô số các hàm logic cơ bản hay các IC chuẩn để tạo nên các ứngdụng cụ thể đã làm cho các nhà thiết kế trở nên linh hoạt hơn và việc thiết kế cũng trở nên dễ dàng hơn .Tuy nhiên với những thiết kế lớn đòi hỏi hàng trăm đến hàng ngàn IC chuẩn như vậy thì việc thiết kế sẽ gặp phải những khó khăn mà nhà thiết kế phải đối mặt như :khoảng không gian đáng kể trên mạch ,quá trình lắp ráp và thi công sẽ phức tạp ,dò tìm cũng khó khăn ,khả năng và độ tin cậy của việc thiết kế cũng giảm đi …Để giải quyết những vấn đề này , nhà thiết kế cần phải giảm bớt số IC và tích hợp các chức năng logic trên một chip càng nhiều càng tốt .Để làm được điều này thì việc sử dụng thiết bò logic lập trình được (Progrmmable Logic Device)là điều mà các nhà thiết kế cần phải nghó đến. PLD là IC chứa rất nhiều cổng ,FF ,thanh ghi ,được nối với nhau trên chip.Tuy nhiên nhiều mối nối trong số đó là mối nối chì ,vì vậy có thể đốt đứt chúng .IC này sở dó được g là cho phép lập trình vì chức năng cụ thể của IC ở một ứngdụng cụ thể được quyết đònh bằng cách đốt đứt một số mối nối chọn lọc trong lúc giũ nguyên số mối nối còn l .Quá trình đốt đứt cầu chì có thể do nhà sản xuất thực hiện theo yêu cầu của khàch hàng hoặc do chính khách hàng thực hiện .Quá trình này gọi là lập trình .Vì kết quả tạo thành là mẫu hình mạch mong muốn nối kết các cổng ,FF và thanh ghi… II .Các ưu điểm của PLDtrong thiết kế : - Tăng khả năng tích hợp :Có thể giảm khối lượng về mạch thiết kếtrong khi vẫn có thể tăng chức năngcho mạch . - Công suất thấp : MOS và một số ít hơn các mạch kết hợp sẽ làm giảm đáng kể công suất nguồn cung cấp. - Tăng độ tin cậy : Nguồn cung cấp thấp và và việc giảm tối đa các mạch liên kết ở ngoài làm cho việc truyền giửa các khối đáng tin cậy hơn . - Giá thành thấp . - Dễ sử dụng . -Dễ dàng thay đổi : Khi cần có sự thay đổi trong thiết kế ,không cần phải thêm các dây nối , tất cả là thay đổi bên trong của PLD và có thể thực hiện các thay đổi đó một cách nhanh chóng nhờ khả năng có thể lập trình của nó . * Một số dạng PLD thông dụng : PLD là thiết bò bộ nhớ hàm , ta có thể kê ra các loại linh kiện liên quan đến PLD theo sơ đồ sau : PLA PAL LCA EPLD PEEL GAL PPAL EPPAL EEPPAL PLD :Programmable Logic Device. PLA : Programmable Logic Array. PAL : Programmable Array Logic . LCA :Logic Cell Array . EP :Erasable and Programmable. EEP : Electrically Erasable and Programmable . PEEL:Programmable Electrically Erasable Logic . GAL : Generic Array Logic . III. Cấu trúc của một số loại PLD : 1 .Mảng Logic lậptrình được (PLA): Một PLA vơi n ngỏ vào và n ngỏ ra có thể cài đặt n hàm của n biến ,tổ chức nội của PLA như sau : Hai dãy AND và OR có thể được lập trình để thực hiện bất cứ biểu thức logic tích chuẩn nào phù hợp với số ngỏ vào và ngỏ ra của thiết bò . BỘ NHỚ HÀM PLD 2. Logic mảng lập trình được (PAL) PAL là trường hợp đặc biệt của PLA ,ở đó các dãy AND là lập trình được và dãy OR là cố đònh . Cấu trúc cơ bản củ PAL : 3. PLD tuần tự : Phần lớn các thiết kế số lần các FF ,do đó người ta đưa ra thêm các PLDcó chứa các FF các PLD như vậy thường được gọi là PLDcó thanh ghi hay PLD tuần tự . Cấu trúc cơ bản của một đoạn PLD tuần tự : 4. Một số PLD khác : -Mảng logic cho phép lập trình trong (FPLA)là thiết bò logic không nhớ đầu tiên cho phép lập trình FPLA sử dụng mảng cổng AND cũng như mảng cổng OR cho phép lập trình . Mặc dù cấu trúc FPLA linh động hơn PAL nhưng nó vẫn không được giới kỹ sư chấp nhận rộng rãi. -PLD phức (CPLD), còn gọi là mảng đa cấp ,là loại linh kiện kết hợp một số sơ đồ dạng mạch kiểu PAL trên cùng chip .Bản thân các khối logic là cổng AND lập trình được , cổng OR cố đònh với it1 số hạng tích hơn cấu trúc PAL Khi cần nhiều số hạng tích hơn ,một mảng cổng NAND được nối thêm làm số hạng đầu vào ,hoặc kết hợp thêm nhiều khối logic hẫu ứngdụng biểu thức . - Mảng cổng cho phép lập trình trong (FPGA)đưa ra một số khối logic đònh cấu hình được ,có chứa logic tổ hợp lập trình được và thanh ghi cho mạch tuần tự .Còn có tập hợp các khối vào /ra được lập cấu hình như đầu vào cố đònh đầu ra cố đònh hay hai chiều .Đầu ra có khả năng ba trạng thái ,thanh ghi dùng để chất dữ liệu vào hay ra .Mọi khối logic có thể lập và các khối vào / ra đều cho phép liên kết bằng cách lập trình nhằm xây dựng gần như bất kỳ mạch logic nào . 5. PLDcó thể xóa được . Các PLD mà chúng ta đã đề cập đến được lập trình bằng cách nung đứt các mối chì. Một khi các nối chì đã đứt ,chúng không còn nối l được . Vì vậy ,nếu phạm lỗi khi đang lập trình ,hoặc muốn thay đổi kiểu thiết kế chỉ còn cách là bỏ linh kiện đó và dùng linh kiện mới . Nhược điểmnày được khắc phục khi các nhà sản xuất tung ra loại PLDcó thể xóa và lập trình lại nhiều lần và được gọi là thiết bò logic cho phép xóa và lập trình lại (Erasable Programmable Logic Device –EPLD).Trong PLD xóa được ,thay cho mối nối chì là các chuyển mạch điện tử .Vì vậy trạng thái của chúng (đóng /mở)có thể thay đổi bằng điện nhiều lần . IV . PLD tuần tự loại GAL (Generic Array Logic) 1 . GAL 16 V8A: Cấu trúc của GAL 16 V8A rất giống với cấu trúc của thiết bò PAL .Vì vậy ,có thể dùng GAL 16 V8A như thiết bò tương thích thay thế cho hầu hết thiết bò PAL . Thiết bò GAL sử dụng mảng EEPROM để chọn các số hạng đầu vào một số vò trí nhất đònh trong mảng nhớ được chỉ đònh để kiểm soát các nối kết lập trình được cho ma trận số hạng đầu vào .Mỗi bit trong ma trận số hạng đầu vào biểu diễn một mối nối lập trình được giửa một hàng và một cột .Điều này cho phép xóa và lập trình lại thiết bò . Các thành phần chính của thiết bò GAL là ma trận số hạng đầu vào ; cáccổng AND tạo tích từ các số hạng đậu vào ;và các Macro logic đầu ra (Output logic Macro Cell – OLMC). Cấu trúc của một đoạn GAL 16 V8 2. Cấu trúc của GAL 16 V8Akhi hoạt động ở các chế độ GAL 16V8A có 3 chế độ hoạt động khác nhau và ở mỗi chế độ có 1 cấu hình riêng . -Chế độ đơn giản . -Chế độ phức tạp . -Chế độ thanh ghi . a . Chế độ đơn giản (Simple mode). Chế độ này thực hiện logic tổ hợp đơn giản mà không cần đầu ra 3 trạng thái .Đây là cấu hình duy nhất có khả năng đưa 8 số hạng tích vào 1 biểu thức tổng để tạo đầu ra tổ hợp . Cấu hình ở Mode đơn giản b. Chế độ phúc tạp (Complex mode). Thưc hiện logic tổ hợp có đầu ra 3 trạng thái được cho phép bằng 1 biểu thức tích AND. Cấu hình ở mode phức tạp c . Chế độ thanh ghi (Registered mode). Chế độ này cho phép từng OLMC độc lập hoạt độngtrong L cấu hình tổ hợp với các đầu ra 3 trạng thái hoặc trong chế độ dồng bộ vơ1i các FFD được dồng bộ với 1 tín hiệu Yung nhòp chung . Cấu hình ở mode thanh ghi . * GAL 16 V8A là PLD đơn giản .Trên thò trường còn có những PLD lớn hơn và hửu dụng hơn ,loại rất thông dụng hiện nay là 22V10 .GAL 22V10 là 1 PLD rất linh hoạt mà có thể dùng nó để cài đặt các mạng tổ hợp và tuần tự .Ngoài những đặc điểm đã có như GAL16V8A ,GAL 22V10 còn có thêm một ngỏ vào Reset bất đồng bộ chung (AR =Asynchronuos Reset)và ngỏ vào đặt trước Preset đồng bộ chung (SP=Synchronuos Preset )cho các D-FF. V. Khái quát về độngcơbước (Stepper motor ) Độngcơ là độngcơ quay từng bước thay vì chuyển động liên tục ,thường góc quay là 15 0 hoặc 7,5 0 ở mỗi bước .Cuộn từ tính trongđộngcơbước phải được cấp điện và ngắt điện trong một trình tự cụ thể mới hình thành hành động từng bước này .Các tín hiệu số thường được sử dụng để kiểm soát dòng điện trong cuôn dây của độngcơbước . Độngcơbước rất thông dụng ở những tình huống điềukhiển vò trí chính xác ,như đầu đọc /ghi lên đóa từ ,điều khiển đầu in trong máy in và trong robot . Cấu tạo cơ bản của độngcơbước như hình vẽ. Sơ đồ cấu taọ của độngcơbước 4 pha có 2 cặp dây quấn . Để cho độngcơbước quay chính xác ,cuộn dây 1 và 2 luôn ở trạng thái ngược chiều nhau ,tức là khi cuộn 1 được cấp điện ,cuộn 2 không có điện và ngược lại .Tương tự ,cuộn dây 3 và 4 luôn ở trạng thái ngược chiều nhau .Theo ý tưởng trên ta có bảng điềukhiển chế độ quay từng bướcBước Bit 3 Bit2 Bit 1 Bit 0 1 1 0 1 0 2 1 0 0 1 3 0 1 0 1 4 0 1 1 0 Ngoài ra ,motor bước còn có thể được điềukhiển để quay ở chế độ nửa bước .tương tự ta có bảng điềukhiển chế độ quay nửa bước . Bước Bit 3 Bit 2 Bit 1 Bit 0 1 1 0 1 0 2 1 0 0 0 3 1 0 0 1 4 0 0 0 1 5 0 1 0 1 6 0 1 0 0 7 0 1 1 0 8 0 0 1 0 Để motor bước quay được các bước liên tục thì bộ điềukhiển phải phát trình tự các trạng thái trên .Để motor bước quay theo chiều ngược lại thì bộ điềukhiển cũng phát các trạng thái trên theo trình tự ngược lại . Chương 2 : Sơ lược về ngôn ngữ lập trình cho PLD I .Khái quát : Cũng giống như ROM hay PROM ,một PLD cũng được lập trình để tạo ra file đốt các cầu chì hay diode.Ngôn ngữ thông thường để lập trình cho PLD là ABEL (Advanced Boolean Equation Language )là một trong những ngôn ngữ lập trình rất mạnh cho PLD ,hổ trợ cho nhiều ngỏ vào,bao gồm cả sơ đồ trạng thái và bảng thật .Trình phiên dòch của ABEL có khả năng mô phỏng và tạo file cầu chì (File Fuse Map)cho PLD. II . Cấu trúc cơ bản của một chương trình ABEL. *********************************** MODULE module name TITLE String Device DEVICE device type, Pin declarations Other declarations EQUATIONS equations TEST-VECTORS END module name ************************************ Trong đó : -MODULE :Tên chương trình và các thông số hình thức . -TITLE :Dùng để mô tả module -Declarations : Mô tả các module cấp thấp hơn ,đònh nghóa các khối chức năng như device,pin ,mode,constant macro các tập hợp … -EQUATIONS :Sử dụng các hàm ,các đồ trạng thái hay bảng sự thật để mô tả các thiết kế logic . -TEST-VECTORS :test vectors sử dụngtrong các file mô phỏng JEDEC. -END:kết thúc một module. III. Một số phát biểu cơ bản của ngôn ngữ ABEL: 1. Phát biểu Module : -Cú pháp :module module name [( dummy –arg{…})] -Mục đích :phát biểu module xác đònh điểm bắt đầu của một chương trình và phải có phát biểu END để xác đònh điểm kết thúc của module. Module là tên tập hợp của module . Dummy –arg là các thông số hình thức . 2 . Phát biểu title: -Cú pháp : title ‘string’. -Mục đích :đặt cho module một tựa đề để minh họa đặc điểm chức năng do người lập trình tạo ra . String :là chuỗi ký tự hợp lệ ,giới hạn 324 ký tự 3 . Phát biểu equations : -Cú pháp : equations . element [ ? ] = condition ; element [ ? ] = condition; When- then –else – stament ; -Mục đích :đònh ch63 bắt của 1 hay 1 nhóm biểu thức BOOLE biể diễn hàm logic ngỏ ra theo ngỏ vào condition : một mô tả . element :tên danh đònh của một tín hiệu ,tập các tín hiệu hay tín hiệu thực mà mô tả giá trò của nó được gán . When –then – else – stament : phát biểu when –then –else 4 . Phát biểu State –diagram : -Cú pháp :State –diagram state variables State –state –exp :[equation]; [trans- ] -Mục đích :đònh nghóa các biến trạng thái bắt đầu sự mô tả hoạt động của máy trạng thái State-variables :là tập hợp các biến trạng thái trọng máy trạng thái . State từ để biểu diễn sự chuyển từ trạng thái hiện tại sang trạng thái kế tiếp . State –exp : là biểu thức hay hằng số đònh nghóa trang thái hiện tại . Equation:là biểu thức logic ngỏ ra hiện tại của máy trạng thái . Trans –s : là các phát biểu điều kiện khác nhau ,nó tả sự chuyển trạng thái theo điều kiện tác động ngỏ vào . 5 . Phát biểu Case : -Cú pháp : Case [exps 1; State –exp,1] [[expsi ;state –expi,] end case; -Mục đích :mô tả sự chuyển trạng thái trong trường hợp có nhiều điều kiện tác động . 6 . Phát biểu test –vectors : -Cú pháp : test vectors [‘note’](inputoutputs) [invalues outvalues] -Mục đích :dùng để mô phỏng hoạt động của hệ và kiểm tra các chức năng hoạt động của hệ khi chạy chương trình mô phỏng . Note : là một chuỗi ký tự mô tả test –vectors . Inputs :là danh đònh trong tập hợp các danh đònh tên các tín hiệu vào hay hồi tiếp về ngỏ vào của hệ . Invalues :là một hay tập hợp các giá trò vào . Outvalues :là một hay tập hợp các giá trò ra là hàm logic các giá trò vào và giá trò trạng thái (hệ tuần tự ) *Ngoài một số phát biểu cơ bản trên ,ABEL còn nhiều phát biểu khác cho ta biểu diễn những thuật toán phức tạp hơn . IV . Một số chương trình giả lập một số IC chuẩn : 1 . Giả lập IC 74LS259: Module 5C74LS259 Title ‘Mạch phân kênh’ IC259 device ‘P16V8K’ Input D pin 1; OE pin 11; A 2 ,A 1 ,A 0 pin 4,3,2; Output Q 7 ,Q 6 ,Q 5 ,Q 4 ,Q 3 ,Q 2 ,Q 1 ,Q 0 Pin12,13,14,15,16,17,18,19; X,Z=X,Z; Select =[A 2 …A 0 ]; Data out=[Q 7 …Q 0 ]; Equations Data out.OE=!OE; Q 0 = (Select = = 0)&D; Q 1 = (Select= = 1)&D; Q 2 = (Select= =2) &D; Q 3 = (Select= =3)&D; Q 4 = (Select= =4) &D; Q 5 = (Select= =5) &D; Q 6 = (Select= =6)& D; Q 7 =(Select= =7) &D; Test vectors ([DE,D,Select]Data out) [L, X , Y } Z ; [0, 1 , 0 ] ^b00000001; [0, 1 , 1 ] ^b00000010; [0 , 1 ,2 ] ^b00000100; [0 , 1 , 3] ^b00001000; [0, 1 , 4 ] ^b00010000; [0 , 1 , 5 ] ^b00100000; [0 , 1 , 6 ] ^b01000000; [...]... thành con số BCD tương ứng -Khối đếm bước :nhận con số BCD từ khối bàn phím và giải mã để phát ra con số xung tương ứng cung cấp cho khối điềukhiển -Khối tạo xung : tạo xung để cung cấp cho khối đếm bước thực hiện tạo số bước cho khối điềukhiển -Khối hiển thò : hiển thò con số vừa nhập từ bàn phím và đếm xuống số bước tương ứng -Khối điềukhiển :cung cấp trạng thái cần thiết để độngcơbước quay... :Úùng dụngPLD vào thiết kế bộ điều khiểnđộngcơbước I Sơ đồ khối của hệ thống : Từ yêu cầu thiết kế hệ thống có sơ đồ khối như sau : Khốibàn phím và giải mã Khối đếm bước Khối điềukhiển Khối đệm PLD Khối nguồn Khối tạo xung Khối hiển thò Sơ đồ khối của bộ điều khiểnđộngcơbước * Nhiệm vụ của các khối : Độngcơbước -Khối bàn phím và giải mã :chuyển con số thập phân từ bàn phím thành con số BCD... tích cực ở mức cao Mã BCD này được lưu trữ bởi IC6 ,đồng thời các ngò ra của IC2 được đưa đến IC4 thực hiện phép OR để tạo xung CLOCK cho IC6 Ngỏ ra của IC6 là 2 con số mã BCD được đưa đến các chân nạp dữ liệu của IC7 và IC8 ,IC7 nạp con số BCD tương ứng với hàng đơn vò ,IC8 nạp con số BCD tương ứng với hàng chục ... :cung cấp trạng thái cần thiết để độngcơbước quay -Khối đệm :thực hiện đệm cần thiết cho độngcơbước -Khối nguồn cung cấp điện cho các khối khác trong hệ thống II Sơ đồ mạch điện của hệ thống : * Nguyên lý hoạt động của mạch điện : Khi nhập vào một số thập phân từ bàn phím ,con số này được IC1 chuyển thành một số BCD tương ứng ,do ngỏ ra của IC1 tích cực ở mức thấp ,vì vậy cần IC2 đảo lại để . khối bàn phím và giải mã để phát ra con số xung tương ứng cung cấp cho khối điều khiển . -Khối tạo xung : tạo xung để cung cấp cho khối đếm bước thực hiện. Khối tạo xung Khối hiển thò PLD -Khối bàn phím và giải mã :chuyển con số thập phân từ bàn phím thành con số BCD tương ứng . -Khối đếm bước :nhận con số BCD