Giao tiếp qua cổng nối tiếp USB

Một phần của tài liệu Viết chương trình máy tính hỗ trợ điều khiển và thu thập dữ liệu cho bộ điều tốc điện tử của động cơ Yanmar-3SM (Trang 36)

Ngày nay các máy tính đều cĩ trang bị ít nhất hai cổng USB (Universal Serial Bus) để kết nối với máy in, camera, chuột, thanh nhớ Flash Rom, modem,… Đặc điểm USB là tốc độ truyền lớn, plug and play, cĩ thể gắn và tháo nĩng, khơng cần nguồn cấp cung cấp cho thiết bị và cĩ thể kết nối nhiều thiết bị trên một bus

chung. USB là sản phẩm của nhiều cơng ty như Intel, Compaq, HP, Lucent, Microsoft, NEC, … Cĩ hai chuẩn USB 1.1 (năm 1998) và USB (năm 2000) nhanh hơn. Ba vận tốc truyền: 480Mb/s, 12Mb/s và 1,2 Mb/s.

a. Yêu cầu trao đổi tin với nhiều thiết bị ngoài nối tiếp

Ngồi chuột, bàn phím và trao đổi với thiết bị ngoài nối tiếp khác (thiết bị đầu cuối, máy vi tính khác qua cổng COM RS232), máy vi tính hiện đại cịn yêu cầu trao đổi tin nối tiếp với nhiều thiết bị ngoài khác.

Các thiết bị đa phương tiện (Multimedia) như máy in, TV/Video, camera số, máy điện thoại, đĩa hình/tiếng… cần ghép nối với máy vi tính để lưu trữ, xử lý dữ liệu và vận hành. Nhờ máy tính, các thiết bị ngoài số trên cĩ thể vận hành ở chế độ online (trên đường dây) dưới sự điều khiển của máy vi tính, đem lại nhiều hiệu quả và tính năng vượt trội.

Để đáp ứng yêu cầu trao đổi tin với các thiết bị ngoài, chúng ta khơng thể tổ chức nhiều ổ cắm trên máy vi tính, mà phải tổ chức đường dây (Bus) ghéo nối nối tiếp vạn năng (USB) với các đầu tiếp xúc HUB theo kiểu tầng gồm nhiều hình sao nối tiếp.

b. Đường dây và ổ cắm vào máy vi tính

Cổng USB cĩ 4 chân gồm hai dây nguồn và hai dây tín hiệu vi sai. Chân Tên Màu dây Cơng dụng

1 Vcc Đỏ +5V DC 2 D- Trắng Dữ liệu (-) 3 D+ Xanh lục Dữ liệu (+) 4 GND Đen Nối đất

Bảng 2.6 – Đặc điểm 4 chân cổng USB

Khi cắm thiết bị vào USB điện áp trên dây 2 và 3 thay đổi báo cho bộ điều khiển USB cĩ thiết bị gắn và bắt đầu một loạt chương trao đổi thơng tin nhận dạng thiết bị gắn vào để nạp driver phù hợp cho thiết bị. Muốn gắn nhiều thiết bị vào một cổng ta dùng HUB. Số lượng thiết bị USB tối đa là 127.

c. Phiên bản USB 2.0

giao tiếp với các thiết bị khơng hỗ trợ USB. Nhiều hãng đã chế tạo các mạch chuyển đổi từ USB sang RS232 (Hình 2.16) hay RS422, RS485. Nguyên tắc là dùng một vi mạch làm giao tiếp với máy tính theo chuẩn USB và giao tiếp với thiết bị khác theo chuẩn của cổng COM. Phần mềm driver sẽ coi thiết bị như là cổng COM bình thường và ta lập trình giao tiếp với thiết bị ngoại vi như là với cổng COM, qua trung gian mạch chuyển đổi.

Hình 2.11 – Cổng USB chuyển thành cổng RS232

d. Lập trình giao tiếp thiết bị ngoại vi qua cổng USB

Hiện nay để giao tiếp với cổng USB cĩ hai cách:

- Tạo cổng ảo, trên cơ sở cổng USB sau đĩ truy cập lên cổng USB như là trao đổi với một cổng RS232.

