I 4— CÁC THỦ TỤC TRUYẩN VÀ NHẬN Sể LỆU.
Khi mỏy tớnh vừa gửi lệnh điều khiển đốn, đồng thời thiết lập biến số lần phỏt
và thời gian đợi Timerout là 50ms. Sau thời . gian này mà chưa nhận được khung trả lời ACK thỡ mỏy tớnh sẽ tiến hành phỏt lại, số lần phỏt lại là 3 lần. Nếu sau 3 lõn phỏt khụng thành cụng, thỡ bỏo lỗi đường truyền.
b. Thủ tục trả lời ACK.
Khi Kit nhận được khung lệnh điều khiển đốn cú địa chỉ trựng với địa chỉ của mỡnh. Thỡ KIT sẽ tớnh toỏn xem, khung nhận được cú lỗi khụng nhờ vào byte Fcs do mỏy tớnh gửi kốm theo khung truyền. Nếu khụng cú lỗi, thị KIT sẽ trả lời bằng khung ACK và tiến hành điều khiển đốn. Bật hay tắt đốn là do giỏ trị trong khung Datal qui định. Cấu u trỳc khung trả lời của KT như sau:
"Data3 ! Data2 Ă Datal : Command Ă Addr đ Ă Addr_s
ằ ĐÃ
"_———[ramâ lệnh điều khiển bật hay tắt đốn đó phỏ —— THU
jĂ Addr s | Addr d | Command | Datal | Data2 | Data3 Fcs
Khung trả lời ACK '| PHÁT
THỦ
Hỡnh VI,9: Thủ tục trả lời ACK Trong Frame trả lời của KỊT thỡ giỏ trị từng byte là:
> STX:02H
> Addr_s: 31H hoặc 32H tựy vào KIT nào gửi.
Chương W_ C7 Mộ hỡnh mạng RS485
> Addr_d: 31H, là địa chỉ cảu mỏy tớnh.
> Command: Cú giỏ trị là 06H, cho biết khung này là khung trả lời. Khi mỏy tớnh nhận được khung ACK thỡ lập tức xúa cờ đợi Timerout và xúa biến giữ số lần phỏt.
> Datal, Data2, Data3: Do khung ACK chỉ là khung bỏo đó nhận được dữ liệu tốt nờn cỏc byte Data chưa dựng đến, do đú ta cho giỏ trị byte Data bằng 0.
ằ> Fcs: Giỏ trị được tớnh ra từ cỏc byte khỏc trong Frame. > ETX: 03H.
c. Thủ tục điều khiển đốn.
Khi Kit trả lời mỏy tớnh bằng khung ACK thỡ kế đến KIT sẽ tựy vào giỏ trị của byte Data1l mà điều khiển đốn.
II4.2.2 Thủ tục cập nhật giỏ trị giờ của đụng hụ trờn KIT. a.. Thủ tục gửi lệnh cập nhật giỏ trị giờ của đụng hồ.
Nguyờn tắc hoạt động cũng tương tự như thủ tục điều khiến bật hay tắt đốn, chỉ cú khỏc là giỏ trị của byte Command, Fcs và cỏc byte Data. Cấu trỳc khung:
Fcs | Data3 | Data2 | Datal | Command | Addr_d | Addr_s
PHÁT ———ỶỶ-->==Khung lệnh cập nhật giỏ trị si ——————mmn> THỦ
Addr_d Ă Command ' Datal ! Data2 | Data3 Fcs
PHÁT
THỦ ——...- trả lời ACK đang mong u —
Hỡnh VỊ.10: Thủ tục gửi lệnh cập nhật giỏ trị giờ
Giỏ trị của từng byte trong khung là: > STX:02H
> Addr s:31H
> Addr_d: 31H hoặc 32H.
> Command: Cú giỏ trị là 09H, cho biết hung này là khung yờu cầu KIT cập nhật lại giỏ trị giờ trờn đồng hồ của mỡnh.
> Datal: Giỏ trị giờ. Lấy giỏ trị từ đồng hồ trờn mỏy tớnh. > Data2: Giỏ trị phỳt.
> Data3: Giỏ trị giõy.
ằ> Fcs: Giỏ trị được tớnh ra từ cỏc byte khỏc trong Frame. > ETX: 03H.
Trang 74
Chương Vĩ Mụ hỡnh mạng 1S485
b. Thủ tục trả lời ACK.
Tương tự như thủ tục trả lời ACK của quỏ trỡnh điều khiển đốn. Ta chỉ tớnh lại giỏ trị của byte Fcs.
c. Thủ tục cập nhật giỏ trị giờ của đồng hồ.
Kớt sẽ lẫy giỏ trị trong byte data nhận được ghi vào DS1307. 1L4.2.3 Thủ tục cập nhật giỏ trị ngày của đồng hụ trờn KIT. Tương tự như quỏ trỡnh cập nhật giỏ trị giờ nhưng khỏc nhau ở :
> Command: Cú giỏ trị là 0AH, cho biết khung này là khung yờu cầu KIT cập nhật lại giỏ trị ngày trờn đồng ] hồ của mỡnh.
> Datal: Giỏ trị ngày. Lấy giỏ trị tư đồng hỗ trờn mỏy tớnh. ằ> Data2: Giỏ trị thỏng.
> Data3: Giỏ trị năm.
> Fcs: Giỏ trị được tớnh ra khỏc.