Chương 3. Giao diện hệ thống, thiết bị và hệ thống điều khiển

3.7 Điều khiển vào-ra của bộ vi xử lý

Hỏi vòng và ngắt

Có hai phương pháp cơ bản để bộ vi xử lý điều khiển vào/ra là hỏi vòng và ngắt. Hỏi vòng có nghĩa là bộ vi xử lý sẽ kiểm tra định kỳ các thiết bị ngoại vi khác nhau để xác định đầu vào hoặc đầu ra nào đang chờ. Nếu một thiết bị ngoại vi có một vài đầu vào hoặc đầu ra nào đó cần được xử lý thì cờ sẽ được thiết lập. Vấn đề là ở chỗ rất nhiều thời gian xử lý đã bị lãng phí cho việc kiểm tra các đầu vào trong khi chúng không có gì thay đổi.

Phục vụ ngắt là một phương pháp khác để điều khiển các đầu vào và các đầu ra. Theo phương pháp này, thanh ghi trong bộ vi xử lý phải thiết lập một bit có khả năng cho phép ngắt (IE- Interrupt Enable) cho một thiết bị ngoại vi nhất định. Khi một thiết bị ngoại vi khởi tạo ngắt, một cờ sẽ được thiết lập cho bộ vi xử lý. Đường yêu cầu ngắt (IRQ – interrupt request line) sẽ được kích hoạt và bộ vi xử lý sẽ phục vụ ngắt. Phục vụ ngắt có nghĩa là quá trình xử lý thông thường của của bộ vi xử lý sẽ bị dừng lại (ngắt) để trao đổi dữ liệu với thiết bị ngoại vi. Để tiếp tục được lại quá trình xử lý thông thường, bộ vi xử lý cần lưu dữ liệu của các thanh ghi trước khi thực hiện ngắt. Quy trình này bao gồm việc lưu tất cả các dữ liệu hiện thời của thanh ghi vào một ngăn xếp, một phần của RAM dành riêng cho mục đích này, trong một quy trình gọi là đẩy (push).Sau quy trình đẩy, bộ vi xử lý có thể tải địa chỉ của chương trình phục vụ ngắt và thực hiện việc trao đổi dữ liệu theo yêu cầu. Khi việc phân chia mã đó được hoàn thành, các dữ liệu trong ngăn xếp lại được tải về thanh ghi trong một chu trình gọi là bật (Pop) hoặc kéo (Pull) và tiếp tục quá trình xử lý thông thường.

Truyền dữ liệu vào – ra

Khi đầu vào hoặc đầu ra sẵn sàng cho việc truyền dữ liệu, chúng ta có thể sử dụng một vài phương thức truyền. Thứ nhất, dữ liệu có thể được truyền theo phương thức song song hoặc nối tiếp. Phương thức song song có nghĩa là nhiều bit (16 bit chẳng hạn) di chuyển song song xuống đa đường dẫn hoặc bus đa nhánh từ nguồn tới đích. Phương thức nối tiếp có nghĩa là bit di chuyển riêng biệt, nối tiếp nhau xuống một đường dẫn đơn lẻ. Truyền theo phương thức song song nhanh hơn do nhiều bit cùng nhau di chuyển, nhưng số lượng đường dẫn lại là một nhược điểm. Vì lý do này, phương thức song song thường được sử dụng cho các thành phần gần nhau còn phương thức nối tiếp được sử dụng khi các thành phần xa nhau.

Việc truyền nối tiếp có thể được phân biệt dựa trên tính đồng bộ và không đồng bộ. Với phương thức truyền dữ liệu không đồng bộ, bên gửi và bên nhận dữ liệu sử dụng các đồng hồ riêng. Do những đồng hồ này không đồng bộ nên cần có các bit thêm vào được gọi là bit start và stop để định rõ ranh giới các byte đang được truyền. Phương thức truyền dữ liệu đồng bộ sử dụng nguồn thời gian chung hoặc đồng bộ. Do vậy các bit start, bit stop không cần nữa và lượng thông tin truyền sẽ tăng lên.