- Sử dụng file *.dll, một thư viện liên kết động. Chính file*.dll mà thường là Port.dll đã địi hỏi trình độ lập trình ở mức bán chuyên nghiệp.

Trong trường hợp sử dụng file Port.dll, người dùng cần cĩ kinh nghiệm lập trình các tập tin điều khiển trong Windows nhiều hơn, nhưng tất nhiên tính chuyên nghiệp của sản phẩm viết ra cũng cao hơn. Tập tin Port.dll giúp người dùng vượt qua những khĩ khăn khi làm việc trong mơi trường Windows là tiếp cận các giao diện của máy tính PC.

Những nhiệm vụ đặt ra khi viết tập tin Port.dll là: - Mở các giao diện.

- Truyền dữ liệu theo cách nối tiếp.

- Nhập vào và xuất ra các cổng.

- Phát khoảng thời gian để cĩ thời lượng chính xác đến mili giây. - Truy cập tới card âm thanh.

- Truy cập qua cổng trị chơi.

Một giải pháp mới và tồn diện hơn của cơng ty National Instrument (Hoa Kỳ) đã làm giảm nhẹ khĩ khăn cho người dùng muốn xây dựng các hệ thống đo lường và thu nhập dữ liệu qua cổng USB bằng việc giới thiệu với thị trường hai mơđun NI USB 6008 và NI USB 6009. Các thơng số kỹ thuật chính của hai mơđun này cĩ thể kể ra là:

- Tám kênh lối vào analog với độ phân giải 12 bit đối với NI USB 6008 và 14bit với NI USB 6009; tốc độ lấy mẫu đạt tới 48Kb/s.

- Cáp nối một đầu với cổng USB trên máy tính, một đầu với các lỗ cĩ vít bắt trên mơđun cho phép mơđun cĩ thể hoạt động theo kiểu cắm là chạy.

- Phần mềm điều khiển được cung cấp kèm theo cĩ thể chạy trong mơi trường Windows, Mac OS X và Linux OS.

- Các cổng vào ra cĩ thể sử dụng cho các phép đo đơn giản và thu thập dữ liệu. - Cĩ thể được cấp điện từ USB.

2.1.2.1.8. Mạng 485 (adsbygoogle = window.adsbygoogle || []).push({});

Chuẩn RS232 dùng đường truyền khơng cân bằng vì các tín hiệu lấy chuẩn là GND chung nên dễ bị ảnh hưởng của nhiễu làm tốc độ và khoảng cách truyền bị giới hạn. Khi muốn tăng khoảng cách truyền, một phương pháp cĩ thể sử dụng là dùng 2 dây truyền vi sai vì lúc này 2 dây cĩ cùng đặc tính nên sẽ loại trừ được nhiễu chung. Hai chuẩn được sử dụng là RS422 và RS485 nhưng thơng thường sử dụng RS485. Điện áp vi sai yêu cầu phải lớn hơn 200mV. Nếu VAB > 200 mV thì tương ứng với logic 1 và VAB < -200 mV tương ứng với logic 0. Chuẩn RS485 sử dụng hai điện trở kết thúc là 120 Ω tại hai đầu xa nhất của đường truyền và sử dụng dây xoắn đơi.

Hình 2.12 – Chuẩn giao tiếp RS422

Hình 2.13 – Chuẩn giao tiếp RS485

Các đặc tính kỹ thuật:

Đặc tính RS422 RS485

Số thiết bị truyền 1 32 Số thiết bị nhận 10 32 Chiều dài cable cực đại 1200m 1200m

Tốc độ truyền cực đại (từ 12 – 1200m) 10Mps – 100Kbps 10Mps – 100Kbps Điện áp cực đại tại ngõ ra thiết bị truyền -0.25V ÷ 6V -7V ÷ 12V

Điện áp ngõ vào thiết bị nhận -10V ÷ 10V -7V ÷ 12V

Bảng 2.7 – Các đặc tính kỹ thuật của chuẩn giao tiếp RS422 và RS485

