CHƯƠNG 5 CHƯƠNG TRÌNH

15 90 0
CHƯƠNG 5 CHƯƠNG TRÌNH

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương Chương 5: CHƯƠNG TRÌNH PHẦN 1: TẬP LỆNH I GIỚI THIỆU TẬP LỆNH : Việc thu thập liệu điều khiển từ xa vấn đề đáng quan tâm lónh vực điều khiển tự động Tuy nhiên, thật phiền hà thống chung câu lệnh trình trao đổi thông tin Vì thế, phần nội dung đề tài xây dựng tập lệnh giao tiếp liệu máy tính với vi xử lý sử dụng Việc xây dựng tập lệnh giao tiếp RS-232 xem mong muốn tạo câu lệnh chung giao tiếp liệu máy tính vi xử lý mặt ngôn ngữ Đây phương tiện giao tiếp máy tính vi xử lý, nhằm giúp cho người sử dụng nhiều thời gian lập trình lại từ đầu muốn thực vấn đề giao tiếp mà việc trao đổi thông tin xảy dễ dàng thông qua việc sử dụng tập lệnh Tập lệnh xây dựng bao gồm lệnh xuất nhập đầy đủ dạng tín hiệu như: tín hiệu dạng mức, tín hiệu dạng xung, tín hiệu dạng analog/digital giúp việc trao đổi thông tin không bò giới hạn đối tượng điều khiển (từ kit vi xử lý) phong phú Ngoài ra, tập lệnh có số lệnh điều khiển quan sát trình hoạt động hệ thống như: biến cài đặt dạng sóng ngõ (Kx), counter (Cx), liệu (Dx), biến trạng thái xác lập chế độ hoạt động từ PC hay từ KIT (Sx) biến thực thi hiển thò chế độ hoạt động RUN/STOP (Mx) giúp cho trình hoạt động hệ thống diễn cách chặt chẽ, dễ quan sát dễ quản lý II NỘI DUNG TẬP LỆNH: Các lệnh xây dựng tập lệnh giao tiếp RS-232 nhìn chung bao gồm lệnh giao tiếp liệu xuất nhập Đối với lệnh gởi Luận Văn Tốt Nghiệp SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương liệu máy tính (PC): nội dung liệu kit vi xử lý thu thập từ đối tượng điều khiển bên ví dụ giá trò diện áp, xung điều khiển giá trò đo từ cảm biến v.v… đưa vào vùng đòa đònh sẵn tùy thuộc vào dạng tín hiệu thu vào (dạng mức, xung hay A/D) gởi đến PC có yêu cầu Đối với lệnh gởi liệu từ PC đến vi xử lý: nội dung liệu nhận từ PC, ví dụ thông số điều khiển cài đặt sẵn, đưa vào vùng đòa riêng ứng với dạng liệu nhận vào Các giá trò liệu dùng để điều khiển đối tượng bên khác tùy thuộc vào ứng dụng cụ thể chương trình Các lệnh không mang liệu PC gởi đến vi xử lý lệnh yêu cầu vi xử lý gởi liệu, lệnh không mang liệu từ vi xử lý gởi PC lệnh trả lời nhận nội dung PC vừa gởi vi xử lý chức yêu cầu liệu Bảng mô tả vùng đòa board VXL: Stt Vùng đòa Số byte Dạng liệu I0-I1 2x2 byte dạng ASCII Input mức-16 ngõ vào(bit) N0-N1 2x5 byte dạng ASCII Input xung-2 ngõ vào(99.999Hz max) Q0-Q1 2x5 byte dạng ASCII Ngõ vào A/D – ngõ vào (99.999max) U0-U1 2x5 byte dạng ASCII Ngõ vào A/D - ngõ vào (±4.999max) O0-O1 2x2 byte dạng ASCII Output mức-16 ngõ ra(bit) P0-P1 2x5 byte dạng ASCII Output xung-2 ngõ (99.99Hz max) A0-A1 2x5 byte dạng ASCII Ngõ D/A-2 (99.999max) K0-K7 8x2 byte dạng ASCII Biến cài đặt C0-C7 8x4 byte dạng ASCII Counter 10 D0-D7 8x2 byte dạng ASCII Dữ liệu 11 S0-S7 8x1 byte dạng ASCII Biến trạng thái 12 M0-M7 8x1 byte dạng ASCII Biến thực thi Luận Văn Tốt Nghiệp Mô tả ngỏ SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương Bảng mô tả lệnh chuẩn: Stt Lệnh từ PC Phản hồi từ VXL I↵ I0’B’I1’B’↵ Ix↵ Ix’B’↵ N↵ N0’BBBBB’N1’BBBBB’↵ Nx↵ Nx’BBBBB’↵ Q↵ Q0’BBBBB’Q1’BBBBB’↵ Qx↵ Qx’BBBBB’↵ U↵ U0’BBBBB’U1’BBBBB’↵ Ux↵ Ux’BBBBB’↵ Ox’B’↵ Ox↵ Xuất ngõ Digital Output x=0 hay (dạng ASCII) Px’BBBBB’↵ Px↵ Xuất ngõ PWM x=0 hay (dạng ASCII) Ax’BBBBB’↵ Ax↵ Xuất ngõ D/A x=0 hay (dạng ASCII) Kx↵ Kx’BB’↵ Đọc ngõ vào biến cài đặt.x=0 đến (dạng ASCII) Cx↵ Cx’BBBB’↵ Đọc ngõ vào giá trò counter x=0 đến (dạng ASCII) 10 D’BB’x↵ Dx↵ Xuất liệu ra.x=0 đến (dạng ASCII) 11 Sx↵ Sx’B’↵ Đọc ngõ vào biến trạng thái x=0 đến (dạng ASCII) 12 Mx’B’↵ Mx↵ Xuất ngõ biến thực thi.x=0 đến (dạng ASCII) Mô tả(cho PC) Đọc ngõ vào Digital input x=0hay1(dạng ASCII) Đọc ngõ vào puls Input x=0hay1(dạng ASCII) Đọc ngõ vào A/D Input (đơn cực) x=0 hay (dạngASCII) Đọc ngõ vào A/D Input (lưỡng cực) x=0 hay (dạngASCII) Ghi chú: ’BBBBB’: số byte liệu vùng đòa gọi dạng ASCII ; x số kèm theo ký tự vùng đòa nhằm mở rộng vùng đòa có chức Luận Văn Tốt Nghiệp SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương PHẦN 2: MÔ TẢ CHƯƠNG TRÌNH Buffer user Giao tiếp RS232 Chương trình xử lý liệu LƯU ĐỒ CHƯƠNG TRÌNH TỔNG QUÁT 1: Dữ liệu nhận từ PC 2: Dữ liệu gởi đến PC 3: Kết xử lý 4: Yêu cầu xử lý  - Khối giao tiếp RS-232: Nhận chuỗi từ PC Kiểm tra Đóng gói liệu (truyền) Truyền liệu đóng gói đến PC Luận Văn Tốt Nghiệp SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương  Khối buffer user: Đây vùng đệm cho chương trình ứng dụng Khối thực lưu trữ truy xuất liệu từ vùng liệu quy đònh tập lệnh Các chương trình thực khối là: - Ghi giá trò A/D vào vùng đòa Q0 - Ghi trạng thái hoạt động từ Kit hay PC đọc từ ngõ vào input đưa vào ô nhớ S0 - Chế độ Run/Stop nhận từ PC đưa vào ô nhớ đòa M0 - Các ngõ vào input 2,3,4 cài đặt dạng sóng đưa vào vùng nhớ đòa K0 - Trò đỉnh dạng sóng đưa vào ô nhớ liệu đòa D0  Khối chương trình xử lý liệu: Khối thực chương trình ứng dụng cho hệ thống Tùy yêu cầu cụ thể đặt mà thực nhiều hay chức Sơ đồ khối tổng quát cho nhóm chương trình trtong ứng dụng là: Hiển thò Buffer user Chương trình xử lý Đọc input Xuất output Tạo dạng sóng Đọc A/D Xuất D/A Luận Văn Tốt Nghiệp SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương Bước đầu giao tiếp liệu máy tính vi xử lý thực bởiø việc gởi chuỗi liệu từ máy tính Do đó, kit vi xử lý thực trả lời theo yêu cầu máy tính gởi đến CHƯƠNG TRÌNH NHẬN CHUỖI TỪ PC: Như giới thiệu chương Protocol, frame liệu gởi bắt đầu byte header cho hai hướng truyền (từ PC vi xử lý) Vì thế, để tránh thời gian phải nhận vào chuỗi mà byte không đúng, nên trước tiên ta nhận kiểm tra byte header Việc nhận liệu tiếp tục thực byte header Ngoài có số ràng buộc kèm theo cho trình nhận chuỗi, lần nhận sau phải đảm bảo liệu nhận vào lần trước kiểm tra xử lý Điều kiện đặt nhằm mục đích bảo toàn giá trò nhận từ PC, việc nhận liệu vào diễn liên tục mà trình kiểm tra xử lý không đáp ứng kòp, xảy trường hợp liệu lần nhận sau đè lên liệu nhận trước Như vậy, trình thực bỏ sót vài trường hợp xử lý tức hệ thống hoạt động không tối ưu Điều thật cần thiết hệ thống thực theo hệ thời gian thực (multitasking) công việc chương trình thực song song Luận Văn Tốt Nghiệp SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương Max=chiều dài tối đa chuỗi cho phép nhập vào Kiểm tra vùng đệm thu có liệu không Cờ nhận=0 ? Không có Sai Kiểm tra byte Header Đúng Nhận vào byte đầu chuỗi x[i] N=x[3]+4 (chiều dài củachuỗi liệu+ 4byte header&control fiels) N N1? N Số byte liệu (bufin[3])>1? N Y Y Kết nhận sai Kết nhận Chuỗi buffer[]=chuỗi bufin[] Cothu=0(được phép nhận chuỗi mới) RET Luận Văn Tốt Nghiệp 10 SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương CHƯƠNG TRÌNH XỬ LÝ TẬP LỆNH: Chương trình xử lý tập lệnh bước đầu thực việc kiểm tra số byte control fiels nhận từ PC nhằm tránh trùng lặp trình xử lý Vì theo giao thức truyền thông đặt (protocol), khoảng thời gian số lần nhắc lại qui đònh, kể từ sau PC gởi yêu cầu đến máy tính, mà PC không nhận kết phản hồi theo mong muốn ( lỗi xảy kit vi xử lý không nhận đầy đủ liệu gởi đến từ PC, byte control fiel không xác lập qui đònh … ) kết nhận từ khối vi xử lý báo lỗi gởi lại frame truyền mới, mà frame gởi lại mang đầy đủ thông tin vừa cho khối vi xử lý (xem chi tiết phần protocol) Tuy nhiên, PC không nhận frame truyền mang theo thông tin trả lời từ vi xử lý xem lỗi mà gặp cố vấn đề thời gian Trong trường hợp đó, chương trình không xử lý lại từ đầu mà tiếp tục công việc xử lý cũ Nên bước kiểm tra giải đáp cho câu hỏi khối vi xử lý có nhận có xử lý yêu cầu vừa không? Tiếp theo trình kiểm tra, việc xử lý tập lệnh thực dựa kết trình xử lý theo chức cụ thể cho hệ thống đưa vào vùng nhớ sử dụng lệnh xây dựng tập lệnh Luận Văn Tốt Nghiệp 11 SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương START Lưu đồ: chương trình N Kết nhận ? xử lý ứng dụng tập Y lệnFrame h nhận vào có liệu ? N Y Bit b1=buffer[2]&0x02 N Frame gởi lần đầu (b1=0)? Y buffer[4] ≠ đòachỉ[0]? Và buffer[5] ≠ đòachỉ[1]? N Y Đòachỉ[0]=buffer[4] Đòachỉ[1]=buffer[5] Gọi tập lệnh Cờ xử lý =1 (xử lý xong) RET Luận Văn Tốt Nghiệp 12 SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương CHƯƠNG TRÌNH ĐÓNG GÓI DỮ LIỆU: Chương trình đóng gói liệu tạo frame truyền trả cho PC nhận yêu cầu gởi đến từ Frame tuân theo qui đònh byte control fiel, có thông báo kết lần nhận vừa Đối với frame gởi từ vi xử lý, mã ID mã frame nhận từ PC Ngoài ra, việc đóng gói liệu nhằm mục đích đảm bảo trình gởi khung liệu từ Kit PC có gián đoạn xảy (1 chương trình interrupt chẳng hạn ) thay đổi giá trò biến không gây ảnh hưởng đến liệu truyền, trường hợp xảy với xác suất thấp tốc độ truyền liệu cao khuyết điểm đáng ý chương trình không quan tâm đến Quá trình đóng gói liệu trả lời cho PC không phụ thuộc vào chương trình xử lý mặt thời gian Nó thực sau hoàn tất chương trình kiểm tra frame nhận vào, kết trình xử lý đònh nội dung gởi cho PC, số byte liệu không chương trình xử lý thực thời điểm đóng gói Luận Văn Tốt Nghiệp 13 SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương Bufout[0]=header Bufout[1]=bufin[1] Khởi tạo bufout[2]=0x80 Kết nhận đúng? Y Bit b2=0 (bufout[2]= b2b1b0) N Bit b0=0 Bufout[3]=0(chiều dài chuỗi dữliệu=0) Xử lý xong? Y N Bit b2=1 (bufout[2]= b2b1b0) Bufout[3]=0(chiều dài chuỗi dữliệu=0) Bit b0=0 Bufout[3]=chiều dài chuỗi dữliệu Bufout[i+4]=dulieu[i] Gởi chuỗi bufout Luận Văn Tốt Nghiệp 14 SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương CHƯƠNG TRÌNH DEMO-KIT: Chương trình xử lý cho ứng dụng Demo-kit phải cập nhật ngõ vào input từ switch để biết chế độ hoạt động hệ thống Kit hay PC Chương trình xử lý bắt đầu nhận tín hiệu RUN kết thúc STOP PC gởi đến Các ngõ vào Input 2, 3, đọc từ switch nên thực theo mức ưu tiên (từ đến 4) có nhiều ngõ vào tích cực Nếu thời điểm mà dạng sóng chọn hệ thống chế độ chờ có thông báo PC Các dạng sóng ngõ nhằm mục đích minh họa cho ứng dụng việc sử dụng tập lệnh nên xây dựng đơn giản với dạng sóng ngõ có độ dốc không đổi Luận Văn Tốt Nghiệp 15 SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông I GVHD: Thầy Huỳnh Hữu Phương CÁC DẠNG SÓNG NGÕ RA Đọc ngõ vào input từ kit để chọn chế độ hoạt động N Trạng thái RUN? Y Input 1=1 N Y Hoạt động từ PC Hoạt động từ kit Đọc ngõ vào input 2,3,4 từ data switch input 2=1? Đọc ngõ vào input 2,3,4 PC truyền N Y N input3=1? Sóng dạng cưa lên Y Sóng dạng cưa xuống N input4=1 Y ? Sóng dạng nón Chế độ chờ End Lưu đồ: Sóng dạng nón Luận Văn Tốt Nghiệp 16 SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương Cài đặt trò đỉnh Cài đặt trò đỉnh Sóng =0 Sóng =trò đỉnh N N Timer = 100ms Y Y N N Sóng ≠0? Sóng < trò đỉnh Y Y Tăng sóng Giảm sóng Sóng dạng cưa xuống Luận Văn Tốt Nghiệp Timer = 100ms Sóng dạng cưa lên 17 SVTH: Châu Thò Bích Nga [...]... dữ liệu và trả lời cho PC không phụ thuộc vào chương trình xử lý về mặt thời gian Nó được thực hiện sau khi hoàn tất chương trình kiểm tra frame nhận vào, kết quả của quá trình xử lý sẽ quyết đònh nội dung gởi về cho PC, số byte dữ liệu là không nếu chương trình xử lý vẫn đang thực hiện tại thời điểm đóng gói Luận Văn Tốt Nghiệp 13 SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh... Bufout[i+4]=dulieu[i] Gởi chuỗi bufout Luận Văn Tốt Nghiệp 14 SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương CHƯƠNG TRÌNH DEMO-KIT: Chương trình xử lý cho ứng dụng Demo-kit luôn phải cập nhật ngõ vào input 1 từ switch để biết chế độ hoạt động của hệ thống là Kit hay PC Chương trình xử lý được bắt đầu khi nhận được tín hiệu RUN và kết thúc tại STOP do PC gởi đến... đảm bảo trong quá trình gởi 1 khung dữ liệu từ Kit về PC nếu có sự gián đoạn nào xảy ra (1 chương trình interrupt chẳng hạn ) thì sự thay đổi giá trò của một biến bất kỳ cũng không gây ảnh hưởng đến dữ liệu truyền, tuy trường hợp này chỉ xảy ra với xác suất thấp vì tốc độ truyền dữ liệu rất cao nhưng nó cũng là một khuyết điểm đáng chú ý của chương trình nếu không được quan tâm đến Quá trình đóng gói.. .Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương CHƯƠNG TRÌNH ĐÓNG GÓI DỮ LIỆU: Chương trình đóng gói dữ liệu là tạo ra một frame truyền trả về cho PC mỗi khi nhận yêu cầu gởi đến từ nó Frame này cũng tuân theo qui đònh của các byte control... Các dạng sóng ngõ ra chỉ nhằm mục đích minh họa cho ứng dụng của việc sử dụng tập lệnh nên nó được xây dựng rất đơn giản với các dạng sóng ngõ ra có độ dốc không đổi Luận Văn Tốt Nghiệp 15 SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông I GVHD: Thầy Huỳnh Hữu Phương CÁC DẠNG SÓNG NGÕ RA Đọc ngõ vào input 1 từ kit để chọn chế độ hoạt động N Trạng thái RUN? Y Input 1=1 N Y Hoạt động từ PC Hoạt... truyền về N Y N input3=1? Sóng ra dạng răng cưa lên Y Sóng ra dạng răng cưa xuống N input4=1 Y ? Sóng ra dạng nón Chế độ chờ End Lưu đồ: Sóng ra dạng nón Luận Văn Tốt Nghiệp 16 SVTH: Châu Thò Bích Nga Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương Cài đặt trò đỉnh Cài đặt trò đỉnh Sóng ra =0 Sóng ra =trò đỉnh N N Timer = 100ms Y Y N N Sóng ra ≠0? Sóng ra < trò đỉnh Y Y Tăng sóng ra Giảm ... ý chương trình không quan tâm đến Quá trình đóng gói liệu trả lời cho PC không phụ thuộc vào chương trình xử lý mặt thời gian Nó thực sau hoàn tất chương trình kiểm tra frame nhận vào, kết trình. .. Châu Thò Bích Nga Chương 1: Giao thức truyền thông GVHD: Thầy Huỳnh Hữu Phương PHẦN 2: MÔ TẢ CHƯƠNG TRÌNH Buffer user Giao tiếp RS232 Chương trình xử lý liệu LƯU ĐỒ CHƯƠNG TRÌNH TỔNG QUÁT 1:... liệu đòa D0  Khối chương trình xử lý liệu: Khối thực chương trình ứng dụng cho hệ thống Tùy yêu cầu cụ thể đặt mà thực nhiều hay chức Sơ đồ khối tổng quát cho nhóm chương trình trtong ứng dụng

Ngày đăng: 28/11/2015, 06:44

Mục lục

  • I. CAÙC DAÏNG SOÙNG NGOÕ RA

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan