ENCYCLOPEDIA VỀ ĐIỆN TỬ TRUYỀN THANH VÀ KỸ THUẬT ĐIỆN Giao diện bộ điều khiển PIC với máy tính. Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện / Bộ vi điều khiển Khi phát triển một thiết bị trên vi điều khiển (MC), vấn đề thường phát sinh là kết nối của nó với máy tính để trao đổi thông tin. Trong hầu hết các trường hợp, chế độ hai chiều được yêu cầu với tỷ giá hối đoái tương đối thấp. Trong trường hợp tốt nhất, MK có thể có giao diện nối tiếp, nhưng thường thì nó phải được chọn trong số những loại rẻ tiền không được trang bị giao diện như vậy. Ví dụ, PIC16F84A MK của Microchip, rất phổ biến gần đây, không có giao diện như vậy. Bài báo xem xét một biến thể triển khai phần mềm của giao diện nối tiếp cả từ phía MC và từ phía máy tính. Để giao tiếp với thiết bị trên MK, bạn có thể sử dụng cổng song song (LPT) hoặc nối tiếp (COM) của máy tính. Cái đầu tiên dễ làm việc hơn - nó có thể sử dụng số lượng tín hiệu đầu vào và đầu ra tương đối lớn hơn, các mức tương thích với TTL. Nhược điểm của cổng này là nếu trong DOS hoặc Linux, các thao tác I / O đơn giản là đủ để sử dụng nó, thì để hoạt động chính xác trong Windows, cần phải tuân thủ nghiêm ngặt giao thức truyền dữ liệu, điều này không hiệu quả khi làm việc với MK. Cũng có thể điều khiển trực tiếp các đường riêng lẻ của cổng LPT, nhưng điều này yêu cầu cài đặt trình điều khiển đặc biệt. Có thể coi "nhược điểm" của cổng LPT là ở hầu hết các máy tính, cổng này chỉ có một và theo quy luật là do máy in chiếm dụng. Ưu điểm chính của cổng COM là giao diện lập trình Windows (API) tiêu chuẩn cho phép bạn điều khiển trực tiếp một số dòng đầu ra và điều khiển các dòng đầu vào, đồng thời có chức năng chờ một số sự kiện liên quan đến cổng COM. Ưu điểm của nó là tiêu chuẩn RS-232, theo đó các cổng COM được tạo ra, cho phép kết nối và ngắt kết nối cáp trong quá trình vận hành thiết bị (phích cắm nóng). Ngoài ra, hầu như máy tính luôn có cổng COM miễn phí. Nhược điểm của cổng là mức tín hiệu khác với TTL, trong đó mức logic thấp tương ứng với điện áp -12 và mức logic cao tương ứng với +12 V. Việc triển khai giao diện RS-232 tiêu chuẩn sẽ yêu cầu MC tuân thủ nghiêm ngặt khoảng thời gian giữa các tín hiệu đầu ra. Trong một tình huống thực tế, bộ cộng hưởng thạch anh của vi điều khiển có thể không tương ứng với tần số truyền dữ liệu và bản thân MC thường bận rộn với một việc quan trọng hơn là hình thành các khoảng thời gian chính xác. Do đó, việc triển khai tùy chọn trao đổi đồng bộ nối tiếp theo chương trình trở nên dễ dàng hơn khi mỗi bit dữ liệu được xác nhận bằng một xung đồng bộ hóa. Sơ đồ nguyên lý của giao diện được đề xuất được hiển thị trong hình. một. Bộ chia điện trở R232R1 và R4R2 được sử dụng để chuyển đổi các mức RS-5 thành TTL. Điốt VD1 và VD2 là cần thiết để không vượt qua điện áp âm tương ứng với số 3 logic. Tín hiệu TTL đầu ra của MK không cần phải chuyển đổi và có thể được đưa trực tiếp vào các đường đầu vào của cổng COM. Điện trở RXNUMX giới hạn dòng điện đầu ra của MK trong trường hợp có thể xảy ra ngắn mạch ngẫu nhiên. Như bạn có thể thấy từ sơ đồ, cần có bốn dây để giao tiếp với máy tính. Máy tính bắt đầu trao đổi dữ liệu bằng cách phát xung đồng hồ trên đường DTR, đặt dữ liệu được truyền trên đường RTS và nhận dữ liệu đã nhận trên đường CTS. Máy tính và MK chỉ có thể thay đổi dữ liệu khi mức logic của tín hiệu đồng bộ thấp. Việc triển khai giao diện này cho phép bạn triển khai chế độ truyền dữ liệu song công. Số chân XS1 trong sơ đồ dành cho ổ cắm DB-25F sử dụng cáp modem tiêu chuẩn. Xem Bảng 1 để biết số pin cho các đầu nối khác và khi sử dụng cáp modem null. XNUMX. Tần số xung đồng bộ phải được chọn sao cho đảm bảo MC có thời gian xử lý dữ liệu từ máy tính, đáp ứng từng xung đồng bộ. Các bit thông tin được truyền tuần tự. Khi kết thúc quá trình truyền các bit của một byte, việc truyền các bit của byte tiếp theo sẽ diễn ra sau đó, với bit thông tin quan trọng nhất được truyền trước. Để đưa giao diện về trạng thái ban đầu (đặt số lượng byte được truyền thành 0), máy tính phải đăng nhập. 1 trên dòng đồng hồ để thay đổi trạng thái của dòng dữ liệu. MCU xuất ra một bit dữ liệu mới trên đường CTS khi các xung phân cực dương giảm xuống ở đầu vào đồng hồ DTR và đọc dữ liệu từ đường RTS trên cạnh lên của các xung phân cực dương. Việc trao đổi có thể bị gián đoạn bất cứ lúc nào bằng cách ngừng cung cấp các xung đồng bộ hóa. Biểu đồ thời gian trao đổi dữ liệu được hiển thị trong hình. 2. Khi triển khai giao diện, nên chuyển các giá trị điều khiển theo một số byte để kiểm tra tính chính xác của dữ liệu được truyền. Mã nguồn của quy trình cho MK PIC16F84A [1] bằng ngôn ngữ C, thực hiện giao diện được đề xuất, được đưa ra trong Bảng. 2. Lệnh gọi thủ tục link() nằm trong vòng lặp chương trình chính và được gọi liên tục trong quá trình hoạt động của MK để kiểm soát trạng thái của giao diện. Tất cả các biến được sử dụng bởi thủ tục được khai báo là toàn cục. Trên mỗi cuộc gọi, nó đọc trạng thái của các dòng đầu vào của giao diện (RB6 và RB7) và so sánh chúng với trạng thái của chúng trong cuộc gọi trước đó. Trong các điều kiện nhất định (đồng bộ hóa giảm, cạnh đồng bộ hóa, thiết lập lại giao diện), các hành động được thực hiện theo logic của giao diện. Mã nguồn của quy trình cho máy tính trong Pascal (Delphi) được đưa ra trong Bảng. 3. Ở đây, thủ tục liên kết được gọi một lần để thực hiện hành động trao đổi thông tin với MC. Trước khi gọi nó, cần phải điền obuf vào bộ đệm đã truyền. Khi kết thúc thủ tục, dữ liệu nhận được sẽ nằm trong mảng ibuf. Quy trình mở cổng COM được chỉ định của máy tính và sử dụng các chức năng Windows API [2] để kiểm soát trạng thái của các dòng đầu ra và thăm dò các dòng đầu vào. Sau khi trao đổi thông tin hoàn tất, cổng được đóng lại. Trong thủ tục liên kết, thời gian trễ được thực hiện bằng cách sử dụng hàm sleep(). Các giá trị của chúng được tính toán hoặc lựa chọn bằng thực nghiệm do không bị mất bit trong quá trình trao đổi dữ liệu giữa MC và máy tính. Ví dụ cho thấy độ trễ khi trao đổi với bộ điều khiển PIC có bộ cộng hưởng thạch anh ở tần số 4 MHz, ngoài ra, còn thực hiện công việc hữu ích khác. Nếu thủ tục trao đổi mất quá nhiều thời gian, nó có thể được chuyển sang một luồng thực thi hệ điều hành riêng biệt để nó chạy song song với chương trình chính [2]. Nếu việc trao đổi thông tin yêu cầu đọc và ghi riêng biệt, thì có thể trải rộng các mảng dữ liệu được truyền và nhận đến các địa chỉ khác nhau, như thể hiện trong Hình. 2. Trong MK, thật thuận tiện để xây dựng sự hình thành dữ liệu được truyền và sử dụng dữ liệu đã nhận dưới dạng các thủ tục tải lên () và tải xuống (), được gọi trước khi truyền và khi nhận byte tiếp theo, tương ứng. Cái đầu tiên trong số chúng phải trả về giá trị của byte đã truyền theo số của nó trong gói thông tin được truyền, cái thứ hai nhận giá trị của byte đã nhận và số của nó trong gói và phải sử dụng các giá trị này để thay đổi các thanh ghi MK, ghi vào EEPROM, v.v. Việc triển khai các quy trình này để xử lý gói thông tin có kích thước 4 byte (Bảng 4) được trình bày trong Bảng. 5. Một ví dụ về chương trình cho MK được đưa ra cho trình biên dịch C2C [3]. Thủ tục cho máy tính có thể được sử dụng trong một chương trình được viết bằng Borland Delphi 3 trở lên. Văn chương
Tác giả: S.Kuleshov, Kurgan Xem các bài viết khác razdela Bộ vi điều khiển. Đọc và viết hữu ích bình luận về bài viết này. Tin tức khoa học công nghệ, điện tử mới nhất: Máy tỉa hoa trong vườn
02.05.2024 Kính hiển vi hồng ngoại tiên tiến
02.05.2024 Bẫy không khí cho côn trùng
01.05.2024
Tin tức thú vị khác: ▪ Bàn chải đánh răng có Bluetooth 4.0 ▪ Sega đang từ bỏ các trò chơi blockchain để ủng hộ các tác phẩm kinh điển ▪ Bộ điều khiển để kiểm soát kỹ thuật số nguồn cung cấp điện Nguồn cấp tin tức khoa học và công nghệ, điện tử mới
Tài liệu thú vị của Thư viện kỹ thuật miễn phí: ▪ phần trang web Các thiết bị hiện tại còn lại. Lựa chọn bài viết ▪ bài báo Bán phá giá - nhân tố huyền thoại và thực tế. Nghệ thuật âm thanh ▪ bài viết Khi nào thì một khoảnh khắc bằng một phút rưỡi? đáp án chi tiết ▪ bài viết Calla đầm lầy. Truyền thuyết, canh tác, phương pháp áp dụng ▪ bài báo Tự động chuyển camera trước và sau. Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện ▪ bài viết Tấm thảm kỳ diệu với đàn vịt. tiêu điểm bí mật
Để lại bình luận của bạn về bài viết này: Tất cả các ngôn ngữ của trang này Trang chủ | Thư viện | bài viết | Sơ đồ trang web | Đánh giá trang web www.diagram.com.ua |