Đối với chuẩn RS232, khoảng cách truyền khơng cho phép đi xa nên khi muốn thực hiện truyền ở khoảng cách xa thì phải chuyển từ RS232 sang chuẩn

RS485 để truyền đi và sau đĩ chuyển từ RS485 sang RS232 để máy tính cĩ thể nhận dạng được. Sơ đồ mạch chuyển đổi từ RS232 sang RS485 và ngược lại mơ tả như sau:

Hình 2.14 – Mạch chuyển đổi từ RS232 sang RS485 và ngược lại

Cách giao tiếp qua cổng COM được sử dụng phổ biến nhất. Giao tiếp phải theo chuẩn RS232, các bit dữ liệu nối tiếp nhau trên một đường truyền (trên một đường dẫn) và thường dùng để giao tiếp giữa máy tính với modem, mouse, vv… Dữ liệu được truyền đi dưới dạng nối tiếp với một tốc độ cụ thể do người lập trình quy định (1200 bps, 2400bps, 4800bps, 9600bps, 14.4 kbps, 28.8 kbps, 33.6 kbps, 56 kbps), chiều dài ký tự cĩ thể là 5, 6, 7 và 8 bit kết hợp với bit start và bit stop, bit parity (chẵn lẻ) để tạo thành một frame (khung truyền).

Ngồi đường truyền dữ liệu, Port giao tiếp COM cịn cĩ các đường điều khiển thu, phát, kiểm tra lỗi. Cách giao tiếp này cho phép truyền ở khoảng cách lớn vì khả năng chống nhiễu khá nhỏ. Mặt khác vì đường truyền là nối tiếp nên thành viên thứ ba khơng thể tham gia vào cuộc trao đổi thơng tin.

Ưu điểm lớn nhất của kiểu giao tiếp này là sử dụng ít đường truyền, ít nhiễu tín hiệu nên cĩ thể truyền quãng đường xa… Nhưng mặt khác do bản chất là truyền thơng nối tiếp nên cổng nối tiếp khơng được sử dụng cho những ứng dụng thời gian thực hay điều khiển song song… Cĩ một giải pháp cho vấn đề này là sử dụng cổng song song.

2.1.2.2. Giao tiếp qua cổng song song (Cổng máy in)

Cổng nối giữa máy in cịn gọi là cổng song song. Việc nối máy in với máy tính chỉ được thực hiện thơng qua ổ cắm 25 chân ở phía sau máy tính, nhưng đây khơng chỉ là chỗ nối với máy in mà khi sử dụng máy tính vào việc điều khiển thiết bị ngoại vi thì việc ghép nối cũng được thực hiện qua ổ cắm này. Cổng này truyền dữ liệu song song, tốc độ truyền cao. Cổng cĩ các đường dẫn tương thích với TTL.

Mơ tả cổng máy in

Bên cạnh 8 bit dữ liệu cịn cĩ những đường dẫn tín hiệu khác, tổng cộng cĩ thể trao đổi một cách riêng biệt với 17 đường dẫn tín hiệu bao gồm 12 đường dẫn ra và 5 đường dẫn vào. Bởi vì 8 đường dẫn dữ liệu từ D0 đến D7 (từ chân 2 đến chân 9) khơng phải luơn là đường dẫn hai chiều nên chỉ cĩ thể sử dụng như những lối ra. Các lối ra khác như chân 1 (STORE), chân 14 (AUTO FEED), chân 16 (INT), chân 17 (SELECT). Khi trao đổi thơng tin với những máy in, các đường dẫn này cĩ những thơng tin nhất định.

Nhìn chung giao tiếp qua cổng máy in tương đối dễ dàng và thuận tiện, mặt khác do theo chuẩn TTL nên rất phù hợp cho mục đích giao tiếp.

Hình 2.15 – Cấu trúc cổng máy in

2.1.2.3. Giao tiếp qua khe cắm máy tính (SLOT-CARD)

