Khoá luận tốt nghiệp với đề tài XÂY DỰNG CHƯƠNG TRÌNH NHẬN DỮ LIỆU TỪ MÁY NOVASPEC II VÀO MÁY TÍNH VÀ XỬ LÝ DỮ LIỆU nhằm bước đầu tìm hiểu về sự ghép nối thiết bị mà cụ thể là máy so mà
Trang 1Tóm tắt luận văn
Các vấn đề nghiên cứu:
Sự hấp thu ánh sáng và đo sụ hấp thụ ánh sáng bằng máy NoVaSpec II
Khảo sát sự phụ thuộc của độ hấp thu ánh sáng của dung dịch với bướcsóng ánh sáng hấp thụ và nồng độ dung dịch
Ghép nối các thiết bị đo lường với máy tính thông qua cổng RS232C
Chương trình giao tiếp qua cổng nối tiếp của ngôn ngữ Matlab
Xây dựng chương trình nhận và xử lý dữ liệu từ máy NovaSpec II, bằngngôn ngữ Matlab
Các kết quả:
Xây dựng được chương trình hỗ trợ bài thí nghiệm vật lý đại cương “Đo
độ hấp thu ánh sáng” thông qua giao tiếp với máy NoVaSpec II
Thu thập và xử lý được các kết quả thí nghiệm
Trang 2đã tạo nên những thành tựu to lớn trong nhiều lĩnh vực khoa học kĩ thuật.
Có thể xem Công nghệ tự động, và Công nghệ phân tích là hai ví dụ điển hình
Nói về công nghệ phân tích, không thể không nhắc đến Phân tích quang phổ Phân tích thành phần hoá học của các thiên thạch xa hàng nghìn hàng triệu năm ánh sáng hay phân tích thành phần hoá học của ADN, đơn
vị cấu trúc của protein, chỉ nhỏ cỡ phần tỉ centimet có thể đạt được là nhờ vào việc Phân tích quang phổ của các mẫu chất đó Sẽ rất khó khăn nếu
ta ngồi hàng giờ, hàng ngày, thậm chí hàng tháng để thu thập các kết quả phân tích và xử lý bằng tay những con số cực kì phức tạp Kết nối các thiết
bị phân tích với máy tính đã góp phần tăng mức độ tự động hoá trong việc thu thập và xử lý các dữ liệu, kể cả việc lập bảng thống kê cũng như in ra kết quả Lợi ích mang đến không chỉ trong việc nghiên cứu khoa học mà còn ứng dụng hiệu quả trong sản xuất( ví dụ trong công nghệ thực phẩm ) Khoá luận tốt nghiệp với đề tài XÂY DỰNG CHƯƠNG TRÌNH NHẬN DỮ LIỆU TỪ MÁY NOVASPEC II VÀO MÁY TÍNH VÀ XỬ LÝ DỮ LIỆU nhằm bước đầu tìm hiểu về sự ghép nối thiết bị ( mà cụ thể là máy so màu NovaSpec II ) với máy tính thông qua cổng RS232, cũng như khảo sát về
sự hấp thu ánh sáng của dung dịch, từ đó đi sâu hơn vào ứng dụng thực tiễn
Trang 3PHẦN I: CƠ SỞ LÝ THUYẾT
Chương 1: Sự hấp thu ánh sáng
I Các hiện tượng
1 Hiện tượng hấp thu ánh sáng
Khi một chùm sáng chiếu vào một dung dịch thì có ba hiện tượng xảyra:
Một phần ánh sáng truyền qua dung dịch
Vậy màu của vật và màu mà nó hấp thu mạnh là hai màu hỗ bổ nhưsau:
Trang 4k: hệ số hấp thụ
d: bề dầy lớp dung dịch hấp thụ, thường tính bằng centimét (cm)
e: cơ số logarit tự nhiên
Trang 5dA ds : thể tích của vật mà chùm bức xạ xuyên qua.
I dA d : năng lượng tới
I(r, , ) : cường độ tính theo erg cm-2 sterradian-1 s-1.
J : độ truyền qua tính theo erg cm-3 s-1 sterradian-1
Suy ra định luật Lambert:
2 Định luật Beer
Trang 6Định luật Beer chỉ áp dụng trong các điều kiện sau:
Ánh sáng đi qua dung dịch phải là ánh sáng đơn sắc, vì hệ số tắt εthay đổi theo bước sóng Để định luật có thể áp dụng ta chọn bướcsóng λ cực đại của đường cong hấp thụ hoặc nằm ở khoảng nằmngang của đường cong đó (Hình 1)
Nồng độ của chất trong dung dịch màu không quá lớn
Dung dịch không phải là dung dịch huỳnh quang hoặc huyền phù
Định luật Beer không còn đúng nữa khi cân bằng hoá học bị dịchchuyển mạnh do pha loãng (Hình 2)
Trang 83 Định luật Lambert-Beer
Từ định luật Beer, định luật Lambert trở thành:
Người ta thường viết hệ thức trên dưới dạng:
Công thức này thường được biết dưới tên định luật Lambert-Beer.
Trong đó:
ε gọi là hệ số tắt, phụ thuộc vào bản chất chất hấp thụ, vào bước sóngánh sáng đi qua, vào nhiệt độ và về nguyên tắc không phụ thuộc vàodung môi
Nếu nồng độ C biểu thị bằng số gam trong 1 lít dung dịch thì giá trị εtương ứng gọi là hệ số tắt riêng
Nếu C biểu thị số ion gam hoặc phân tử gam trong 1 lít dung dịch thì εgọi là hệ số tắt phân tử
Độ truyền qua T (Transmit): là tỷ số giữa cường độ chiếu sáng ló ra vàcường độ ánh sáng ban đầu T thường được biểu diễn theo phần trăm
Mật độ quang hay độ hấp thu (độ tắt), ký hiệu là D hay A (Absort): làlogarit nghịch đảo của đại lượng T
Ta thấy mật độ quang D tỷ lệ với nồng độ chất trong dung dịch
Nếu độ truyền qua T = 100% thì độ hấp thu D = 0
Nếu độ truyền qua T = 0 thì độ hấp thu là cực đại Dmax = 2
Trang 9Người ta thường ứng dụng định luật Lambert – Beer để đo độ truyềnqua T hay độ hấp thụ D của một dung dịch.
Chương 2: Bài thí nghiệm về đo dộ hấp thu ánh sáng trên
máy NoVaSpecII
Trang 10I MỤC ĐÍCH
Mục đích của bài thí nghiệm nhằm giúp sinh viên hiểu rõ bản chất vật lýcủa hiện hấp thụ ánh sáng, mà cụ thể là:
Mỗi dung dịch hấp thu cực đại tại mỗi bươc sóng khác nhau
Độ hấp thụ ánh sáng phụ thuộc vào nồng độ của dung dịch hấp thụ
II BÀI THÍ NGHIỆM
1 Máy quang phổ (so màu) NoVaSpec II
Máy quang phổ được dùng trong khoá luận này là máy digitalNoVaSpec II, cho phép sử dụng bước sóng liên tục Kết quả đo độ hấpthu hay độ truyền suốt được hiển thị ngay trên máy, với sai số0.001nm
Máy có cổng giao tiếp nối tiếp RS-232C cho phép ghép nối với máy inhay máy tính có cổng nối tiếp tương ứng
a Nguyên tắc hoạt động của máy
Dựa vào các định luật về sự hấp thụ ánh sáng trên, mà cụ thể là ba địnhluật: Định luật Lambert, Định luật Beer, Định luật Lambert-Beer, cácnhà khoa học đã xây dựng nên các nguyên tắc hoạt động cho các máy
đo độ hấp thụ ánh sáng nói chung, và máy NoVaSpec II nói riêng
Trang 11Tế bào quang điện cho phép so sánh những cường độ sáng không bằngnhau và không cần thiết tiến hành đo chúng cùng một lúc.
Máy so màu sử dụng đo là loại máy một chùm tia, có thể dùng điện kế
để chỉnh 0, khi thay cường độ bức xạ I0 bằng cường độ I, sự tụt thế củadòng sinh ra bởi tế bào quang điện sẽ thay đổi ở điện trở nào đó, có mộtđiện kế phụ điều chỉnh kim điện kế về vị trí ban đầu, sự chuyển độngcủa điện kế gắn liền với sự chuyển dịch thang chia độ trên đó sẽ đọcđược kết quả đo
b Cấu trúc
Máy được phân tích thành bốn vùng:
Vùng chứa nguồn bức xạ:
Nguồn bức xạ là đèn đốt nóng bằng bản Tungsten có thể phát ra cácbức xạ có bước sóng từ 325nm đến 900nm Nguồn bức xạ này phải ổnđịnh vì nếu điện thế cao làm cho dòng điện qua đèn thay đổi, nhiệt độbản Tungsten cũng thay đổi, dẫn đến cường độ các bức xạ và thànhphần quang phổ của chúng cũng thay đổi theo Do đó nguồn dùng chođèn phải được ổn định
Vùng chứa cách tử:
Vùng chứa cách tử để phân tích ánh đèn Tungsen thành ánh sáng đơnsắc
Vùng chứa mẫu đo:
Ánh sáng đơn sắc sẽ đi qua curvet chứa mẫu đo Khi xác định mật độquang D theo nồng độ C của dung dịch, độ nhạy của phép đo được xácđịnh bởi giá trị
Trang 12Độ nhạy tăng khi ε tăng ( chọn thuốc thử và bước sóng ) và tăng bề dầy
Hệ số kλ phụ thuộc vào bước sóng ánh sáng
Người ta thường sử dụng hai tế bào quang điện Selen và tế bào quangđiện chân không
Kết quả đo được sẽ hiển thị trên máy
c Các thành phần
Tế bào quang điện:
Tế bào quang điện biến ánh sáng đập lên chúng thành dòng điện giữacường độ ánh sáng và cường độ dòng điện sinh ra trong tế bào quangđiện có sự phụ thuộc tuyến tính I = kλi, hệ số kλ phụ thuộc độ dài sóng
λ Tế bào quang điện có thể làm tăng cường độ dòng điện nên đượcdùng khi cường độ ánh sáng bị yếu (ánh sáng đi qua máy đơn sắc), độnhạy của tế bào thay đổi theo độ dài ánh sáng Trong điều kiện tốt nhất,
tế bào có độ lập lại tới 0.03%
Các lọc sáng:
Bằng thuỷ tinh màu hoặc màng gelatin, bề rộng của dải ánh sáng đi quathường vượt quá 20μm
Trang 13Đường cong hấp thụ của lọc sáng bị dịch chuyển và biến đổi theo nhiệt
độ, do đó thành phần quang phổ của bức xạ đi qua lọc sáng phụ thuộcvào nhiệt độ
Các lọc sáng giao thoa cho những dải bức xạ hẹp hơn đi qua
Máy đơn sắc:
Để có những dải bức xạ hẹp hơn, thay vì dùng máy đơn sắc lăng kính,máy Novaspec II dùng cách tử nhiễu xạ cho bức xạ đi qua một khe rấthẹp, cỡ 1μm
Máy khuếch đại quang:
Có thể làm tăng dòng sinh ra trong tế bào quang điện (tỉ lệ với cường
độ bức xạ), và như thế làm tăng độ nhạy của máy
2 Chuẩn bị
a Trên máy:
Cắm dây nối vào nguồn điện 220V
Bật công tắc phía bên trái, sau máy về vị trí ON’
Trong khi chờ khoảng 15 phút cho máy đạt đến trạng thái ổn định, tiếnhành pha loãng dung dịch
b Pha loãng dung dịch:
Dùng ống đong có chia vạch 10ml để pha loãng Trên giá ống nghiệm,các dung dịch đặt theo thứ tự:
Trang 14Nước hoặc dung dịch màu chứa khoảng ½ curvet ngang chỗ thắt eo.
Mở nắp ngăn chứa curvet
Mặt curvet (phía trên có dấu ) hướng về người làm thí nghiệm, từ tưthế này đưa curvet vào máy
Chú ý:
Không được đặt các curvet lên mặt máy
Đèn led phải sáng ở vị trí ABS (Absort)
Đo khoảng 15 – 20 phút rồi tắt máy ngay
Trang 15Ứng với mỗi bước sóng λ, đo 3 lần mật độ quang D.
Từ đường biểu diễn D = f(λ) ở trên, xác định λmax = nm
Tại bước sóng này, tiến hành đo mật độ quang D của các dung dịch C0;0.8C0; 0.6C0; 0.4C0; 0.2C0
Đo mật độ quang Dx của dung dịch Cx có tại phòng thí nghiệm
Trang 16Có một số nguyên nhân sai số làm hạn chế độ chính xác của phươngpháp, đặc biệt nếu trong máy không có máy đơn sắc để tạo các bướcsóng liên tục
Nếu trong máy hấp thụ có máy đơn sắc cũng gây ra một số phức tạp vìdải độ dài sóng của chùm sáng càng hẹp thì cường độ của nó càng nhỏ,
do đó cần tăng cường độ dòng trong tế bào quang điện
Chương 3: RS-232C
I Tổng quan về giao tiếp với máy tính
Trang 171 Các cổng máy tính
Ngày nay, một máy tính có thể có rất nhiều cổng giao tiếp, từ nhữngcổng lâu đời như cổng COM, hay các cổng hiện đại như cổng hồngngoại, v.v Nhưng xét về phương thức truyền, có thể chia ra làm 2 loạicổng chính: cổng nối tiếp và cổng song song
Tất cả các máy tính tương thích thuộc họ IBM được trang bị hai cổngnối tiếp và một cổng song song Mặc dù hai loại cổng này đều đượcdùng để giao tiếp với các thiết bị ngoại vi, nhưng chúng hoạt động theonhững cách khác nhau
Cổng song song:
Một cổng song song gởi và nhận dữ liệu 8 bit cùng lúc qua tám đườngdây riêng biệt Điều này cho phép dữ liệu được truyền đi rất nhanh; tuynhiên, đòi hỏi cáp lớn hơn bởi lượng dây riêng mà nó chứa
Cổng song song được dùng chủ yếu để nối một máy tính cá nhân vớimột máy in và hiếm khi sử dụng cho các mục đích khác
Cổng nối tiếp:
Một cổng nối tiếp gởi và nhận dữ liệu theo từng bit một qua một đườngdây điện Theo cách này phải mất tám lần để truyền một byte dữ liệu,nhưng chỉ đòi hỏi một số ít dây Thực tế, giao tiếp nối tiếp theo haichiều có thể thực hiện chỉ với ba dây riêng biệt - một để gởi, một đểnhận, và một nối đất cho tín hiệu chung
2 Giao tiếp nối tiếp
Là giao thức ở mức thấp phổ biến nhất cho việc giao tiếp giữa hai haynhiều thiết bị Bình thường, một thiết bị là một máy tính, thiết bị kia cóthể là một modem, một máy in, máy tính khác hay một thiết bị khoa
Trang 18học như một máy dao động nghiệm hay một máy chức năng Như têngọi, cổng nối tiếp gởi và nhận các byte thông tin theo kiểu nối tiếp -mỗi lần một bit Các byte này được truyền dưới dạng nhị phân haydạng text.
Giao tiếp hai chiều
Cổng nối tiếp trên máy tính là một thiết bị hai chiều, có thể gởi và nhận
dữ liệu cùng một lúc Để có thể làm được điều này, nó sử dụng nhữngđường truyền riêng biệt cho việc truyền và nhận dữ liệu Một vài loạithiết bị nối tiếp chỉ hỗ trợ giao tiếp một chiều và vì vậy chỉ sử dụng haidây trong cáp – dây truyền và dây nối đất
Giao tiếp theo bit
Khi bit start được gởi, máy truyền gởi các bit dữ liệu hiện thời đi Cóthể là 5, 6, 7, hay 8 bit, phụ thuộc vào số bit được chọn Cả máy nhận
và gởi phải chấp nhận số bit dữ liệu, cũng như tốc độ baud Hầu hết cácthiết bị truyền dữ liệu đều sử dụng 7 hay 8 bit dữ liệu
Khi chỉ 7 bit dữ liệu được sử dụng, không thể gởi mã ASCII có giá trịlớn hơn 127 Tương tự, khi dùng 5 bit thì giá trị cao nhất có thể là 31.Sau khi dữ liệu được truyền đi, một bit stop được gởi Bit stop có giá trị
là 1 - hay trạng thái đánh dấu - và nó có thể được kiểm tra chính xácthậm chí nếu bit dữ liệu trước đó cũng có giá trị là 1 Điều này đạt đượcbởi thời hạn hiệu lực của bit stop Bit stop có thể là có chu kì với độ dài
1, 1.5 hay 2 bit
Giao tiếp đồng bộ và không đồng bộ
Có hai loại giao tiếp nối tiếp cơ bản, đồng bộ và không đồng bộ Vớigiao tiếp đồng bộ, hai thiết bị, ban đầu đồng bộ hóa chính chúng vớinhau, và tiếp đó gởi các kí tự để giữ ở trạng thái đồng bộ.Thậm chí khi
Trang 19dữ liệu không đang được gởi, một luồng bất biến các bit cho phép mỗithiết bị biết thiết bị kia ở đâu tại một thời điểm cho trước Đó là, mỗi kí
tự được gởi là dữ liệu thực hay một kí tự vu vơ Giao tiếp đồng bộ chophép tốc độ truyền dữ liệu nhanh hơn so với phương pháp không đồng
bộ, bởi các bit thêm vào để đánh dấu sự bắt đầu và kết thúc của mỗibyte dữ liệu là không cần thiết Các cổng trên các PC hệ IBM là cácthiết bị không đồng bộ và vì vậy chỉ hỗ trợ các giao tiếp không đồngbộ
Phương pháp không đồng bộ không cần nhận và gởi các kí tự vô ích.Tuy nhiên, bắt đầu và kết thúc của mỗi byte dữ liệu phải được xác địnhbằng các bit khởi đầu và các bit dừng Bit đầu chỉ ra khi nào byte dữliệu sẵn sàng bắt đầu và bit dừng ra hiệu khi nào nó kết thúc Việc yêucầu phải gởi hai bit thêm vào này làm cho giao tiếp không đồng bộchậm hơn giao tiếp đồng bộ một ít, tuy vậy nó có thuận lợi là bộ xử lýmáy tính không phải chú ý đến các kí tự vô ích thêm vào
Một đường dây không đồng bộ nhàn rỗi được xác định giá trị là 1 ( cònđược gọi là trạng thái đánh dấu ) Bằng cách dùng giá trị này để chỉ rarằng không có dữ liệu nào đang được gởi, các thiết bị có thể phân biệtgiữa một trạng thái nhàn rỗi và một đường dây không được nối kết Khimột kí tự chuẩn bị được truyền, một bit đầu được gởi Một bit đầu cógiá trị là 0 ( được gọi là trạng thái trống ) Vì vậy, khi đường dâychuyển từ giá trị 1 sang giá trị 0, máy nhận được thông báo rằng một kí
tự dữ liệu là sẵn sàng được gởi
3 Các giao diện và truyền thông nối tiếp
Các giao diện và thiết bị truyền thông nối tiếp truyền tín hiệu thông quakết nối điểm-điểm Bit này được truyền sau bit khác trong một dãy nối
Trang 20tiếp Cổng nối tiếp trên PC thường được dùng để kết nối với modem,mặc dù chúng có thể dùng để nối kết với các thiết bị hiển thị, các thiết
bị đầu cuối từ xa hoặc các thiết bị điều khiển từ xa Ngược lại cổngsong song, thường được dùng để nối kết với máy in, có 8 đường dây đểtruyền dữ liệu bit (một byte một lần) song song với nhau Kết nối songsong có tốc độ truyền dữ liệu cao, nhưng khoảng cách bị hạn chế đểtránh vấn đề đồng-bộ-bit
Cổng nối tiếp trên PC thường là cổng 9 chân (DB-9) hoặc 25 chân(DB-25) được gọi là COM1 tới COM4 Phần cổng nối kết trên máytính được gọi là DTE (data terminal equipment) và thiết bị được nốikết, thường là modem, được gọi là DCE (data circuit-terminatingequipment) Khi dữ liệu được truyền trên đường dây nối tiếp, một nốikết thông thường dùng một vài đường dây trên cùng một đường cáp
Dữ liệu được truyền trên một đường dây này và được nhận trên mộtđường dây khác Các chân khác được sử dụng để gửi các tín hiệu điềukhiển như “yêu cầu gửi” và “được phép gửi”
Chuẩn cho giao diện nối tiếp là EIA/TIA-232 (DB-25) và EIA/TIA-574(DB-9) Chuẩn đầu tiên còn được gọi là giao diện nối tiếp RS-232-Cnhưng EIA được đổi tên vào năm 1987 Gần đây nó được thay thế bằngchuẩn nối tiếp tốc độ cao mới là USB (Universal Serial Bus) Các PCđược sản xuất năm 1997 có các cổng USB và chuẩn mới sẽ thay thế cácchuẩn cũ trên PC trong vài năm tới USB được phát triển bởi Intel vàMicrosoft và hiện nay được sản xuất trong board mạch chính(motherboard) của Intel Các công nghệ nối tiếp khác bao gồm Firewire(IEEE 1394), SSA (Serial Storage Architecture), và HSSI (High-SpeedSerial Interface) Vì tốc độ truyền dữ liệu cao, các công nghệ này đang
Trang 21được dùng để nối kết các đĩa hoặc xây dựng các mạng cục bộ dạngnhỏ.
Các loại thiết bị DCE và DTE
DTE: Data Terminal Equipment
DCE: Data Communication Equipment
Hai thuật ngữ trên chỉ định các chân ra cho bộ kết nối lên một thiết bị
và hướng các tín hiệu trên các chân
Máy tính là một thiết bị DTE, các thiết bị khác thường là DCE
Cáp, không modem, và cầu nối
Trong thế giới hoàn hảo, tất cả các cổng nối tiếp trên mỗi máy tính làcác thiết bị DTE với các phích cắm loại 25 chân Tất cả các thiết bịkhác là DCE với các ổ cắm loại 25 chân Điều này cho phép dùng mộtcáp mà mỗi chân trên đầu dây cáp này được nối với chân cùng loại trênđầu dây cáp kia Rất tiếc thế giới không thể hoàn hảo Các cổng nốitiếp dùng cả loại 9 chân và 25 chân, nhiều thiết bị có thể được cấu hìnhDTE hay DCE, và - trong trường hợp nhiều thiết bị thu thập dữ liệu -
có thể dùng hoàn toàn các đầu ra độc quyền hay không chuẩn Do sựthiếu chuẩn hóa này, các loại cáp đặc biệt được gọi là cáp khôngmodem, cầu nối, và các loại cáp đặt hàng thường cần thiết
Cầu nối
Trang 22Vấn đề có thể gặp phải là hai đầu cắm cùng chủng loại cần được nốivới nhau, thì phải dùng các cầu nối
Chú ý: Cổng song song trên máy tính sử dụng đầu cắm 25 chân female
thỉnh thoảng gây nhầm lẫn bởi vì nó trông giống một cổng nối tiếp trừkhi nó có chủng loại nhầm Cả hai cổng nối tiếp 9 chân và 25 chân trên
PC luôn có một đầu cắm male
Cáp không modem và adapter không modem
Nếu nối hai thiết bị DTE ( hay hai thiết bị DCE ) dùng một cáp RS232thường, thì đường truyền trên mỗi thiết bị sẽ được kết nối đến đườngtruyền trên thiết bị kia và các đường nhận sẽ được kết nối theo cách đóvới nhau Một cáp không modem hay adapter không modem đơn giảnbắt qua các đường dây nhận và truyền để truyền trên đầu dây được nốikết để nhận trên đầu dây kia và ngược lại Thêm vào đó, để truyền vànhận, DTR & DSR, cũng như RTS & CTS cũng chéo nhau trong kếtnối không modem
II Chuẩn RS-232C
Giao diện nối tiếp cho việc nối kết hai thiết bị được định rõ bởi chuẩnTIA/EIA-232C được công bố bởi Telecommunications IndustryAssociation
Chuẩn giao diện cổng nối tiếp gốc là RS-232, viết tắt củaRecommended Standard number 232) C là kí hiệu phiên bản củachuẩn này
Thuật ngữ “RS-232” vẫn còn được dùng rộng rãi RS-232 qui định cácđặc tính sau đây của cổng nối tiếp :
Tốc độ truyền bit tối đa và độ dài của cáp
Tên, các tính chất về điện và các chức năng của các tín hiệu
Sự nối kết máy móc và các qui ước về các chân của cổng
Trang 23Các cổng nối tiếp trên hầu hết các máy tính sử dụng một nhóm con củachuẩn RS232C Chuẩn RS232C chỉ qui định tín hiệu cho ổ cắm 25chân trong đó 22 chân được dùng Hầu hết các chân này không cần chogiao tiếp máy tính thông thường, do vậy, các máy tính PC mới nhấtđược trang bị với loại ổ cắm chỉ 9 chân.
Chuẩn RS-232 qui định thiết bị DTE dùng đầu cắm 25 chân, và thiết bịDCE dùng ổ cắm 25 chân Vì vậy có thể nối một thiết bị DTE với thiết
bị DCE dùng một kết nối thẳng giữa các chân Tuy vậy, để kết nối 2thiết bị, phải dùng thay thế một cáp modem rỗng Các cáp này nối vớicác dây truyền và nhận trong cáp Bảng sau đây chỉ ra cách kết nối vàhướng tín hiệu cho cả hai loại ổ cắm 25 chân và 9 chân
1 Độ dài cáp
Chuẩn RS-232C qui định giới hạn độ dài cáp là 15.24m Thường cóthể phớt lờ chuẩn này, bởi một cáp có thể dài đến 3048m với tốc độbaud lên đến 19200 nếu dùng loại cáp được bọc kĩ, chất lượng cao Môitrường bên ngoài tác động lớn đến độ dài của những cáp không đượcche chắn tốt Trong môi trường nhiễm điện, thậm chí các cáp rất ngắn
có thể nhận các tín hiệu lệch hướng
Bảng dưới đây cung cấp một số thông số hợp lí cho lõi tiêu chuẩn 24dưới các điều kiện điển hình Có thể tăng độ dài cáp bằng việc sử dụngcác thiết bị thêm vào như các thiết bị cách li quang học và máy tăng thếtín hiệu Các thiết bị cách li quang học sử dụng LEDS và Photo Doides
13
2514
Trang 24để tách biệt mỗi đường dây trong mỗi cáp nối tiếp bao gồm cả dây nốiđất Bất cứ sự tạp nhiễu điện nào cũng ảnh hưởng đến tất cả các dâytrong cáp được cách li quang học Điều này tạo cho điện thế trên cácđường dây tín hiệu liên hệ với đường dây nối đất để phản ánh điện thếthực của tín hiệu và như vậy loại bỏ được ảnh hưởng của bất kì tín hiệutạp nhiễu nào.
Baud Rate
Độ dài ( cáp được bọc kĩ)
Độ dài (cáp không được bọc kĩ)
2 Các đặc điểm kỹ thuật về điện của RS-232C
Mức điện áp logic của RS232C là khoảng điện áp giữa +15V và -15V.Các đường dữ liệu sử dụng mức logic âm: logic 1 có điện thế giữa -5V
và -15V, logic 0 có điện thế giữa +5V và 15V, tuy nhiên các đườngđiều khiển (ngoại trừ đường TDATA và RDATA) sử dụng logicdương: giá trị TRUE = +5V đến +15V, và FALSE = -5V đến -15V
Ở chuẩn giao tiếp này, giữa ngõ ra bộ kích phát và ngõ vào là 3V tráilại mức 5V là ngưỡng nhỏ nhất với ngõ ra Ngõ ra bộ kích phát khikhông có tải có điện áp là 25V
III Các đặc tính của RS-232C
Trang 251 Bit đầu (startbit), các bit dữ liệu (databits), bit chẵn lẻ (parity), và các bit dừng (stopbit)
Định dạng của dữ liệu nối tiếp bao gồm một bit start, năm đến tám bit
dữ liệu, và một bit stop Một bit chẵn lẻ và một bit stop thêm vào có thểcũng được kèm theo định dạng Biểu đồ dưới đây minh hoạ sự địnhdạng của dữ liệu nối tiếp :
Định dạng của dữ liệu cổng nối tiếp được biểu diễn bằng kí hiệu sau :
Số bit dữ liệu - loại chẵn lẻ - số bit dừng
Ví dụ, 8-N-1 được hiểu như 8 bit dữ liệu, không bit chẵn lẻ, và một bitdừng, trong khi đó 7-N-2 được hiểu là 7 bit dữ liệu, bit chẵn, và hai bitdừng
Các bit dữ liệu thường được xem như là một kí tự bởi các bit này đạidiện cho một kí tự ASCII Các bit còn lại được gọi là các bit khung bởi
vì nó đóng khung cho các bit dữ liệu
Tập hợp các bit tạo thành kiểu định dạng của dữ liệu nối tiếp được gọi
là một byte Lúc đầu, thuật ngữ này dường như không chính xác bởi vìmột byte bằng 8 bit và kiểu định dạng dữ liệu nối tiếp có thể từ 7 bitđến 12 bit Tuy nhiên, khi dữ liệu nối tiếp được lưu trữ trong máy tính,các bit khung bị mất, chỉ còn lại các bit dữ liệu Thêm vào đó, 8 bit dữliệu luôn được dùng bất chấp số bit dữ liệu được dùng riêng cho việctruyền dữ liệu, với các bit không được dùng có giá trị là 0 Khi đọc vàghi dữ liệu, cần phải định rõ một giá trị có thể gồm một hay nhiều byte
Trang 26Ví dụ, nếu đọc một giá trị từ thiết bị dùng kiểu định dạng số nguyên 32bit, thì giá trị này là 4 byte.
Startbit : Là bit đầu tiên của một byte dữ liệu Khi có ký tự được
truyền, startbit hạ xuống mức logic 0 để thông báo có một kí tự đangđược truyền tới
Databits: là các bit dữ liệu của một ký tự được truyền ngay sau starbit.
Tổng số bit của databits dao động từ 5 đến 8 bit Dữ liệu có mã ASCIIcần tối thiểu 7 bit databits Dữ liệu kiểu nhị phân bắt buộc 8 bitdatabits Các dữ liệu đặc biệt khác có thể dùng 5 hay 6 bit databits
Parity: Bên cạnh sự đồng bộ được cho bởi cách sử dụng các bit start và
các bit stop, còn dùng một bit được gọi là bit chẵn lẻ tùy chọn đượctruyền cùng với dữ liệu
Bit chẵn lẻ có khả năng thực hiện một phần nhỏ công việc kiểm tra lỗi,bằng việc kiểm tra các bit dữ liệu bị gián đoạn trong quá trình truyền.Kiểm tra lỗi chẵn lẻ là rất đơn giản Nó cho biết liệu có một lỗi bit đơnnào trong kí tự không, mà không chỉ ra bit được nhận nào có lỗi Cũngvậy, nếu một số các bit chẵn bị lỗi thì bit chẵn lẻ sẽ không phản ánh bất
kì lỗi nào
Bit chẵn lẻ có thể có 1 trong 4 lựa chọn sau: chẵn ( even), lẻ (odd),đánh dấu (mark), hay trống (space)
Khi bit chẵn lẻ được dùng, tổng số các bit có giá trị logic 1 ở mỗi byte
dữ liệu được đếm, và bit đơn được truyền theo sau các bit dữ liệu đểchỉ ra tổng số bit 1 vừa được gởi là chẵn hay lẻ
Ví dụ, khi bit chẵn lẻ được chọn là even, nó được truyền với giá trị 0nếu tổng số bit đánh dấu trước đó là một số chẵn Nếu số nhị phân cógiá trị là 0110 0011 thì bit chẵn lẻ là 0 Nếu bit chẵn lẻ được hiệu lực
và số nhị phân 1101 0110 được gởi đi, thì bit chẵn lẻ có giá trị là 1
Trang 27Ngược lại, khi bit chẵn lẻ được chọn là odd, nó được truyền với giá trị
là 0 khi tổng số các bit đánh dấu ở chữ trước là một số lẻ
Bit chẵn lẻ mark là bit chẵn lẻ luôn luôn ở trạng thái tín hiệu đánh dấu Bit chẵn lẻ space luôn được truyền dưới dạng trạng thái tín hiệu trống.
Vì sự chọn lựa 2 bit chẵn lẻ này không có mục đích hữu dụng, chúnghầu như không bao giờ được sử dụng đến
Trong truyền thông không đồng bộ và lưu trữ sơ cấp, đây là một bitngoài được bổ sung vào một từ dữ liệu để kiểm tra bậc chẵn lẻ
Nếu bạn đang sử dụng một chương trình truyền thông, bạn hãy thiết lậpbit bậc vào chế độ không bậc và số bit dữ liệu là 8 bit Nếu phương án
đó không hoạt động thì thay bằng bậc chẳn và 7 bit dữ liệu
Stopbit: bit cuối của byte dữ liệu, dùng để báo cho bên thu biết việc
truyền ký tự này đã kết thúc
Tổng số bit dừng có thể chọn 1 trong 3 giá trị sau: 1 bit, 1.5 bit, hay 2bit Nếu chọn stopbit là 1, thì 1 bit dừng được truyền đi Nếu chọnstopbit là 2, thì 2 bit dừng được truyền đi Còn nếu stopbit là 1.5 thìthời gian bit dừng được truyền đi bằng 150% thời gian nó truyền đi khistopbit là 1
2 Tốc độ baud
Đơn vị baud được đặt tên theo Jean Maurice Emile Baudot, một viênchức ở Cục Điện Tín Pháp Ông được công nhận đã phát minh mã-năm-bit-kết-hợp đầu tiên cho các kí tự alphabet ở cuối thế kỉ 19
Điều mà baud muốn ám chỉ đến đến là tốc độ điều biên hay số lần mộtđường dây thay đổi trạng thái trong một giây Điều này không luôngiống số bit mỗi giây (BPS) Nếu nối hai thiết bị nối tiếp cùng nhau sửdụng các cáp trực tiếp thì baud và BPS thực sự giống nhau Vì vậy, nếu
Trang 28đang chạy với tốc độ 19200 BPS, thì đường dây cũng thay đổi trạngthái 19200 lần mỗi giây.
Đối với các modem, điều này không còn đúng Bởi vì các modemtruyền tín hiệu qua một đường dây điện thoại, tốc độ baud thực sự bịgiới hạn ở giá trị tối đa là 2400 baud Đây là một giới hạn vật lí của cácđường dây do công ty điện thoại cung cấp Số lượng dữ liệu được đưavào trong một thời gian đạt đến với các modem là 9600 baud hay caohơn có được bằng việc dùng bộ điều biến pha, và các kĩ thuật nén dữliệu phức tạp Tốc độ truyền của các modem thường được biểu diễntheo bps
Theo định ước truyền thông RS- 232 C, 300 baud thường tương đươngvới 300 bit mỗi giây ( bps), nhưng ở các tốc độ baud cao hơn thì sốlượng bit được truyền đi trong mỗi giây thường gấp đôi tốc độ baud, vìhai bit dữ liệu có thể được truyền đi trong mỗi lần thay đổi của trạngthái mạch
IV Cấu trúc của RS-232C:
Trang 29Chân số Loại tín hiệu
1 Carrier Detect (CD) (from DCE) Incoming signal
from a modem
2 Received Data (RD) Incoming Data from a DCE
3 Transmitted Data (TD) Outgoing Data to a DCE
4 Data Terminal Ready (DTR) Outgoing handshaking
signal
5 Signal Ground Common reference voltage
6 Data Set Ready (DSR) Incoming handshaking signal
7 Request To Send (RTS) Outgoing flow control signal
8 Clear To Send (CTS) Incoming flow control signal
9 Ring Indicator (RI) (from DCE) Incoming signal
from a modem
Loại 25 chân trên thiết bị DTE (trên PC )
MaleRS232DB25
Chân Loại tín hiệu
Trang 307 Signal Ground Common reference voltage
8 Carrier Detect (CD) Incoming signal from a modem
20 Data Terminal Ready (DTR) Outgoing handshaking
signal controlled by DTE
22 Ring Indicator (RI) Incoming signal from a modem
2 Các tín hiệu của cổng nối tiếp RS-232C và chức năng các chân của nó
Các cổng nối tiếp có hai loại tín hiệu : các tín hiệu dữ liệu và các tínhiệu điều khiển Để hỗ trợ các loại tín hiệu này, cũng như tín hiệu nốiđất, chuẩn RS-232 định ra một kết nối 25 chân Tuy nhiên, hầu hết các
PC và các nền UNIX sử dụng kết nối 9 chân Thực tế, chỉ có ba chân
Trang 31cần thiết cho các giao tiếp cổng nối tiếp : một cho nhận dữ liệu, mộtcho truyền dữ liệu, và một cho tín hiệu nối đất Dưới đây là sơ đồ châncủa loại bộ nối 9-pin male trên một thiết bị DTE :
Các chân và các tín hiệu liên quan tới bộ kết nối 9 chân được mô tả nhưsau :
a Các trạng thái tín hiệu:
Các tín hiệu có thể ở trạng thái hoạt động hay không hoạt động Trạngthái hoạt động ứng với giá trị nhị phân 1, còn không hoạt động ứng vớigiá trị nhị phân 0 Trạng thái tín hiệu hoạt động thường được mô tả là
Trang 32trạng thái logic 1, on, true, mark Một trạng thái tín hiệu không hoạtđộng thì được mô tả là trạng thái logic 0, off, true, hay space.
Đối với các tín hiệu dữ liệu, trạng thái “on” xảy ra khi điện áp tín hiệuđược nhận là âm hơn -3V, ở trạng thái “off” khi điện áp dương hơn+3V Đối với các tín hiệu điều khiển, trạng thái “on” xảy ra khi điện áptín hiệu nhận được dương hơn 3V, còn ở trạng thái “off” khi điện áp
âm hơn -3V Điện áp trong khoảng -3V và +3V được xem như vùngchuyển tiếp, và trạng thái tín hiệu ở đây không được xác định Để đưatín hiệu đến trạng thái “on”, thiết bị điều khiển hạ thấp giá trị của cácchân dữ liệu và tăng giá trị cho các chân điều khiển Ngược lại, để đưatín về trạng thái “off”, thiết bị điều khiển tăng giá trị của các chân dữliệu, và hạ giá trị của các chân điều khiển Các trạng thái “on” và “off”cho một tín hiệu dữ liệu và tín hiệu điều khiển như sau :
b Các chân dữ liệu:
Trang 33Hầu hết các thiết bị cổng nối tiếp đều hỗ trợ giao tiếp hai chiều, nghĩa
là chúng có thể gởi và nhận dữ liệu cùng một lúc Vì vậy các chân khácnhau được dùng cho việc gởi và nhận dữ liệu Đối với những thiết bịnày, các chân TD, RD, và GND được dùng Tuy nhiên, một số thiết bịcổng nối tiếp chỉ hỗ trợ các giao tiếp một chiều Đối với các thiết bịnày, chỉ có các chân TD và GND được dùng đến Chân TD đem dữ liệuđược truyền bởi một thiết bị DTE đến một thiết bị DCE Chân RDmang dữ liệu được nhận bởi một DTE từ một DCE
c Các chân điều khiển:
Chức năng:
Các chân điều khiển có 2 chức năng chính :
Báo hiệu sự hiện diện của thiết bị được kết nối
Điều khiển luồng dữ liệu
Các loại chân điều khiển:
Các chân điều khiển bao gồm RTS và CTS, DTR và DSR, CD, và RI
DTE chỉ định chân RTS lên cao để thông báo cho DCE nó đãsẵn sàng nhận dữ liệu
Trang 34 DCE chỉ định chân CTS lên cao nhằm thông báo nó đã thôngtrống để gởi dữ liệu thông qua chân TD Nếu dữ liệu không cònđược gởi, chân CTS xuống thấp.
Dữ liệu được truyền đến thiết bị DTE thông qua chân TD Nếu
dữ liệu không còn được cho phép, chân RTS đươc xuống thấpbởi DTE và việc truyền dữ liệu kết thúc
Các chân DTR và DSR:
Nhiều thiết bị dùng các chân DSR và DTR để xác định chúng được nốikết hay nối điện chưa Việc kiểm tra sự hiện diện của các thiết bị đượckết nối sử dụng các chân DTR và DSR theo các bước sau :
DTE cho chân DTR lên cao để yêu cầu DCE nối dây giao tiếp
DCE cho chân DSR lên cao để chỉ rằng nó đã được kết nối
DCE cho chân DSR xuống thấp khi nó không được kết nối từđường dây giao tiếp
Các chân DTR và DSR được thiết kế lúc đầu với mục đích cho phépchọn lựa cách thức bắt tay phần cứng Tuy nhiên, các chân RTS vàCTS thường thực hiện điều này, chứ không phải các chân DSR vàDTR
Trang 35Chân RI được dùng để chỉ sự hiện diện của tín hiệu rung có thể nghethấy Chân RI lên cao khi DCE đang nhận một tín hiệu rung Chân RIxuống thấp khi DCE không nhận được một tín hiệu rung.
Chuẩn RS-232 qui định hai thiết bị được kết nối qua một cáp nối tiếp làDTE ( Data Terminal Equipment ) và DCE ( Data Circuit-TerminatingEquipment ) Thuật ngữ này phản ánh bản chất của RS-232 như làchuẩn giao tiếp giữa một thiết bị đầu cuối máy tính và một modem.Thông thường máy tính được xem là một DTE, còn thiết bị ngoại vinhư các modem và các máy in là DCE Chú ý, nhiều thiết bị khoa học
có chức năng như DTE
Bởi vì RS-232 chủ yếu liên quan đến việc nối kết giữa một thiết bịDTE đến một thiết bị DCE, các chức năng của chân được qui ước choviệc nối kết thẳng, có nghĩa chân 1 nối với chân 1, chân 2 nối với chân
2, và tương tự cho các cặp chân khác
Một kết nối nối tiếp từ thiết bị DTE đến thiết bị DCE dùng chân truyền
dữ liệu TD và chân nhận dữ liệu RD được biểu diễn dưới đây :
Trang 36Nếu nối hai thiết bị DTE hay hai thiết bị DCE mà dùng một cáp nốitiếp thẳng, thì chân TD trên mỗi thiết bị được nối với nhau, và chân TDtrên mỗi thiết bị được nối với nhau Vì vậy, để kết nối hai thiết bị nhưvậy, phải sử dụng một cáp không modem Như biểu diễn dưới đây, cápkhông modem nối chéo các dây truyền và nhận với nhau trong cáp :
Chương 4: Ngôn ngữ xây dựng chương trình
I Giới thiệu về Matlab Serial Port Interface
Cung cấp khả năng truy cập trực tiếp đến các thiết bị ngoại vi như cácmodem, máy in, các thiết bị dụng cụ khoa học khi được nối với cổngnối tiếp của máy tính Giao diện này được thiết lập thông qua một đối
Trang 37tượng cổng nối tiếp Đối tượng cổng nối tiếp này hỗ trợ các hàm vàcác đặc tính cho phép :
Cấu hình các giao tiếp cổng nối tiếp
Sử dụng các chân cổng điều khiển
Viết và đọc dữ liệu
Sử dụng các event và các callback
Ghi lại các thông in vào đĩa
Các chuẩn Serial Port Interface được hỗ trợ
Qua nhiều năm, một số chuẩn giao diện cổng nối tiếp đã phát triển.Các chuẩn này bao gồm RS-232, RS-422 và RS-485, tất cả đều được
hỗ trợ bởi đối tượng cổng nối tiếp MATLAB Trong đó, chuẩn giaodiện phổ biến nhất được sử dụng cho việc kết nối giữa các máy tínhvới các thiết bị ngoại vi là RS-232
Tạo một đối tượng cổng nối tiếp - tạo một đối tượng cổng cho một
cổng nối tiếp riêng biệt bằng cách sử dụng hàm tạo serial Cũng có
thể cấu hình các thuộc tính trong quá trình tạo đối tượng Đặc biệt,
có thể cấu hình các thuộc tính liên quan với các giao tiếp cổng nốitiếp như tốc độ baud, số bit dữ liệu,v.v
Kết nối với thiết bị - kết nối đối tượng cổng nối tiếp với thiết bị
dùng hàm fopen Sau khi đối tượng đã được kết nối, có thể thay
đổi các mặc định của thiết bị bằng cách cấu hình các giá trị thuộctính, đọc dữ liệu, ghi dữ liệu
Trang 38 Cấu hình các thuộc tính - Để thiết lập các đặc tính đối tượng cổngnối tiếp như mong muốn, có thể gán cho thuộc tính các giá trị bằng
cách dùng hàm set hay dấu chấm Thực tế, có thể cấu hình nhiều
thuộc tính bất kì lúc nào : trong hay sau khi tạo đối tượng Ngượclại, tuỳ vào các thiết lập của thiết bị và các yêu cầu của ứng dụngcổng nối tiếp, có thể chấp nhận các giá trị mặc định của thuộc tính
và bỏ qua bước này
Ghi và đọc dữ liệu – có thể ghi dữ liệu lên thiết bị bằng hàm
fprintf hay fwrite, và đọc dữ liệu từ thiết bị bằng hàm fgetl, fgets, fread, fscanf, hay readasync Đối tượng cổng nối tiếp hoạt động
theo các giá trị thuộc tính được cấu hình trước hay theo các thuộctính mặc định
Ngưng kết nối và xoá – Khi không cần đối tượng cổng nối tiếp
nữa, nên ngưng kết nối nó với thiết bị bằng hàm fclose, xoá nó khỏi bộ nhớ bằng hàm delete, và xoá khỏi vùng làm việc của MATLAB bằng câu lệnh clear.
II Các hàm giao tiếp nối tiếp
1 Các hàm kiểm tra port
instrfind
Chức năng
Trả lại các đối tượng port từ bộ nhớ vào vùng làm việc của Matlab
Cú pháp
Trang 39'PropertyName' : tên thuộc tính của đối tượng.
PropertyValue : giá trị của thuộc tính
S : cấu trúc của tên và giá trị các thuộc tính
obj : đối tượng, hay một mảng các đối tượng portnối tiếp
out : một mảng các port nối tiếp
Mô tả
out = instrfind: trả về tất cả các đối tượng port hợp lệ vào mảng out.
out = instrfind('PropertyName',PropertyValue, ): trả về một mảng
các port nối tiếp có tên và giá trị thuộc phù hợp với các đối số
out = instrfind(S): trả về một mảng các port nối tiếp có tên và giá trị
các thuộc tính phù hợp với cấu trúc S đã được định trước.Trong đócác tên trường của S là tên các tên của thuộc tính, còn các giá trịtrường ứng với các giá trị của thuộc tính
out = instrfind(obj,'PropertyName',PropertyValue, ): giới hạn việc
tìm kiếm các cặp tên và giá trị thuộc tính của các đối tượng port đượcliệt kê trong biến đối số obj
Ví dụ
isvalid
Kiểm tra tính hợp lệ của các đối tượng port
Trang 40out = isvalid(obj): trả về mảng logic out, chứa giá trị 0 ở các phần tử
của đối tượng obj là các đối tượng port không hợp lệ và giá trị 1 ở cácphẩn tử của đối tượng là các đối tượng port hợp lệ
'PropertyName' : Tên thuộc tính port nối tiếp
PropertyValue : Giá trị của thuộc tính.
obj : đối tượng port nối tiếp
Mô tả
obj = serial('port') : tạo một đối tượng port ứng với port nối tiếp Nếu
port không tồn tại, hay đang được sử dụng, sẽ không thể kết nối đốitượng port với thiết bị