BÁO CÁO MÔN HỆ THỐNG NHÚNGGIAO TIẾP MÁY TÍNH NHẬN CHUỖI KÍ TỰ VÀ LÀM SÁNG LED ĐƠN KHI GỬI VÀ THIẾT KẾ GIAO TIÊÓ MÁY TÍNH VỚI 8051 ĐIỀU KHIỂN 8LED ĐƠNTruyền thông nối tiếp đồng bộ là “đồng bộ” để chỉ sự “báo trước” trong quá trình truyền. Lấy ví dụ thiết bị 1 (tb1) kết với với thiết bị 2 (tb2) bởi 2 đường, một đường dữ liệu và 1 đường xung nhịp. Cứ mỗi lần tb1 muốn send 1 bit dữ liệu, tb1 điều khiển đường xung nhịp chuyển từ mức thấp lên mức cao báo cho tb2 sẵn sàng nhận một bit. Bằng cách “báo trước”
BÁO CÁO MƠN HỆ THỐNG NHÚNG GIAO TIẾP MÁY TÍNH NHẬN CHUỖI KÍ TỰ VÀ LÀM SÁNG LED ĐƠN KHI GỬI VÀ THIẾT KẾ GIAO TIÊĨ MÁY TÍNH VỚI 8051 ĐIỀU KHIỂN 8LED ĐƠN (full demo, slide file zip) NHÓM : NGUYỄN HỮU VIỆT (nhóm trưởng) TRẦN ANH KHOA LÝ THANH BẢO NGUYỄN THỊ HUỆ Mục Lục Chương I: Cơ sở truyền thông Giới thiệu truyền thông liệu Truyền thông liệu trao đổi dư liệu giao thiết bị với nhau, thiêt bị truyền thiết bị khác nhận dư liệu Có hai phương pháp để truyền liệu truyền theo hình thức liệu song song truyền theo hình thức nối tiếp - Truyền thơng dư liệu song song (Parallel Transmission) phương pháp truyền dư liệu nhiều đường dây lúc để truyền dư liệu để thực truyền nhiều bit dư liệu đơn vi thời gian Đặc điểm truyền thông song song: + Truyền dư liệu giửa thiết bị khoảng cách gần + Truyền dư nhiều bit dư liệu dơn vị thời gian + Để truyền n bit, n dây đường sử dụng Vì bit có đường riêng + Tất n bit nhóm truyền với xung đồng hồ từ thiết bị khác, nghĩa nhiều bit gửi với xung đồng hồ - Truyền thông dư liệu nối tiếp (Serial Transmission) đường liệu dùng thay cho nhiều đường liệu đơn vi thời gian Đặc điểm truyền thông nối tiếp: + Nó u cầu đường dây truyền thơng thay n đường truyền liệu từ thiêt bị gửi đến thiết bị nhận + Tất bit liệu truyền dòng thời trang nối tiếp + Chỉ có bit gửi với xung đồng hồ Các Cơ sở truyền thông nối tiếp Truyền thông nối tiếp đường liệu dùng thay cho nhiều đường liệu Thường sử dụng để truyền dư liệu khoảng cách xa, giảm giá thành chi phi so với truyền thông song song, thông thường để truyền dư liệu thiết bị chuyển đổi chuyển đổi liệu song song sang liệu nối tiếp phía người gửi để truyền qua dòng, bên nhận, liệu nối tiếp nhận lần chuyển đổi sang dạng song song để mạch khoảng cách máy tính chấp nhận Có loại truyền thơng nối tiếp là: truyền thông nối tiếp dồng truyền thông nối tiếp bất đồng - Truyền thông nối tiếp đồng “đồng bộ” để “báo trước” q trình truyền Lấy ví dụ thiết bị (tb1) kết với với thiết bị (tb2) đường, đường liệu đường xung nhịp Cứ lần tb1 muốn send bit liệu, tb1 điều khiển đường xung nhịp chuyển từ mức thấp lên mức cao báo cho tb2 sẵn sàng nhận bit Bằng cách “báo trước” tất bit liệu truyền/nhận dễ dàng với “rủi ro” q trình truyền Tuy nhiên, cách truyền địi hỏi đường truyền cho q trình (send or receive) Giao tiếp máy tính bàn phím (trừ bàn phím kết nối theo chuẩn USB) ví dụ cách truyền thơng nối tiếp đồng - Khác với cách truyền đồng bộ, truyền thông “không đồng bộ” cần đường truyền cho q trình “Khung liệu” chuẩn hóa thiết bị nên không cần đường xung nhịp báo trước liệu đến Ví dụ thiết bị giao tiếp với theo phương pháp này, chúng thỏa thuận với 1ms có bit liệu truyền đến, thiết bị nhận cần kiểm tra đọc đường truyền mili-giây để đọc bit liệu sau kết hợp chúng lại thành liệu có ý nghĩa Truyền thơng nối tiếp khơng đồng hiệu truyền thông đồng (không cần nhiều lines truyền) Tuy nhiên, để trình truyền thành cơng việc tn thủ tiêu chuẩn truyền quan trọng Chúng ta bắt đầu tìm hiểu khái niệm quan trọng phương pháp truyền thông Các khái niệm truyền thông nối tiếp không đồng 3.1 Baud rate (tốc độ Baud) Để việc truyền nhận không đồng xảy thành cơng thiết bị tham gia phải “thống nhất” với khoảng thời gian dành cho bit truyền, hay nói cách khác tốc độ truyền phải cài đặt trước, tốc độ gọi tốc độ Baud Theo định nghĩa, tốc độ baud số bit truyền giây Ví dụ: tốc độ baud đặt 19200 thời gian dành cho bit truyền 1/19200 ~ 52.083us 3.2 Frame (khung truyền) Dữ liệu vào đầu thu đường liệu truyền liệu nối tiếp dãy số 1, khó để hiểu ý nghĩa liệu bên phát bên thu không thống tập luật, thủ tục, cách liệu đóng gói, bit tạo nên ký tự liệu bắt đầu kết thúc Bên cạnh tốc độ baud, khung truyền yếu tố quan trọng tạo nên thành công truyền nhận Khung truyền bao gồm quy định số bit lần truyền, bit “báo” bit Start bit Stop, bit kiểm tra Parity, số lượng bit data quy định khung truyền Hình ví dụ khung truyền UART (truyền thông nối tiếp không đồng bộ): khung truyền bắt đầu 01 start bit, 08 bit data, sau 01 bit parity dùng kiểm tra liệu cuối 02 bits stop Công việc gọi đóng gói liệu Chúng ta vào tìm hiểu thành phần có khung truyền: Ø Start bit Start bit truyền frame truyền, bit có chức báo cho thiết bị nhận biết có gói liệu truyền tới Start bit bắt buộcphải có khung truyền, bit thấp (0) Ø Data (dữ liệu) Data hay liệu cần truyền thơng tin mà cần gởi nhận Data khơng thiết phải gói bit, với 8051 ta quy định số lượng bit data 08 09 bit Trong truyền thơng nối tiếp UART, bit có trọng số nhỏ (LSB - Least Significant Bit, bit bên phải) data truyền trước cuối bit có trọng số lớn (MSB - Most Significant Bit, bit bên trái) Ø Parity bit Parity bit dùng để kiểm tra liệu truyền có khơng (một cách tương đối) Có loại parity parity chẵn (even parity) parity lẻ (odd parity) Parity chẵn nghĩa số lượng số “1” liệu bao gồm bit parity số chẵn Ngược lại tổng số lượng số “1” parity lẻ số lẻ Ví dụ: liệu bạn 10111011 nhị phân, có tất số “1” liệu này, quy định parity chẵn dùng, bit parity mang giá trị để đảm bảo tổng số “1” số chẵn (6 số 1) Nếu parity lẻ yêu cầu giá trị parity bit Sau truyền chuỗi liệu kèm theo bit parity trên, bên nhận thu kiểm tra lại tổng số số “1” (bao gồm bit parity), vi phạm quy định parity đặt trước ta khẳng định liệu nhận sai, cịn khơng vi phạm khơng khẳng định điều (mang tính tương đối) Hình mơ tả ví dụ với parity chẵn sử dụng Parity bit bit bắt buộc loại bit khỏi khung truyền Ø Stop bits Stop Quan trọng chế độ nối tiếp cho phép tốc độ baud thay đổi thiết lập Timer1 8051 Ø Bit SM2 Bit SM2 bit D5 ghi SCON Bit cho phép khả đa xử lý 8051 Đối với ứng dụng chúng ta, đặt SM2 = ta khơng sử dụng 8051 môi trường đa xử lý Ø Bit REN REN (Receive Enable) bit cho phép nhận (bit D4 ghi SCON) Khi bitREN cao cho phép 8051 nhận liệu chân RxD Và kết ta muốn 8051 vừa truyền vừa nhận liệu bit REN phải đặt lên Bit dùng để khống chế việc nhận liệu nối tiếp bit quan trọng ghi SCON Ø Bit TB8 RB8 Bit TB8 RB8 dùng chế độ nối tiếp Ta đặt TB8=0 RB8=0vì khơng sử dụng ứng dụng Nói thêm, chế độ có bit liệu truyền nhận BitTB8 chứa bit liệu thứ truyền, bit RB8 chứa bit liệu thứ nhận, chế độ nối tiếp bit RB8 nhận bit Stop liệu bit nhận, ta không cần quan tâmJ Ø Các bit TI RI Các bit ngắt truyền TI ngắt nhận RI bit D1 D0 ghi SCON Các bit quan trọng ghi SCON: · Khi 8051 kết thúc truyền ký tự bit bật TI để báo sẵn sàng truyền byte khác Bit TI bật lên trước bit Stop · Khi 8051 nhận liệu nối tiếp qua chân RxD tách bit Start Stop để lấy bit liệu để đặt vào SBUF, sau hồn tất bật cờ RI để báo nhận xong byte cần phải lấy kẻo liệu bị Cờ RIđược bật tách bit Stop b Thanh ghi SBUF SBUF ghi bit dùng riêng cho truyền thông nối tiếp 8051 SBUF sử dụng để chứa liệu truyền nhận dũ liệu c Mô tả truyền nhận dư liệu với ghi SBUF Thanh ghi IE Thanh ghi IE dùng phép hay cấm ngắt hoạt động Mặc định khởi động chương trình tất ngắt bị cấm Chức bit ghi IE cho bảng sau: EX0: Cho phép (EX0 = 1) cấm (EX0 = 0) ngắt ET0: Cho phép (ET0 = 1) cấm (ET0 = 0) ngắt timer EX1: Cho phép (EX1 = 1) cấm (EX1 = 0) ngắt ET1: Cho phép (ET1 = 1) cấm (ET1 = 0) ngắt timer ES: Cho phép (ES = 1) cấm (ES = 0) ngắt cổng nối tiếp ET2: Cho phép (ET2 = 1) cấm (ET2 = 0) ngắt timer EA: Cho phép (EA = 1) cấm (EA = 0) ngắt toàn cục d Thanh ghi TCON Thanh ghi TCON ghi có chứa bit điều khiển hoạt động timer, bit cờ báo tràn timer, bit cấu hình ngắt kích phát mưc/kich phát sườn sử dụng cho ngắt Thanh ghi TCON TF1: Cờ báo tràn timer Được set lên timer tràn xóa phần cứng chương trình nhày vào trình phục vụ ngắt (chương trình ngắt) TR1: bit điều khiển hoạt động timer TR1 = 1: timer bắt đầu hoạt động, TR1 = 0: Dừng timer TF0: Tương tự TF1, sử dụng cho timer TR0: Tương tự TR1, sử dụng cho timer IE1: Cờ ngắt ngồi kích phát sườn, set lên phát có sườn xuống ngắt ngồi, xóa ngắt xử lý IT1: Bit điều khiển kiểu ngắt ngồi Có kiểu ngắt ngồi ngắt kích phát mức ngắt kích phát sườn Bit IT1 sử dụng để chọn kiểu ngắt cho ngắt Khi IT1 = 0, ngắt ngắt kích phát mức, ngược lại IT1 = 1, ngắt ngồi ngắt kích phát sườn IE0: Tương tự IE1 sử dụng cho ngắt IT0: Tương tự IT1nhưng sử dụng cho ngắt Chuẩn giao tiếp RS232 Để cho phép tương thích thiết bị truyền thông liệu sản xuất hãng khác chuẩn giao diện gọi RS232 thiết lập hiệp hội công nghiệp điện tử EIA vào năm 19960 Năm 1963 sửa chỉnh gọi RS232A vào năm 1965 1969 đổi thành RS232B RS232C đơn giản hiểu RS232 Ngày RS232 chuẩn giao diện I/O vào - nối tiếp sử dụng rộng rãi Chuẩn sử dụng máy tính PC hàng loạt thiết bị khác Ø Các chân cổng RS232 Hinh Dưới sơ đồ chân cáp RS232 chúng thường gọi đầu nối DB - 25 Trong lý hiệu đầu nối cắm vào (đầu đực) gọi DB - 25p đầu nối gọi DB - 25s Đầu nối DB - 25 RS232 Vì khơng phải tất chân cổng RS232 sử dụng cáp máy tính PC, nên IBM đưa phiên chuẩn vào/ra nối tiếp sử dụng có chân gọi DB - trình bày bảng hình Đầu nối DB - RS232 Các tín hiệu chân đầu nối DB - máy tính Ghép nối tiếp 8051 với RS232 Chuẩn RS232 thiết lập trước họ logic TTL lâu điện áp đầu vào đầu khơng tương thích với mức TTL Trong RS232 mức logic biểu diển từ điện áp - 3v đến -25v mức ứng với điện áp + 3v đến +25v làm cho điện áp - 3v đến + 3v khơng xác định Vì lý để kết nối chuẩn RS232 đến hệ vi điều khiển 8051 ta phải sử dụng biến đổi điện áp (nhưMAX232) để chuyển đổi mức điện áp RS232 mức điện áp TTL chấp nhận chân TxD RxD 8051 ngược lại Các IC MAX232 nhìn chung coi điều khiển đường truyền Một điểm mạnh IC MAX232 dùng điện áp nguồn +5v với điện áp nguồn 8051 Hay nói cách khác ta ni 8051 MAX232 với nguồn +5v, mà dùng hai nguồn ni khác IC MAX232 có hai điều khiển đường truyền để nhận truyền liệu trình bày hình Các điều khiển dùng cho chân TxD gọi T1 T2, cho chân RxD gọi R1 R2 Trong nhiều ứng dụng có cặp dùng Ví dụ: hình ta dùng đến T2 R2 dùng làm cặp với TxD RxD 8051, cặp R1 T1 khơng cần đến Để ý IC MAX232, T1 có gán T1in (chân T1out (chân 14): · Chân T1in phía TTL nối tới chân RxD vi khiển · Chân T1out phía RS232 nối tới chân RxD nối DB củaRS232 đối 11) điều đầu Bộ điều khiển R1 có gán R1in (chân 13) R1out (chân 12): · Chân R1in (chân số 13) phía RS232 nối tới chân TxD đầu nốiDB RS232 · Chân R1out (chân số 12) phía TTL nối tới chân RxD vi điều khiển MAX232 Sơ đồ nối ghép 8051 -Max232 - cổng COM DB-9 Thuyêt lập truyền thông 8051 với máy tính 4.1 Thiết lập tốc độ baud 8051 Một chế độ cổng nối tiếp cấu hình, việc chương trình cần phải cấu hình tốc độ baud cho cổng nối tiếp Điều áp dụng cho chế độ Serial Port Còn chế độ 2, tốc độ truyền xác định dựa tần số dao động thạch anh: Ø Trong chế độ 0: tốc độ truyền luôn tần số dao động chia cho 12 Điều có nghĩa bạn sử dụng thạch anh tần số 11.059Mhz, tốc độ truyền chế độ0 luôn 921.583 baud Trong chế độ 2: tốc độ truyền luôn tần số dao động chia cho 64, đó, với thạch anh tần số 11.059Mhz mang lại tốc độ truyền 172.797 baud Ø Trong chế độ 3: tốc độ truyền xác định cách cài đặt Timer1 Phương pháp phổ biến cài đặt Timer1 chế độ tự động nạp lại 8-bit (chế độ 2) thiết lập giá trị nạp lại (cho TH1) để tạo tốc độ truyền Như ta biết trước đây, 8051 chia tần số thạch anh cho 12 để lấy tần số chu kỳ máy Bộ UART truyền thông nối tiếp 8051 lại chia tần số chu kỳ máy cho 32một lần trước dùng định thời Timer1 để tạo tốc độ baud: Tần số truyền thông nối tiếp UART 4.2 Nhân đôi tốc độ baud 8051 Có hai cách để tăng tốc độ baud truyền liệu 8051: Sử dụng tần số thạch anh cao Thay đổi bit ghi điều khiển công suất PCON (Power Control) Thanh ghi PCON Phương án khơng khả thi nhiều trường hợp tần số thạch anh hệ thống cố định Do vậy, ta tập trung thăm dò phương án 2: nhân đôi tốc độ baud phần mềm 8051 với tần số thạch anh không đổi Điều thực nhờ ghi PCON, ghi bit Trong bit có số bit không dùng để điều khiển công suất 8051 Bit dành cho truyền thông nối tiếp bit D7 (bitSMOD) Khi 8051 bật nguồn bit SMOD ghi PCON mức thấp (0) Chúng ta đặt lên phần mềm nhân đôi tốc độ baud Tại có điều đó? Ta làm rõ tiếp: Ø Khi SMOD = Khi SMOD = 8051 chia 1/12 tần số thạch anh cho 32 sử dụng cho bộTimer1 để thiết lập tốc độ baud Đây giá trị mặc định SMOD 8051 bật nguồn Ø Khi SMOD = Khi SMOD = 8051 chia 1/12 tần số thạch anh cho 16 (thay chia cho 32như SMOD = 0) tần số Timer1 dùng để thiết lập tốc độ baud Để xác định giá trị cài đặt TH1 để tạo tốc độ baud định, sử dụng phương trình sau (giả sử bit PCON.7=0): TH1 = 256 - ((Crystal / (12*32)) / Baud) = 256 - ((Crystal / 384) / Baud) (1) Nếu PCON.7=1 tốc độ truyền tăng gấp đơi, phương trình trở thành: TH1 = 256 - ((2*Crystal / (12*32)) / Baud) = 256 - ((Crystal / 192) / Baud) (2) Chương 3: Demo mạch truyền thơng 8051 với máy tính Phầm mềm sử dụng 1.1 Phần mềm Virtual Serial Port Drive - Tạo cổng nối tiếp ảo Virtual Serial Port Driver phần mềm hữu hiệu để tạo cổng nối tiếp ảo kết nối chúng theo cặp thông qua dây cáp null-modem ảo Các ứng dụng hai đầu cặp trao đổi liệu cho Khi đó, liệu ghi cổng xuất cổng thứ hai ngược lại Tất cổng nối tiếp ảo hoạt động xác cổng thực, mô thiết lập chúng Do đó, bạn tạo cặp cổng ảo theo ý muốn mà không cần phải sử dụng phần cứng bổ sung Giao diên phần mềm VSP 1.2 Phềm mềm gửi nhận thông tin Phầm mềm viết java dể phù hợp với với demo Giao diện phầm mềm Thiết Kê mạch Proteus - Mạch gửi tin lên máy tính: - Mạch nhận tin diều khiển Led đơn: Thiêt lập truyền thông 8051 - Tốc độ 19200 baud - Thạch anh 11.059Mhz - Chế độ truyền - Công thức sử dụng tính - TH1 = 256 - ((2*Crystal / (12*32)) / Baud) = 256 - ((Crystal / 192) / Baud) = 253 Thuyết lập ghi TMOD=0x20; //Chọn Timer1, chế độ TH1=0xFD; //Cài đặt tốc độ 9600 baud SCON=0x50; //: Chọn chế độ 1, Cho phép nhận ... 2 Giao diên phần mềm VSP 1.2 Phềm mềm gửi nhận thông tin Phầm mềm viết java dể phù hợp với với demo Giao diện phầm mềm Thiết Kê mạch Proteus - Mạch gửi tin lên máy tính: - Mạch nhận tin diều khi? ??n... cho phép nhận (bit D4 ghi SCON) Khi bitREN cao cho phép 8051 nhận liệu chân RxD Và kết ta muốn 8051 vừa truyền vừa nhận liệu bit REN phải đặt lên Bit dùng để khống chế việc nhận liệu nối tiếp bit... tới chân RxD vi điều khi? ??n MAX232 Sơ đồ nối ghép 8051 -Max232 - cổng COM DB-9 Thuyêt lập truyền thơng 8051 với máy tính 4.1 Thiết lập tốc độ baud 8051 Một chế độ cổng nối tiếp cấu hình, việc chương