Giáo trình Thiết kế hệ PLC - Lê Thành Sơn

pdf 94 trang ngocly 2490
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Thiết kế hệ PLC - Lê Thành Sơn", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_thiet_ke_he_plc_le_thanh_son.pdf

Nội dung text: Giáo trình Thiết kế hệ PLC - Lê Thành Sơn

  1. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Phần I: giới thiệu chung về điều khiển logic vμ thiết bị plc Lê Thμnh Sơn \ 1 [
  2. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Trong phần này chúng ta đi tìm hiểu về khái niệm điều khiển lôgic và các kiến thức về PLC. 1.1. Khái niệm điều khiển logic. Trong thực tế công nghệ có nhiều đại l−ợng vật lý cần điêù khiển và quan tâm đến giá trị của nó tại một thời điểm có thể là lớn hay nhỏ quá trình điều đó gọi là điều khiển qúa trình. Nh−ng ngoài ra còn có một điều khiển khác trong quá trình sản xuất cần quan tâm tới đó là việc đồng bộ quá trình làm việc của toàn bộ hệ thống. Khi đó ta chỉ quan tâm đến trạng thái của các thiết bị đang làm việc hay nghỉ quá trình này gọi là điều khiển lôgic. Điều khiển lôgic xuất phát từ thực tế ngoài việc thiết bị làm việc nh− thế nào ng−ời ta còn phải quan tâm tới việc khi nào cho thiết bị làm việc, khi nào cho thiết bị nghỉ để đạt đ−ợc hiệu quả cao trong quá trình điều khiển. Vậy trong điều khiển lôgic ta cần quan tâm tới 2 trạng thái do đó về mặt tín hiệu ng−ời ta quan tâm đến 2 trạng thái: Trạng thái cao(High) và trạng thái thấp (low).Thông th−ờng trong thiết kế điều khiển logic ng−ời ta ngầm qui −ớc thiết bị đang làm việc có trạng thái Logic 1 hay trạng thái cao còn khi thiết bị đang nghỉ thì ở mức lôgic 0 hay trạng thái thấp. Tuy nhiên việc quy −ớc trên chỉ là t−ơng đối mà tuỳ theo thiết bị điều khiển mà t−ơng ứng với 0 là điểm nghỉ và là điều khiển làm việc hoặc ng−ợc lại còn nếu con ng−ời chủ động áp đặt 1 là làm việc thì chọn thiết bị cho phù hợp và có thể đặt ng−ợc lại. Trong điều khiển lôgic ta cần quan tâm đến các biến đầu vào để gia công theo hàm logic tạo nên giá trị đầu ra. Quan hệ giữa đầu ra và đầu vào nhờ ch−ơng trình phần mềm hay phần cứng điều khiển. Các biến đầu vào đ−ợc tạo nên từ các nút ấn, công tắc các giá trị này phụ thuộc vào ng−ời vận hành hay trình tự của công nghệ. Ngoài ra các biến vào khác Sensor logic của các thiết bị do l−ờng các đại lựơng vật lý mà ta cần điều khiển nh− tín hiệu ra của các công tắc hành trình, Rơle điện áp, Rơle áp lực, Rơle nhiệt Hàm Logic đầu ra đ−a tới điều khiển các đối t−ợng có thể là nhóm các thiết bị nh− các cuộn hút các thiết bị đóng cắt hay động cơ của máy sản xuất Lê Thμnh Sơn \ 2 [
  3. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 1.2. Khái niệm chung - ứng dụng của PLC. 1.2.1. Khái niệm về PLC. PLC (Programable Logic Controller) là một thiết bị điều khiển logic lập trình đ−ợc. Thiết bị này có các đầu vào logic sau quá trình xử lý theo ch−ơng trình bên trong nó cho đầu ra là các mức logic có quan hệ với các đầu vào thông qua ch−ơng trình bên trong thiết bị PLC có ứng dụng rộng rãi và dần không thể thiếu đ−ợc trong các dây truyền sản xuất hiện đại. Chức năng điều khiển của PLC rất đa dạng nó có thể thay thế cho 1 mảng rơle hơn thế việc mở rộng PLC giống nh− một máy tính nó có thể lập trình đ−ợc. Ch−ơng trình của PLC thay đổi đơn giản rễ ràng bằng một máy lập trình cầm tay hay một máy tính cá nhân có phần mềm trợ giúp. Khi đó có thể một nhân viên vận hành cũng có thể lập trình đ−ợc. Sở dĩ PLC có vai trò quan trọng tới mức không thể thiếu đ−ợc trong các giây truyền sản xuất hiện đại chính là bởi tính mềm dẻo và tiện dụng đ−ợc ứng dụng trong mọi lĩnh vực vì quy luật điều khiển của nó hoàn toàn thay đổi đ−ợc một cách rễ ràng. 1.2.2. Cấu trúc chung của 1 bộ PLC. Một bộ PLC có cấu trúc chung nh− sau: IN0 Out0 Các Bộ điều Các đầu khiển đầu ra vào IN1 Out1 theo logic logic độc độc ch−ơng lập. trình. lập. IN Outm K Khi nghiên cứu tới PLC điều đầu tiên đó là số l−ợng các đầu vào và đầu ra (Input, Output) đối với một PLC thì số đầu vào ra có thể là 6 hoặc 8 hay nhiều hơn. Số l−ợng đầu vào và đầu ra cho biết mức độ quản lý đ−ợc nhiều thiết bị. Lê Thμnh Sơn \ 3 [
  4. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Vấn đề này đặc biệt quan trọng khi ứng dụng PLC cho một dây truyền sản xuất phức tạp cần gia công nhiều biến đầu vào. Các biến đầu vào đ−ợc lấy từ các công tắc đóng cắt thông th−ờng, công tắc vị trí hay các Sensor logic để đặt các giá trị logic ở đầu vào. Các đầu vào này th−ờng có mức điện áp cao để tăng độ tin cậy khi cầu truyễn xa. Vì bên trong của PLC là một bộ vi điều khiển với vi điều khiển không làm việc với mức điện áp cao vì vậy cần một mạch chuyển mức điện áp về mức chuẩn với mức logic 1 là +5 và mức logic 0 là 0V. Khi đó PLC (bộ điều khiển bên trong) sẽ quét các cổng vào để lấy dữ liệu sau một quá trình xử lý bên trong bằng ch−ơng trình phần mềm sau đó dữ liệu đầu ra dạng số với mức logic 1 là +5V mức logic 0 là 0V qua mạch chuyển mức ta có các mức ra điện áp cao hơn để đáp ứng yêu cầu điều khiển. Các đầu ra nối với các cuộn hút đóng cắt rơle, động cơ máy sản xuất, đóng mở các van Với PLC thì bộ vi điều khiển MCU (Micro Controller Unit) là hạt nhân của cả hệ. Bộ vi điều khiển đảm nhiệm tất cả các công việc từ thu nhập dữ liệu đầu vào, xử lý các dữ liệu đó và đ−a ra đầu ra PLC làm việc nh− một máy tính nhận dữ liệu đầu vào dạng số và đ−a dữ liệu ra dạng số và quá trình hoạt động là hoàn toàn tự động. Ngoài ra các đầu vào ra logic thì PLC còn có các đầu vào để cấp nguồn thông th−ờng nguồn nuôi PLC là một điện áp xoay chiều qua xử lý nguồn tạo ra điện áp 1 chiều phù hợp để nuôi bộ vi điều khiển và các mạch điện tử khác. 1.2.3. ứng dụng vμ −u nh−ợc điểm của bộ điều khiển logic có khả năng lập trình (PLC). Sự ra đời của PLC đã đáp ứng đ−ợc yêu cầu cần thiết của việc điều khiển các dây truyền sản xuất và một loạt các yêu cầu khác mà các thiết bị điều khiển logic tr−ớc nó không thể đáp ứng hoặc đáp ứng hạn chế. Đơn cử việc ứng dụng PLC để thay thế cho 1 mảng rơle. Trong các hệ thống khống chế - điều khiển logic truyền thống qúa trình này đ−ợc thực hiện bằng mảng các rơle - công tắc tơ và sau này còn đ−ợc thay thế bằng các mạch IC Lê Thμnh Sơn \ 4 [
  5. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC số rõ ràng thực hiện quá trình điều khiển này hoàn toàn thực hiện bằng phần cứng vì vậy mà mỗi một yêu cầu điều khiển thì lại phải đi xây dựng 1 phần cứng đáp ứng yêu cầu trên mà việc xây dựng bằng phần cứng nh− vậy là cực kỳ khó khăn về mặt kỹ thuật, chi phí tốn kém về mặt kinh tế và đặc biệt là mất rất nhiều thời gian khi xây dựng cũng nh− khi có yêu cầu thay đổi hay hiệu chỉnh thì phải cho hệ thống dừng và tháo ra lắp lại hoàn toàn bằng phần cứng vì vậy mà tổng chi phí cho quá trình này là rất lớn. Đặc biệt với các dây truyền yêu cầu điều khiển phức tạp thì mạch này chiếm một thể tích đáng kể và độ tin cậy không cao. Việc đ−a PLC vào để thay thế cho quá trình điều khiển logic đem lại những −u điểm nổi bật. Với một hệ thống lớn thì chi phí cho một bộ PLC là rất nhỏ. Một PLC rất gọn nhẹ mà mức độ điều khiển là vô cùng lớn. Các tiếp điểm trong mạch điều khiển logic bằng cuộn dây rơle đã đ−ợc thay thế bằng câu lệnh vì vậy số l−ợng tiếp điểm là không hạn chế. Đặc điểm tính mềm dẻo trong điều khiển mà ta có thể thay thế luật điều khiển rất đơn giản và nhanh gọn mà hầu nh− không phải chi phí tài chính trong khi hệ thống đang làm việc bằng một máy lập trình cầm tay (HPC) hay một máy tính cá nhân (PC) ta hoàn toàn có thể gọi ch−ơng trình ra đế sửa chữa. Việc lắp đặt PLC rất đơn giản nhanh gọn chỉ cần xác định các đầu vào và đầu ra việc lập trình cho PLC hoàn toàn thực hiện đ−ợc bằng phần mềm do nhà sản xuất cung cấp, các nhà sản xuất . Các nhà sản xuất PLC có thể sản xuất theo ph−ơng pháp sản xuất hàng loạt tuỳ theo ứng dụng mà khi viết ch−ơng trình sẽ tạo ra các quy luật đều khác nhau vì vậy mà làm giảm giá thành của PLC. Vậy các −u điểm khi dùng PLC. - Thời gian lắp đạt công trình ngắn. - Dễ dàng thay đổi mà không gây tổn thất đến tài chính. - Có thể dễ dàng tính toán chính xác giá thành. - Cần ít thời gian huấn luyện - Dễ dàng thay đổi phầm mềm. Lê Thμnh Sơn \ 5 [
  6. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC - Phạm vi ứng dụng rộng. - Dễ dàng bảo trì, xử lý sự cố dễ nhanh hơn. - Độ tin cậy cao. - Chuẩn hoá đ−ợc phần cứng điều khiển. - Thích ứng trong môi tr−ờng khắc nghiệt. Tuy nhiên với mức độ quản lý và điều khiển rộng thì PLC lại không phù hợp với những hệ thống nhỏ, đơn giản vì khi đó sẽ không tận dụng đ−ợc khả năng làm việc của thiết bị này. Các ứng dụng chính của PLC. ™ Điều khiển giám sát. a. Thay cho điều khiển rơle. b. Tạo bộ đếm thời gian. c. Thay cho các Panell điều khiển mạch in. d. Điều khiển tự động, bán tự động các qúa trình. ™ Điều khiển dãy. a. Các phép toán số học. b. Cung cấp thông tin c. Điều khiển liên tục (nhiệt độ, áp suất). d. Điều khiển PID. e. Điều khiển động cơ chấp hành. f. Điều khiển động cơ b−ớc. ™ Điều khiển mềm dẻo. a. Điều khiển qúa trình báo động. b. Phát hiện lỗi điều hành. c. Ghép nối máy tính với RS 232 / RS 242. d. Ghép nối máy in. e. Mạng tự động hoá xí nghiệp. f. Mạng cục bộ. g. Mạng mở rộng. h. FA, EMF, CIM. Lê Thμnh Sơn \ 6 [
  7. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Nh− vậy ứng dụng PLC trong kỹ thuật là vô cùng phong phú trong rất nhiều lĩnh vực từ điều khiển đến xử lý thông tin vì vậy càng thấy vai trò của nó. 1.3. Bộ vi điều khiển vμ ứng dụng của bộ vi điều khiển trong hệ PLC. Trong thời đại công nghệ thông tin và ứng dụng mạnh mẽ của nó vào đời sống và kỹ thuật thì những kiến thức về vi điều khiển (Micro Controller) và ứng dụng của nó càng trở nên cần thiết. 1.3.1. Giới thiệu tổng quan về bộ vi điều khiển. 1.3.1.1. Định nghĩa vi điều khiển. Bộ vi điều khiển MC (Micro Controller) là một mạng tích hợp rất cao trên một chip và có thể lập trình đ−ợc dùng để điều khiển hệ thống. Bộ vi điều khiển suất hiện từ việc đ−a bộ VXL vào quá trình điều khiển vì vậy có thể hiểu bộ vi điều khiển nh− bộ vi xử lý song song sức xử lý th−ờng không lớn nh− những bộ vi xử lý lớn. Khi nghiên cứu vi điều khiển ta quan tâm đến các vấn đề nh− sau: - Kích th−ớc bit xử lý. - Tốc độ xử lý. - Khả năng vào ra. - T−ơng thích với máy tính cá nhân (PC). - Phân tích ứng dụng. - Ngoài ra còn quan tâm đến giá thành của thiết bị. 1.3.1.2. Nguyên lý hoạt động. Nguyên lý hoạt động của bộ vi điều khiển nh− một bộ vi xử lý Với mỗi một bộ vi điều khiển ngoài các phần tử phụ nh− các rắc cắm các mạch đệm và lâng mức điện áp cho phù hợp yêu cầu thì với mọi hệ vi điều khiển đều chứa các phần tử cơ bản nh− sau: - Chíp vi xử lý ở đây diễn ra các quá trình xử lý thông tin nh− các phép toán số học và logic, các thao tác vào ra dữ liệu mọi quá trình này theo một Lê Thμnh Sơn \ 7 [
  8. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC ch−ơng trình đã đ−ợc lạp sẵn để tạo ra quan hệ giữa đầu vào và đầu ra theo yêu cầu. - ROM (Read Only Memory) là một bộ nhớ chỉ đọc th−ờng l−u trữ hệ điều hành để giúp chíp vi xử lý tiến hành các thao tác khởi tạo khi dừng và 1 số quá trình vào ra dữ liệu. - RAM (Ramdom Access Memory) là bộ nhớ vừa có khả khả năng đọc và ghi với bộ nhớ này th−ờng dùng l−u trữ dữ liệu trong quá trình làm việc hoặc có thể dùng RAM nh− một ROM khi đó các thao tác chung nhập vào RAM nh− việc đọc ch−ơng trình ở ROM. Sơ đồ của một hệ vi điều khiển với các phần tử chính nh− sau: Ngoại vi Xung nhịp d d d Tín hiệu ngắt RoM RAM VXL Reset a a a TXD RXD Cổng truyền nối tiếp Ban đầu khối tạo vi xử lý đọc ch−ơng trình trong ROM đó là ch−ơng trình điều hành nó quét và kiểm tra toàn bộ hệ thống và đ−a trạng thái cả hệ ở trạng thái sẵn sàng rồi chạy ch−ơng trình chính khi đó sẽ có quá trình quét lấy tín hiệu vào theo yêu cầu của ch−ơng trình rồi tiến hành xử lý, gia công để đ−a ra điều khiển các thiết bị theo yêu cầu. Các tín hiệu điều khiển này có thể là dạng số đ−ợc l−u trữ bằng một vi mạch đệm chốt và có thể chuyển mức điều khiển theo yêu cầu. Nếu đối t−ợng điều khiển là tín hiệu t−ơng tự thì từ tín hiệu số qua bộ chuyển đổi D/A tạo ra tín hiệu t−ơng tự làm tín hiệu điều khiển. Lê Thμnh Sơn \ 8 [
  9. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC T−ơng tự nh− đầu ra, đầu vào cũng có thể chuyển mức chuẩn vì th−ờng các tín hiệu số lấy từ Sensor logic vì yêu cầu truyền xa nên có mức điện áp không phù hợp với yêu cầu làm việc của vi xử lý nếu đầu vào là một tín hiệu t−ơng tự thì cần một bộ biến đổi A/D để đ−a tín hiệu số vào vi xử lý. Nh− vậy vi điều khiển nh− một máy tính mà ứng dụng của nó là tạo ra các tín hiệu điều khiển hệ thống bằng ch−ơng trình phần mềm. 1.3.1.3. ứng dụng của vi điều khiển. Sự lớn mạnh không ngừng của các thiết bị vi điều khiển (chip xử lý trung tâm) phần nào nói lên vai trò quan trọng của hệ vi điều khiển trong thực tế. Vào những năm 1970 do sự phát triển của kỹ thuật vi điện tử dựa trên kỹ thuật MOS (Metal Oxire Semicon Ductor) với độ tích hợp ngày càng cao. Vi mạch MSI (Mundium Size Integration) có độ tích hợp cỡ 103 Tranzito trên một chíp, vi mạch LSI (Large Size Integretion) có độ tích hợp cỡ 104 Trangito trên một chíp và vi mạch VLSI (Verry LSI) có độ tích hợp 105 Tranzito trên chíp nh−ng số bit xử lý còn nhỏ. Năm 1971 bộ vi xử lý Intel 4004 loại 4 bit ra đời có chứa 2250 Tranzito đến năm 1975 hãng Intel có ra đời chíp xử lý 8 bit 8080 và 8085. Năm 1978 hãng Intel cho ra đời vi xử lý 16bit 8086 có 29.000 Tranzito và hãng Motorola cho ra đơì vi xử lý 68.000 với 70.000 Tranzito và vi xử lý 32bit của Henlet packand có 40.000 Tranzito. Vậy từ năm 1947 đến năm 1984 số Tranzito tích hợp trên một chíp đã tăng 100 lần. Đến năm 1983 hãng Intel cho ra vi xử lý 8286 dùng cho máy tính AT (Advaned Tecchnology) dùng các đ−ờng I/0 16bit và có 24 đ−ờng địa chỉ và không gian nhớ địa chỉ thực là 16MB và năm 1987 vi xử lý 80386 xử lý 32bit năm 1989 hãng Intel cho ra đời chip xử lý 80486 phát triển trên cơ sở 80386 có thêm bộ nhớ ấn và mạch tính toán dấu phẩy động. Năm 1992 Intel cho ra 80586 còn gọi là Pentium 64bit có 4 triệu Tranzito. Các bộ vi xử lý này phát triển theo h−ớng ngày càng tăng chức năng và độ tích hợp. Từ các con số trên ta thấy đ−ợc sự phát triển mạnh mẽ lĩnh vực vi điều khiển, riêng chip vi điều khiển 8051 mỗi năm bán ra trên thị tr−ờng cỡ 1,5 tỷ bộ. Lê Thμnh Sơn \ 9 [
  10. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC ứng dụng của bộ vi điều khiển rất rộng rãi trong các thiết bị thông minh bằng việc lập trình tạo ch−ơng trình điều khiển vì vậy mà tính mềm dẻo của nó rất cao, thay đổi ch−ơng trình điều khiển đơn giản đặc biệt với các bộ đếm thời gian lập trình đ−ợc càng tăng tính ứng dụng của nó. Trong công nghiệp dùng hệ vi điều khiển trong cánh tay robôt, các hệ thống điều khiển dây truyền hay tổng hợp thống kê các thông tin của quá trình sản xuất nhà máy hay dùng trong việc bảo vệ và tự động điều khiển các Camera quan sát. Việc kết hợp giữa hệ vi điều khiển và các cảm biến tạo nên các hệ điều khiển thông minh đ−ợc ứng dụng trong các máy giặt, quạt gió, điều hoà nhiệt dộ, đầu đĩa, ti vi, điện thoại di động Đặc biệt có thể tiêu chuẩn hoá phần cứng mà ứng dụng trong công nghiệp sản xuất hàng loạt. Vậy ứng dụng của thiết bị vi điều khiển là rất phong phú trong mọi lĩnh vực nhờ khả năng lập trình cao của thiết bị. 1.3.2. ứng dụng bộ vi điều khiển trong PLC. Vi điều khiển trong bộ PLC là hạt nhân điều hành và kiểm soát mọi thao tác từ đọc dữ liệu đầu vào rồi xử lý và điều hành quá trình đ−a dữ liệu ra. Thiết bị PLC đ−ợc tạo lên từ hệ vi điều khiển và các mạch điện chốt, chuyển mức điện áp và một cổng truyền RS232 để đọc ra và đ−a vào ch−ơng trình điều khiển. Nh− vậy bộ vi điều khiển trong PLC quyết định mọi sự hoạt động của PLC. Kết luận: ở phần I này chúng ta đã đi tìm hiểu một số khái niệm chung và một số kiến thức có liên quan tới PLC và bộ vi điều khiển. Để tìm hiểu và xây dựng cụ thể bộ vi điều khiển và thiết bị PLC sẽ đ−ợc đề cập ở phần sau. Lê Thμnh Sơn \ 10 [
  11. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Phần II: GIớI thiệu họ vi điều khiển mcs-51 Lê Thμnh Sơn \ 11 [
  12. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Vi điều khiển 8031 có những tính chất đặc tr−ng nh−: Đơn vị xử lý trung tâm 8bit đã đ−ợc tối −u hoá để đáp ứng các chức năng điều khiển. - Khối logic xử lý theo bit thuận thiện cho các phép toán Boolear. - Bộ tạo giao động giữ nhịp bên trong ( đến 12 MHZ). - Tập lệnh rất phong phú. - Giao diện nối tiếp có khả năng hoạt động song song đồng bộ (UART). 16(32) đ−ờng dẫn vào/ra 2 h−ớng và từng đ−ờng dẫn có thể đ−ợc định địa chỉ 1 cách tách biệt. - Năm nguồn ngắt với hai mức −u tiên. - Dung l−ợng bộ nhớ ch−ơng trình bên ngoài ( ROM) có thể đến 64 KB. - Dung l−ợng bộ nhớ dữ liệu ( RAM ) bên ngoài đến 64KB. - Dung l−ợng bộ nhớ RAM trong 128byte. - Hai bộ đếm định thời 16 bit. - Bus và khối định thời t−ơng thích với các khối ngoại vi của bộ vi xử lý 8085/88. - Tất cả các vi điều khiển của dòng vi điều khiển MCS - 51 đều có chung bộ lệnh. Nếu độ lớn của ch−ơng trình vừa trong một chip ROM và nếu Ram trong đầy đủ thì vi điều khiển 8031 không yêu cầu thêm logic để thi hành kết thúc điều khiển hệ thống. Lê Thμnh Sơn \ 12 [
  13. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 2.1. Cấu tạo chung của họ vi xử lý 8031. Vi xử lý 8031 là vi xử lý thuộc họ 8051 do hãng Intel chế tạo có sơ đồ chân chuẩn nh− sau: P1.0 1 40 Vcc P1.1 2 39 P0.0 ADO P1.2 3 38 P0.1 AD1 P1.3 4 37 P0.2 AD2 P1.4 5 36 P0.3 AD3 P1.6 6 35 P0.4 AD4 P1.6 7 34 P0.5 AD5 P1.7 8 33 P0.6 AD6 RST 9 * 32 P0.7 AD7 RXD P3.0 10 31 EA / Vpp TXD P3.1 11 30 ALE / PROG INTO P3.2 12 29 PSEN INT1 P3.3 13 28 P2.7 A15 TO P3.4 14 27 P2.6 A14 T1 P3.5 15 26 P2.5 A13 WR P3.6 16 25 P2.4 A12 RD P3.7 17 24 P2.3 A11 XTAL2 18 23 P2.2 A10 XTAL1 19 22 P2.1 A 9 Vss 20 21 P2.0 A 8 MCS 8031 .DIP40 Lê Thμnh Sơn \ 13 [
  14. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Chân Kí hiệu Chức năng 1 P1.0 Cổng giả 2 h−ớng (quasi - biderectional)P1 8 P1.7 Tự do sử dụng 9 Reset Nối vào RST, khi hoạt động ở mức Hight 10 P3.09 Cổng giả 2 h−ớng P3. Xấp xếp tất cả các chức năng đặc biệt. 17 P3.7 18 XTAL2 Lối ra của bộ giao động thạch anh bên trong 19 XTAL1 Lối vào của bộ giao động thạch anh bên trong 20 Vss Nối đất. 21 P2.0 Cổng giả 2 h−ớng P.2. Chức năng đặc biệt: các đ−ờng dẫn địa 28 P2.7 chỉ A8.A15 29 Progam strobe Enable, xuất ra các xung đọc dùng cho bộ nhớ PSEN của ch−ơng trình bên ngoài 30 ALE Address Latch Enable, xuất ra các xung điều khiển l−u trữ không gian các địa chỉ. 31 External Access: mức Low thì làm việc với bộ nhớ ch−ơng EA trình bên ngoài. 32 P0.7 Cổng 2 h−ớng cực máng hở PO hoặc Bus dữ liệu h−ớng dùng 39 P0.1 cho Ram, Ram và thiết bị ngoại vi bên ngoài. Cũng chuyển giao cả 8 bit phía d−ới của địa chỉ A0 - A7 40 Vcc Nguồn nuôi +5V Lê Thμnh Sơn \ 14 [
  15. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 2.2. Cấu trúc bên trong của 8031. các ngắt ngoài các sự kiện cần đếm Ram trong điều NGuồN timer timer khiển o 1 NG thanh ngắt ắt 128 ghi TRONG byte sfr ram cpu p p p p bộ 0 0 0 0 cổng dao quản r r r r nối động lý t t t t tiếp bus 0 2 1 3 txd rxd xtal1 xtal2 psen ale Dữ liệu, Địa chỉ địa chỉ mức cao mức thấp. Phần chính của vi mạch là đơn vị xử lý trung tâm ( CPU: Central processing Unit), đơn vị này có chứa: +. Thanh ghi tích lũy ( kí hiệu là A). +. Thanh ghi tích luỹ phụ (B) dùnngcho phép nhân và chia. +. Đơn vị logic (ALU: Arithmetic Logical Unit) +. Từ trạng thái ch−ơng trình ( PSW: Progam Status Word) +. Bốn băng thanh ghi. Lê Thμnh Sơn \ 15 [
  16. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC +. Con trỏ ngăn xếp (SP) cũng nh− con trỏ dữ liệu để định địa chỉ cho bộ nhớ dữ liệu ngoài. +. Ngoài ra ở đây còn có: Bộ đếm ch−ơng trình (PC), bộ giải mã lệnh, bộ điều khiển thời gian và logic. Đơn vị xử lý thông tin nhận trực tiếp xung nhịp từ bộ tạo dao động đ−ợc lắp thêm vào, linh kiện phụ trợ có thêm là một khung dao động bằng vật liệu gốm hoặc một cộng h−ởng bằng thạch anh. Ch−ơng trình đang chạy có thể dừng lại nhờ một khối logic ngắt ở bên trong. Các nguồn ngắt có thể là: Các biến cố ở bên ngoài, sự tràn bộ đếm/ định thời hoặc cũng có thể là giao diện nối tiếp. Bộ vi xử lý 8031 nhận đ−ợc ch−ơng trình điều hành của nó từ một bộ nhớ ch−ơng trình bên ngoài, 8031 có 128 bytes RAM bên trong để có thể xắp xếp các dữ liệu và thông tin điều khiển. 8031 có 2 bộ định thời 16 bit, chúng cũng đ−ợc xử dụng nh− là bộ đếm sự kiện. 8031 có 4 cổng rộng 8 bit, độc lập với nhau, cổng P.0 dùng để truyền nửa d−ới của các địa chỉ và cũng dùng cho các dữ liệu 8 bit. Cổng P.2 để truyền nửa trên của các địa chỉ. ở cổng P.3 còng có thêm các đ−ờng dẫn điều khiển dùng để trao đổi tin với bộ nhớ ngoài, để đấu nối giao diện nối tiếp cũng nh− các đ−ờng dẫn ngắt bên ngoài. Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ, làm việc độc lập với nhau. Bằng cách đấu nối với các bộ đệm thích hợp, ta có thể hình thành một cổng nối tiếp RS - 232 đơn giản. Tốc độ truyền qua cổng nối tiếp có thể đ−ợc đặt trong một vùng rộng và đ−ợc ấn định bằng một bộ định thời. 2.3. Hoạt động với bộ nhớ ch−ơng trình bên ngoμi của VXL 8031. Hình vẽ sau chỉ ra một sơ đồ nguyên tắc cấu trúc một mạch điện dùng với bộ VXL 8031 và bộ nhớ ch−ơng trình bên ngoài cùng vớu bộ chốt ( latch) 8 bit. Lê Thμnh Sơn \ 16 [
  17. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Psen OE P1 P0 D0 D7 8031 CHốT A0 A7 P3 ALE P2 A8 A15 EA ROM ROM: Read Only Memorry Một vài vi xử lý họ MCS 8051 có nhớ ROM trong,nh−ng 8031 không có bộ nhớ ch−ơng trình bên trong do đó hoạt động đ−ợc thì 8031 phải làm việc với bộ nhớ ch−ơng trình ngoài(ROM ngoài). Khi làm việc với bộ nhớ ch−ơng trình ngoài chân EA của vi xử lý 8031 phải đ−ợc nối Mass.VXL8031 có thể địa chỉ hoá đ−ợc 64KB bộ nhớ ch−ơng trình ngoài. Khi lấy dữ liệu từ ROM vi xử lý 8031 thực hiện các b−ớc sau: - Đ−a địa chỉ byte thấp (A0 ữ A7) lên bus dữ liệu. - Chốt các địa chỉ bằng mạch ngoài. Việc này thực hiện bằng cách lập xung chốt qua chân ALE cho mạch chốt ngoài. Đ−a địa chỉ byte cao đến ROM (nếu cần) cho phép ROM đ−a dữ liệu lên bus dữ liệu . Khi đọc dữ liệu từ ROM vi xử lý sẽ đ−a chân PSEN suống mức thấp. Vi xử lý 8031 có thể địa chỉ hoá đ−ợc 64KB bộ nhớ ch−ơng trình ngoài nên ta có thể cho ROM 64KB. Điển hình là loại 2764 gồm các chân nh− sau: - A0 ữ A12 là các chân địa chỉ - D0 ữ D7 các chân dữ liệu. - OE (Out Enable) chân cho phép dữ liệu ra khi chân OE ở mức thấp thì ROM cho dữ liệu lên bus dữ liệu của vi xử lý. Lê Thμnh Sơn \ 17 [
  18. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 2.4. Truy nhập lên bộ nhớ ch−ơng trình của 8031. Hình vẽ sau đây chỉ ra diễn biến một quá trình truy nhập lên bộ nhớ ch−ơng trình của 8031. ALE PSEN P0 INST INST INST A0 A7 A0 A7I P2 A8 A15 A8 A15 A8 A15 Bộ lệnh của VXL 8031 nhận biết 2 độ dài lệnh khác nhau. Phần lớn các lệnh đ−ợc VXL trong phạm vi của một chu trình máy, số ít các lệnh còn lại cần có 2 chu trình máy, Một chu trình máy bằng 12 chu kỳ dao động của tín hiệu giữa nhịp. Trong một chu trình máy, đ−ờng dẫn điều khiển ALE có 2 lần chuyển trạng thái đ−ợc kích hoạt, ngay cả khi do có lệnh đang đ−ợc thực hiện nên chỉ cần có một chu trình. Chỉ sự truy nhập viết hoặc đọc lên bộ nhớ dữ liệu bên ngoài, nơi không cần đến một chu trình ALE là một tr−ờng hợp ngoại lệ. Không có bộ nhớ dữ liệu bên ngoài, tần số ALE cũng là hằng số ( OSC/6). Tín hiệu ALE trong tr−ờng hợp này có thể sử dụng làm tín hiệu giữ nhịp cho các mạch bên ngoài. Trong chu trình ALE đ−ợc kích hoạt ở mức Hight, bộ VXL đặt ở trong đ−ờng dẫn địa chỉ phía d−ới để truy nhập lên bộ nhớ ch−ơng trình bên ngoài lên Bus chung dùng cho dữ liệu và địa chỉ. Sau đó khi có s−ờn dốc xuống trên xung tín hiệu ALE thì nội dung của địa chỉ thấp này đ−ợc chuyển vào bộ nhớ trung gian. Lê Thμnh Sơn \ 18 [
  19. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Bằng việc xắp xếp các địa chỉ phía d−ới vào Bus dữ liệu, các đ−ờng dẫn địa chỉ A8 đến A15 đ−ợc xếp vào cổng P2 mức cuả các đ−ờng dẫn này giữ nguyên ổn định cho đến khi kết thúc chu trình truy nhập lệnh. Khi xung tín hiệu của ALE có đoạn dốc xuống thì bộ VXL đặt đ−ờng dẫn điều khiển PSEN của nó vào mức Low. Sau một vài chu trình giữ nhịp, bộ nhớ ch−ơng trình bên ngoài cần phải sắp xếp các dữ liệu( các lệnh) của nó lên Bus dữ liệu và Bus địa chỉ chung. Sau đó bằng s−ờn dốc lên của PSEN bộ VXL đón nhận các dữ liệu đang đ−ợc xếp ở cổng P0. 2.5. Quá trình truy nhập lên bộ nhớ dữ liệu của VXL 8031. Hình vẽ d−ới đây minh hoạ diễn biến của một quá trình truy nhập để đọc bộ nhớ dữ liệu bên ngoài: ALE RD P0 A0 A7 Data in A0 A7 P2 A8 A15 Giống nh− khi đọc bộ nhớ ch−ơng trình bên ngoài, tr−ớc hết 8 đ−ờng dẫn dẫn 8 địa chỉ thấy ở cổng P0 và đ−ợc xếp lên Bus chung dùng cho dữ liệu và địa chỉ thấp để chuyển vào bộ nhớ trung gian dùng cho địa chỉ bằng s−ờn dốc xuống cuẩ tín hiệu ALE. tiếp theo là sự kích hoạt của đ−ờng dẫn RD, điều khiển quá trình đọc dữ liệu bên ngoài. Ngay tr−ớc khi đ−ờng dẫn RD trở về với mức High, bộ xử lý đón nhận các dữ liệu đang đ−ợc xếp ở bus. Do đó, với nhiều ứng dụng đ−ờng dẫn RD đ−ợc nối tiếp hoặc qua một bộ giải mã địa chỉ với chân OE của thiết bị ngoại vi. Lê Thμnh Sơn \ 19 [
  20. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC VXL 8031 nhận biết một quá trình truy nhập dữ liệu bên ngoài 8 và 16 bit, khi truy nhập dữ liệu 8 bit, nội dung của cỏng P2 giữ nguyên không thay đổi. giống nh− khi viết, các địa chỉ đ−ợc truy nhập đ−ợc xuất ra Bus chung dùng cho dữ liệu và địa chỉ, từ đó suy ra rằng một vùng địa chỉ lớn nhất là 256 Byte có thể trao đổi đ−ợc. Còn khi sảy ra quá trình truy nhập 16 bit, bộ xử lý xuất ra 8 bit địa chỉ giá trị cao hơn qua cổng P2. Bằng cách này có thể truy nhập trực tiếp lên bộ nhớ dữ liệu bên ngoài đến 64 KB. Hình vẽ giản đồ sau đây biểu diễn diễn biến của một quá trình viết lên bộ nhớ dữ liệu bên ngoài của VXL 8031. ALE WR P0 A0 A7 Data in A0 A7 P2 A8 A15 Việc sắp xếp các địa chỉ giá trị thấp A0 đến A7 diễn ra giống nh− trong quá trình truy nhập để đọc, tiếp theo các dữ liệu cần viết đ−ợc xuất ra cổng P0. Một xung Low đ−ợc đặt lên đ−ờng dẫn WR. Thông th−ờng thì khi xuất hiện s−ờn dốc lên ở đ−ờng dẫn tín hiệu này, khối ngoại vi đ−ợc nối vào Bus dữ liệu sẽ đón nhận các thông tin đ−ợc sắp xếp trên Bus dữ liệu. Với quá trình truy nhập để viết, giống nh− khi đọc các quá trình truy nhập 8 hoặc 16 bit lên thiết bị ngoại vi bên ngoài là hoàn toàn có thể. Khi truy nhập 8 bit, cổng P2 cũng giữ nguyên không thay đổi, trong khi ở quá trình truy nhập 16 bit các địa chỉgiá trị cao hơn đ−ợc sắp xếp. Khi hoạt động với bộ nhớ bên ngoài, các cổng 0,2 và đôi khi cả cổng 3 đều đ−ợc sắp xếp dùng cho việc định địa chỉ và truyền dữ liệu, một bộ nhớ Ram Lê Thμnh Sơn \ 20 [
  21. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC ngoài sử dụng cùng Bus địa chỉ và Bus dữ liệu giống nh− bộ nhớ ch−ơng trình ở ngoài. nh−ng chúng đ−ơcn trao đổi với các đ−ờng dẫn điều khiển IOR và IOW , trong khi bộ nhớ ch−ơng trình ở ngoài đ−ợc kích hoạt bằng tín hiệu PSEN . 2.6. Vi điều khiển 8031. Phần tr−ớc ta đã tìm hiểu những nét cơ bản về họ VXL MCS -51 đại diện lầ VXL 8031. Có thể nói bộ VXL 8031 của hãng INTEL là thế hệ kế tiêp của VXL 8048 sau khi đã đ−ợc cải tiến và mở rộng thêm nhiều về phần cứng. Hiện nay bộ VXL này là một bộ VXL đ−ợc dùng thông dụng nhất. Bộ VXL 8031 định địa chỉ ô nhớ dữ liệu và ch−ơng trình đến 64 Kbyte. Về phần cứng trong 8031 đ−ợc bổ xung phải kể đến một giao diện nối tiếp và một bộ định thời bổ xung đã làm đơn giản hoá cả những ứng dụng phức tạp. Ngoài ra tốc độ làm việc của 8031 cũng tăng lên. Một bộ tạo tín hiệu giữ nhịp với tần số đ−ợc xoá định bởi bộ cộng h−ởng thạch anh đấu bên ngoài, xác định độ làm việc của VXL. Các lệnh đ−ợc thực hiện tới mức tần số bằng 1/12 tần số riêng của bộ dao động thạch anh. Khi tần số riêng của bộ dao động thạch anh bằng 12 MHz thì một lệnh một byte cần đúng một Micro giây. Khi các lệnh có thạm số cần tra cứu trong bộ nhớ ch−ơng trình thì cần có thời gian dài gấp đôi. 2.6.1. Bộ đếm ch−ơng trình của 8031. Bộ đếm ch−ơng trình đ−ợc dùng để chỉ đếm byte lệnh tiếp theo sẽ đ−ợc đọc. Nó không bị ảnh h−ởng trực tiếp nh−ng sẽ bị thay đổi bằng những lệnh rẽ nhánh nh− lệnh Jump hoặc Call. Nó cũng có thể dùng nh− địa chỉ cơ sở cho chỉ số địa chỉ khi đọc từ bộ nhớ ch−ơng trình. Khối Ram trong của 8031từ [ 0h 1Fh] đ−ợc dùng cho các thanh ghi. C 4 bank với 8 thanh ghi trong mỗi Bank đó từ R0 đến R7. Bank thanh ghi 0: Từ 00h đến 07h ( R0 dến R7). Bank thanh ghi 1: Từ 08h đến 0Fh Bank thanh ghi 2: Từ 10h đến 17h Bank thanh ghi 3: Từ 18h đến 1Fh Lê Thμnh Sơn \ 21 [
  22. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Để chọn địa chỉ các thanh ghi, đầu tiên các thanh ghi Bank phải đ−ợc kích hoạt (Active). Việc lựa chọn đ−ợc làm bởi cờ trong từ trạng thái ch−ong trình PSW. Sau khi đã đ−ợc chọn thanh ghi 1 đ−ợc kí hiệu là RI. Ví dụ: Mov a , R5 sẽ chuyển nội dung thah ghi số 5 vào thanh ghi A, thanh ghi đó phụ thuộc vào thanh ghi Bank hiện tại đ−ợc chọn, có thể là byte số 5, 0Dh, 15h hoặc 1Dh của Ram trong. Các thanh ghi Bank th−ờng đ−ợc dùng dành cho ch−ơng trình con ( Subroutine) hoặc ch−ong trình con phục vụ ngắt ( Interup Service Routine). 2.6.2. Những thanh ghi chức năng đặc biệt: SFR ( Special Function Registers). Trong phần trên của vùng địa chỉ Ram bên trong của VXL 8031 có đặt vô số các thanh ghi có chức năng đặc biệt ( SFR) để qua đó có thể trao đổi với các bộ phận ngoại vi ở bên trong của bộ VXL 8031. SFR bao gồm các thanh ghi dữ liệu vầ các thanh ghi điều khiển chúng nằm trong các cổng, time, hoặc là các thanh ghi điều khiển ngắt Cổng nối tiếp đ−ợc điều khiển bởi SFR Scon, trong khi dữ liệu vào ra cổng này đi qua thanh ghi SFR SBUF. Những bit riêng lẻ của Scon xác lập những chế độ khác nhau của cổng nói tiếp. Scon có thể đ−ợc xem nh− thanh ghi điều khiển và SBUF đ−ợc gọi là thah ghi dữ liệu. SFR có byte địa chỉ trong khoảng ( 80h FFh) ( tiếp theo phần địa chỉ của Ram trong từ 00h 07h nh− đã nói ở trên). 8031 có thể truy nhập Ram và SFR bằng chế độ địa chỉ gián tiếp thanh ghi. Ví dụ: Mov A,80h: Chuyển giá trị l−u trữ trong SFR 80h vào thah ghi A Mov A, @ RO: RO đã đ−ợc đặt 80h, sẽ chuyển nội dung của Ram vào trong thah ghi A. SFR bao gồm cả thanh ghi A, thanh ghi B và từ trạng thái ch−ơng trình PSW bao gồm cả cờ hệ thống nh− cờ Carry có 2 bit để kích hoạt thanh ghi Bank. Sau đây là danh sách các thanh ghi có chức năng đặc biệt SFR của 8031: Lê Thμnh Sơn \ 22 [
  23. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Stt Register Address Mnemonic Internal 1 Port O Latch PO 80h 2 Stack Pointer SP 81h 3 Data Pointer Low Byte DPL 82h 4 Data Pointer High Byte DPH 83h 5 Power Control PCON 87h 6 Timer/ Counter Control TCON 88h 7 Timer/ Counter Low Byte TLO 8Ah 8 Timer/ Counter Mode Control TMOM 89h 9 Timer/ Counter 1 Low Byte TL1 8Bh 10 Timer/ Counter 0 High Byte TH0 8Ch 11 Timer/ Counter 1 High Byte TH1 8Dh 12 Port 1 Latch P1 90h 13 Serial Port Control SCON 98h 14 Serial Data Port SBUF 99h 15 Port 2 Latch P2 A0h 16 Interrupt Enable IE A8h 17 Port 3 Latch P3 B0h 18 Interrupt Priority Control IP B8h 19 Progam Status Word PSW D0h 20 Accumalator Acc or A E0h 21 B Register B F0h Tất cả những SFR đ−ợc bổ xung, nửa byte địa chỉ giá trị thấp của nó có giá trị bằng 0 hoặc bằng 8 ( các địa chỉ byte 80h, 88h cho đến F8) là định địa chỉ đ−ợc theo bit. Bởi vì phần lớn các SFR bao gồm từ những bit riêng lẻ với các chức năng độc lập, nên sẽ rất thuận lợi khi cần đặt và đặt ra các bit điều khiển riêng lẻ. Lê Thμnh Sơn \ 23 [
  24. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 2.6.3. RAM trong của 8031. RAM trong của 8031 bao gồm cả các thanh ghi và cácc thanh ghi có thể lập trình và xoá từng bit nh− là Ram đa mục đích. Ram đ−ợc dùng nh− là vùng làm việc đa năng. Ram on chip có địa chỉ từ 00h đến 7Fh. Bộ VXL 8031 quản lý các địa chỉ tách rời nhau dùng cho bộ nhớ Ram bên trong bằng 128 byte ( ở 8032 là 256 byte), cho bộ nhớ ch−ơng trình và bộ nhớ dữ liệu ở bên ngoài ( nếu nh− có đầu vào). Cùng địa chỉ đó có thể xuất hiện đồng thời 3 lần. Một đặc điểm của 8031 là khả năng truy nhập những lệnh đặc biệt lên các bit riêng lẻ cho bộ nhớ Ram bên trong. Vùng bộ nhớ Ram 29h đến 2Fh đ−ợc sử dụng 1 cách tự do là có thể truy nhập tới bằng các địa chỉ bit 0 đến 7Fh. Bộ nhớ Ram bên trong cho phép xếp đặt trong vùng phía r−ới 4 dãy thanh ghi độc lập với mỗi dãy 8 thanh ghi. Sau mỗi lần đặt lại ( Reset), ngăn xếp bắt đầu ở địa chỉ 08 và tăng dần lên phía trên với mỗi lần gọi ch−ơng trình con. Để có thể xử dụng những Bank thanh ghi cao hơn, con trỏ ngăn xếp phải đ−ợ đặt lên một giá trị thích hợp ở chỗ bắt đầu của một ch−ơng trình. Chỉ thị Mov chuyển dữ liệu đến Ram hoặc từ Ram đi cho phép dùng cả 2 chế độ trực tiếp và gián tiếp địa chỉ. Ví dụ: Mov A,35h; Sẽ chuyển nội dung của byte 35h của Ram trong của thanh ghi A. Lệnh của 8031 sử dụng kí hiệu # để chỉ ra đó là hằng số. Mov A,# 35h; Chuyển 35h vào thanh ghi A. Mov A,@ RO; Chuyển nội dung cuả byte nhớ ở Ram trong có địa chỉ đ−ợc chứa trong thanh ghi Ro vào thanh ghi A.( Các thanh ghi đ−ợc dùng có thể từ 0 đến 7). 8031 có 128 bye bộ nhớ, do đó có thanh ghi Ro chứa giá trị từ 00h đến 7hH. Và chỉ có thanh ghi R0,R1 của những bank thanh ghi đ−ợc chọn hiện thời có thể dùng chế độ gián tiếp địa chỉ. Bộ nhớ Ram bên trong của 8031: Lê Thμnh Sơn \ 24 [
  25. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 7FH Sử dụng tự do và ngăn xếp 30H 2FH Các địa chỉ bit 0 7Fh 20H 1FH Bank thanh ghi 3 18H 17H Bank thanh ghi 2 10H 0FH Bank thanh ghi 1 08H 07H Bank thanh ghi 0 00H 2.6.4. ROM – Bộ nhớ chỉ đọc. Bộ VXL 8031 có 4 cổng vào ra song song ( Parallel Input/Output Port). Khi cổng đ−ợc dùng là cổng ra, dữ liệu đ−ợc để trong SFR t−ơng ứng. Giá trị đ−ợc viết đến SFR t−ơng ứng sẽ đ−ợc chốt vào và phát ra tín hiệu sau khi quá trình ghi kết thúc. Giá trị của cổng ra thay đổi khi giá trị mới đ−ợc chốt. Khi cổng đ−ợc dùng là cổng vào, đầu tiên giá trị FFh sẽ đ−ợc ghi lên cổng, sau đó tất cả các cổng vào làm cho chân điện thé thấp sẽ đ−ợc đặt bằng 0. Việc đọc các SFR t−ơng ứng sẽ đọc giá trị của cổng. Bộ chốt cửa ra sẽ điều khiển chân cổng lên mức logic 1 nếu không dòng điện của mạch ngoài hạ xuống trên chân. Mặc dù cùng 1 SFR đang đ−ợc dùng, nh−ng bên trong vẫn có 2 thao tác đ−ợc tiến hành khi cổng đang đ−ợc đọc và đ−ợc ghi. Các thao tác đ−ợc tiến hành khi cổng đang đ−ợc đọc và đ−ợc ghi. Các thao tác đ−ợc thực hiện hoàn toàn bằng phần cứng, bảo vệ giúp ng−ời dùng từ việc giữ h−ớng khi dữ liệu đ−ợc chuyển. Lê Thμnh Sơn \ 25 [
  26. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Một điều chú ý nữa là mặc dù tất cả các thao tác đọc mà đọc giá trị từ chân cổng, Có một vài thao tác vẫn đọc ngầm đọc giá trị của cổng chốt, gọi là thao tác Read Modify Wite. Ví dụ: INC P1 sẽ đọc nội dung cuả cổng, tăng giá trị và ghi kết quả trở lại cổng. Những thao tác đó đ−ợc tiến hành hoàn toàn bằng phần cứng. những chỉ thị read Modify Wite lầ ANL, ORL, XRL khi mà toán hạng đích là cá bit của cổng SFR, còn thao tác JBC và CPL đ−ợc dùng khi toán hạng đích là các bit của cổng SFR. INC, DEC, MOV, CLR và SET, DJNZ đ−ợc dùng khi toán hạng thứ nhất là cổng SFR. Ví dụ: MOV P1.0,c chuyển giá trị của cờ Carry vào bit 0 của Port 1. thao tác này đ−ợc tiến hành bằng phần cứng, chia làm 2 phần: Port 1 đ−ợc đọc từ chốt sau đó bit 0 của nó sẽ bị thay đổi và sẽ đ−ợc ghi trở lại chốt. Tổng cộng có 4 cổng, nh−ng khi dụng bộ nhớ ở ngoài thì 3 cổng trong số đó đ−ợc sử dụng hoàn toàn hoặc một phần. Chỉ còn lại cổng P1 có 8 lối ra vào đ−ợc sử dụng tự do. Chúng đ−ợc gọi là các cổng giả hai h−ớng (Quasi bidirectional), bởi vì trạng thái tĩnh của cổng này là cao và có điện trở cao, ngoài ra chúng có thể đóng vai trò nh− các lối vào. ở trạng thái thấp chúng có điện trở thấp và có thể đệm trực tiếp cho các LED. Cổng 0,2,3 có các chức năng thay đổi, những chân cổng này có thể đ−ợc dùng nh− là những đ−ờng vào ra số liệu chung, hoặc có thể dùng cho những chức năng thứ hai của chúng. Chức năng thứ hai của cổng 0 và 2 là giao tiếp với bộ nhớ ngoài. Cổng 3 có các chức năng thứ hai nh− sau: Bit Alternate Function Mnemonic/ Designation 0 Serial Input Port RxD 1 Serial Output Port TxD 2 External Interrupt 0 INT0 3 External Interrupt 1 INT1 4 Timer/ Counter 0 External Input T0 5 Timer/ Counter 1 External Input T1 Lê Thμnh Sơn \ 26 [
  27. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 6 External Memory Write Strobe WR 7 External Memory Read Strobe RD Để tiến hành lựa chọn các chức năng thứ một hay hai của các cổng thì các SFR t−ơng ứng phải đ−ợc thiết lập. 2.6.5. Cổng nối tiếp của 8031. Giao diện nối tiếp ở bên trong của VXL 8031 cho phép ghép nối bộVXL với một máy tính PC một cách rất đơn giản. Bởi vì giao diện đ−ợc thực hiện nhờ bộ UART hoạt động độc lập( Autonomous), nên bộ VXL hoàn toàn tự do đối với các nhiệm vụ khác. Cổng nối tiếp đ−ợc điều khiển với thanh ghi có chức năng đặc biệt (SFR) SCON. Để khởi tạo giao diện thanh ghi SCON cần phải đ−ợc nạp bằng các tham số thích hợp. SCON: ( SFR 98h) SM0 SM1 SM2 REN TB8 RB8 TI RI 7 6 5 4 3 2 1 0 MSO MS1 Chế độ 0 0 0 0 1 1 1 0 2 1 1 3 SMO, SM1: Các bit chế độ nối tiếp 1 và 2 chọn loại hoạt động. Chế độ 0: Cổng nối tiếp dùng nh− một thanh ghi dịch và tốc độ dịch bằng một chu kỳ máy hay bằng 1/12 dao động tinh thể thạch anh Chế độ 1: Dùng Timer 1 để phát ra tốc độ Baud để truyền và nhận 8 bit dữ liệu. Chế độ 2: Dùng cổng nối tiếp 9 bit với tốc dộ baud là 1/32 hay 1/64 dao động tinh thể thạch anh. Chế độ 3: Dùng nối tiếp 9 bit với tốc độ baud đ−ợc quyết định bởi Timer 1. SM2 dùng trong chố độ 2 hoặc 3 để đa xử lý đ−ợc dễ dàng. Lê Thμnh Sơn \ 27 [
  28. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC REN: Đ−ợc xác lập bằng phần mềm để cho phép nhận nối tiếp nếu bị xoá dữ liệu sẽ nhận theo từng khối. TB8: Đ−ợc lập và xoá bằng phần mềm và bit thứ 9 sẽ đ−ợc truyền trong Mode 2 và Mode 3. RB8: Phụ thuộc vào chế độ hoạt động của chế độ làm việc. Nếu đang làm việc ở chế độ 2 hoặc 3 thì sẽ nhận 9 bit dữ liệu và bit cuối cùng đ−ợc đ−a vào RB8. TI: Đ−ợc xác lập bởi phần cứng để báo hiệu việc truyền đã kết thúc. Nó phải đ−ợc xoá bằng phần mềm để cho phép truyền dữ liệu tiếp theo. RI: Đ−ợc xác lập bằng phần cứng để báo hiệu việc nhận đã hoàn thành. Nó cũng đ−ợc xoá bằng phần mềm lúc đọc byte dữ liệu từ SBUF để cho phép nhận dữ liệu tiếp theo. Thanh ghi dữ liệu của giao dịch nối tiếp là SBUF (SFR 99h) dữ liệu vào và ra cổng nối tiếp đều đi qua SFR SBUF. Thực tế phía sau thanh ghi SBUF là hai thanh ghi cụ thể là thanh ghi dữ liệu truyền và thanh ghi dữ liệu nhận. Quá trình đ−ợc truyền mở đầu bằng cách đơn giản bằng cách truy nhập để ghi lên thanh ghi SBUF. Ng−ợc lại, một byte đã đ−ợc nhận có thể đ−ợc đọc từ SBUF. Trong chế độ 9 bit, mỗi một bit thứ 9(TB 8 hoặc TR 8) trong thanh ghi SMOD cần phải đ−ợc chú ý đến. ng−ời ta hay dùng chế độ hoạt động loại 1 và nh− vậy có 1 bộ UART 8 bit, tốc độ Baud bằng bộ định thời 1. Dòng dữ liệu 8 bit đ−ợc mở đàu bằng 1 bit Start kết thúc bằng 1 bit Stop. Tốc độ Baud bằng 1/16(SMOD =1) hoặc 1/32 (SMOD=0) của tốc độ tràn của bộ định thời 1. SMOD là bít có giá trị cao nhất trong thanh ghi SCON ( SFR 87h). SMOD: 1 bằng tốc độ Baud thấp, bằng 0 tốc độ baud cao. GF1, GF2: Cờ đ−ợc sử dụng tự do. PD: Chế độ Power Down (chỉ ở loại CMOS 80C31). IDL: Chế độ chạy không (IDLE). 2.6.6. Timer/ Counter của 8031. Việc tạo ra một tín hiệu giữ nhịp dùng cho giao diện nối tiếp đòi hỏi tr−ớc hết là việc lập trình cho bộ định thời 1. 8031 có 2 Timer/ Counter, cả hai bộ định Lê Thμnh Sơn \ 28 [
  29. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC thời này đều có hai thanh ghi đếm 8 bit trên mỗi bộ. Các thanhghi này có thể đ−ợc nạp và đ−ợc đọc ra. Time / Counter 0 là thanh ghi TH0 và TL0, Timer/ Counter 1 là TH1 và TL1. Khi hoạt động, mỗi khi có xung đột nào thì số đếm xong l−u trong 1 hoặc 2 chân của cổng 3 (XTAL1, XTAL2). Số xung hiện tại của Timer/ Counter có thể đọc từ TL0 và TL 1 hoặc TH0 và TH1. Timer/Counter cũng phát ra ngắt với điều kiện là những ngắt đó không bị IE chắn, khi bộ đếm bị tràn ( và lại quay về 0) thì ngắt đ−ợc phát ra. Trạng thái của các ngắt đó đ−ợc quan sát qua SFR TCON. Illator Frequenry UP DATE TH0, TL0 P3.4(T0) MODE SElECT TMOD GT C/T M1 M0 P3.2(INT0) TCON TI1 TR1 TI0 TR0 Sơ đồ khối của Timer/Counter Hoạt động của Timer/ Counter đ−ợc điều khiển bởi bộ xung ngẫu nhiên từ nguồn tới thanh ghi đếm dữ liệu. Nguồn dữ liệu sẽ tới thanh ghi dữ liệu của Timer 0 nếu điều kiện là (Gate hoặc INTO) và TR0. Gate là bit điều khiển Timer 0 của TMOD. 8031 coi bit điều khiển là Gate. Tuy nhiên khi Timer/ Counter hoạt động trong lúc Gate đang ở mức logic thấp thì sẽ giống nh− trên chứng tỏ bit điều khiển là Gate. TR0 cũng là bit điều khiển của Timer 0 trong Lê Thμnh Sơn \ 29 [
  30. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC thanh ghi TMOD, INTO của 80331 ( chân 12 của 8031). Điều kiện trên đã chỉ rõ rằng những thanh ghi dữ liệu của Timer 0 đã đ−ợc cập nhập nguồn khi bit điều khiển TR0 đ−ợc thiết lập và cả bit điều khiển Gate bị xoá hoặc INT0 của 8031 ở mức 1. Thông th−ờng ng−ời ta chia chế độ làm việc của bộ định thời ra làm 3 phần: +. Nguồn vào +. Điều khiển hoạt động. +. Cập nhập chế độ làm việc. Nguồn vào có thể là 1/12 tần số dao động hoặc xung nhận đ−ợc ở chân T0 (T1)của cổng P3 bởi Timer 0 (Timer 1). Nguồn vào đ−ợc chọn bởi bit điều khiển C?T của thanh ghi TMOD. Trên thực tế có 2 bit điều khiển, mỗi bit cho 1 Timer. Nh− đã nói ở trên để tạo ra tín hiệu giữ nhịp cho Timer/ Counter 1. Các tính chất của bộ định thời đ−ợc điều khiển qua thanh ghi TCON ( SFR 88h) và TMOD ( SFR 89h). Trong đó loại hoạt động đ−ợc thiết lập qua TMOD. Bộ định thời 1 hoặc 0 đếm các xung nhịp bên trong của 8031 nh− là bộ đếm liên tục tự do. Vì thế nó đ−ợc đ−a vào nh− là một bộ định thời trong chế độ hoạt động loại 2. Khi đó cứ mỗi lần tràn thì một trạng thái đã đ−ợc đặt tr−ớc bộ đếm lại tái lập trong bộ đếm. Mỗi một bộ đếm đ−ợc khởi động qua bit TR của nó trong thanh ghi TCON, TCON cũng có chứa các cờ tràn của 2 bộ định thời và 4 bit điều khiển để điều khiển ngắt qua các chân INT 0 và INT1. Đối với chế độ hoạt động nh− là máy phát tốc độ Baud, ở đây chỉ cần bit chạy ( Rn bit) TR1 phải đ−ợc đặt. Muốn thế phải định địa chỉ đ−ợc tới bit là đạt tới đ−ợc địa chỉ 8Eh. Nh−ng tr−ớc hết, khi bộ đếm đ−ợc làm dừng thì tốc độ bộ chia tần cần phải đ−ợc thiết lập. ở loại hoạt động 2, byte bộ đếm có giá trị cao nhất TH1 có chứa giá trị nạp lại, giá trị mà cứ mỗi lần tràn lại đ−ợc nạp vào thanh ghi bộ đếm. Đối với vận tốc truyền 9600 Baud, ở bit SMOD đã đ−ợc đặt cần có giá trị tần số bộ cộng h−ởng thạch anh bằng 11,0592 MHz phải lựa chọn một số chia bằng 6. 11059,2 KHz/12/6/16 = 9,6 KHz. Lê Thμnh Sơn \ 30 [
  31. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Khi nạp giá trị bộ đếm bằng 256 - 6 = 250 = FAh thì hệ số chia bằng 6 vì bộ đếm ở đây đếm theo h−ớng tiến. Timer/ Counter có 4 chế độ hoạt động, hoạt động của cả 2Timer/ Counter đ−ợc quyết đinh bởi SFR TMOD. 4 bit thấp của TMOD điều khiển 0,4 bit cao của TMOD điều khiển Timer 1. TMOD Register(89h) : 7 6 5 4 3 2 1 0 Gate C/T M1 M0 Gate C/T M1 M0 Bộ đếm 1 Bộ đếm 0 Gate: Mỗi một bộ đếm đ−ợc cho phép qua chân INTO hoặc INT1. Khi TR0 (RT1) của TCON đ−ợc thiết lập Gate sẽ xoá Timer/ Counter hoạt động. Nếu Gate và TR0 ( TR1) cũng đ−ợc thiết lập thì cho phépTimer/ Counter hoạt động nếu INTO (IMT1) đ−ợc kích hoạt Low. C/T (Counter/Timer Select): 0: Timer 1: Counter. Bộ đếm sẽ tăng khi xung vào TO ( T1) cổng 3 ở chế độ Timer mỗi khi có xung ( qua) thứ 12 thì bộ đếm sẽ tăng. M1 và M0 : Chộn chế độ làm việc. 0 0 : Mode 0 bộ đếm/ bộ phát thời gian 13 bit. Trong chế độ này ngắt đ−ợc phát ra khi có 213 = 8192 xung vào. 0 1 : Mode 1 bộ đếm/ bộ phát thời gian 16 bit. Trong chế độ này ngắt đ−ợc phát ra khi có 216 = 65536 xung vào. 1 0 : Bộ đếm/ bộ phát thời gian 8 bit, tự động nạp lại khi bật nguồn nuôi. 1 1 : Mode 3 chỉ dùng cho bộ đếm 0 : Hai bộ đếm 8 bit tách rời nhau. Lê Thμnh Sơn \ 31 [
  32. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC TCON Register ( SFR 88h). 7 6 5 4 3 2 1 0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TF1: Cờ tràn dùng cho Timer 1. TF1 đ−ợc thiết lập bằng phần cứng khi Timer/Counter bị tràn. TF1 bị xoá khi có xử lý rẽ nhánh đến ch−ơng trình con, phục vụ ngắt, TF1 và IE1 có thể điều khiển bằng phần mềm để quyết định trạng thái của Timer 1. TR1: Đóng mạch Timer 1: Timer/Counter 1 không hoạt động khi bit này bị xoá, bit này cần thiết đ−ợc lập nh−ng không đủ để cho phép Timer/Counter hoạt động. TR1 điều khiển hoàn toàn bằng phần mềm. TF0: Cờ tràn dùng cho Timer 0. TR0: Đóng mạch Timer 0. IE1: Ngắt ở INT1 với kích chuyển bằng s−ờng xung. Đ−ợc thiết lập bằng phần mềm khi ngắt ngoài đ−ợc xác định, bit này sẽ bị xoá khi lệnh Return đ−ợc thực hiện ( Return From Interrupt). IT1: Cờ ngắt dùng cho INT1. Ngắt 1 ở ngoài nhận qua chân P3.3 của cổng 3. Xóa IT1 thì ngắt sẽ phát ra khi tín hiệu ngoài là thấp. Nếu tín hiệu ngoài vẫn ở mức thấp INT1 sẽ đ−ợc phát ra nếu INT1 bị xoá và sẽ không phát ra nếu INT1 đ−ợc lập. INT1 đ−ợc điều khiển bằng phần mềm. IE0: Ngắt ở INT0 với kích chuyển bằng s−ờn xung. IT0: Cờ ngắt dùng cho INT0. 2.6.7. Điều khiển ngắt. 8031 có 5 ngắt: TF0, TF1, INT0, INT1 và kết quả của cổng nối tiếp. TF0 và TF1 của các thanh ghi TCON tạo ra 2 ngắt, Timer/Counter tạo ra ngắt khi bộ đếm bị tràn. INT0 và INT1 tạo ra 2 ngắt ngoài, những ngắt đó do tín hiệu ngoài nhận đ−ợc qua 2 chân P3.2 và P3.3 của cổng 3. Phần cứng điều khiển ngắt có thể lập trình để trả lời mỗi khi có s−ờn xuống của tín hiệu ngoài hoặc mức thấp của tín hiệu ngoài. Sự lự chọn này sẽ quyết định bởi bit điều khiển INT0 và INT1 của SFR TCON. Ngắt cuối cùng là từ cổng nối tiếp, cờ ngắt RT và TI của SCON kết Lê Thμnh Sơn \ 32 [
  33. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC hợp bởi cổng OR do đó cờ thấp có thể phát ra ngắt. Đó là nhiệm vụ của 2 cờ TI và RI để xác định nguyên nhân gây ra ngắt. Có 2 SFR điều khiển ngắt: Thanh ghi cho phép ngắt IE dùng để che các ngắt riêng lẻ và thanh ghi −u tiên ngắt IP định ra những ngắt có −u tiên. Khi có 2 ngắt cùng đ−ợc lập trình cùng một mức −u tiên thì mức −u tên sẽ nh− sau: IE0 là ngắt có −u tiên cao nhất sau đó là TF0, IE1, TF1 và RI, TI là thấp nhất. Với điều kiện à không đ−ợc chắn( Not Masked). VXL chấp nhận ngắt và rẽ nhánh ch−ơng trình đến nơi trong bộ nhớ ch−ơng trình đ−ợc gọi bởi lệnh Lcall. Trong tr−ờng hợp này từ trạng thái ch−ơng trình không đ−ợc cất vào Stack. Sau đây là địa chỉ các Vectơ ngắt: Interrupt Service Rountine Address Defal Priority IE0 3h 1 ( Highest) TF0 3Bh 2 IE1 13h 3 TF1 1Bh 4 RI or TI 13h 5( Lowest) IE Register: 7 6 5 4 3 2 1 0 EA ES ET1 EX1 ET0 EX0 EX0 (Enable Extenal Interrupt 0): Đ−ợc thiết lập bằng phần mềm để cho phép ngắt 0 ngoài, xoá về 0 là không cho phép. ET0 ( Enable Timer/Counter Interrupt 0): Thiết lập bằng phần mềm cho phép Timer/Counter tràn Interrupt 0, xoá về 0 là không cho phép. EX1: Đ−ợc thiết lập bằng phần mềm để cho phép ngắt 1 ngoài, xoá về 0 là không cho phép. ET1: Thiết lập bằng phần mềm cho phép Timer/Counter tràn Interrupt 1, xoá về 0 là không cho phép. ES: (Enable Serial Port Interrupt ): Đ−ợc thiết lập bằng phần mềm cho phép cổng nối tiếp ngắt 1, xoá về 0 không cho phép. Lê Thμnh Sơn \ 33 [
  34. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC EA( Enable All): Khi bit này bị xoá tất cả các ngắt này đều bị xoá và khi đ−ợc lập sẽ cho phép phụ thuộc vào bit điều khiển. IP Register: 7 6 5 4 3 2 1 0 PS PT1 PX1 PT0 PX0 PX0 ( Priority of Enable Interrupt 0): Khi đ−ợc thiết lập ngắt 0 ngoài nhận đ−ợc sẽ ở mức −u tiên cao. PT0 ( Priority of Timer/Counter Interrupt 0 ): Khi bit này lập ngắt 0 ở ngoài Timer/Counter nhận đ−ợc sẽ ở mức −u tiên cao. PX1: T−ơng tự PX0 nh−ng cho ngắt 1 ngoài. PT1: T−ơng tự PT0 nh−ng cho ngắt 1 ngoài nhận đ−ợc. PS: ( Priority of Serial Port Interrupt ): Ngắt cổng nối tiếp nhận đ−ợc ở mức −u tiên cao khi bit này đ−ợc lập. 2.6.8. Bộ phát dao động. 8031 có một bộ phát dao động dùng thạch anh bên ngoài. Bộ tạo dao động tần số giống nh− tần số của tinh thể thạch anh và đ−ợc chia cho 12, nó có thể đ−ợc dùng làm đầu vào của Timer. Dùng bộ phát dao động 12 MHz thì đầu vào của Timer sẽ là 1 MHz. 8031 có 12 chu kỳ dao động trên một chu kỳ máy. Nó có 255 thao tác những nhóm mã lệnh, t−ơng đ−ơng 111 chỉ thị. Ví dụ: Có 15 mã thao tác cụ thể phụ thuộc vào byte đích, byte nguồn và chế độ địa chỉ. Thêm vào đó, có 2 lệnh dịch chuyển bit và một lệnh dịch chuyển Word, lệnh đó dịch chuyển 16 bit vào con trỏ dữ liệu ( Data Poiter). Trong 255 mã thao tác đó,159 thao tác hết một chu kỳ máy, 51 thao tác cần 2 chu kỳ máy, 43 thao tác cần 3 chu kỳ máy và 2 thao tác cần 4 chu kỳ máy. Trừ khi có nhiều thao tác chỉ cần có một chu kỳ máy, 8031 đã xem xét đến khả năng có thể thực hiện hàng triệu lệnh trong một giây. Rất nhiều hệ thống 8031 dùng dao động tinh thể thạch Lê Thμnh Sơn \ 34 [
  35. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC anh 11,0582 MHz, Sở dĩ có sự lựa chọn này vì thực tế nó có thể phát ra tốc độ Baud rất cao. Dao động tinh thể 11,0592 MHz tốc độ có thể lên tới 19200 Baud. Sau khi xung Reset tác động, vi xử lý đ−ợc khởi tạo lại ta có nội dung của các thanh ghi đặc biệt (SFR) nh− sau: Lê Thμnh Sơn \ 35 [
  36. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC STT Tên Ký hiệuNội dung 1 Accumulator A 00h 2 B Register B 00h 3 Program Status Word PSW 0000 0000b 4 Stack Pointer SP 07h 5 Date Pointer Low byte DPL 00h 6 Date Pointer High byte DPH 00h 7 Program Counter PC 0000h 8 Port 0 Latch P0 1111 1111b 9 Port 1 Latch P1 1111 1111b 10 Port 2 Latch P2 1111 1111b 11 Port 3 Latch P3 1111 1111b 12 Interrupt Priority IP xxx0 0000b 13 Interrupt Enable IE 0xx0 0000b 14 Timer/Counter Mode TMOD 0000 0000b 15 Timer/Counter Control TCON 0000 0000b 16 Timer/Counter 0 Low Byte TL0 00h 17 Timer/Counter 0 High Byte TH0 00h 18 Timer/Counter 1 Low Byte TL1 00h 19 Timer/Counter 1 High Byte TH1 00h 20 Serial Date Buffer SBUF Không XĐ 21 Serial Control SCON 00h 22 Power Control PCON 0xx0 0000b 2.6.9. Bản đồ của bộ nhớ. Khối nhớ trong khoảng {20h 2Fh} gồm 16 byte = 128 bit có thể đánh địa chỉ theo từng bit. Một bit có một địa chỉ từ 0h đến 7Fh. Bit 0 của 20 là bit địa chỉ 0 và bit 7 của byte 2Fh là bit địa chỉ 7Fh. Lê Thμnh Sơn \ 36 [
  37. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Ví dụ: Mov C,13h chuyển nội dung boolean của bit 13h vào thanh ghi cờ. Bit 13h là bit số 3 của byte ở vị trí 22h của Ram trong. Ta cũng có thể viết nh− sau: Mov C,22.3h cũng cho một kết quả. Các SFR khác cũng có thể đánh địa chỉ theo từng bit, những bit địa chỉ đó nằm trong khoảng từ { 80h FFh}. FFh Địa chỉ của các SFR. 80h 7Fh Sử Dụn g tự do và ngăn xếp 30h 2FH 2Fh 16 BYTE đánh địa chỉ theo bit 20h 1Fh 4 Bank thanh ghi 32 byte 00h Bản đồ bộ nhớ RAM trong 8031. 2.7. các chế độ địa chỉ vμ bộ lệnh của 8031. 2.7.1. Chế độ địa chỉ. - Chế độ địa chỉ tức thì ( Immediate Addressing Mode). Trong chế độ này toán hạng đích là 1 thanh ghi, toán hạng nguồn là một hằng số. Ví dụ: Mov a, # 1; Chuyển 1 vào thanh ghi a. Mov PSW, # 0; Chọn Regiser Bank 0. Mov 0,# 1; Chuyển 1 vào thanh ghi 0 của thanh ghi Bank 0. - Chế độ địa chỉ trực tiếp ( Direct Addressing Mode). Trong chế độ này toán hạng nguồn và đích là các thanh ghi hoặc các SFR. Lê Thμnh Sơn \ 37 [
  38. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Ví dụ: 90h là địa chỉ của cổng 1 ( Port1), ghi vào địa chỉ 990h có nghĩa là gửi dữ liệu ra Port 1. Mov a, 70h; chuyển nội dung của thanh ghi địa chỉ 70h vào thanh ghi a. Mov 90h, a; Chuyển nội dung thanh ghi a vào Port 1. - Chế độ địa chỉ thanh ghi (Register Addressing Mode). Toán hạng nguồn hoặc toán hạng đích là 1 trong 8 thnh ghi của Bank thanh ghi đ−ợc chọn. Ví dụ: Mov PSW,#2 : Chọn thanh ghi Bank 2. Mov R0, a: Chuyển nội dung thanh ghi a vào R0. Mov R2,b: Chuyển nội dung thanh ghi B vào R2. - Chế độ địa chỉ gián tiếp thanh ghi. Trong chế độ này toán hạng nguồn hay là đích là một ô nhớ có địa chỉ chứa trong một thanh ghi của thanh ghi Bank đ−ợc chọn. Ví dụ: Mov PSW, #0: Chọn thanh ghi Bank 0. Mov R0, #a: Mov @ R0,#1: Chuyển 1 vào ô nhớ có địa chỉ chứa trong R0. - Chế độ địa chỉ số thanh ghi (Register Indexed Addressing Mode). Trong chế độ này toán hạng nguồn hay toán hạng đích đ−ợc lấy bằng cách cộng giá trị của thanh ghi a với địa chỉ cơ sở. Địa chỉ cơ sở có thể là DPTR ( Data Poiter) hoặc PC (Progam Counter). Ví dụ: Mov DPTR, # 800h: Chuyển địa chỉ bảng cơ sở vào data. Mov a, #0 : Pointer. Mov a, @ + DPTR : a:= ( a+ DPTR),ROM. Ngoài những chế độ địa chỉ trên 8031 còn có các chế độ địa chỉ làm việc với Stack, làm việc theo từng bit và có lệnh hoán đổi từng bit của 1 byte. Ví dụ: Mov SP, #SFR: Khởi tạo Stack Pointer. Lê Thμnh Sơn \ 38 [
  39. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Mov a, # 45h : Push acc : Cất thanh ghi a vào Stack. Mov b, # 0 : Xoá thanh ghi B. Pop B : Chuyển nội dung từ định Stack (45h) vào thanh ghi B. Các lệnh hoán đổi của 8031 rất tiện lợi khi làm việc với các số BCD. Nội dung của thanh ghi a, Các thanh ghi khác có thể hoán đổi cho nhau mà không cần biến trung gian. Ví dụ : Mov a, # 0ah: Khởi tạo thanh ghi a. Mov b, # 0bbh: Khởi tạo thanh ghi a. Xch a,b : Hoán đổi a,b. Xch a,b : Trả lại giá trị cho thanh ghi a,b. Xch a,b : Hoán đổi 4 bit thấp của a,b +. Tất cả các bit trong khoảng 20h đến 2Fh có thể đ−ợc xử lý đồng thời từng byte hay từng bit và ta cũng có thể xử lý từng bit của cổng. Ví dụ: Mov C,P1.0 Mov P1.1,C. 2.7.2. Bộ lệnh 8031. 2.7.2.1. Lệnh nạp trực tiếp. Lệnh Mã gợi nhớ Nhịp Chức năng 14 CLR A 1 A: = 0 74 Mov A, # Data 2 A: = dữ liệu 78 7F Mov R, # Data 2 R0 R7: = dữ liệu 76,77 Mov @R, # Data 2 R0,R1: = dữ liệu, bộ nhớ Ram trong. 75 Mov adr, # Data 2 adr: = dữ liệu, bộ nhớ Ram trong. 90 Mov DPTR, adr 16 2 DPTR: = adr 16. Lê Thμnh Sơn \ 39 [
  40. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 2.7.2.2. Lệnh di chuyển dữ liệu. Lệnh Mã gợi nhớ Nhịp Chức năng E8EF Mov A,R 1 A: = R0 R7 F8FF Mov A,R 1 R0 R7: = A E6,E7 Mov A,@R 1 A: = (R0,R1), Ram trong D6,F7 Mov @R,A 1 R0,R1: = A, Ram trong F5 Mov adr,A 1 Adr:= A, Ram trong E5 Mov A,adr 1 A: = Adr , Ram trong A8AF Mov A,adr 2 R0 R7: = adr, Ram trong 888F Mov R,adr 2 adr: = R0 R7, Ram trong 86 87 Mov adr,@R 2 adr: = (R0,R1), Ram trong A6AF Mov @R,adr 2 R0,R1: = adr, Ram trong 86 Mov adrl, adr2 2 adrl: = adr2, Ram trong C0 PUSH adr 2 Stack: = adr, Ram trong D0 Pop adr 2 adr: = stack, Ram trong E2,E3 Mov A, @R 2 A: =(R0,R1), Ram ngoài F2,F3 Mov @R,A 2 (R0,R1): = A, Ram ngoài E0 Mov A, @DPTR 2 A: = DPTR, Ram ngoài F0 Mov @DPTR,A 2 DPTR: = A, Ram ngoài 93 MovC A@A+DPTR 2 A: = ( A+ DPTR), Rom E3 Mov P3 A@A+PC 2 2 A: = (A + PC), Rom - Lệnh hoán vị ( trao đổi dữ liệu): C8 CF XCH A,R 1 A ( R0 R7) C6,C7 XCH A,@R 1 a (R0 R1),bộ nhớ Ram trong. D6,D7 XCHDA,@R 1 a(1 3), R0,R1(1 3),bộ nhớ Ram trong, 4bit d−ới. C4 SWAp A 1 A(1 3) A (4 7). 2.7.2.3.Quản lý Bit (Manipulation). Lệnh Mã gợi nhớ Nhịp Chức năng 58 5F ANL A,R 1 A: = A and R0 R7. Lê Thμnh Sơn \ 40 [
  41. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 48 4F ORL A,R 1 A: = A or R0 R7. 68 6F XRL A,R 1 A: = A EX0R R0 R7. 56,57 ANL A,@R 1 A: = A and (R0,R1),Ram trong 46,47 ORL A,@R 1 A: = A or (R0,R1),Ram trong 66,67 XRL A,@R 1 A: = A EX0R (R0,R1),Ram trong 54 ANL A,# data 2 A: = A and data 44 ORL A,# data 2 A: = A or data 64 XRL A,# data 2 A: = A EX0R data 55 ANL A,adr 2 A: = A and (adr) 45 ORL A,adr 2 A: = A or (adr) 65 XRL A,adr 2 A: = A EX0R (adr) 52 ANL adr,A 2 A: = (adr) and A 42 ORL adr,A 2 A: = (adr) or A 62 XRL adr,A 2 A: = (adr) EX0R A 53 ANL adr, #data 2 A: = (adr) and data 43 ORL adr, #data 2 A: = (adr) or data 63 XRL adr, #data 2 A: = (adr) EX0R data F4 CPL A 1 A: = Not A 2.7.2.4.Các lệnh của phép cộng. 28 2F ADD A,R 1 A: = A+ R0 R7 38 3F Addc A,R 1 A: = A+ R0 R7 + C 26,27 Add A, @R 1 A: = A + ( R0,R1), Ram trong 36,37 Addc A, @R 1 A: = A + ( R0,R1) + C, Ram trong 24 ADD A,# data 1 A: = A + data 34 ADDC A,# data 1 A: = A + data + C 25 ADD A, adr 1 A: = A + (adr), Ram trong 35 ADDC A, adr 1 A: = A + (adr) + C, Ram trong 57 DA A 1 Hiệu chỉnh thập phân. Lê Thμnh Sơn \ 41 [
  42. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 2.7.2.5. Các lệnh của phép trừ. 98 9F SUBB A,R 1 A: = A R0 R7 C 96,97 SUBB A,@R 1 A: = ( R0,R1) C, Ram trong 94 SUBB A, # data 1 A: = A data C 95 SUBB A, adr 1 A: = ( adr) C, Ram trong 2.7.2.6. Phép nhân và chia. A4 MUL AB 4 A: = A*B;B: = Byte cao 84 DIV AB 4 A: = div B,B: = Rest 2.7.2.7. Tăng và giảm giá trị. 08 0F INC R 1 R0 R7: = R0 R7 + 1 18 1F DEC R 1 R0 R7: = R0 R7 - 1 04 INC A 1 A: = A+1 14 DEC A 1 A: = A-1 06,07 INC,@R 1 (R0,R1): = (R0,R1)+1, Ram trong 16,17 DEC,@R 1 (R0,R1): = (R0,R1)-1, Ram trong 05 INC adr 1 (adr): = ( adr) +1 15 DEC adr 1 (adr): = ( adr) -1 03 RR A 1 Dịch chuyển bit Acc sang phải 33 RLC A 1 Dịch chuyển bit sang trái qua C 13 RRC A 1 Dịch chuyển bit sang phải qua C 2.7.2.8. Xử lý Bit. C3 CLR C 1 C: = 0 B3 CPL C 1 C: = Not C D3 SET BC 1 C: = 1 C2 CLR bit 1 ( bit): = 0 B2 CPL bit 1 ( bit): = Not ( bit) D2 SET B bit 1 ( bit): = 1 A2 Mov C, bit 1 C: = (bit) 92 Mov bit,C 1 (bit): =C Lê Thμnh Sơn \ 42 [
  43. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 82 ANL C, bit 1 C: = C and ( bit) 82 ANL C,/ bit 1 C: = C and not( bit) 72 ORL C, bit 1 C: = C or ( bit) A0 ORL C,/ bit 1 C: = C or not ( bit) 2.7.2.9. Lệnh nhảy. 02 MP adr 2 Nhảy tới adr( 16 bit) 01 E1 MP adr 2 Nhảy tới adr( 11 bit) 80 SJMP rel 2 Nhảy t−ơng đối (± 127 bytes) 73 JMP@A+ DPTR 2 Nhảy sau khi ( A+ DPTR) 60 JZ rel 2 Nhảy t−ơng đối, Khi A= 0 70 JNZ rel 2 Nhảy t−ơng đối, khi A> 0 B4 CJNEA,# data,rel 2 Nhảy t−ơng đối khi A data B5 CJNEA,adv ,rel 2 Nhảy t−ơng đối khi A Adr B8 BF CJNE,# data,rel 2 Nhảy t−ơng đối khi R0 R7 data B6,B7 CJNE@R,#data,rel 2 Nhảy t−ơng đối khi (R0,R1) data D8 DF DJNZ R,rel 2 R0 R7 - 1, Nhảy khi 0 D5 DJNZ adv,rel 2 ( adv) -1, Nhảy khi 0 12 LCALL adv 2 Gọi C.trình conadv ( 16-bit) 11 F1 ACALL adv 2 Gọi C.trình conadv ( 11-bit) 22 RET 2 Nhảy trở lại ch−ơng trình con. 2.7.2.10. Điều khiển bộ xử lý. 00 N0P 1 Lệnh chờ một nhịp Lê Thμnh Sơn \ 43 [
  44. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Phần III: Thiết kế mạch điều khiển logic có lập trình Lê Thμnh Sơn \ 44 [
  45. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 3.1. Xây dựng sơ đồ khối của hệ PLC. Quá trình xây dựng sơ đồ khối của hệ PLC hoàn toàn phụ thuộc vào các yêu cầu kỹ thuật và các yêu cầu chức năng của hệ . Với hệ PLC có các yêu cầu cụ thể nh− sau: - Có một bộ xử lí tín hiệu theo ch−ơng trình làm việc độc lập với ch−ơng trình đã đ−ợc l−u trong bộ nhớ . - Việc đổ ch−ơng trình đ−ợc thực hiện bằng cổng nối tiếp theo tiêu chuẩn truyền RS232 với máy tính PC hay máy lập trình cầm tay .yêu cầu đọc ra và l−u lại ch−ơng trình một cách rễ ràng . - Có khả năng mở rộng việc điều khiển và giao tiếp với máy tính hay các Modul phụ qua cổng mở rộng. - Có các phím điều khiển trạng thái dừng (Stop), chạy (Run) và chạy thử (Term)cùng các LED báo trạng thái ứng với ba trạng thái trên. - Có khả năng lấy tín hiệu vào mức Logic cao, rồi chuyển trạng thái và đệm đầu vào. - Đầu ra đóng, cắt tiếp điểm Rơle. Ngoài ra còn có khối tạo nguồn nuôi đ−ợc lấy trực tiếp từ l−ới điện với yêu cầu dải làmviệc rộng với điện áp và tần số . Đó là những yêu cầu chính của hệ PLC từ các yêu cầu này ta đi xây dựng sơ đồ khối Lê Thμnh Sơn \ 45 [
  46. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Sơ đồ khối toàn bộ hệ thống. Khối Đệm Khối Đầu Đệm Chốt Đầu Vào ra Cổng D7 Mở D0 Rộng D0 D7 D0 D7 D0 D7 Rom RAm VXL 64K 64K A0 A12 INT0 A0 A15 RXD TXD A0 A12 Bàn Mạch Phím MAX Giải m∙ địa chỉ Khối Nguồn Thuyết minh hoạt động của sơ đồ khối và chức năng của các khối. Để PLC làm việc thì tr−ớc hết phải có phần mềm điều khiển các thao tác khởi tạo và quá trình vào ra dữ liệu cũng nh− tạo trạng thái dừng ngoài ra còn ch−ơng trình chính . Tất cả các ch−ơng trình đ−a vào PLC qua cổng truyền nối tiếp RS232. Lê Thμnh Sơn \ 46 [
  47. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Khi có ch−ơng trình PLC đã sẵn sàng làm việc. Ban đầu PLC đọc ch−ơng trình điều hành từ ROM để khởi tạo sau đó quét bàn phím để xác định trạng thái có thể là Stop, Run hay Term. Nếu phím Stop thì PLC ngừng mọi thao tác và chờ tín hiệu điều khiển từ bàn phím khi có phím Run thì vi xủ lí đọc ch−ơng trình chính trong RAM và lấy tín hiệu vào theo yêu cầu ch−ơng trình . Sau khi xử lí, vi xử lí sẽ đ−a tín hiệu lên Bus đệm chốt và đ−a tín hiệu ra ngoài để đóng, cắt thiết bị đ−ợc điều khiển . Ngoài ra có yêu cầu làm việc với ngoại vi qua cổng mở rộng thì tín hiệu đ−ợc trao đổi với vi xử lí qua cổng vào ra hai chiều 74LS245. Khối giải mã địa chỉ nhận địa chỉ từ vi xử lí để ứng với một giá trị địa chỉ có một vi mạch đ−ợc chọn làm việc tránh ngắn mạch Bus . Khối tạo nguồn nuôi cho hệ vối các mức yêu cầu điện áp: +5v; -5v; +12v; +24v. 3.2. Thiết kế chi tiết từng khối. 3.2.1. Vi mạch giải mã 74LS138: Hệ vi xử lý là sự phối ghép giữa CPU vối các bộ nhớ và các thiết bị ngoại vi ghép nối với CPU phải đ−ợc CPU kiểm soát một cách chặt chẽ khi thực hiệncác thao tác đọc ghi , điều đó có nghĩa là thành phần trên phải đ−ợc cho môt địa chỉ hay một vùng đại chỉ xác định nằm trong không gian địa chỉ tổng thể của CPU việc truy nhập đén thành phần nào đó thực chất của việc gán địa chỉ cho một thành phần (vi mạch) cụ thể nào đó nằm trong mạch nghĩa là với địa chỉ nhất định sẽ đ−a ra tín hiệu chọn vỏ từ bộ giải mã đến chân chọn vỏ (CS ) của vi mạch. Tại một thời điểm thì VXL chỉ có thể truy cập đến một địa chỉ cụ thể nào đó .Do đó vi mạch giải mã cũng cần thoả mãn tại một thời điểm chỉ có một đầu ra đ−ợc chọn. Trong mạch ta sử dụng vi mạch giải mã địa chỉ 74LS138 là vi mạch giải mã địa chỉ có 8 đầu ra, 3 đầu vào chọn và3 đầu vào điều khiển. Sơ đồ chân của vi mạch này nh− sau: Lê Thμnh Sơn \ 47 [
  48. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 1 A 15 /Y0 2 14 B /Y1 3 13 C /Y2 12 /Y3 11 /Y4 4 10 G1 /Y5 5 /G2A /Y6 9 6 /Y7 7 /G2B 74LS138 Trong đó: Y0 Y7 là các đầu ra của74LS138. Khi đầu ra đ−ợc chọn ở mức thấp. Còn các đầu ra không đ−ợc chọn ở mức cao . A,B,C là 3 đầu vào chọn việc thay đổi các giá trị này sẽ thay đổi các đầu ra đ−ợc chọn. G1, G2A , G2B là các đầu vào điều khiển chọn chip của vi mạch. IC này chỉ làm việc khi các tín hiệu:G1=1, G2A = 0 và G2B = 0. Còn một trong các điều kiện trên không thoả mãn thì vi mạch không đựơc làm việc. Khi đó các đầu ra đều ở trạng thái trở kháng cao. Để hiểu rõ nguyên lý hoạt động của vi mạch 74LS138 ta xét bảng trạng thái của74LS138. Lê Thμnh Sơn \ 48 [
  49. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Điều khiển Đầu vào chọn Các đầu ra của bộ giải mã G1 G2 G2B C B A 0 x x x x x HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ X 1 x x x x HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ X x 1 x x x HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 Bảng trạng thái của 74LS138. X: Trạng thái bất kỳ (có thể 0 hay 1) HiZ: Trạng thái trở kháng cao (hở mạch). Trong sơ đồ của chúng ta mạch giải mã dùng cho các bộ nhớ, các vi mạch vào ra dữ liệu. Do đó mạch giả mã sẽ hoạt động trong suốt quá trình làm việc của vi xử lý tức là từ khi hệ thống đ−ợc cấp nguồn thì 74LS138 sẽ chờ vi xử lý điều khiển. Để thoả mãn đ−ợc điều kiện làm việc đó ta xây dựng đ−ợc mạch giải mã địa chỉ. Để 74LS138 hoạt động đ−ợc ngay khi cấp nguồn cho hệ thống thì ta phải thoả mãn các điều kiện của đầu vào điều khiển, G1 mức cao, G2A , G2B ở mức thấp. ở đây 3 đầu vào chọn lấy từ các bit địa chỉ A13, A14, A15 từ vi xử lý. Các đầu ra của vi mạch giải mã địa chỉ đ−ợc đ−a tới để chọn bộ nhớ và các vi mạch khác. Lê Thμnh Sơn \ 49 [
  50. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 3.2.2. Vi mạch đệm chốt. ở trong mạch của chúng ta cần sử dụng các vi mạch đệm chốt để đệm chốt dữ liệu ra của vi xử lý. Trong sơ đồ của chúng ta vi mạch đệm chốt đ−ợc dùng cho các chức năng sau. - Đệm chốt các bit địa chỉ cho các bộ nhớ ROM, RAM. - Đệm chốt các dữ liệu từ vi xử lý ra ngoài. Trong mạch này ta sử dụng mạch đệm chốt 74LS373 . 74LS373 là vi mạch đệm cốt 8 bit dữ liệu (địa chỉ) sơ đồ chân của nó nh− sau: 2 2 Q D0 0 5 5 D Q1 1 6 6 Q2 D2 9 9 D Q3 3 12 12 Q D4 4 15 15 D Q5 5 16 16 Q6 D6 19 19 Q7 D7 20 20 Vcc E 10 10 OE GND 74LS373 D0 D7 là 8 bit đầu vào của vi mạch đệm chốt địa. Q0 Q7 là 8 bit đầu ra của bộ mạch đệm chốt. Chân E (Enable) là chân cho phép của 74LS373 khi đ−ợc chọn ở mức thấp. Chân OE (Output Enable) cho phép ra khi mạch làm việc OE ở mức thấp. Để hiểu rõ ta nghiên cứu bảng trạng thái của vi mạch: OE E Dn Qn+1 1 X X Hi-Z 0 0 X Qn 0 1 0 0 0 1 1 1 Bảng trạng thái 74LS373 Lê Thμnh Sơn \ 50 [
  51. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC X: Trạng thái bất kỳ (có thể 0 hay 1). Hi-Z: Trạng thái trở kháng cao. Để xây dựng mạch đệm chốt ta xét cấu trúc bên trong của vi mạch 74LS373. OE D0 D Q0 G D1 D Q1 G D2 D Q2 G D3 D Q3 G D4 D Q4 G D5 D Q5 G D6 D Q6 G D7 D Q7 G E Vi mạch đệm chốt 74LS373 có 8 đầu vào dữ liệu và 8 đầu ra t−ơng ứng đ−ợc mô tả nh− sơ đồ cấu trúc trên. Hoạt động của mạch đ−ợc điều khiển bởi hai tín hiệu đ−a tới: OE và E (hayOC và G). trong đó E là chân cho phép (Enable), chân OE là chân điều khiển ra (Out Enable). - Khi chân OE đ−ợc chọn ở mức cao có nghĩa là cổng 3 trạng thái không làm việc và ở trạng thái trở kháng cao (Hi-Z) mà không phụ thuộc vào các tín Lê Thμnh Sơn \ 51 [
  52. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC hiệu cho phép E ở mức cao thì cổng 3 trạng thái làm việc ở chế độ đệm dữ liệu, dữ liệu đầu ra giống dữ liệu đầu vào. - Khi E ở mạch mức thấp thì đầu ra ở mạch đệm chốt là giữ nguyên trạng thái tr−ớc đó mà không phụ thuộc vào dữ liệu đầu vào. 3.2.3. Thiết kế khối ghép nối. Khối ghép nối có nhiệm vụ ghép nối giữa máy tính và các khối vi xử lý. Việc truyền dữ liệu thực hiện qua khối ghép nối. Khối ghép nối thực chất là một cổng giao diện nối tiếp trong đồ án này ta dùng chuẩn truyền tin RS232 để truyền là vi mạch Max 232. Sở dĩ ta dùng cổng giao diện nối tiếp là do truyền nối tiếp sẽ tiết kiệm đ−ờng truyền và giảm đ−ợc nhiễu trên đ−ờng truyền. Khối ghép nối theo tiêu chuẩn RS232 sẽ chuyển mức từ TTL thành mức RS232 và ng−ợc lại chuyển mức RS232 thành mức TTL do vi mạch Max RS232 chuyển đổi mức TTL ở nối vào thành mức +10V hoặc -10V ở phía truyền và các mức +3V đến +15V hoặc -3V đến -5V thành mức 0V và +5V ở phía nhận. Sơ đồ chân của Max 232: C1+ 1 16 +Vcc V+ 2 15 GND C1- 3 14 T1Out C2+ 4 13 R1In C2- 5 12 R1Out V- 6 11 T1In T2Out 7 10 T2In R2In 8 9 R2Out MAX232 Lê Thμnh Sơn \ 52 [
  53. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Sơ đồ cấu trúc của Max232: +5V +5V -5V DTR +10V -10V DSRS Lối vào Lối ra Lối ra Lối vào Vi mạch Max232 sẽ đ−ợc đặt giữa cổng nối tiếp của vi xử lý và ổ cắm lấy ra của cổng RS232. Ta chọn ổ cắm loại DB9 có sơ đồ bố trí chân nh− sau: 1 6 DCD DSR RXD RTS TXD CTS DTR RI 9 GND 5 ổ cắm DB9 (nhìn từ ngoài). Sơ đồ nguyên lý mắc vi mạch Max232 với ổ cắm DB9 và vi xử lý nh− sau: Lê Thμnh Sơn \ 53 [
  54. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 1 6 RXD In RXD RXD Out 9 5 VXL MAX232 TXD TXD In TXD Out Bảng chức năng các chân cắm trong ổ cắm DB9: Chân Chức năng (Tên) Lối (Vào, Ra) 1 DCD - Data Carrier Detect Lối vào 2 RXD – Read Data Lối vào 3 TXD – Transmiter Data Lối ra 4 DTR – Data Teminal Ready Lối ra 5 GND – Ground Mass 6 DSR – Data – Set – Ready Lối ra 7 RTS – Requert – To – Send Lối ra 8 CTS – Clear – To – Send Lối vào 9 RI- Ring Indication 3.2.4. Khối đọc bμn phím vμ hiển thị trạng thái. Khối này có chức năng tạo giá trị phím đ−ợc ấn. Còn việc đọc giá trị vào của bàn phím là do một ch−ơng trình con trong VXL đọc dữ liệu vào có tính chu kì sau khi kễt thúc một chu kỳ làm việc của PLC. Sau xử lí mạch hiển thị nhận giá trị hiển thị trạng thái từ vi xử lý là kết quả của phím đã ấn và tạo trạng thái mới cho PLC. Các phím gồm: - Phím Stop (phím dừng). - Phím Run (phím chạy). Lê Thμnh Sơn \ 54 [
  55. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC - Phím Term (Phím nhận và chạy thử ch−ơng trình trên PLC khi lấy ch−ơng trình từ máy tính hoặc máy lặp trình để kiểm tra kết quả). Đồng thời là hiển thị LED t−ơng ứng với 3 trạng thái của thiết bị. Sơ đồ nguyên lý của khối nh− sau: R STOP D0 Q0 R . . RUN . . . TERM . . . R D7 Q7 Từ giải mã địa chỉ Ucc G +5V OC GND 74LS373 BUS dữ liệu Stop Run Term K Q D0 0 . . . . . . . . D Q7 7 Ucc G +5V Từ giải mã địa chỉ DIR GND 74LS245 R R +5V Sơ đồ nguyên lí của khối đọc bàn phím và hiển thị trạng thái PLC. Nguyên lí hoạt động của sơ đồ: Giả sử ban đầu thiết bị PLC đang ở trạng thái chạy(Run) thì tr−ớc đó phím Run đã đ−ợc ấn .Các phím ấn ở đây là công tắc ba vị trí tại một thời điểm chỉ có một vị trí đ−ợc đóng. Khi đó PLC đang ở chế độc làm việc,để báo trạng thái này trên Bus dữ liệu của PLC có giá trị để LED Run sáng và vi mạch 74LS373 sẽ Lê Thμnh Sơn \ 55 [
  56. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC chốt dữ liệu này trong suốt quá trình làm việc với giá trị 20h. Khi đó đầu ra Q1 ở mức cao còn các đầu ra khác ở mức thấp và LED nối vào Q2 sẽ phát sáng,báo trạng thái PLC đang làm việc. Giả sử ta chuyển sang vị trí Stop (cho dừng hệ thống). Đến hết chu kỳ làm việc VXL sẽ cho chạy ch−ơng trình đọc bàn phím.Khi đó VXL sẽ nhận trạng thái mới của bàn phím(trạng thái dừng) VXLđ−a hệ thống về trạng thái dừng. Khi VXL chạy ch−ơng trình con đọc bàn phím thì dữ liệu vào đ−ợc truyền qua vi mạch đệm 74LS245 vào Bus để VXL đọc và xử lí, kết quả của quá trình này sẽ đ−ợc đ−a lên Bus để đệm chốt 74LS373 nhận và đ−a ra hiển thị báo trạng thái . Với phím Stop giá trị đ−a ra là 01h, khi đó cả hệ thống sẽ dừng và các đầu ra của PLC đều ở mức Logic thấp tức là các thiết bị sau nó sẽ bị cắt . Nguyên lí hoạt đông của khối này hoàn toàn t−ơng tự khi phím Term đ−ợc ấn nh−ng giá trị trạng thái VXL đ−a ra là 04h . VXL đọc phím với các giá trị : - Phím Stop là F1h . - Phím Run là F2h . - Phím Term là F4h. Khi lập trình VXL sẽ biết ứng với giá trị đó thì phím nào đ−ợc đóng. 3.2.5 Vi mạch đệm vμo ra hai chiều 74LS245. Vi mạch này đảm nhiệm việc trao đổi vào ra hai chiều 8Bit có sơ đồ chân và bảng trạng thái nh− sau: DIR 1 20 +Vcc D0 2 19 E D 3 1 18 Q0 D2 4 17 Q1 D 5 3 16 Q2 D4 6 15 Q3 D5 7 14 Q4 D 8 6 13 Q5 D7 9 12 Q6 GND 10 11 Q7 74LS245 Lê Thμnh Sơn \ 56 [
  57. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Q0 D0 Q1 D1 Q2 D2 Q3 D3 Q4 D4 Q5 D5 Q6 D6 Q7 D7 E DIR E DIR Chiều tín hiệu 1 X Hi-Z 0 1 Q→D 0 0 D→Q Lê Thμnh Sơn \ 57 [
  58. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC - D0 D7, Q0 Q7 là các đầu vào ra đữ liệu. - DIR, E là các tín hiệu điều khiển . - Các chân nguồn: GND, +Ucc. Từ sơ đồ cấu trúc ta thấy vi mạch này tạo nên từ các cổng ba trạng thái mắc ng−ợc nhau gồm có 16 phần tử ba trang thái vi mạch đ−ợc chọn khi tín hiệu E (Enable) ở mức thấp .Khi E ở mức cao thì đầu vào ra của vi mạch 74LS245 ở trạng thái trở kháng cao (Hi-Z). Khi đó đầu vào đ−ợc tách khỏi đầu ra . Khi E đ−ợc đặt ở mức thấp thì trạng thái vào, ra phụ thuộc vào mức Logic của chân DIR. + Nếu DIR ở mức Logic thấp thì dữ liệu đ−ợc truyền từ D sang Q. + Nếu DIR ở mức Logic cao thì dữ liệu đ−ợc truyền từ Q sang D. Khi thiết kế mạch tuỳ theo yêu cầu sử dụng mà vi mạch 74LS245 có thể là vào ra hai chiều ,khi đó chân DIR đ−ợc chọn ở mức 0 và 1. Khi yêu cầu tín hiệu vào ra một chiều thì tuỳ việc chọn tín hiệu vào hay ra mà chân DIR sẽ đ−ợc nối Mass ứng với mức Logic thấp và nối d−ơng nguồng ứng với mức Logic cao. Khi đó tín hiệu điều khiển chỉ phụ thuộc vào tín hiệu cho phép E (Enable). Trong đồ án này vi mạch 74LS245 đ−ợc dùng hai tr−ờng hợp khi tín hiệu vào ra theo 2 chiều và tín hiệu vào một chiều . Nguồn cấp cho IC là nguồn nuôi +5v và nối Mass chân GND . 3.2.6. Bộ nhớ ch−ơng trình: ROM. Vì VXL 8031 sử dụng trong đồ án không có ROM trong nên ta sử dụng bộ nhớ ch−ơng trình bên ngoài, vì yêu cầu của PLC đ−a ch−ơng trình điều khiển vào bằng đ−ờng truyền nối tiếp và theo yêu cầu xoá và ghi ch−ơng trình đơn giản nên ch−ơng trình điều khiển sẽ không nằm trong ROM . Mà ROM chỉ l− trữ ch−ơng trình hệ điều hành. Ch−ơng trình trong ROM sử dụng khi khởi tạo hệ thống lúc đó ROM có nhiệm vụ đ−a ra ch−ơng trình kiểm tra phần cứng và tạo trạng thái ban đầu cho các đầu ra của hệ. Xử lí ngắt khi có tín hiệu ngắt thì VXL truy nhập vào ROM và chạy ch−ơng trình xử lí Lê Thμnh Sơn \ 58 [
  59. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC ngắt có các thao tác cho VXL tiến hành. Ngoài ra ROM chứa ch−ơng trình tạo nên trạng thái dừng và điều khiển quá trình nạp ch−ơng trình từ cổng nối tiếp vào trong RAM ở đây ta chọn ROM 2764 vì VXL có thể quản lí đ−ợc bộ nhớ ch−ơng trình ngoài tới 64KB, vi mạch này có dung l−ợng nhớ 64KB cần 13 đ−ờng địa chỉ và tín hiệu đọc ra khi có tín hiệu chọn chip CE (Chip Select) ở mức thấp, 13 đ−ờng địa chỉ và tín hiệu cho phép ra OE (Out Enable). + A0 A12 là các chân địa chỉ. + D0 D7 là các chân dữ liệu. + OE (Out Enable) cho phép ra. 3.2.7. RAM - Bộ nhớ dữ liệu vμ ch−ơng trình. Đối với VXL việc đọc dữ liệu hay ch−ng trình thực VXL chỉ nhận biết đ−ợc các mức Logic nh− vậy ch−ơng trình đ−ợc VXL nhận đ−ợc nh− dữ liệu. Vì trong PLC yêu cầu việc nạp và xoá ch−ơng trình nhiều lần mà thao tác đơn giản, để làm việc này ta không thể tháo ROM để nạp mà ta sẽ dùng ROM để điều khiển VXL nạp ch−ơng trình vào RAM. Khi đó ch−ơng trình nằm trong Ram đ−ợc VXL coi nh− dữ liệu. Nhờ vậy mà quá trình đọc viết trở nên đơn giản . Khi cần đọc ch−ơng trình thì tiến hành đọc bình th−ờng nh− trong ROM . Ta chọn RAM là RAM tĩnh SRAM (Static RAM) 6264 RAM này có dung l−ợng 64KB, cần 13 đ−ờng địa chỉ và các tín hiệu điều khiển WE ,OE ,CE1, CE2 cùng 8 đ−ờng dữ liệu. 1 28 Vcc NC 2 27 A WE 12 3 26 A CE2 7 4 25 A A8 6 5 24 A A9 5 6 23 A A11 4 7 22 A OE 3 8 21 A A10 2 9 20 A CE 7 10 19 1 A0 D 11 18 7 D0 D 12 17 6 D1 D 13 16 5 D2 D4 GND 14 15 D3 SRAM 6264 Lê Thμnh Sơn \ 59 [
  60. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Sơ đồ chân của SRAM 6264 nh− sau : - Các chân A0 A12 là các chân địa chỉ. - Các chân D0 D7 là các chân dữ liệu. - Các chân CE1, CE2 (Chip Enable) là các tín hiệu chọn chip với CE1 ứng với mức thấp và CE2 ứng với mức cao. Khi đồng thời 2 tín hiệu này thoả mãn thì SRAM6264 đ−ợc chọn. - Chân OE (Out Enable) chân cho phép dữ liệu ra (đọc) tích cực ở mức thấp . - Chân WE (Write Enable) chân cho phép viết ở mức tích cức mức thấp. - Chân Vcc cấp nguồn +5V và chân GND nối Mass. Khi các tín hiệu điều khiển đã thoả mãn thì VXL sẽ đ−a ra giá trị địa chỉ tới đầu vào địa chỉ của SRAM để lấy dữ liệu .Khi đọc và đ−a địa chỉ rồi dữ liệu nạp cho RAM khi ghi. Vì theo yêu cầu của PLC mà RAM đ−ợc chia làm hai vùng một vùng 32KB có vùng địa chỉ thấp dùng để l−u trữ ch−ơng trình chạy PLC còn một vùng 32KB có vùng địa chỉ cao để trao đổi dữ liệu trong quá trình xử lí dữ liệu của PLC. Bản đồ bộ nhớ RAM ngoài nh− sau: Bộ nhớ có 13Bit địa chỉ và vùng địa chỉ là từ 0000h 1FFFh. Khi đó vùng địa chỉ thấp là 0000h 0FFFh và vùng địa chỉ cao là 1000h 1FFFh. Bản đồ RAM nh− sau: 1FFFh Dùng nhớ dữ liệu 0FFFh Dùng nhớ ch−ơng trình 0000h Lê Thμnh Sơn \ 60 [
  61. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 3.2.8. Hệ vi xử lý. Hệ vi xử lý đ−ợc thiết kế dựa trên cơ sở của VXL8031 có thể dùng bộ nhớ ngoài lên tới 64KB với Bus dữ liệu 8 bit hệ thống giao tiếp với máy tính thông qua chuẩn truyền tin RS 232. Bộ phối ghép dùng vi mạch Max 232 với bộ ghép nối này hệ chỉ giao tiếp với máy tính khoảng 30m trở lại. Khi cần truyền xa phải có bộ khuyếch đại đ−ờng truyền bổ xung. VXL 8031 có 16 đ−ờng địa chỉ với 8 bít địa chỉ thấp và 8 bít dữ liệu truyền trên 1 cổng bằng dùng bộ dồn kênh, ngoài ra còn vi mạch giải mã địa chỉ chọn chip 74LS138 và vi mạch đệm chốt 74LS373. Lê Thμnh Sơn \ 61 [
  62. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Sơ đồ nguyên lý của hệ VXL. Lê Thμnh Sơn \ 62 [
  63. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Các linh kiện trong sơ đồ đã đ−ợc nghiên cứu ở các phần tr−ớc đây ta nghiên cứu nguyên lý hoạt động của sơ đồ. Để hệ làm việc từ quá trình lấy ch−ơng trình bên ngoài thì ban đầu trong ROM phải có ch−ơng tình điều hành. Khi ch−ơng trình điều khiển đ−ợc từ máy tính qua cổng truyền nối tiếp vào VXL và đ−ợc ROM điều hành đ−a vào dữ liệu trong RAM. Đây là điều khác cơ bản giữa các hệ VXL vì RAM ngoại l−u ch−ơng trình ở vùng nửa địa chỉ cao thì nửa vùng địa chỉ thấp để l−u ch−ơng trình. Khi ch−ơng trình l−u trong RAM khi có yêu cầu chạy thì VXL phân biệt ch−ong trình điều hành và ch−ơng trình điều khiển ở tín hiệu PSEN kết hợp với giá trị địa chỉ cụ thể khi đọc ch−ơng trình điều hành trong ROM thì VXL đ−a ra tín hiệu PSEN ở mức thấp và giá trị địa chỉ ở vùng từ 0000h đến 1FFFh. Khi đó ROM đ−ợc chọn và giá trị địa chỉ vào để đ−a ta ch−ơng trình điều khiển. Ch−ơng trình trong ROM là các dạng ch−ơng trình khởi tạo và tạo trạng thái ban đầu ở các đầu ra. Các ch−ơng trình xử lý ngắt và ch−ơng trình nhận ch−ơng trình từ cổng nối tiếp chuyển vào RAM và lấy ch−ơng trình trong RAM khi cần. Khi VXL chạy ch−ơng trình chính trong RAM thì VXL cũng đ−a ra PSEN và giá trị địa chỉ nh−ng trong vùng từ 2000h đến 3FFFh khi đó VXL sẽ làm việc với ch−ơng trình trong RAM. Vì 8 bit địa chỉ thấp cùng đầu ra với 8 bit dữ liệu theo kiểm dồn kênh nên phải cần bộ nhớ trung gian mà vai trò này do 74LS373 đảm nhiệm để l−u giá trị 8 Bit địa chỉ thấp khi truy nhập. 3.2.9. Thiết kế khối đầu vμo vμ khối đầu ra. Hai khối này là các là các vít đ−a tín hiệu vào và ra d−ới dạng 2 mức logic rõ rệt. Vì các mức logic này do yêu cầu này do yêu cầu truyền xa, chống nhiễu hay yêu cầu điều khiển mà mức điện áp th−ờng cao hơn mức điện áp chuẩn của vi mạch xử lý bên trong và còn yêu cầu cách ly về điện giữa bộ xử lý và các đ−ờng truyền tín hiệu bên ngoài nhằm bảo vệ tăng độ an toàn cho PLC. Lê Thμnh Sơn \ 63 [
  64. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Ta có sơ đồ nguyên lí của khối đầu vào và khối đầu ra của hệ PLC: + R1 +5V Tín hiệu vào OP Tín hiệu vào R3 Ru Mạnh đệm 3 trạng thái LED1 Sơ đồ nguyên lý mạch lấy tín hiệu vào có chuyển mức điện áp. +12V D RL Tín hiệu ra R 1 R T 2 R LED 3 Sơ đồ nguyên lí mạch d−a tín hiệu ra theo kiểu đóng cắt Rơle. Nguyên lí hoạt động của khối lấy tín hiệu vào: Mức Logic 1 ở đây th−ờng cao với PLC 57-200 là +24V vì vậy mà cần có chuyển mức và cách ly điện áp vào và mạch VXL. Khi đầu vào ở mức 0 (thấp) là 0V khi đó điện áp đặt lên LED trong Opto là 0V nên Opto khoá và dữ liệu ở đầu ra là 0V ứng với mức thấp và LED1 không sáng báo mức logic là mức 0. 3.2.10 Thiết kế nguồn nuôi cho toμn mạch. Trong mạch ta sử dụng các vi mạch: - Vi mạch đệm chốt 74LS373. Lê Thμnh Sơn \ 64 [
  65. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC - Vi mạch vào ra ba trạng thái 74LS245. - Vi mạch giải mã 74LS138. - Vi mạch MAX 232. - Vi xử lí 8031. - Bộ nhớ ch−ơng trình EPROM 2764. - Bộ nhớ dữ liệu RAM 6264. - Ngoài ra còn cần nguồn cho các Sensor Logic và cuộn dây Rơle . Nên toàn bộ nguồn yêu cầu là: +24V, +12V, +5V và -5V. Sơ đồ nguyên lí của mạch tạo nguồn nuôi nh− sau: +5V 7805 2200μ 104 2200μ 104 ~ 9V ~ 9V 2200μ 104 2200μ 104 -5V 7905 +12V 7812 2200μ 104 2200μ 104 ~ 220V ~ 15V +24V 7824 2200μ 2200μ 104 ~ 27V 104 Sơ đồ nguyên lý nguồn nuôi cho toàn Lê Thμnh Sơn \ 65 [
  66. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Phần IV: Thiết kế mạch ghép nối với máy tính để lập trình cho plc Lê Thμnh Sơn \ 66 [
  67. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Hệ vi điều khiển logic lập trình PLC cần phải thực hiện đ−ợc các thao tác tr−ớc tiên là giao tiếp với máy tính hoặc hệ VXL khác. Hệ vi điều khiển hiện nay xử dụng rất nhiều lĩnh vực đo l−ờng và điều khiển. Nh− thế đòi hỏi phải ghép nối máy tính, toàn bộ quá trình hoạt động đ−ợc thực hiện bằng phần mềm điều khiển.Với hệ điều khiển logic chúng ta cần nạp ch−ơng trình vào trực tiếp từ máy tính vào VXL và VXL sẽ l−u giữ ch−ơng trình trong bộ nhớ. Việc trao đổi thông tin giữa PLC và máy tính đ−ợc thực hiện qua cổng nối tiếp RS232 (cổng COM1 hoặc COM2) của máy tính thông qua hệ thống cáp truyền. Chế độ này gọi là chế độ trao đổi thông tin theo ch−ơng trình bằng ph−ơng pháp truyền nối tiếp không đồng bộ. Các chế độ ch−ơng trình: Sử dụng các lệnh vào ra (In, Out) các lệnh chuyển dữ liệu giữa các thanh ghi (MOV) để chuyển dữ liệu của máy tính vào bộ nhớ ngoài của PLC hoặc ng−ợc lại . 4.1. Giới thiệu về truyền tin nối tiếp của máy tính PC. 4.1.1. Truyền tin đồng bộ vμ không đồng bộ : Trong kỹ thuật truyền dữ liệu giữa hai máy tính ng−ời ta sử dụng một trong hai ph−ơng thức truyền: Đồng bộ và không đồng bộ Với chế độ truyền không đồng bộ, ký tự đ−ợc truyền đi theo từng khung, trong mỗi khung có: - Bit Start - Các bit dữ liệu đ−ợc truyền - Bit chẵn lẻ để kiểm tra lỗi đ−ờng truyền - Bit Stop Thủ tục truyền không đồng bộ chỉ có 2 trạng thái 0 và 1 hay thấp hoặc cao. Khi không có ký tự nào đ−ợc truyền, kênh truyền sẽ ở mức cao, nếu sau đó kênh hạ xuống thấp thì bên thu sẽ phát hiện rằng sắp có dữ liệu đ−ợc truyền tới. Tuỳ theo quy −ớc mà có 5 8 dữ liệu. Nếu kênh ở mức thấp trong khi truyền thì có nghĩa là bit 0 đang đ−ợc truyền, còn kênh ở mức cao thì bit 1 đang đ−ợc truyền. Bit thấp đ−ợc truyền tr−ớc bit cao đ−ợc truyền sau. Lê Thμnh Sơn \ 67 [
  68. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Sau dữ liệu của ký tự là bit chẵn lẻ, dùng để phát hiện lỗi khi truyền. Ng−ời ta phân biệt bit Parity chẵn và bit Parity lẻ. Bit Parity chẵn nghĩa là bit Parity đ−ợc thiết lập sao cho tổng số bit của một ký tự và bit Parity là chẵn. Bit Parity lẻ nghĩa là bit Parity đ−ợc thiết lập sao cho tổng số bit1 của một ký tự và bit Parity là lẻ. Cuối cùng là bit STOP, bit này thông báo kết thúc việc truyền dữ liệu của 1 ký tự. Bit Stop có thể là 1,1,5, hoặc 2. Ví dụ: Giả sử dữ liệu đ−ợc truyền với tốc độ 300 Baud (300 bit/ s) với 1 bit Stop. Vì có bit Stop nên kênh sẽ ở mức cao trong 1/300s sau khi truyền xong 1 ký tự. Nh−ng nếu có 1,5 bit Stop thì kênh sẽ lên mức cao trong. 1,5 * 1/300s = 1/200s. Việc truyền ký tự đến đây là kết thúc kênh sẽ ở mức cao cho đến khi có 1 ký tự mới đ−ợc vào vị trí truyền .Khi đó kênh sẽ hạ xuống mức thấp để truyền bit Start. Số l−ợng bit dữ liệu phụ thuộc vào kiểu dữ liệu cần truyền. Để truyền dữ liệu ASCII th−ờng dùng 7 bit ( vì bộ ký tự này chỉ có 127 ký tự ) nh−ng nếu truyền ký tự ASCII mở rộng thì phải cần đến 8 bit dữ liệu cho mỗi ký tự. Xử lý truyền và nhận trong chế độ không đồng bộ dùng các vi mạch thu phát không đồng bộ vạn năng UART. Nh−ợc điểm của truyền không đồng bộ là tốc độ truyền khá chậm vì phải truyền thêm các bit không mang tin (Start bit, Parity bit, Stop bit ). Muốn loại bỏ các bit không mang tin này để từ đó nâng cao đ−ợc tốc độ hiệu dụng của đ−ờng truyền ng−ời ta sử dụng ph−ơng pháp truyền đồng bộ. Trong chế độ này dãy các ký tự đ−ợc truyền sẽ kèm thêm môt ký tự đặc biệt: Ký tự đồng bộ SYN ( có mã ASCII là 22). Xử lý truyền và nhận ký tự trong chế độ này dùng các vi mạch thu phát UART. Vi mạch này cho phép hoạt động cả ở hai chế độ. 4.1.2. Chuẩn truyền nối tiếp RS232. Dữ liệu ở mức TTL đ−ợc biến đổi sang các mức điện áp t−ơng ứng theo tiêu chuẩn RS232 nh− sau: Mức 1: Từ –3V đến –15V ( Tiêu chuẩn là -12V ) Lê Thμnh Sơn \ 68 [
  69. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Mức 0: Từ +3V đến +15V ( Tiêu chuẩn là +12V ) BIOS của máy tính PC cho phép nhận biết đ−ợc tới 4 cổng nối tiếp : COM1 có địa chỉ từ 3F8 đến 3FFh t−ơng ứng với IRQ1 COM2 Có địa chỉ từ 2F8 đến 2FFh t−ơng ứng với IQR2 COM3 có địa chỉ từ 3E8 đến 3EEh COM4 có địa chỉ từ 2E8 đến 2EEh Điều khiển việc truyền dữ liệu qua giao diện RS232 là bộ xử lý UART 8250. Sau đây là cách UART gửi và nhận 1 ký tự: *Truyền: Đầu tiên ký tự đ−ợc đ−a vào thanh ghi đợi truyền và nằm đó cho đến khi ký tự tr−ớc đó đ−ợc truyền xong ,sau đó nó đ−ợc đ−a đến thanh ghi dịch của bộ phát và từng bit của nó sẽ đựoc UART truyền vào kênh dữ liệu. *Nhận: Khi nhận đ−ợc một ký tự , đầu tiên các bit của nó lần l−ợt đ−ợc nạp vào thanh ghi dịch của bộ thu rồi đ−a tới thanh ghi dữ liệu sau khi đã loại bỏ các bit Start, Stop, Parity. Ví dụ: Giả sử cần truyền ký tự A có mã ASCII là 41h đ−ợc biểu diễn d−ới dạng mã nhị phân là 01000001b, tổng số bit 1 là 2. Nếu ta chọn kiểu kiểm tra Parity là chẵn thì bit Parity phải đ−ợc xoá về 0 để tổng số các bít 1 là chẵn. Còn nếu ta chọn kiểu kiểm tra là lẻ thì bit Parity phải đ−ợc thiết lập lên 1để tổng số các bit 1 là lẻ và cuối cùng là bit Stop. Giả sử kênh truyền đ−ợc thiết lập với tốc độ 9600 Baud thì thời gian truyền mỗi bit sẽ là 1/9600s. Nếu ta chọn 1,5 bit Stop thì sau khi kết thúc truyền các bit của ký tự A kênh truyền sẽ ở mức cao trong 1,5*1/9600s rồi bit Start của ký tự tiếp theo mới đ−ợc truyền. Yêu cầu phần cứng: RS232 liên lạc với bên ngoài qua đầu nối DB9 Và DB25 thông th−ờng COM1 là DB9 Và COM2 là DB25 ( nếu dùng DB25 thì cũng chỉ nối 9 chân ) Lê Thμnh Sơn \ 69 [
  70. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Sơ đồ các đ−ờng tín hiệu của giao diện RS-232 CD RXD TXD DTR GND DSR RTS CTS RI * CD: DCE Phát hiện đ−ờng truyền có vật mang tin hay DCE đã thu đ−ợc dấu hiệu của tin trên đ−ờng truyền và báo đ−ờng truyền tốt • RXD: DTE nhận số liệu từ DCE. • TXD: DTE truyền số liệu ra. • DTR: S ố liệu sẵn sàng ở DTE. • GND: Dây nối đất . • DSR: Số liệu sẵn sàng ở DCE. • RTS: DTE yêu cầu gửi số liệu . • CTS: Tín hiệu trả lời chấp nhận RTS hoặc đó là tín hiệu yêu cầu làm việc. • RI: Báo chuông. 4.1.3. Bộ thu phát không bộ vạn năng. Bộ thu phát không đồng bộ vạn năng UART đ−ợc thiết kế đặc biệt để xử lý truyền tin không đồng bộ. Chip UART 8250 là chip cơ bản đ−ợc thiết kế cho CPU 80286. Hiện nay có các chíp thông dụng UART khác nh− 16450 và 16550A t−ơng ứng với các CPU có bus dữ liệu 32 hay 64 bit. Ngoài ra còn có các chip UART đ−ợc thiết kế cho xử lý cả đồng bộ và không đồng bộ. Lê Thμnh Sơn \ 70 [
  71. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC * Chức năng của UART: Chuyển đổi tín hiệu song song từ CPU thành tín hiệu nối tiếp để phát ra ngoài máy tính và đổi tín hiệu nối tiếp đến máy tính thành dạng song song để máy tính xử lý. UART bổ xung các bit Start, Stop, Parity đến mỗi ký tự để phát và lấy ra những bit đó từ ký tự thu đ−ợc. UART đảm bảo rằng những bit riêng biệt đ−ợc phát ra ở tốc độ truyền dữ liệu thích hợp, tính toán các bit chẵn lẻ trên các ký tự thu và phát thông báo cho hệ thống biết bất kỳ một sai sót nào đã đ−ợc phát hiện. * Các giao tiếp của UART. + Giao tiếp với hệ thống BUS I/O của CPU + Giao tiếp với hệ thống đồng hồ + Giao tiếp với hệ thống chuẩn RS232 * Các địa chỉ của UART 8250. + 3F8/2F8: Dữ liệu nhận đ−ợc hay cần gửi đi chứa trong thanh ghi này, khi ghi vào thanh ghi thì nó chứa dữ liệu truyền và đọc thanh ghi thì nó chứa dữ liệu nhận đ−ợc +3F9/2F9: Thanh ghi cho phép ngắt 7 6 5 4 3 2 1 0 Bit 7,6,5,4 không sử dụng, thiết lập về 0. Bit 3 = 1 cho phép UART phát ra IQR theo trạng thái Modem. Bit 2 = 1 cho phép UART phát ra IQR theo trạng thái đ−ờng truyền. Bit 1=1 cho phép UART phát IQR khi thanh ghi đợi truyền rỗng. Bit 0 = 1 cho phép UART Phát IQR khi dữ liệu nhận đã sẵn sàng. +3FA2A: Thanh ghi định danh ngắt, khi xảy ra 1 ngắt thì đọc thanh ghi này để xem ngắt xảy ra từ đâu. 7 6 5 4 3 2 1 0 Bit 7,3 thiết lập về 0 Bit 2,1 : 00 :Trạng thái MODEM thay đổi Lê Thμnh Sơn \ 71 [
  72. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 01: Thanh ghi đợi truyền rỗng 10: Dữ liệu nhận đ−ợc đã sẵn sàng 11: Trạng thái đ−ờng truyền thay đổi Bit 0 =1 : Không có yêu cầu ngắt cần xử lý Bit 0 = 0: Có yêu cầu ngắt cần xử lý +3FB/2FB: Thanh ghi điều khiển đ−ờng truyền 7 6 5 4 3 2 1 0 Bit 7: = 1 : Đặt tốc độ truyền = 0 : Bình th−ờng. Bit 6: =1: Gửi các khoảng trắng = 0: Tắt tín hiệu Breack Bit 5: = 1: Không dùng Bit 4: = 1: Parity chẵn = 0: Parity lẻ Bit 3: =1: Có sử dụng parity = 0: Không sử dụng Parity Bit 2: =1: Dùng 1,5 bit stop nếu 5 bit / 1 ký tự = 0: Dùng 1,5 bit Stop nếu 5 bit / 1 ký tự Bit 0-1 : 00: 5 bit/ký tự 01 :6bit/ký tự 10 :7bit/ký tự 11 :8bit/ký tự +3FD/2FD: Thanh ghi trạng thái đ−ờng truyền 7 6 5 4 3 2 1 0 Bit 7: Không sử dụng ,thiết lập về không Bit 6 =1: Thanh ghi dịch rỗng, phát xong 1 byte Bit 5 =1: Thanh ghi phát rỗng, bit này tự động bằng 0 khi CPU gửi 1 byte số liệu tiếp theo ra thanh ghi phát Lê Thμnh Sơn \ 72 [
  73. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Bit 4 = 1: Trong khi thu nhận đ−ợc khoảng cách trống lớn hơn 1 ký tự đầy đủ Bit 3 = 1: Lỗi khung Bit 2 = 1: Lỗi Parity Bit 1= 1: Một byte số liệu nhận về ch−a kịp đọc bởi CPU đã bị dòng dữ liệu khác đè lên. Bit 0 = 1: Nhận đ−ợc dữ liệu. +3FE/2FE: Thanh ghi trạng thái MODEM D7 D6 D5 D4 D3 D2 D1 D0 Bit 7 = 1: Liên lạc với Modem đã đ−ợc thiết lập Bit 6 = 1: Chuông Bit 5 = 1:DCE gửi tín hiệu DSR tới DTE báo rằng đẵ sẵn sàng nhận dữ liệu Bit 4=1 : DCE gửi tín hiệu CTS về DTE báo rằng đã sẵn sàng nhận dữ liệu Bit 3=1: Bit 7 vừa chuyển trạng thái Bit 2=1: Bit 6 vừa chuyển trạng thái Bit 1=1: Bit 5 vừa chuyển trạng thái Bit 0=1: Bit 4 vừa chuyển trạng thái 4.2. TRUYềN TIN NốI TIếP CủA VI ĐIềU KHIểN 8031. 4.2.1. Giới thiệu chung. Hệ vi xử lý 8031 có cổng nối tiếp nằm trên chip. Chức năng quan trong của cổng nối tiếp là biến đổi dữ liệu từ song song thành nối tiếp để đẩy lên đ−ờng truyền và biến đổi dữ liệu vào từ nối tiếp thành song song . Việc truy nhập phần cứng của cổng nối tiếp thông qua các chân TXD và RXD của 8031 và đó cũng là 2 bit của Port 3: P3.1 ( TXD) là chân số 11 P3.0 (RXD) Là chân số 10 Lê Thμnh Sơn \ 73 [
  74. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Cổng nối tiếp của 8031 có thể truyền 2 chiều đồng thời và ký tự có thể đ−ợc nhận và l−u trữ trong bộ đệm trong khi ký tự thứ 2 đã đ−ợc nhận và nếu CPU đọc ký tự thứ nhất tr−ớc khi ký tự thứ 2 đ−ợc nhận thì dữ liệu không bị mất Có 2 thanh ghi chức năng đặc biệt để phần mềm qua đó truy nhập cổng nối tiếp là SPUF Và SCON. SPUF có địa chỉ 99h đ−ợc xem nh− 2 Buffer .Khi ghi dữ liệu vào SBUF là truyền dữ liệu còn khi đọc dữ liệu từ SBUF Là nhận dữ liệu từ đ−ờng truyền SCON Có địa chỉ 98h là thanh ghi có thể đánh địa chỉ theo từng bit bao gồm bit trạng thái và bit điều khiển. Bit điều khiển xác lập chế độ điều khiển cho cổng nối tiếp và bit trạng thái cho biết ký tự đ−ợc truyền hay đ−ợc nhận. Bit trạng thái đ−ợc kiểm tra bằng phần mềm hoặc lập trình để gây ra ngắt. 4.2.2. Thanh ghi điều khiển cổng nối tiếp. (Spesial Post Cobtrol Register). Các chế độ hoạt động của cổng nối tiếp đ−ợc xác lập bằng cách ghi vào thanh ghi SCON ở địa chỉ 99h. Sau đây là các bit của thanh ghi SCON: BIT SYBOL ADRES DESCRIPTION SCON.7 SMO 9FH Serial port mode bit 0 SCON.6 SM1 9EH Serial port mode bit 1 SCON.5 SM2 9DH Serial port mode bit 2 SCON.4 REN 9CH Receive enable Đ−ợc xác lập nhận ký tự SCON.3 TB8 9BH Transmit bit 8 Bit thứ 9 truyền ở chế độ 3 Đ−ợc lập và xoá bằng phần mềm SCON.2 RB8 9AH Receive bit 8 .Bit 9 đ−ợc nhận SCON.1 TI 99H Transmit interrut flag Nó đ−ợc lập khi kết thúc truyền ký tự và đ−ợc xoá bằng phần mềm SCON.0 RI 98H Receive Interrupt Flag . Lê Thμnh Sơn \ 74 [
  75. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC Nó đ−ợc lập khi kết thúc nhận 1 ký tự và đ−ợc xoá bằng phần mềm Tr−ớc khi sử dụng cổng nối tiếp thanh ghi SCON phải đ−ợc khởi tạo cho đúng chế độ hoạt động . Ví dụ: MOV SCON ,# 01010010b Khởi tạo cổng nối tiếp hoạt động ở chế độ 1, cho phép nhận (REN =1), và đặt thanh ghi TI = 1 để cho biết sẵn sàng truyền. 4.2.3. Các chế độ hoạt động : 8031 có 4 chế độ hoạt động, việc chọn chế độ hoạt động bằng cách xác lập các bit SM0 và SM1 của thanh ghi SCON. Có 3 chế độ hoạt động truyền không đồng bộ, mỗi ký tự truyền hoặc nhận theo từng khung với bit Start và Stop t−ơng tự RS232 của máy tính PC. Còn chế độ thứ 4 hoạt động nh− một thanh ghi dịch đơn giản. 4.2.3.1. Thanh ghi dịch 8 bit (Mode 0). MODE 0 đ−ợc chọn bằng cách ghi 0 vào bit SM0 Và SM1 thanh ghi SCON, xác lập cổng nối tiếp hoạt động nh− thanh ghi dịch 8 bit. Dữ liệu vào và ra nối tiếp qua RXD và TXD theo nhịp đồng hồ, 8 bit đ−ợc truyền và nhận với bit thấp nhất đ−ợc truyền đầu tiên. Tốc độ Baud đ−ợc đặt bằng 1/12 tốc độ đồng hồ .Trong chế độ này ta không nói đến RXD và TXD. Đ−ờng RXD đ−ợc dùng cho cả truyền và nhận dữ liệu còn đ−ờng TXD đ−ợc dùng cho tín hiệu Clock Việc truyền dữ liệu đ−ợc khởi đầu bằng cách ghi dữ liệu vào thanh ghi SBUF, dữ liệu đ−ợc dịch ra từng bit ra ngoài qua chân RXD (P3.0) cùng với xung đồng hồ đ−ợc gửi ra ngoài qua đ−ờng TXD(P31). Mỗi bit đ−ợc truyền qua RXD trong 1 chu kỳ máy. Việc nhận dữ liệu đ−ợc khởi đầu khi bit cho phép nhận (REN) đ−ợc xác lập lên bit 1 và bit RI phải xoá về 0. Nguyên tắc chung là xác lập bit REN lúc bắt đầu ch−ơng trình để khởi tạo các tham số của cổng nối tiếp và xoá bit RI để bắt đầu công việc nhận dữ liệu. Khi RI đ−ợc xoá, xung đồng hồ đ−ợc ghi ra chân TXD, bắt đầu chu kỳ máy tiếp theo và dữ liệu đ−ợc đ−a vào chân RXD. Một khả Lê Thμnh Sơn \ 75 [
  76. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC năng của chế độ thanh ghi dịch là có thể mở rộng đ−ờng racủa 8031. Thanh ghi dịch chuyển đổi nối tiếpthành song song có thể kết nối các đ−ờng TXD và RXD cung cấp thêm 8 đ−ờng ra. 4.2.3.2. Bit UART tốc độ Baud có thể thay đổi đ−ợc (Mode 1). ở Mode 1 cổng nối tiếp của 8031 hoạt động nh− là UART 8 bit với tốc độ Baud có thể thay đổi đ−ợc. UART là một thiết bị nhận và truyền dữ liệu nối tiếp , mỗi ký tự đ−ợc truyền bắt đầu bằng bit Start (trạng thái thấp) sau đó là các bit dữ liệu đ−ợc truyền và cuối cùng là bit Stop (trạng thái cao). Một chức năng quan trọng của UART là chuyển đổi dữ liệu song song thành nối tiếp để truyền và chuyển đổi nối tiếp thành song song để nhận. Trong chế độ này, 10 bit dữ liệu đ−ợc đ−ợc truyền qua TXD và nhận vào qua RXD và việc truyền cũng t−ơng tự nh− chế độ 0, bit Start luôn bằng 0 sau đó đến 8 bit dữ liệu (LSB đầu tiên ) và cuối cùng là bit Stop. Bit TI của SCON đ−ợc lập bằng 1 khi bit Stop ở chân TXD. Trong quá trình nhận bit Stop đ−ợc đ−a vào bit RB8 của thanh ghi SCON và tốc độ truyền đ−ợc đặt bởi Timer 1. Việc đồng bộ thanh ghi dịch của cổng nối tiếp ở chế độ 1,2,3 đ−ợc điều khiển bởi Counter với đầu ra Counter là nhịp đồng hồ điều khiển tốc độ Baud còn đầu vào của Counter đ−ợc chọn bằng phần mềm . 4.2.3.3. 9 Bit UART với tốc độ Baud cố định. Chế độ đ−ợc chọn bằng cách đặt bit SM1 = 1 Và SM0 = 0, cổng nối tiếp của 8031 sẽ hoạt động nh− UART 9 bit có tốc độ baud cố định, 11 bit sẽ đ−ợc truyền và nhận qua TXD và RXD: 1 bit Start, 9 bit dữ liệu và một bit Stop .Trong khi truyền bit thứ 9 sẽ đ−ợc đặt vào TB8 của thanh ghi SCON còn khi nhận bit thứ 9 sẽ đ−ợc đặt vào RB8. Tốc độ baud của chế độ 2 có thể là 1/32 hoặc 1/64 xung nhịp đồng hồ. 4.2.3.4. 9 Bit UART với tốc độ Baud có thể thay đổi đ−ợc. Mode 3 t−ơng tự nh− Mode 2 nh−ng tốc độ Baud đ−ợc lập trình và đ−ợc cung cấp bằng Timer. Trong thực tế cả 3 mode 1,2,3 là t−ơng đ−ơng nhau chỉ Lê Thμnh Sơn \ 76 [
  77. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC khác nhau ở chỗ tốc độ Baud ở chế độ 2 là cố định còn chế 1 và 3 có thể thay đổi đ−ợc và số l−ợng bit dữ liệu của Mode 1 là 8 bit còn Mode 2 và mode 3 là 9 bit. 4.2.4. Khởi tạo vμ truy nhập cổng nối tiếp. * Cho phép nhận Bit cho phép nhận (REN) của thanh ghi SCON phải đ−ợc lập bằng phần mềm để cho phép nhận dữ liệu. Việc này đ−ợc tiến hành lúc bắt đầu ch−ơng trình khi cổng nối tiếp, Timer, Counter đ−ợc khởi tạo. Có hai cách xác lập bit này: SETB REN hoặc MOV , SCON , #XXX1XXXXB ( Trong đó x có thể là 0 hay 1 tuỳ theo yêu cầu của ch−ơng trình ). * Cờ ngắt (Interrupt Flag). Hai bit RI và TI trong thanh ghi SCON đ−ợc lập lên 1 bằng phần cứng và phải đ−ợc xoá về 0 bằng phần mềm. RI đ−ợc xác lập khi bit cuói cùng của dữ liệu đ−ợc nhận mà nó cho biết rằng đã kết thúc truyền 1 byte dữ liệu nó đ−ợc Test bằng ch−ơng trình để gây ra ngắt. Nếu ch−ơng trình muốn nhận dữ liệu từ 1 thiết bị nối với cổng nối tiếp nó phải chờ cho đến khi RI đ−ợc lập sau đó xoá RI và đọc dữ liệu từ SBUF Ví dụ: WAIT : JNB RI, WAIT; test RI và chờ cho đến khi đ−ợc lập CLR RI ; xoá RI MOV A , SBUF ; Đọc dữ liệu từ SBUF T−ơng tự bit TI đ−ợc lập khi bit cuối cùng của dữ liệu đ−ợc truyền và nó cho biết rằng đã truyền xong. Nếu ch−ơng trình muốn gửi dữ liệu đến thiết bị nối qua cổng nối tiếp nó phải kiểm tra xem ký tự tr−ớc đó đã gửi ch−a, nếu ch−a gửi nó phải chờ đến khi gửi xong mới đ−ợc gửi. Ví dụ: WAIT: JNB TI, WAIT; Kiểm tra khi TI Set CLR TI ; Nếu set thì xoá TI MOV SBUF, A; Gửi dữ liệu vào SBUF để truyền. Lê Thμnh Sơn \ 77 [
  78. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC 4.3. Ghép nối máy tính với hệ vi xử lý. 4.3.1. Sơ đồ ghép nối hệ vi xử lý vμ máy tính. Việc ghép nối giữa hệ vi xử lý và máy tính điều khiển hệ thống cân mẻ đ−ợc thực hiện ở khoảng cách gần, cho nên ghép nối ta không cần sử dụng modem , về phía máy tính ta sử dụng 3 dây là TxD, RxD và GND ở cổng nối tiếp RS232. Vì không có Modem nên khi sử dụng cổng nối tiếp của máy tính phải có sự ngắn mạch giữa RTS và CTS , DTR và DSR. Để đảm bảo có sự đ−a lệnh DTR và RTS để đọc trạng thái và đảm bảo chân CTS xuống thấp (khi truyền - nhận) và trở về cao (khi kết thúc truyền – nhận). Hình vẽ sau đây minh hoạ hệ vi xử lý đ−ợc ghép nối với máy tính nh− thế nào : RxD T1Out T1In TxD TxD VXL R1IN R1Out GND RxD MAX232 COM2 - PC Sơ đồ nguyên lý ghép nối vi xử lý và máy tính. 4.3.2. Đảm bảo ch−ơng trình cho cổng nối tiếp. Trong máy tính, hoạt động với DOS (từ Version 3.0) có 4 cổng nối tiếp RS232 với các vùng địa chỉ (cho các thanh ghi nội ) và các mức ngắt sau : Cổng nối tiếp Địạ chỉ Ngắt COM1 03F8Hữ03FFH IRQ4 COM2 02F8Hữ02FFH IRQ3 Lê Thμnh Sơn \ 78 [
  79. Đại Học S− Phạm Kỹ Thuật H−ng yên Thiết kế hệ PLC COM3 03E8Hữ03EFH IRQ4(hoặc hỏi vòng) COM4 02E8Hữ02EFH IRQ3(hoặc hỏi vòng) COM1 và COM3 đ−ợc thiết kế sử dụng ngắt số 4, COM2 và COM4 sử dụng ngắt số 3. Trong máy tính các cổng nối tiếp này đ−ợc nối song song với ổ cắm DB-25 và DB-9 để dễ sử dụng. Để đảm bảo việc sử dụng ghép nối cổng nối tiếp của máy tính với hệ vi xử lý 8031 thì ta phải lập trình cho cổng nối tiếp , để khởi tạo (ghi các thông số ban đầu nh−: Tốc độ truyền, độ dài tin, sai số chẵn /lẻ ) cho cổng nối tiếp của máy tính ta có thể. Ghi trực tiếp bằng lệnh dạng ngôn ngữ ASSEMBLER. Sử dụng lệnh MODE của DOS và các tham số thêm vào của DOS. 4.3.2.1. Sử dụng lệnh MODE của DOS. Với DOS 3.3 trở về tr−ớc dùng lệnh : MODE COM1 : 9600 ,N, 8, 1, P ⇒ Tốc độ 9600 baud, N = không kiểm tra tính chẵn / lẻ, 8 bit dữ liệu, một bit Stop, với các lần thử lại liên tục. Với DOS 3.3 trở về sau, dùng lệnh : MODE COM1: Baud = 9 600 Parity = n Data = 8 Stop = 1 Retry = B (B ) thay cho (p) kể từ DOS . 5 4.3.2.2. Sử dụng ngắt INT 14 h của BIOS . BIOS truy cập tới khối ghép nối nối tiếp của mấy tính nhờ ngắt INT 14h với cấp hàm sau: Hàm : Vai trò : 00h Khởi phát khối ghép nối của cổng nối tiếp 01h Gửi một ký tự 02h Nhận một ký tự 03h Đọc trạng thái của khối ghép nối của cổng nối tiếp 04h Khởi phất cổng nối tiếp mở rộng 05h Điều khiển truyền thông của cổng nối tiếp mở rộng Lê Thμnh Sơn \ 79 [