Trong lĩnh vực điều khiển tự động của chúng ta thì máy tính lại đặc biệt quan trọng hơn nữa. Nó hoặc trực tiếp hoặc gián tiếp là những “ông chủ”, hay những “giám sát viên” trong một dây truyền tự động hoặc một quy trình sản xuất. Nhưng để làm được những điều đó PC cần phải được lập trình trước hay nói cách khác là những người biết sử dụng nó.
Trang 1I.1 Sơ lược về PC và ứng dụng PC trong Điều Khiển Tự Động:
Vào những năm 40 của thế kỷ XX, một sự kiện quan trọng trong lĩnh vực
điện toán đã xảy ra đó là sự ra đời của chiếc máy tính chữ số chạy bằng điện đầu tiên ra đời và được biết đến dưới cái tên gọi “Aniac” “Aniac” tổng cộng phải dùng đến 18000 chi tiết điện điện tử, ngoài ra còn có 1500 chi tiết điện và các loại linh kiện khác, tổng thể tích khoảng 90 m 3 , năng 30 tấn, chiếm diện tích 170 m 2 Nếu đem so sánh với máy tính ngày nay thì nó là một cỗ máy khổng lồ Cũng chính vì thế mà vào thời điểm đó người ta chưa thể thấy hết được tầm quan trọng của sự việc này Nhưng đến tháng 12 năm 1981, khi IBM công bố về chiếc máy tính cá nhân đầu tiên của họ Máy được thiết kế như là một máy tính để bàn vừa phải, dùng bộ vi xử lý Intel 8088 Model chuẩn dược bán với giá $3000 Máy gồm 64K RAM (bộ nhớ truy cập ngẫu nhiên) trên bản mạch chính, có thể mở rộng lên tới
256 K trên bản mạch hệ thống, và 40K ROM (bộ nhớ chỉ đọc) Phần lớn ROM này được thiết kế để lưu một chương trình hỗ trợ hệ thống được gọi làhệ thống nhập/xuất cơ bản, hay BIOS Máy
PC đầu tiên có một ổ đĩa mật độ kép một mặt Các ổ đĩa được địng dạng có khả năng lưu trữ 180K dữ liệu Phần mềm hệ điều hành ban đầu được cung cấp bởi hãng Microsoft Corporation Và từ đó đến nay, trong một khoảng thời gian ngắn, máy tính – PC – đã trở thành một thiết bị quan trọng hàng đầu trong tất cả các lĩnh vực kinh tế, sản xuất, sinh hoạt và đặc biệt là trong các ngàng công nghiệp hiện đại
Trong lĩnh vực điều khiển tự động của chúng ta thì máy
tính lại đặc biệt
quan trọng hơn nữa Nó hoặc trực tiếp hoặc gián tiếp là những
“ông chủ”, hay những “giám sát viên” trong một dây truyền tự động hoặc một quy trình sản xuất Nhưng để làm được những điều đó PC cần phải được lập trình trước hay nói cách khác là những người biết sử dụng nó.
Trang 2Một trong những yếu tố quan trọng hàng đẩu trong việc đưa
PC vào các dây truyền tự động là ta phải “giao tiếp” được với nó Có nghĩa là ta phải lập trình để cho PC có thể trao đổi dữ liệu với các thiết bị ngoại vi khác Để từ đó ta mới có thề dùng PC để điều khiển các thiết bị ngoại vi đó Các thiết bị ngoại vi ở đây có thể là một hay một mạng NuDam, vi xử lý(uP), PLC hay cũng có thể là một mạng các PC khác…
Có nhiều phương thức để giao tiếp máy tính vói các thiếi
bị ghép nối bên ngoài, mỗi cách đều có những ưu, nhược điểm khác nhau Tùy theo mục đích, điều kiện sử dụng mà người ta có thể sử dụng những phương cách khác nhau sao cho có hiệu qủa nhất Sau đây là ba phương thức được sử dụng phổ biến
Kết nối máy tính bằng cách sử dụng các card giao tiếp đuợc cắm trực tiếp lên các slot ở trên mainboard cùa máy tính Có nhiều loại Bus khác nhau và mỗi loại Bus có những ưu điểm khác nhau, những loại bus đang được sử dụng phổ biến : ISA, PCIø, AGP, PC, MCA, EISA… Phương pháp này có ưu điểm nổi bật là có thể trao đổi dữ liệu với dung lượng lớn, tốc độ cao Nhưng có nhược điểm là can thiệp nhiều vào phẩn cứng của
PC dễ “nguy hiểm” linh kiện tương đố đắt tiền Một nhược điểm nữa là khi hệ thống đang vận hành ta khó có thể can thiệp được vào phần cứng.
Kết nối máy tính thông qua cổng song song hay cổng máy in Loại này cũng có ưu điểm là qúa trình giao tiếp trao đổi dữ liệu với tốc độ cao nếu so sánh với phương pháp truyền nối tiếp Nhưng phương pháp này có một nhược điểm lớn là khả năng trống nhiễu rất thấp, không thể truyền đi xa đườc.
Kết nối máy tính thông qua cổng nối tiếp hay cổng COM Loại này có nhược diểm là trao đổi dữ liệu với tốc độ không cao lắm Nhưng lại có ưu điểm nổi bật là phương thức giao tiếp đơn giản dễ sử dụng Linh kiện lắp đặt rất phải chăng và rất dễ mua Không can thiệp nhiều vào phần cứng của máy tính có thể tháo lắp dễ dàng khi hệ thống đang hoạt động Khả năng chốn gnhiễu so với phuơng thức truyền song song là cao hơn nhiều Phương thức này cũng có thể truyền đi tương đối xa.
Trong ba phương thức trên, phương thức giao tiếp máy tính qua cổng nối
tiếp hiện đang đáp ứng được yêu cầu của lĩnh vực điều khiển
tự động Đó là sự đòi hỏi phải chính xác, được đặt hàng đầu,
đơn giản trong lĩnh vực vận hành.
Trang 3I.2 Chuẩn RS-485 và đề tài được giao:
Trong việc giao tiếp nối tiếp hay còn gọi là truyền thông nối tiếp cũng có nhiều phương cách khác nhau Được sử dụng rộng rãi nhất hiện nay là các chuẩn giao tiếp của EIA(Electronics Industries Association) được gọi tắt dưới các tên RS-232,RS-422,RS-423,RS-485…Trong đó chuẩn RS-485 có nhiều ưu điểm :
- Chuẩn RS-485 được phát triển dành cho hệ thống multi-droped, nó có thể giao tiếp ở một tốc độ cao ở một khoảng cách dài Chuẩn RS-485 có thể hoạt động ở một tốc độ lên đến 10Mbps trên một chiều dài cable là 1.200m (4000feet).
- RS-485 có thể hỗ trợ đến 32 bộ điều khiển và bộ nhận trên cùng một đường
truyền Điều này cho phép dùng các ứng dụng mạng trên cùng hệ thống ngang nhau (multi-drop)
Chính nhờ những ưu điểm đó, RS-485 đã được sử dụng rộng rãi trong nhiều dây truyền tự động khác nhau RS-485 cũng là đề tài chính được nghiên cứu trong luận văn của em Như đã đề cập trên, RS-485 không còn xa lạ với tất cả những người
thuộc lĩnh vực “Điều Khiển Tự Động” Nhưng với những ưu
điểm vượt trội của nó thì đây cũng là đề tài không bao giờ cũ Có thể nói đây cũng là một trong những hành trang cần thiết cho mỗi kỹ sư nghành Tự Động khi ra trường Chính vì thế
em đã trọn RS-485 làm chủ đề chính cho luận văn của mình Việc ứng dụng giao tiêp giữa máy tính với kit vi xử lý dùng chuẩn RS-485 để làm một công việc minh họa cũng muôn hình muôn vẻ Có rất nhiều đề tài của các anh chị đi trước đã làm, nếu làm lại không tránh khỏi sự trùng lặp, nghiên cứu đề tài mới với thờ gian cho phép không dài của là việc mạo hiểm Việc ứng dụng làm một bàn phím đa năng của em về mặt lý thuyết không có gì mới Nhưng với 40 phím minh họa, trong đó có nhiều phím trức năng đặc biệt để giao tiếp độc lập với máy tính thì vấn đề về thực hành là rất quan trọng Để hoàn thành tốt được công việc thì cần phải sử dụng thành thạo lập trình dưới vi xử lý và một ngôn ngữ lập trình trên máy tính để từ đó kết hợp thật tốt giũa máy tính với kit vi xử lý thông qua RS-485
II Công Việc Được Giao:
Do điều kiện sản xuất của xương thử bình gas ẩm ướt, ồn độ rung động lớn… không thể để máy tính quản lý dữ liệu tại
Trang 4xưởng được lên công ty Sài Gòn Petro cần một hệ thống quản lý số liệu sơn, thử bình ga Hệ thống bao gồm :
_Bàn phím:Bao gồm ba bàn phím dùng để truy xuất số liệu bình ga(số sêri, tải trọng, hãng sản xuất…) đặt tại phân xưởng làm việc được kết nối với máy tính.
_Máy tính đặt tại văn phòng quản lý số liệu cách phân xưởng quản lý khoảng 100 m Máy tính có nhiệm vụ thống kê và tạo 01 biểu mẫu dạng như “lý lịch bình ga” Thống kê và đưa
ra bảng biểu bất kỳ một thông số quản lý nào khi được yêu cầu.
Kiểm tra và cảnh báo khi có những thông số bất thường khi được lập trình sẵn…
III Chi tiết kỹ thuật của thiết bị :
Bàn phím có số lượng tối đa khoảng 45 phím, bộ chỉ thị hiển thị led có 2 led matrận dùng để hiển thị thông số nhập, 8 led dơn dùng để hiển thị số liệu của thông số nhập
Các số liệu trên bảng kiểm tra và thử bình ga gồm có các thông số:
• Nhóm thông số của bình ga: Ngày tháng thử, sở hữu chủ, dung tiùch
thử lần thứ, số sêri, năm sản xuất, noi sản xuất, khối lượng bì, chiều dày.
• Nhóm kiểm tra tình trạng của bình đạt,không đạt: cổ, khối lượng, cắt
đục đào lõm, phình ra , ăn mòn, chiều dày , rò rỉ, cháy.
• Nhóm tình trạng kiểm định và loại bình : Đến hạn kiểm định, chưa
đến hạn kiểm định chỉ yêu cầu sơn , loại 12kg loại 50 kg.
IV Mô tả hoạt động của hệ thống
• Nhập nhóm Thông Số của Bình Gas :
- Nhấn phím ngày tháng thử: Nhấn phím Date, trên 2 số đầu sẽ hiện chữ:DA
Nhập ngày tháng vào sẽ hiện liên tục 6 số theo thứ tự ngày tháng năm: 14 08 01.
- Khi đang phập sai số, dùng CE để xóa số nhập.
- Phím CHECK dùng để xem toàn bộ lý lịch bình hiện hữu từng dòng
Trang 5một, nhấn CHECK sau đó nhấn thêm phím thông số nào thì giá trị tương ứng của thông số đó sẽ được hiện lên Nhấn CHECK lần nữa sẽ thoát khỏi tình trạng kiểm định.
- Nhấn phím ENTER các giá trị sẽ được truyền về máy tính.
- Nhấn phím RESET sẽ trở lại trạng thái sẵn sàng nhập giá trị mới.
• Nhập nhóm Tình Trạng Kiểm Định :
- Nhấn phím rò rỉ LE [leak] trên chỉ thị hiện LE
- Nhấn OK là đạt (hiện số 1)
- Nhấn NOTOK là không đạt (hiện số 0)
- Các thông số khác nhập tương tự.
• Tính chất của chỉ thị:
- Khi nhập số liệu sẽ đẩy dần từ phải sang trái, khi phập sai nhấn phím CE để nhập lại.
- Đèn báo hiệu sẵn sàng nhập.
- Đèn báo lỗi đường truyền…
Tuy thực tế công việc đòi hỏi phải có ba bàn phím nhưng ba bàn phím này về mặt kỹ thuật hoàn toàn giống nhau lên
em chỉ làm một bàn phím mang tính chất mô phỏng , một lý do nữa là làm 3 bàn phím rất tốn kém.
Trang 8CHƯƠNG I:
Giới thiệu một số phương pháp truyền thông
Trang 9I Tổng quát:
Mạng máy tính là một tập hợp các máy tính được nối với nhau bởi các đường truyền vật lý theo một kiến trúc nào đó Và ngày nay mạng máy tính đã trở thành một lĩnh vực nghiên cứu phát triển và ngày càng được ứng dụng rộng rãi trong cuộc sống.
Đuờng truyền vật lý và kiến trúc mạng:
1 Đường truyền vật lý:
Đường truyền vật lý dùng để truyền tín hiệu điện tử giữa các máy tính Các tính hiệu điện tử đó biểu thị các giá trị dữ liệu dưới dạng các xung nhị phân Tất cả các tín hiệu được truyền giữa các máy tính đều thuộc 1 dạng sóng điện từ nào đó, trải từ các tần số radio tới các sóng cực ngắn(vi ba) và tia hồng ngoại Tuỳ theo tần số của sóng điện từ có thể dùng các đường truyền vật lý khác nhau để truyền tín hiệu.
Các tần số radio có thể truyền bằng cáp điện ( dây đôi xoắn hoặc đồng trục ) hoặc bằng phương tiện quảng bá (radio broadcasting).
o Sóng cực ngắn (vi ba) thường được dùng để truyền giữa các trạm mặt đất và các vệ tinh.
o Tia hồng ngoại là lý tưởng đối với nhiều loại truyền thông mạng Nó có thể dùng để truyền giữa hai điểm hay từ một điểm đến nhiều máy thu
o Khi xem xét lựa chọn đường truyền chúng ta cần chú ý đến các đặc trưng cơ bản như : giải thông , độ suy hao, và độ nhiễm từ.
2 Kiến trúc mạng:
Kiến trúc mạng máy tính thể hiện qua cách nối các máy tính với nhau ra sao và tập hợp các quy tắc mà tất cả các thực thể tham gia truyền thông trên mạng phải tuân theo để cho mạng hoạt động tốt Cách kết nối các máy tính gọi là hình
trạng(topology), quy tắc quy ước truyền thông thì gọi là giao thức (protocol).
point-to-point và quảng bá theo kiểu point-to-point-to-point-to-point, các đưởng truyền nối thành cặp nút với nhau và mỗi nút đều có trách nhiệm lưu trữ tạm thời sau đó chuyển dữ liệu đi cho đến đích.
Theo kiểu quảng bá, tất cả các nút phân chia chung một đường truyền vật lý Dữ liệu được gởi đi từ một nút nào đó có thể được tiếp nhận bởi tất cả các nút còn lại Nơi nhận kiểm tra xem địa chỉ đích gởi đến có phải là của mình hay
Trang 10không để có thể tiếp tục thực hiện việc giao tiếp hay không
giao tiếp
Việc truyền tín hiệu trên mạng cũng cần phải tuân theo những quy tắc, quy ước về nhiều mặt, từ khuôn dạng (cú pháp, ngữ nghĩa) của dữ liệu tới các thủ tục gởi, nhận dữ liệu kiểm soát có hiệu quả và chất lượng truyền tin cũng như xử lý các lỗi sự cố Tập hợp tất cả các quy tắc đó gọi là giao thức (protocol) của mạng.
Phân loại mạng máy tính:
Có nhiều cách phân loại mạng khác nhau tuỳ thuộc vào các yếu tố chính làm chỉ tiêu phân loại mạng Nếu lấy khoảng cách làm chỉ tiêu phân loại mạng thì ta có các loại sau:
đối nhỏ với khoảng cách lớn nhất giữa các máy tính cũng chỉ vài chục km trở lại.
Một mạng cục bộ bao gồm cả phần cứng và phần mềm Phần mềm của nó bao gồm chương trình điều khiển và hệ điều hành mạng Còn phần cứng bao gồm :
o Máy chủ (File server-FS ).
o Các trạm làm việc
o Các thiết bị ngoại vi.
o Card mạng.
sử dụng (cài đặt ) trong phạm vi một đô thị hay một trung tâm kinh tế –chính trị xã hội có bán kính trong phạm vi khoảng 100km trở lại.
biên giới của một quốc gia.
mạng trải khắp bề mặt của trái đất.
Như ta đã biết, để ghép nối với máy tính ta có ba khả năng để trọn:
i Ghép nối qua cổng máy in hay còn gọi là cổng song song
ii Ghép nối qua rãnh cắm mở rộng trên bản mạch chính.
iii Ghép nối qua cổng nối tiếp.
Mỗi phương pháp đều có những ưu nhược điểm riêng lên đến bây giờ tất cả các phương pháp đều tồn tại Tùy theo kinh
nghiệm , công việc khác nhau mà ta có sự lưa trọn khác nhau
Trang 11Hinh 1: Bảng mô tả sự bố trí các chân ở cổng nối với máy in
Ở phần này em chỉ giới thiệu qua về hai phương pháp đầu và
đi sâu hơn vào phương pháp thứ ba.
I Cổng song song:
1 Cấu trúc của cổng song song:
Cổng song song có 2 loại :
Ổ cắm 36 chân
Oå cắm 26 chân
Ngày nay hầu hết các máy tính PC đều trang bị cổng song song
25 chân nên ta chỉ cần quan tâm đến cổng 25 chân.
Ở dạng truyền song song, các bit dữ liệu được truyền đồng thời trên các đường khác nhau Ưu điểm lớn nhất của việc truyền song song là tốc độ truyền cao, các đường dẫn đều tương thích TTL Nhược điểm là dễ bị nhiễu
2 Sơ đồ chân:
Bảng mô tả sự bố trí các chân ở cổng nối với máy in:
2 ÷ 9 D0 ÷ D7 Lối ra Đường dữ liệu D0
nhận)
13 SLCT Lối vào Select ( lựa chọn)
máy in
13 25
1224112310229218207196185174163152141
Trang 12 Cổng nối với máy in hay thường gọi là giao diện Centronics.
Cổng này không chỉ nối với máy in mà còn ghép nối với các thiết bị ngoại vi khi sử dụng máy tính vào mục đích đo lường và điều khiển.
Cổng có 25 chân Ngoài 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, gồm 12 đường dẫn ra và 5 đường dẫn vào 8 đường dẫn dữ liệu D0 ÷ D7 không phải là đường dẫn hai chiều trong tất cả các loại máy tính nên trên bảng mô tả chỉ xem như là lối ra Các lối ra kác nữa là STROBE, AUTOFED ( AF), INIT và SELECT IN (SLCTIN) Khi trao đổi thông tin với máy in, các đường dẫn này có những chức năng xác định Thí dụ, INIT = 0 thực hiện một quá trình khởi động lại (Reset) ở máy in, còn STROBE có nhiệm vụ ghi các bit dữ liệu đã được gửi từ máy in bằng một xung Low vào trong bộ nhớ của máy in
Cổng của máy in cũng có những đường dẫn lối vào, nhờ vậy mà sự bắt (chéo) tay giữa máy tính và máy in được thực hiện Chẳng hạn, khi mà máy in không còn đủ chỗ trong bộ nhớ thì máy in sẽ gửi đến máy tính một bit trạng thái (BUSY = 1); điều đó có nhgĩa là máy in tại thời điểm này đang bận, không nên gửi thêm các byte dữ liệu khác đến nữa.Khi hết giấy ở máy in thì máy tính sẽ thông báo là PAPER EMPTY (PE) Đường dẫn lối vào tiếp theo là ACKNOWLEDGE (ACK), SELECT (SLCT) và ERROR.
Tổng cộng máy tính PC có 5 lối vào hướng tới máy in.
3 Sự trao đổi với các đường dẫn tín hiệu:
Các tín hiệu được trao đổi qua cổng song song thông qua 3 thanh ghi:
thanh ghi dữ liệu
thanh ghi trạng thái
thanh ghi điều khiển.
Thanh ghi dữ liệu
Được định vị ở địa chỉ cơ sở của cổng
Trang 13 Thanh ghi trạng thái
Định vị ở địa chỉ cơ sở của +1.
Đây là thanh ghi chỉ đọc, được CPU dùng để thu trạng thái hiện tại của dòng tín hiệu đi từ máy in hay thiết bị tới máy tính.
3 bit thấp đầu tiên được đặt bằng 0 Các bit khác còn lại được đặt như hình vẽ:
Thanh ghi điều khiển
Định vị ở địa chỉ cơ sở +2.
D7 D6 D5 D4 D3 D2 D1 D0 Datenregister(Basicaddress)
Pin 2 Pin 3 Pin 4 Pin 5 Pin 6 Pin 7 Pin 8 Pin 9
Controlregister (Basicaddress =2) D7 D6 D5 D4 D3 D2 D1 D0
Pin 1 (STROBE) Pin 14 (AUTOFEED) Pin 16 (INIT) Pin 17 (SLCTIN)
1 2
Trang 14Ở các máy tính PC được chế tạo gần đây, địa chỉ cơ bản của cổng máy in được sắp xếp như sau:
LPT1 (Cổng máy in thứ nhất) ⇒ Địa chỉ cơ bản = 378H LPT2 (Cổng máy in thứ hai) ⇒ Địa chỉ cơ bản = 278H.
Các địa chỉ cơ bản của cổng máy incủa máy tính PC được đặt ở những địa chỉ bộ nhớ xác định và có thể được đọc ra bằng một chương trình viết bằng phần mềm Địa chỉ cơ bản của LPT1 đúng như giá trị 16 bit được cất trong bộ nhớ có địa chỉ 408H và 409H, còn 40AH và 40BH chứa đụng địa chỉ cơ bản của LPT2.
2 Rãnh cắm mở rộng:
Rãnh cắm mở rộng ở đây là nói đến các Bus đã được để sẵn trên bản mạch chính Từ trước đến nay đã có đến tám kiểu Bus mở rộng được sử dụng cho máy tính cá nhân (gần đây có thêm bus AGV) Việc phân loại các Bus mở rộng thường dựa trên sô các bit dữ liệu ,à chúng xử lý đồng thời Đó là các bus
Bus PC(còn gọi là ISA 8 bit)
Bus EISA(32 bit)
Bus VESA Local(32bit)
Bus SCSI(16/32bit)
Bus ISA(16bit)
Bus MCA(32 bit)
Bus PCI(32/64 bit)
Bus PC/MCA(16 bit)
Tuy nhiên, cho tới nay, phần lớn các card ghép nối dùng trong kỹ thuật đo lường và điều khiển đều được chế tạo theo tiêu chuẩn ISA.
Thông thường rãnh cắm có 62 đường tín hiệu dùng cho thông tin với một card cắm vào về cơ bản các đường tín hiệu này chia thành 3 nhóm đường tín hiệu, đường địa chỉ và đường điều khiển.
Rãnh cắm 62 chân:
Trang 15năng
Các chân trên card
Chức năng
Trang 16Rãnh cắm 16 bit bao gồm rãnh cắm 8 bit và có thêm một rãnh cắm thứ hai.
Sau đây là sự sắp xếp chân của rãnh cắm thứ hai:
Rãnh cắm 8 bit mở rộng:
Chức
năng Chân Phía mạch
in
Chân Phía linh kiện
Chức năng
Trang 17A0 ÷ A19 : các đường tín hiệu địa chỉ, xuất địa chỉ và
định địa chỉ bus hệ thống gán vào thiết bị
ô nhớ và I/O, cho phép truy cập 1Mbyte bộ nhớ khi BALE ở mức cao và được cài ỏ cạnh xuống của BALE Bằng cách sử dụng các lệnh xuất nhập, bộ xử lý có thể định địa chỉ 64K địa chỉ cổng I/O Do các đường từ A10
÷ A16 không dùng, PC chỉ dùng các đường từ A0 ÷ A9 để định vị địa chỉ cổng nên địa chỉ hợp lệ đối với bus hệ thống của PC là 300H
÷ 3F1H.
LA17 ÷ LA23 : đường địa chỉ có giá trị khi BALE ở mức cao,
kết hợp với các đường dịa chỉ A0 ÷ A19 truy cập 16 Mbyte bộ nhớ.
RESET DRV : khởi động máy khi bật nguồn hay nhấn
RESET.
SD0 ÷ SD15 : các đường dữ liệu 16 bit, truyền 2 chiều.
BALE : Bus Address Latch Enable cho phép cài địa chỉ AEN : do DMA phát ra dùng ngăn cản các Slave khi
DMA diễn ra.
CLK : xung đồng hồ (6/8MHz và 14.3MHz).
ALE : chốt địa chỉ hợp lệ.
/IOW : cho phép xuất dữ liệu ra I/O.
/IOR : cho phép đọc dữ liệu về từ I/O.
/IOCHCK : kiểm tra lỗi xuất nhập (parity).
/OCHRDY : báo kênh I/O sẵn sàng.
/MEMW, /MEMR : ghi và đọc bộ nhớ nhóm tín hiệu phân xử bus.
/SMEMW, /SMEMR : ghi và đọc bộ nhớ, tác động ở vùng nhớ < 1Mb.
SBHE : Bus High Enable _ báo truyền dữ liệu 8 bit cao DRQ0 ÷ DRQ3 : Direct Memory Access Request _ yêu cầu DMA DRQ5 ÷ DRQ7 truyền dữ liệu trực tiếp với bộ nhớ.
Trang 18/DACK : DMA Acknoledge _ khi DRQ yêu cầu, máy tính
trả lời qua /DACK.
MASTER : chân điều khiển để ngoại vi chiếm tuyến
IRQ : tạo yêu cầu ngắt cho CPU Ưu tiên IRQ 9 ÷
IRQ12, IRQ 14 ÷ IRQ15, IRQ 3 ÷ IRQ7.
/REFRESH : báo đang ở chu kỳ làm tươi bộ nhớ động OWS : Zero Wait State _ báo không cần thêm chu kỳ
chờ.
Các chu kỳ bus:
Chu kỳ đọc cổng I/O
Trong kỳ đọc cổng I/O, các đường /MEMR, /MEMW, /IOW không tích cực.
Chu kỳ đọc bằng 4 lần chu kỳ xung CLOCK.
Giản đồ thời gian:
CLOCK
ALE
A0 ÷ A9 Valid memmory address
MEMR MEMW
IOR IOW
Trang 19Chu kỳ ghi cổng I/O:
Chu kỳ ghi cổng I/O bằng 5 lần chu kỳ bit.
Giản đồ thời gian:
3 Cổng nối tiếp:
Ghép nối tiếp qua cổng RS-232 là một trong những kỹ
thuậtđược sử dụng rộng rãi nhất để ghép nối các thiết bị ngoại vi với máy tính Qua cổng nối tiếp có thể ghép nối
chuột, mođem, máy in, bô biến đổi A/D, các thiết bị đo lường… Số lượng và chủng loại các thiết bị ngoại vi ghép nố qua
cổng nối tiếp đứng hàng đầu trong số các khả năng ghép nối với máy tính Em sẽ giới thiệu cụ thể về cổng nối tiếp
ở chương sau.
CLOCK
Valid data to a port
IOW
D0 ÷ D7 ALE
Trang 20CHƯƠNG II:
Truyền Thông Qua Cổng Nối Tiếp
Sau một thời gian lưu hành không chính thức, đến năm 1962, Hiệp hội các Nhà Công nghiệp Điện Tử (EIA: The Electronics
Industries Association) đã ban hành tiêu chuẩn RS-232 áp dụng cho cổng nối tiếp Các chữ RS viết tắt từ Recommended
Standard(Tiêu chuẩn đã giới thiệu)
Có 2 phiên bản RS-232 được lưu hành trong thời gian tương đối dài là RS-232B va RS-232C Cho đến nay chỉ còn RS-232C còn tồn tại mà chúng ta quen gọi là RS-232 Ngày nay, hầu hết các máy tính đều trang bị một hoặc hai cổng nối tiếp RS-232, và tất cả đều có khả năng sử dụng RS-232, ít nhất là như một khả năng tùy chọn từ nhà sản xuất máy tính hoặc từ phía người sử dụng máy tính Từ chuẩn RS-232 ban đầu đó cho đến nay EIA đă phát hành thêm nhiều chuẩn truyền thông khác mang họ RS như RS-422, RS-423, RS-485, các giao diện này đều có những ưu nhược khác nhau mà tùy theo điều kiện sản xuất mà có những áp dụng khác nhau Do đó tất cả các chuẩn này vẫn tồn tại song song.
1 Bảng thông số:
2m
100Kbps/9 m 10Kbps/90 m 1Kbps/1.2 m
10Mbps/12m 1Mbps/120m 100Kbps/1.2 km
Mode Unbalanced Balance Unbalanced Balance
Trang 21Differential Differential Differential
Simplex Half-Duplex Full- Duplex
Simplex Half-Duplex Full- Duplex
Simplex Half-Duplex Full- Duplex Short
circuit
Current
Chuẩn RS-232C :
Là chuẩn của EIA ( Electronics Industries Association ) nhằm định
nghĩa giao điện vật lý giữa DTE ( Data terminal Equipment : thiết bị đầu cuối dữ liệu ) và DCE ( Data Communications Equipment : thiết
bị cuối kênh dữ liệu ) (ví dụ giữa 1 máy tính và một modem)
Chuẩn này sử dụng đầu nối 25 chân, tuy nhiên chỉ có 1 số ít chân là cần thiết cho việc liên kết Về phương diện điện, chuẩn này quy định mức logic 1 và mức logic 0 tương ứng với các mức điện áp nhỏ hơn –3V và lớn hơn +3V Tốc độ đường truyền
không vượt quá 20Kb/sản phẩm với khoảng cách dưới 15m.
Chuẩn RS-232 có thể chấp nhận phương thức truyền song công (full-duplex).
Một trong những yêu cầu quan trọng của RS-232 là thời gian chuyển từ mức logic này sang mức logic khác không vượt quá 4% thời gian tồn tại của 1 bit Giả sử với tốc độ truyền 19200 baud thì thời gian chuyển mức logíc phải nhỏ hơn 0.04/19200=2.1µs,điều này làm giới hạn chiều dài đường truyền Với tốc độ 19200 baud ta có truyền tối đa 50ft (Gần bằng 15.24m).
Start bit Stop bit
D0 D1 D2 D3 D4 D5 D6 D7 +12V
Trang 22Một trong những vấn đề cần lưu ý khi sử dụng RS-232 là mạch thu phát không cân bằng ( đơn cực, tức là điện áp vào so với đất ).
Chuẩn RS-489 và RS-423A : Vào năm 1978-1979, EIA đưa ra 2 chuẩn giao tiếp mới để khắc phục các nhượt điểm trên của RS-232 là RS-444 ( cân bằng ) và RS-423 (không cân bằng).
Sự chọn lựa giữa truyền cân bằng và không cân bằng được quyết định bởi tốc độ truyền tín hiệu Khi tốc độ truyền vượt quá 20Kbps thì hầu hết các mạch sử dụng truyền cân bằng, ngược lại ta sử dụng truyền không cân bằng Với chuẩn RS-449, tốc độ truyền có thể trên 20Kbps.
Với chuẩn RS-423, tốc độ truyền có thể lên tới 100Kbps và khoảng cách truyền lên đến 1km Tiêu chuẩn này sử dụng các
IC kích phát, thu MC3488 và MC3486.
Chuẩn RS-422A : Một cải tiến nữa của chuẩn RS-232 là chuẩn RA-422A Với chuẩn này độ lợi được gia tăng và sử dụng việc truyền tín hiệu sai biệt ( Differential data ) trên những đường truyền cân bằng Một dữ liệu sai biệt yêu cầu hai dây, một cho dữ liệu không đảo (noninverted ), một cho dữ liệu đảo( inverted ) Dữ liệu được truyền trên đường dây cân bằng, thường là cặp dây xoắn với một điện trở ở đầu cuối Một IC lái ( Driver ) biến đổi các mức logic thông thường thành một cặp tín hiệu sai biệt để truyền Một bộ phận biến đổi tín hiệu sai biệt ngược lại thành các mức logíc Dữ liệu nhận là phần khác nhau giữa tín hiệu không đảo ( A ) và tín hiệu đảo ( A ) Chú ý rằng không cần nối đất giữa thiết bị thu và thiết bị phát Các IC lái RS- 422A hầu hết hoạt động với điện áp nguồn +5V như các chip logic Với chuẩn này tốc độ truyền, khoảng cách truyền được cải thiện rất nhiều.
Chuẩn RS-485 : Giao tiếp EIA RS_485 dựa trên chuẩn RS-422A , nó là một cải tiến của chuẩn này Đặc tính điện của nó giống như RS_422A RS-485 là chuẩn truyền vi sai, sử dụng hai dây cân bằng, có thể đạt tốc độ 10Mbps và chiều dài truyền thông có thể lên tới 4000 feet (khoảng 1.2km) Điện áp vi sai ngõ ra khoảng +1.5 đến +5V nếu là logic “0” va từ –3V đến –1.5V cho mức logic “1” Một sự khác biệt quan trọng của RS-485 là nó cung cấp đến 32 drivers Và 32 reicever trên cùng 1 đường truyền Điều
Trang 23này cho phép tạo ra một mạng cục bộ Để có khả năng như vậy thì ngõ ra của driver RS-485 là ngõ ra trạng thái Nó có thể
ở mức tổng trở cao để bus không bị chập khi có một driver truyền.
Card giao tiếp RS_485 với PC được chế tạo sẳn và sử dụng kết nối DB9 như chuẩn RS-422A Trên car có 1 tín hiệu điều khiển để treo ngõ ra của driver lên mức tổng trở cao khi nó nhường đường truyền cho 1 driver khác Thông thường người ta dùng tín hiệu DTR để làm việc này khi đường tín DTR không được dùng để giao tiếp bên ngoài Đồng thời một giao thức mềm đựơc sử dụng để xác định địa chỉ một driver được phép truyền tại một thời điểm, các driver ở trạng thái tổng trở cao.
Chuẩn RS-485 thường được dùng trong mạng có quan hệ Slave Chỉ có duy nhất một trạm là Master ( bộ điều khiển mạng ), còn những trạm khác là các Slave Master được tryuyền bất cứ lúc nào, nó sẽ chỉ định một Slave bất kỳ giao tiếp với nó tại một thời điểm Slave chỉ có thể truyền khi nhận một lệnh thích hợp từ Master Mỗi Slaver có một địa chỉ trên đường truyền và sẽ không được phép truyền nếu không được Master yêu cầu.
Master-III Các phương pháp truyền thông :
1 Đơn công :( Simplex Communication ) truyền thông một chiều, dữ liệu chỉ có thể truyền theo một chiều từ máy tính tới thiết bị ngoại vi mà không có chiều ngược lại.
Bước 1-phát
Khối dữ liệu
CRC Khối dữ liệu
ACK/NAK
Trang 24
Máy tính Bước 2-thu Ngoại vi
3 Song công : (Full-duplex Communication ) phát thu đồng thời.
Để thực hiện việc thông tin cần có các nghi thức điều khiển :
o ACK ( Acknowledge ) tín hiệu báo xác nhận, máy thu xác nhận dữ liệu được truyền.
o NAK ( Not Acknowledge ) máy thu gởi tín hiệu không xác nhận nếu dữ liệu sai.
o CRC ( Cyclic Redundence Check ) kiểm tra dư thừa chu kỳ Sử dụng các thông tin thừa để phát hiện và sửa lỗi Ví dụ dùng ba phần tử cùng thực hiện một chức năng, nếu đầu ra của một phần tử khác đầu ra của hai phần từ còn lại thì phát hiện sai và phải loại bỏ.
Phát và thu
Hầu hết các máy tính lưu trữ và thao tác và lưu trữ dữ liệu theo kiểu song song Nghĩa là khi gởi 1 byte từ bộ phận này tới bộ phận khác của máy tính, không phải truyền tuần tự từng bít mà truyền đồng thời nhiều bít trên cùng các mạch dây song song Số các bit gởi đi cùng một lúc thay đổi tuỳ theo
mỗi loại máy tính khác nhau nhưng thường là 8 hoặc bội của 8.
Vì thế máy tính làm việc thường nhiều byte cùng lúc, ít nhất là một byte.
Nhưng truyền thông từ máy tính đến một máy tính khác hay thiết bị ngoại vi thì được làm tuần tự, dữ liệu được gởi từng bit Bộ giao tiếp tuần tự nhận những byte trên những mạch dây song song và gởi các bít đi một cách riêng biệt.
RCR Khối Ack CRC Khối dữ liệu
Khối dữ liệu RCR Khối Ack CRC
Trang 25Dữ liệu trên đường truyền chỉ ở trạng thái điện thế dương( MARK ) hoặc điện thế âm ( SPACE ) Bất kỳ dữ liệu được truyền nào, trước tiên phải chuyển thành 1 dãy thứ tự các MARK và SPACE, MARK tương ứng với logic 1, SPACE tương ứng với logic 0
Có hai hình thức truyền thông tuần tự
Communication )
Ký tự được truyền theo các Frame, mỗi frame gồm các start bit, các bít dữ liệu của ký tự được truyền, parity bit ( để kiểm tra lỗi đường truyền), stop bit Xử lý truyền và nhận dữ liệu theo phương thức này sử dụng các vi mạch thu phát không đồng bộ vạn năng UART ( Universal Asynchronous Receiver Transmitter ) Nhượt điểm của phương pháp này là tốc độ truyền khá chậm vì phải truyền thêm các bit start , bit stop, parity Muốn loại bỏ các bit này để nâng cao số bit dữ liệu được truyền, người ta sử dụng phương thức truyền dữ liệu đồng bộ (Synchronous ).
Chiều của dòng dữ liệu
o Để kiểm tra lỗi đường truyền người ta sử dụng bít chẳn lẻ ( parity bit ), tức là kiểm tra chẳn lẻ số bit 1 Nếu kiểm tra chẳn, nghĩa là tổng số bit 1 trong ký tự ( từ D0 D7 ) và bít chẳn lẻ phải chẳn Ngược lại nếu kiểm tra số bit 1 trong ký tự là lẻ thì bit chẳn lẻ phải lẻ Bit stop được sử dụng để báo cho phía thu biết rằng việc truyền ký tự đã kết thúc Số bit stop thường được dùng là 1, 1.5, 2 bit Như vậy trong phương pháp truyền bất đồng
Trang 26bộ, các bit dữ liệu sẽ được đóng khung cùng với các bit start, stop, và bit parity tạo thành 1 Frame.
Phương thức truyền này không dùng các bít start, stop để đóng khung mỗi ký tự mà chèn các ký tự đặc biệt như SYN ( Synchronization ), EOT ( End of Transmission ) hoặc 1 cờ giữa các dữ liệu của người sử dụng để báo hiệu cho người nhận dữ liệu biết rằng dữ liệu đã hoặc đang đến.
Truyền thông đồng bộ thường được tiến hành với tốc độ
4800bps, 9600bps hoặc thậm chí còn cao hơn Trong phương pháp này, một khi đã đồng bộ, các Modem vẫn tiếp tục gởi ký tự để duy trì đồng bộ, ngay cả lúc không phát dữ liệu Một ký tự ‘IDLE’ được gởi đi khi không có dữ liệu phát Phương pháp truyền đồng bộ khác phương pháp truyền bất đồng bộ ở
khoảng thời gian truyền giữa hai ký tự luôn giống nhau.
Truyền đồng bộ đòi hỏi các xung clock trong máy thu và phát phải duy trì đồng bộ những khoảng thời gian dài.
Trong phương pháp truyền đồng bộ các ký tự truyền sẽ được kèm theo một ký tự đồng bộ SYN (mã ASCII là 22 ) Xử lý
truyền và nhận là các vi mạch USART ( Universal Synchronous
Asynchronous Receiver Transmitter ), vi mạch này cho phép hoạt
động trong cả hai chế độ truyền.
Thông
o BCC ( Block check character ) : ký tự kiểm tra khối.
o TEXT : thân dữ liệu hay văn bản.
o HEADER : phần đầu
CHƯƠNG III:
S O H
H e a d e r
S X T
T e x t
E X T
B C C
Trang 27Vi mạch UART ( Universal Asynchronous
Receiver ) 8250A, 16450.
I Địa chỉ Port và IRQ’s:
1 Bảng địa chỉ PORT tiêu chuẩn : trình bày ở dưới :
2 Bảng địa chỉ cổng Com trong vùng dữ liệu BIOS : trình bày ở dưới.
Địa chỉ Chức năng
0000:0400 Địa chỉ nền của
Com 1 0000:0402 Địa chỉ nền cua Com
2 0000:0404 Địa chỉ nền cua Com
3 0000:0406 Địa chỉ nền cua Com
4
Bảng trên trình bày của cổng Com mà chúng ta có thể tìm thấy trong vùng dữ liệu BIOS của PC Mỗi địa chỉ gồm hai Byte.
II Tổng quan :
Vi mạch 8250A ( hoặc 16450 ) của Intel là một UART được dùng
rất rộng rãi trong các PC UART 8250A có các chức năng chính như sau:
Biến đổi dữ liệu song song từ CPU thành dạng nối tiếp để truyền đi, đồng thời thu dòng dữ liệu nối tiếp và đổi chúng thành các ký tự song song Sau đó gởi đến vi xử lý (µp).
Thêm các bit Start, stop, parity vào từng ký tự trước khi phát
đi và tách các bit này ra khỏi ký tự nhận được.
Bảo đãm các bit kỳ tự truyền đi với tốc độ được lập trình trước, kiểm tra để phát hiện lỗi tương ứng : lỗi ký tự, lỗi parity.
Trang 28o Set tín hiệu bắt tay phần cứng thích hợp và cho biết trạng thái của tín hiệu.
1 Các thanh ghi của UART :
Các thanh ghi điều khiển chính (Control Register : CR ) nhận được lệnh từ CPU.
o Thanh ghi điều khiển đường truyền ( Line Control Register : LCR ): dùng để đặt các thông số truyền
o Thanh ghi điều khiển Modem ( Mode Control Register : MCR ) : điều khiển tín hiệu bắt tay gởi từ UART.
o Thanh ghi cho phép ngắt ( Interrupt Enable Register : IER ) :
Thanh ghi trạng thái ( Status Register : SR ) : thông báo cho CPU biết hoạt động của UART.
o Thanh ghi trạng thái đường truyền ( Line Status Register : LSR ) : chứa thông tin về truy xuất dữ liệu.
o Thanh ghi trạng thái Modem ( Modem Status Register : MSR ) : chứa thông tin về trạng thái của những đường bắt tay.
o Thanh ghi định danh ngắt ( Interrupt Identification Register : IIR ) : chứa thông tin về trạng thái hiện tại của ngắt gởi đến.
Thanh ghi đệm ( Buffer Register : BR ) : phục vụ cho việc trao đổi dữ liệu.
o Thanh ghi giữ phát ( Transmitter Holding Register : THR ) : giữ dữ liệu kế tiếp trước khi phát đi.
o Thanh ghi đệm thu ( Receiver Buffer Register : RBR ) : giữ kí tự thu được sau cùng.
o Ở bảng dưới địa chỉ nền có thể là ( 2F8H, 3F8H, 2E8H,
3E8H ) tuỳ theo cách chọn của người lập trình
+0 0 0 0 0 Thanh ghi đệm thu (RBR ), thanh ghigiữ phát (THR)
+1 0 0 0 1 Thanh ghi cho phép tạo yêu cầu
Trang 29+2 X 0 1 0 Thanh ghi nhận dạng nguồn gốcyêu cầu ngắt(IIR).
+3 X 0 1 1 Thanh ghi điều khiển đường dây
Tốc
độ
( Baud )
Divisor Byte chốt chia
cao(DLHB) Byte chốt chiathấp(DLLB)
Trang 30Vi mạch 8250A có 3 tín hiệu chọn chip để tạo
điều kiện thuận lợi cho người sử dụng trong
việc giải mã địa chỉ cơ bản Các chân địa chỉ
cơ bản A1, A2, A0, giúp ta chọn các thanh ghi
bên trong của UART ( xem bảng ở dưới)
Bảng chọn thanh ghi trong vi mạch 8250A.
X-tal là các chân để cắm thạch anh dùng cho mạch dao động bên trong của 8250A Trong trường hợp sử dụng tín hiệu
Master
Đệm bus dữ liệu
Logic điều khiển ghi đọc
Điều khiển Thu Phát Và modem
Đệm thu
Xtal
out BaudRxClk −
1
OutRST
CTS
2
OutDTR DSR
RLSD RI
INTRPT
WR
D0…D7
Trang 31đồng hồ chuẩn từ bên ngoài thì ta đưa xung đồng hồ vào chân X-tal 1 và bỏ lửng chân X-tal 2 Chân RLSD ( receiver line signal detect ) chính là chân tìm thấy sóng mang ( CD hoặc DCD cho tiêu chuẩn RS-232C hoặc Syndet của 8251A ), tức là thiết lập được đường truyền Tín hiệu RI ( Ring indicator ), cũng là tín hiệu chuẩn của RS-232C, để modem thông báo là có xung réo chuông Tín hiệu INTRPT là tín hiệu yêu cầu ngắt CPU Các đầu ra phụ OUT1 và
2
OUT dành cho người sử dụng trong trong trường hợp không tương thích với chuẩn RS-232C Chân MS (Master reset) là chỗ nối vào của tín hiệu reset của hệ thống có tác dụng xóa tất cả các thanh ghi trong vi mạch 8250A, trừ thanh ghi đệm thu, thanh ghi đệm phát và các thanh ghi MSB và LSB của số chia.
Tốc độ truyền được tính nhờ vào việc chọn xung đồng hồ vào X-tal 1 và việc chọn số chia của tần số này( để tại thanh ghi MSB và LSB )
Ví dụ, nếu ta dùng tần số 1.8432 Mhz tại X-tal1,
ta muốn tốc độ phát là 9600 baud ta tìm số
chia để ghi vào LSB và MSB như sau :
Số chia = tần số vào /( tốc độ phát x 16) = 1.8432x10 6 / (9600x16) =12.
Thanh ghi điều khiển đường truyền : (Line control register : LCR )
Thanh ghi này có tên là thanh ghi định dạng dữ liệu vì nó quyết định khuôn dạng dữ liệu của truyền thông trên đường dây Dạng thức của thanh ghi LCR được biểu diễn như hình ở dưới :
DL
AB SB CB SP EP S PE N ST B WS L1 WS L0
D7 D6 D5 D4 D3 D2 D1 D0
Bit điều khiể
n giá
n đoạn
1:
buộc Soun
=0.
0:kho âng hoạt
0:
khôn
g hoạt động
Kiểm tra chẳn lẻ.
1:
parity chẳn.
0:
parity lẻ.
Số bit stop.
0:
1bit.
1:1.5 bit
2 bit
Chọn độ dài từ.
00: 5bit 01:
6bit.
10: 7 bit.
11: 8bit
Cho phép tạo, kiểm tra parity.
1: cho phép.
0:
cấm.
Trang 32Luận Văn Tốt Nghiệp GVHD:Thầy Nguyễn Chí Nghĩa
Trong thanh ghi điều khiển đường truyền LCR cần chú ý đến vấn đề sau : việc quy định số bit stop không chỉ phụ thuộc vào bit D2 mà còn phụ thuộc vào mã chọn độ dài ký tự Cụ thể là : nếu D2=1 mà mã này là 00( D1D0 )thì sẽ tạo /kiểm tra 1.5 bit stop, nếu mã này là 6, 7, 8 bit thì sẽ tạo / kiểm tra 2 bit stop.
Thanh ghi đệm phát : (Transmitter holding register : THR)
Ký tự cần phát đi phải được ghi từ CPU vào thanh ghi này trước khi phát đi trong khi bit DLAB=0 Sau đó , khi truyền đi 8255A lấy dữ liệu từ thanh ghi này, đóng khung nó như đã định, sau đó lần lượt đưa từng bít ra cổngS out.
Thanh ghi đệm thu (Receiver buffer register : RBR ) : Khi 8250A nhận được 1 ký tự qua chân S in, nó tháo bỏ khung ký tự và giữ ký tự tại thanh ghi đệm thu để CPU đọc, CPU chỉ đọc ký tự này khi bit DLAB=0.
Thanh ghi cho phép tạo yêu cầu ngắt( Interrupt enable register : IER ): thanh ghi này dùng để cho phép hay cấm ngắt Trong khi mạch 8250A hoạt động, có thể tác động đến CPU thông qua chân INTRPT của UART Mỗi bit trong các bit D3, D2, D1, D0 ở mức cao sẽ cho phép các trạng thái ứng với bit đó đưa ra yêu cầu ngắt đối với CPU Biểu diễn thanh ghi IER ở hình dưới :
Thanh ghi nhận dạng nguồn yêu cầu ngắt: (Interrupt Identification Register : IIR ):
Thanh ghi nhận dạng ngắt chỉ dùng để đọc, chứa mã ưu tiên cao nhất của yêu cầu ngắt ( tại chân INTRPT của 8250A ) đang chờ được phục vụ Do đó khi cần xử lý các yêu cầu ngắt
khiể
n giá
n đoạn
1:
buộc Soun
=0.
0:kho âng hoạt động
1: Cho phép các tín hiệu trạng thái đường dây thu ngắt.
1: cho phép gây ngắt khi đệm thu đầy.
D7 D6 D5 D4 D3 D2 D1
D0
Trang 33theo kiểu thăm dò, CPU chỉ cần đọc bit 0 của thanh ghi này để biết là có yêu cầu ngắt, và cần xét các bit ( Bit 1, bit 2 ) để xác định nguồn gốc của yêu cầu ngắt Thứ tự ưu tiên ngắt từ thấp đến cao theo thứ tự từ trên xuống dưới theo bảng ở dưới :
Bit Ghi chú
Bit 6:7
Bit 6 Bit 7 Cho trạng thái bộ đệm vào trước ra
trước.
0 0 Không vào trước ra trước.
0 1 Cho phép vào trước ra trước nhưng
0 0 Ngắt trạng thái modem.
0 1 Ngắt khi đệm giữ phát rỗng.
1 1 Ngắt trạng thái đường truyền thu.
Bit 0 0 Có yêu cầu ngắt
1 Không có.
Thanh ghi điều khiển modem là thanh ghi đọc ghi Thanh ghi còn được gọi là thanh ghi điều khiển các tín hiệu ra của modem bởi vì nó cho phép ta điều khiển các tín hiệu tại các chân DTRvà RTS
của mạch UART Dạng thức của nó được biểu điễn như sau:
Trang 34o Với bit 1 ở mức thấp thì 8255A sẽ báo cho UART sẳn sàng phát ký tự.
o Bằng bit 2, bit 1 của thanh ghi MCR chúng ta có thể điều khiển chân OUT1 và OUT2 tích cực hay không tích cực.
o Bit 4 của thanh ghi MCR cho phép mạch 8250A làm việc ở chế độ nối vòng cục bộ để kiểm tra chức năng của UART.
o Các chân điều khiển vào của modem (DSR, CTR,RI, RLSD ) không được nối ra ngoài mà được nối bên trong mạch với các chân điều khiển ra của modem( DTR, RTS, OUT1 , OUT2 ).
LSR ) : Thanh ghi này là thanh ghi chỉ đọc, cho biết trạng thái của
việc truyền tín hiệu trên đường dây như thế nào Dạng thức của thanh ghi này biểu diễn như ở bảng dưới :
Bit Ghi chú Bit 7 Lỗi trong quá trình thu FIFO
( Error in Receiver FIFO ).
Bit 6 Thanh ghi dịch phát rỗng
( Empty Data Holding Register ).
Bit 5 Thanh ghi giữ phát rỗng
( Empty Transmitter Holding Register ).
Bit 4 Break Interrupt Bit 3 Lỗi khung( Framing error).
Bit 2 Lỗi parity( parity error).
Bit 1 Lỗi do đè thu (Overrun error) Bit 0 Dữ liệu sẳn sàng ( data
Ready ).
Bit 0 DTR (Force Data Terminal Ready).
1: đưa DTR=1.
0: đưa DTR=0.
Trang 35o Khi bit 6 set lên (mức 1 ) thì cả hai thanh ghi truyền phát ( Transmitter holding register ) và thanh ghi dịch (shift register ) đều rỗng Trong khi đó khi bit 5 set lên thì chỉ có thanh ghi giữ phát là trống ( transmitter holding register ) Vậy đâu là sự khác nhau giữa chúng Khi bit 6 set lên thì thanh giữ phát rỗng, đường truyền không tích cực Còn khi bit 5 set lên thì thanh ghi truyền phát rỗng nhưng biến đổi nối tiếp dùng thanh ghi dịch có thể đang làm việc.
o Bit 4= 1, xảy ra khi tín hiệu ở đầu vào của phần thu giữ mức logic 0 lâu hơn thời gian dành cho 1 ký tự, bit này bị xoá khi CPU đọc thanh ghi LSR.
Thanh ghi trạng thái modem ( Modem Status Register : MSR) :
Thanh ghi này còn được gọi là thanh ghi trạng thaí vào từ trang thía RS-232C vì nó cho biết trạng thái hiện thời của các tín hiệu điều khiển modem từ đường dây.
Trang 36
CHƯƠNG V:
Giao Tiếp Máy Tính Với Vi Xử Lý.
I Truyền nhận qua cổng nối tiếp :
Việc truyền nhận qua cổng nối tiếp được thực hiện bởi UART Nguyên tắc cho chip UART hoạt động như sau:
Để truyền đi một ký tự, đầu tiên ký tự đó sẽ được đưa vào thanh ghi đợi truyền ( Transmit Holding Register ), sau đó được đưa qua thanh ghi dịch của bộ phát ( transmit Shift Register ) Sau khi ký tự trước đã truyền xong, từng bit của ký tự đươcï truyền sẽ dịch vào kênh dữ liệu.
Khi nhận một ký tự, đầu tiên các bit của nó lần lượt được nạp vào thanh ghi dịch của bộ thu ( Transmit Shift Register), sau đó chúng được đưa vào thanh ghi dữ liệu của bộ thu ( Receive Data Register ) sau khi đã loại bỏ các bit start, stop, parity.
Để thực hiện việc truyền dữ liệu qua cổng nối tiếp ta phải thực hiện các bước sau:
o Chọn cổng truyền Com 1, hay Com 2 Địa chỉ của Com 1 thường là 3F8H, còn Com 2 là 2E8H Đối với một số loại máy tính thì địa chỉ của cổng Com có thể vào BIOS để set lên, nên khi viết chương trình truyền cần vào BIOS để xem địa chỉ cổng Com cụ thể Nếu ta chọn COM 1 là 3F8 H, Com 2 là 2F8 H thì địa chỉ các thanh ghi khác là:
Com 1 chỉĐịa
Com 2
Interrupt identification register 3FAH 2FAH
o Đặt tốc độ baud
o Đặt cấu hình truyền : data bit, stop bit, parity (em chọn 8 bit
data, 1 bit stop, không có parity).
o Cho phép ngắt nếu sử dụng.
Trang 37 Để thực hiện việc truyền dữ liệu trước hết chúng ta phải khởi động cổng COM, sau đó thực hiện việc truyền phát với chương trình truyền và phát trình bày ở dưới đây dược viết theo kiểu API:
o Chương trình khởi động cổng COM: Chọn Com 2 với đia chỉ 2F8H để thực hiện việc truyền dữ liệu Cần chú ý đến Bit DLAB.
xuat(Reg2F8,$30);{baudrate=2400}
xuat(Reg2F9,$00);{khong su dung ngat}
xuat(Reg2FB,$03);{8 bit data, 1 bit stop, no parity} end;
begin asm PUSH Ax PUSH DX MOV DX,addr
IN AL,DX MOV TEMP,AL POP AX
POP Dx end;
Trang 38end;
(……….)
o Trong việc truyền dữ liệu nếu sử dụng các tín hiệu RTS, CTS … thì chúng ta cần phải viết chương trình cho chúng Trong việc truyền tín hiệu cho đề tài của em có sử dụng tín hiệu RTS, được viết như sau:
(……….)
procedure Tform2.setRTS;
var a: byte;
begin a:=nhap(Reg2FC);
a:=a and $FD;
xuat(Reg2FC,a);
end;
(……….)
Trang 39 Có hai phương pháp để điểu khiển việc thu phát dữ liệu qua UART: phương pháp hỏi vòng và phương pháp tạo ra một trình điều khiển tạo ngắt Phương pháp hỏi vòng chờ dữ liệu nhận xong hoặc phát xong, tốc độ chậm khoảng 34.8 Kbps
o Phát ký tự: Với phương pháp hỏi vòng, khi gởi đi 1 ký tự
ta phải kiểm tra xem thanh ghi đợi truyền có rỗng hay không bằng cách xem Bit 6 của thanh ghi LSR ( Line Status Register ) có bằng một hay không Chương trình viết cụ thể bằng Delphi 5.0 như sau:
(………) repeat
o Để thu một ký tự : Để biết có ký tự vào hay chưa
kiểm bit 0 của thanh ghi LSR ( Line Status Register ) Nếu bằng ‘1’ thì có một ký tự nhận vào Với chương trình cụ thể viết như sau:
giáo trình Lập trình ghép nối máy tính trong Windows của
tác giả Ngô Diên Tập
Để thực hiện việc mở cổng Com ta chỉ việc gõ một lệnh đơn giản là
Trang 40giáo trình) để giúp Delphi nhận ra được tài nguyên này Hơi rắc rối một tý nhưng mà bù lại ta sẽ gặp rất nhiều thuận lợi trong lập trình.
Trong luận văn này, em sử dụng một phương pháp khác đó là dùng MSComm Phương pháp này lập trình rất đơn giản và hỗ trợ rất mạnh và được nhiều người sử dụng Trong Visual Basic
MSComm đã được nhà lập trình cung cấp sẵn Còn trong Delphi
muốn sử dụng thì ta phải” dùng ké” tài nguyên này của VB
bằng cách copy têp tin “mscom.ocs” vào trong system của Window sau đó vào Component của Delphi để khai báo.
Về phương pháp khai báo và sử dụng sẽ đươc trình bày cụ thể ở trong phần phụ lục của em.
II Các phương pháp kết nối :
1 Kết nối máy tính với một Kit vi xử lý: Khi máy tính
giao tiếp với một kít vi xử lý thì ta chỉ dùng RS-232 là đủ , vì nó cho phép chuyển đổi từ +12V đến +5V phù hợp với nguồn cung cấp cho kit vi xử lý Nhưng điểm hạn chế của phương
pháp này là khoảng cách truyền ngắn , tối đa chỉ 15 m Biểu diễn giao tiếp ở hình dưới :
2 Kết nối máy tính với N (tối đa N=32) kít vi xử lý :
Để kết nối máy tính với nhiều vi xử lý chúng ta phải thực hiện các bước chuyển đổi sau :
o Chuyển đổi từ chuẩn RS-232 sang RS-485 để có thể truyền tín hiệu trên khoảng cách lớn khoảng 1.2km.
o Chuyển đổi từ RS-485 sang RS-485 sang TTL để phù hợp với áp vào của vi xử lý.
Kit vi xử lý
RS-232