Trong máy tính, trên board mạch hệ thống thường chế tạo sẵn các khe cắm nhằm mục đích mở rộng bộ nhớ cũng như mở rộng phạm vi ứng dụng của máy tính bằng cách thêm các board mạch mở rộng vào các khe cắm này. Mỗi Slot đều cĩ các Bus dữ liệu, Bus địa chỉ và các đường tín hiệu điều khiển như: CLK, IOW, IOR, AEN, ALE, RESET. Do đĩ việc thiết kế các Slot-card từ các chân đầu cắm Slot sẽ đơn giản, số linh kiện kèm theo ít và tận dụng được các nguồn điện của máy tính (+5V, -5V, +12V, -12V) nên giá

thành sẽ rẻ đi, dễ dàng đưa tín hiệu điều khiển ra ngoài và tốc độ truyền nhanh. Tín hiệu Hướng Mơ tả

Reset Lối ra

Sau khi bật máy hoặc sau khi ngắt điện, đường dẫn Reset sẽ kích hoạt trong thời gian ngắn để đưa card đã được cắm vào đến một trạng thái ban đầu xác định.

I/O/W Lối ra

Input/Output/Write

Tín hiệu này sẽ kích hoạt khi truy nhập ghi lên một card mở rộng. Mức thấp chỉ ra rằng các dữ liệu cĩ giá trị đang chờ để đưa ra bus dữ liệu. Các dữ liệu được đĩn nhận bằng sườn trước.

I/O/R Lối ra (adsbygoogle = window.adsbygoogle || []).push({});

Input/Output/Read

Mức thấp nhất của đường dẫn địa chỉ này báo hiệu sự truy nhập đọc trên một card mở rộng. Trong thời gian này các dữ liệu cĩ giá trị cần phải sắp xếp để rồi sau đĩ được nhận bằng sườn trước.

ANE Lối ra

Address Enable

Đường dẫn điều khiển ANE dùng để phân biệt chu trình truy nhập DMA và chu trình truy nhập bộ xử lý. Ở mức cao (High) DMA giám sát qua bus địa chỉ và bus dữ liệu. Đường dẫn cĩ hiệu lực ở mức thấp (Low). Đường dẫn này cần phải được sử dụng cho quá trình giải mã địa chỉ bởi card mở rộng.

Bảng 2.8 – Các đường tín hiệu điều khiển qua Slot

Bên cạnh những ưu điểm, Slot cũng cĩ một số nhược điểm sau:

+ Slot-card phải cắm vào các Slot trên board mạch hệ thống nên phải gỡ nắp máy. + Phạm vi truyền tín hiệu gần và cáp truyền phức tạp. Trong một số trường hợp khơng thực hiện được.

2.1.3. Truyền dữ liệu 2.1.3.1. Thơng tin số liệu 2.1.3.1. Thơng tin số liệu

Hệ thống thơng tin số liệu dùng để xử lý và truyền các chuỗi mã nhị phân. Các mã này được tạo ra, lưu trữ và xử lý bởi máy tính và các thiết bị ngoại vi, bao gồm các loại như: các tin tức đã mã hĩa, tập tin văn bản, hình ảnh dữ liệu số và các thơng tin khác.

Đường truyền là đường truyền lẫn tín hiệu số và các ký tự truyền phổ biến là mã ASCII.

2.1.3.2. Phương thức truyền

a. Truyền nối tiếp/ Song song (Serial/ Parallel):

Truyền song song: truyền tất cả các bit của một ký tự cùng một lúc.

Hình 2.16 – Truyền song song

Truyền nối tiếp: truyền tuần tự tường bit của một ký tự.

Hình 2.17 – Truyền nối tiếp

- Truyền song song nhanh hơn truyền nối tiếp (dùng ở cự ly thơng tin gần). - Truyền nối tiếp ít tốn đường truyền hơn song song (thường dùng ở cự ly xa).

b. Truyền đồng bộ/ Bất đồng bộ (synchoronous)

Truyền đồng bộ - nối tiếp

Dùng một xung clock để đồng bộ quá trình nhận theo từng bit ký tự. Máy sẽ cung cấp tín hiệu clock cho cả hai đầu phát và thu.

Hình 2.18 – Truyền đồng bộ - nối tiếp

- Ưu điểm: Chỉ truyền data, khơng cần thêm tín hiệu đồng bộ và chuỗi data → nhanh hơn.