Cách thứ ba để phân loại việc truyền dữ liệu là dựa vào hướng. Đường truyền đơn công là đường dẫn một hướng. Dữ liệu đi từ bộ cảm biến đến bộ vi điều khiển có thể được truyền theo phương thức truyền đơn công. Phương thức truyền bán song công cho phép truyền dữ liệu theo hai chiều, nhưng chỉ thực hiện truyền theo từng chiều một. Phương thức này đòi hỏi cần có cơ chế điều khiển luồng để tránh lỗi xảy ra khi truyền dữ liệu. Phương thức truyền song công toàn phần cho phép truyền dữ liệu theo hai chiều một cách đồng thời.

Sự thoả thuận giữa các thiết bị gửi và nhận tin có tính đến các tham số truyền dữ liệu (như tốc độ truyền) được gọi là phương thức bắt tay (handshaking).

Các hệ thống con vào – ra của bộ vi điều khiển HC12

Có bốn hệ thống con vào-ra của bộ vi điều khiển Motorola HC12, có thể được dùng làm ví dụ cho phần truyền dữ liệu trình bày ở trên.

Giao diện truyền thông nối tiếp (SCI-serial communications interface) là một thiết bị nối tiếp không đồng bộ trong HC12. Nó có thể được điều khiển theo phương pháp hỏi vòng hoặcngắt và được dùng để truyền thông giữa các thiết bị điều khiển từ xa. Liên quan tới SCI là giao diện ngoại vi nối tiếp (SPI-serial peripheral interface). SPI là một giao diện nối tiếp đồng bộ. Nó được dùng để truyền thông giữa các các thiết bị hỗ trợ SPI như một mạng nhiều bộ vi điều khiển. Do nhu cầu đồng bộ hoá về mặt thời gian nên SIP phải dùng đến hệ thống các mối quan hệ chủ/tớ giữa các bộ vi điều khiển.

Hệ thống con điều chế độ rộng xung (PWM) thường được dùng trong điều khiển động cơ và cuộn cảm. Việc sử dụng thanh ghi được thiết kế để dùng cho cả thiết bị PWM và bộ vi xử lý, đầu ra của PWM có thể được điều khiển bằng cách đặt các giá trị cho từng chu kỳ và chu trình làm việc trong các thanh ghi thích hợp. Điều này sẽ tạo ra một lệnh bật và tắt điện áp riêng.

Cuối cùng là bộ gỡ lỗi tuần tự có sẵn (SDI- serial in-circuit debugger) cho phép bộ vi điều khiển được nối với PC để kiểm tra và điều chỉnh phần mềm nhúng.

Hệ thống mạng của bộ vi điều khiển

Đây là nội dung cuối cùng về các thiết bị vào và ra cần được trình bày trong phần này. Hệ thống cơ điện tử thường vận hành đồng thời với các hệ thống khác trong cùng một mạng. Do đó, dữ liệu và các lệnh sẽ được chuyển tải từ hệ thống này sang hệ thống khác. Trong khi có rất nhiều giao thức khác nhau, cả loại mở và không mở được nói đến trong hệ thống mạng này, thì chỉ có hai loại phục vụ cho mục đích nghiên cứu của chúng ta. Loại thứ nhất là giao thức dùng trong tự động hoá sản xuất (MAP- manufacturing automation protocol) của tập đoàn General Motors. Hệ thống này được xây dựng dựa trên mô hình liên kết hệ thống mở ISO ( OSI- Open Systems Interconnection) và được thiết kế đặc biệt cho hệ sản xuất tích hợp và các PLCs. Loại thứ hai là

3.10

HÌNH 3.10 Nguyên lý Cơ điện tử

mạng điều khiển diện rộng (CAN-Controller Area Network). Robert Bosch GmbH là người phát triển tiêu chuẩn truyền thông nối tiếp dùng cho các hệ thống nhúng trong ôtô.

Rate this post