- Nhược điểm: Phải thêm một kênh thứ hai để truyền tín hiệu clock song song với kênh truyền data.

Truyền bất đồng bộ nối tiếp

Thêm vào phía trước mỗi ký tự một bit START và phía sau 1 hoặc 2 bit STOP. Máy thu sẽ tách bit START để khởi động tín hiệu đồng bộ dùng cho việc thu các bit ký tự. Các bit STOP được dùng để ngăn cách giữa các ký tự. Phương pháp này cho phép truyền ngẫu nhiên, khơng cần truyền liên tục.

Vì phải thêm các bit STOP, START nên tốc độ truyền tổng quát là chậm so với truyền đồng bộ nhưng lại đơn giản rẻ tiền hơn.

Tốc độ truyền bất đồng bộ: 75, 110, 300, 1200 bit/s. Tốc độ truyền đồng bộ: 2400, 4800, 9600 bit/s.

2.1.3.3. Thơng tin nối tiếp bất đồng bộ a. Dẫn nhập a. Dẫn nhập

Truyền số liệu nối tiếp cho phép trao đổi thơng tin giữa máy tính và thiết bị ngoại vi từng bit một. Số liệu trao đổi thường được gửi theo các nhĩm bit (tạo thành một ký tự hay một từ). (adsbygoogle = window.adsbygoogle || []).push({});

Ví dụ: một ký tự được thể hiện bằng mã ASCII. Trao đổi nối tiếp chỉ cần một đường dây tín hiệu hay một kênh liên lạc. Truyền số liệu nối tiếp được sử dụng khi:

+ Thiết bị ngoại vi cần trao đổi số liệu vốn đã là vào/ ra nối tiếp.

+ Khoảng cách giữa máy tính và thiết bị ngoại vi tương đối lớn. Nếu khoảng cách đĩ tăng thì giá thành tăng lên theo tổng số đường dây dẫn số liệu. Giá của hệ cịn phụ thuộc vào các bộ khuếch đại đường dây và bộ thu. Do đĩ sử dụng phương pháp trao đổi nối tiếp sẽ kinh tế hơn.

Tốc độ truyền (cịn gọi là tốc độ Baud - Rate) được xác định như tổng số lần thay đổi tín hiệu trong 1 giây. Nếu tín hiệu truyền đi là nhị phân tốc độ truyền tương đối với số bit truyền trong 1 giây. Các kênh thơng tin được đánh giá bằng tốc độ truyền. Nếu số liệu được truyền với tốc độ ngoài khả năng của kênh sẽ xảy ra lỗi, bên thu sẽ khơng nhận đúng thơng tin.

Hệ thống truyền số liệu nối tiếp gồm các dạng:

+ Đơn cơng: Số liệu chỉ được gửi đi theo một hướng.

+ Bán song cơng: Số liệu được gửi đi theo hai hướng nhưng mỗi thời điểm chỉ được truyền theo một hướng.

+ Song cơng: Số liệu được truyền theo hai hướng. - Truyền nối tiếp cĩ thể là:

+ Đồng bộ (DB) + Bất đồng bộ (BDB)

b. Thủ tục truyền nối tiếp bất đồng bộ

Đặc điểm của tín hiệu truyền nối tiếp bất đồng bộ:

Tần số CLOCK thu, phát phân biệt với cùng một tần số danh định tùy theo tốc độ truyền bit. Các ký tự truyền với những thời điểm khơng cần liên tục, truyền riêng và truyền ngẫu nhiên. Đường truyền giữ ở trạng thái 1 trong khoảng cách giữa các ký tự gọi là trạng thái rỗi (idle). Đối với một ký tự thì LSB (Least Significant Bit) được truyền đầu tiên và lần lượt là các Bit kế tiếp.

Ở đầu phát:

Khi tín hiệu LOAD = 1 thì dữ liệu ở dạng song song sẽ được nạp vào TSR (từ ngõ nhập dữ liệu).

Một phần của tài liệu Viết chương trình máy tính hỗ trợ điều khiển và thu thập dữ liệu cho bộ điều tốc điện tử của động cơ Yanmar-3SM (Trang 36)