4.1. Động học thuận tay máy SCARA
Hình 4. 1: Các biến khớp tay máy SCARA
Tay máy SCARA có 4 bậc tự do với 4 khâu và 4 khớp Bảng thông số DH:
Khâu θi αi ai di
1 θ1* 0 a1 0
2 θ2* 180 a2 0
3 0 0 0 d3*
4 θ4* 0 0 d4
Bảng 4. 1: Bảng thông số DH của tay máy
Ma trận chuyển đổi từ khớp I – 1 đến khớp I có dạng:
1
0
0 0 0 1
i i i i i i i
i i i i i i i
i i
i i i
c s c s s a c
s c c c s a s
T s c d
θ θ α θ α θ
θ θ α θ α θ
α α
−
−
−
=
Các ma trận chuyển đổi trong tay máy:
4
4 0 0 0
0 0 1
0 0 0 1
0 0 0 1
d
d
Từ đó ta có:
12 4 12 4 12 4 12 4 2 12 1 1
12 4 12 4 12 4 12 4 2 12 1 1
0 1 2 3
4 0 1 2 3 4
1 3 4
s s 0
s s 0 s s
0 0 1
0 0 0 1
r r
c c s c s c a c a c
s c c s c c a a
T T T T T T
d d d
+ − + +
− − − +
= =
− − −
Giới hạn hành trình công tác:
1 90 ;o 2 110 ;o 4 180 ;o d4 0 140mm θ = ± θ = ± θ = ± = ÷
4.2. Động học nghịch tay máy
Hình 4. 2: Biễu diễn các biến khớp trên tay máy
Từ hình vẽ:
y
x x0
y0
a1
a2
θ2
θ1
γ
O0
2 2 2 2
2 2 2 2 1 2
1 2 1 2 2 2
1 2 2 2
2 2 1
( )
2a a 2a a
s ;
x y a a
x y a a c c
a y
tg tg
a c a x
γ β
+ − +
+ = + + ⇒ =
= =
+
Mỗi giá trị c2 tìm được 2 góc, mỗi giá trị tgβcũng tìm được 2 góc và trong Visua Basic không có hàm arcsin và arcos nên phải tìm nghiệm cụ thể theo arctg.
Xét :
2 2 2
ar ( 1 c ) r ctg
c
= −
(4. 1) Nếu r < 0 thì θ2 = ± +(r π)
Nếu r > 0 thì θ2 = ±r Xét :
arctg y
β = x (4. 2)
Nếu x > 0 thì arctg y β = x
Nếu x < 0 thì:
Nếu y < 0 thì arctg y β = x −π Nếu y > 0 thì arctg y
β = x +π
Góc γ < 90o (luôn luôn) nên không xét nghiệm arctgγ Gócθ1được tính: θ1= −β γ
Nghiệm của bài toán động học ngược là:
2 1
4 1 2
3 1 4
d d d
θ
θ β γ θ θ θ α
= −
= + −
= −
(4. 3)
- Xung hoạt động lên đến 16MHz Bộ nhớ dữ liệu và bộ nhớ chương trình:
- 32Kb bộ nhớ chương trình, có thể nạp xóa 10000 lần - 1024 EFROM, có thể nạp xóa 100000 lần
- 2 Kb SRAM
- Lập trình khóa bảo mật phần mềm Có các đặc điểm đặc trưng:
- 2 timer/counter 8 bit, 1 timer/counter 16 bit cho phép hoạt động ở nhiều mode khác nhau
- 4 ngõ ra PWM - 8 kênh ADC 10 bit
- Giao tiếp truyền nhận nối tiếp 2 dây I2C - USART nối tiếp lập trình được.
- Giao tiếp nối tiếp truyền thông SPI master/slave - Định thời watchdog
- Bộ so sánh tương tự Các đặc điểm đặc biệt:
- 6 chế độ nghỉ: Idle, ADC, power – save, Power – down, standby và extended standby
- Ngắt nội và ngoại Các chân và ngõ vào ra:
- 32 chân ngõ vào ra và một số chức năng đặc biệt.
- Đóng gói dạng 40 chân kiểu PDIP hoặc 44 chân kiểu TQFP hay QFN/MLF Điện áp hoạt động: 4.5 - 5.5V
Hoạt động với xung nhịp: 0 - 16 MHz
Bộ đệm Port C Bộ đệm Port B
Ngõ vào số PortC Ngõ vào số PortB
Ngõ vào ADC Chốt &
ADC TWI
Bộ đếm chương trình
Con trỏ ngăn xếp
Bộ đếm/Bộ
định thời Dao động
Bộ nhớ chương trình Flash
Sram Dao động nội
Lệnh thanh ghi Giải mã
lệnh.
Định thời Watdog MCU CTRL
& Định thời
EEPROM
USART Thanh
ghi trạng thái ALU Thanh ghi
đa năng X Y Z
Đơn vị ngắt
Bộ đệm Port D Ngõ vào số PortD Bộ Logic SPI
chươg trình
Ngõ vào so sánh
PC0..5,7 Reset PB0..7
XtLA1 XtLA2
AGND AREF
Dao động
AVR CPU Đường điều khiển
PD0..5 PD6 PD7 VCC
GND
Hình 5. 1: Sơ đồ khối Atmega32
5.2. Giới thiệu các chức năng có sử dụng trong đồ án 5.2.1. Chuẩn giao tiếp RS-232
5.2.1.1. Khái niệm chung
Là giao tiếp nối tiếp bất đồng bộ (asynchronous receiver transmitter), chậm hơn so với giao tiếp nối tiếp đồng bộ vì mỗi khung truyền bao gồm thêm Start bit để bắt đầu khung truyền, Stop bit để kết thúc và vì là bất đồng bộ nên tốc độ không thể đẩy lên quá cao được như nối tiếp đồng bộ. Giữa Start bit và Stop bit là các bit data và bit kiểm ra chẵn lẻ (Parity bit). Vì là bất đồng bộ nên chấp nhận một sai số nhất định trong khi truyền.
Hình 5. 2: Giản đồ một khung truyền của giao thức RS 232
5.2.1.2. Đặc tính kỹ thuật của chuẩn RS-232.
Các yêu cầu về điện được qui định trong RS- 232C như sau:
- Mức logic 1: nằm trong khoảng -3V÷ -12V - Mức logic 0: nằm trong khoảng +3V ÷ +12V
- Trở kháng tải về phía bộ nhận của mạch phải lớn hơn 3000 và phải nhỏ hơn 7000.
- Tốc độ truyền / nhận dữ liệu cực đại là 100 Kbit/giây.
- Các lối vào của bộ nhận phải có điện dung nhỏ hơn 2500 pF.
- Độ dài của cáp nối giữa máy tính và thiết bị ghép nối qua cổng nối tiếp không được vượt quá 15m nếu không sử dụng modem.
5.2.1.3. Sơ đồ chân trên máy tính.
Hầu hết các máy tính cá nhân được chế tạo gần đây đều có hai cổng nối tiếp RS- 232, đôi khi có 3-4 cổng. Cổng đầu tiên có tên là COM1 tiếp theo là COM2, COM3, COM4. Có hai kiểu đầu nối được sử dụng cho cổng nối tiếp RS-232 là loại 25 chân và 9 chân. Trong đồ án này sử dụng loại 9 chân, còn gọi là đầu DB9. Sơ đồ chân như sau:
Hình 5. 3: Sơ đồ chân cổng COM
STT chân
Tên chân Chức năng chân
3 TxD – Transmit data Truyền dữ liệu 2 RxD – Receive data Nhận dữ liệu 7 RTS – Request to send Yêu cầu gửi 8 CTS - Clear to send Xóa để gửi 5 GND - Signal Ground Mass tín hiệu
1 DCD - Data carrier detect
Phát tín hiệu mang dữ liệu 4 DRT - Data terminal Đầu cuối sẵn sàng
9 RI - Ring Indicate Báo chuông
-- FG – Frame Ground Đất vỏ máy, dây bọc kim Hình 5. 4: Chức năng các chân của cổng COM
Cụ thể là ATMEGA32, có tích hợp sẵn phần cứng cho UART, bao gồm chân TxD và RxD cùng các thanh ghi hỗ trợ cho chuẩn giao tiếp này.
Điểm lưu ý là máy tính sử dụng RS232 ở mức điện áp CMOS, còn AVR lại sử dụng ở mức điện áp TTL, như vậy cần phải có sự chuyển đổi mức điện áp cho phù hợp, tương thích.
Chuẩn giao tiếp nối tiếp bất đồng bộ sử dụng trong đồ án là RS-232 với định dạng khung truyền: tốc độ Baud 57600, 1 Start bit, 8 bit data, 0 bit chẵn lẻ, 1 Stop bit.
5.2.2. Chuẩn giao tiếp SPI (SERIAL PHERIPHERAL INTERFACE).
5.2.2.1. Khái niệm chung.
Đây là chuẩn giao tiếp nối tiếp đồng bộ (synchronous receiver transmitter) dùng kết nối giữa các thiết bị ngoại vi với nhau…Theo đó, có ít nhất là một đường xung clock đồng bộ tín hiệu và một đường data để truyền dữ liệu theo mỗi nhịp xung clock.
5.2.2.2. Đặc tính kĩ thuật và nguyên tắc hoạt động
Tốc độ truyền tối đa lớn khoảng 3Mbit/s với Atmega32. Truyền nhận theo phương thức nối tiếp trên một nguồn xung clk chung.
Với cách giao tiếp này sẽ có một Master thiết lập và điều khiển kết nối với một Slave nhận và truyền dữ liệu ngược về Master.
Hình 5. 5: Trạng thái hai thanh ghi dịch trước khi truyền
Hình 5. 6: Quá trình truyền nhận dữ liệu
Điều mấu chốt của SPI là thanh ghi dịch ở cả Master và Slave và nguồn xung clock tạo bởi Master. Master truyền một byte dữ liệu (gọi là A) cho Slave và cùng lúc đó nó cũng nhận một byte khác (gọi là B) từ Slave. Trước khi truyền, Master ghi A vào thanh ghi dịch của mình và Slave cũng ghi B vào thanh ghi dịch của mình. Sau đó Master tạo ra 8 xung clock, tương ứng mỗi xung clock thì một bit trong thanh ghi dịch của Master được truyền sang thanh ghi dịch của Slave và ngược lại. Sau khi xung clock cuối cùng thì Master hoàn thành nhận B còn Slave hoàn thành nhận A. Có thể nhận thấy rằng quá trình truyền và nhận diễn ra đồng thời do đó đây được gọi là truyền “song công”. Có 2 định dạng trao đổi dữ liệu: trao đổi bit thấp trước hoặc bit cao trước.
5.2.2.3. Chức năng các chân của chuẩn SPI:
Có 4 đường tín hiệu sử dụng cho chuẩn SPI (tương ứng với 4 pins): MISO, MOSI, SCK, SS\. Dưới đây là chức năng của từng chân:
MISO (Master in Slave out): đây là ngõ vào thanh ghi dịch của Master đồng thời là ngõ ra từ thanh ghi dịch của Slave.
MOSI (Master out Slave in): đây là ngõ ra từ thanh ghi dịch của Master đồng thời là ngõ vào thanh ghi dịch của Slave.
SCK (Serial Clock): chân tạo xung clock của Master và là chân ngõ vào xung clock của Slave.
SS\(Slave select): Để giao tiếp nhiều Slave trên cùng bus SPI ta cần có phương pháp chọn Slave nào mà ta muốn kết nối ngay lúc đó. Đây chính là chức năng của chân SS. Nếu SS treo lên mức cao thì các chân SPI của thiết bị đó là các ngõ vào bình
thường và sẽ không thể nhận dữ liệu qua SPI. Nếu SS ở mức thấp, SPI ở chế độ Slave và có thể truyền nhận dữ liệu qua SPI. Nếu giao tiếp đồng thời hai Salve, chân SS ở mỗi Slave nối với một ngõ ra bất kỳ của Master. Khi muốn truyền SPI với Slave nào thì cho ngõ ra tương ứng với SS của Slave đó xuống mức thấp, các ngõ ra tương ứng với các chân SS của các Slave khác đưa lên mức cao. Do các chân của chuẩn SPI được nối chung giữa Master và tất cả các Slave nên việc quản lý quá trình truyền nhận với một Slave nhất định phải được quy định chặt chẽ (mỗi lần chỉ giao tiếp với “một”
Slave) nếu không có thể xảy ra tình trạng xung đột đường truyền.
Tên chân Master Slave
MOSI Output Input
MISO Input Output
SCK Output Input
SS\ Người dùng định nghĩa Input
Bảng 5. 1: Thuộc tính các chân SPI
Hình 5. 7: Sơ đồ kết nối master slave
Các thanh ghi sử dụng trong SPI: (xem rõ hơn trong datasheet) - SPCR (SPI Control Register): thanh ghi điều khiển SPI - SPSR (SPI Status register): thanh ghi trạng thái SPI - SPDR (SPI Data Register): thanh ghi dữ liệu SPI 5.2.3. Ngắt ngoài
Atmega32 cung cấp cho người điều khiển 3 chân ngắt ngoài : - INT0 ( pin 16) nằm ở port D.2
- INT1 ( pin 17) nằm ở port D.3 - INT2 ( pin 3) nằm ở port B.2
Các ngắt ngoài này được cung cấp bởi 4 thanh ghi 8 bit để điều khiển:
- SREG ( status register): dùng bit 7 để cho phép tất cả các ngắt hoạt động - MCUCR ( MCU control register):
Hình 5. 8: Thanh ghi MCUCR
+Bit 2 và 3 – ISC10 và ISC11: điều khiển ngắt 1 +Bit 0 và 1– ISC00 và ISC01: điều khiển ngắt 0 - MCUCSR (MCU control and status register):
Hình 5. 9: Thanh ghi MCUCSR
+Bit 6 – ISC2: điều khiển ngắt 2: khi có sự thay đổi ở bit ISC2, một ngắt có thể sẽ xảy ra. Do đó, cần phải vô hiệu hóa INT2 trước bằng cách xóa bit cho phép trong
thanh ghi GICR. Sau đó, bit ISC2 mới có thể thay đổi được. Cuối cùng, cờ ngắt INT2 nên được xóa bằng cách ghi bit logic1 vào bit cờ ngắt INTF2 trong thanh ghi GIFR trước khi ngắt được cho phép lại.
- GICR ( General Interrupt Control Register):
Hình 5. 10: Thanh ghi GICR
+Bit 7- INT1: cho phép ngắt ngoài 1 +Bit 6- INT0: cho phép ngắt ngoài 0 +Bit 6- INT0: cho phép ngắt ngoài 2
LM628 hay LM 629 đều hoạt động ở tần số tối đa là 6 hay 8 MHz tùy loại có hậu tố - 6 hay – 8.
LM629 là bộ PID số. Bộ lọc PID có phản hồi, đặc biệt với hệ thống động học không biết trước đặc tính hàm truyền. Đáp ứng của bộ PID là tổng của 3 bộ: bộ tỉ lệ, bộ tích phân, bộ vi phân. 5 biến hệ thống: KP, KI, KP, IL (giới hạn tích phân), dS (hệ số lấy mẫu vi phân).
Các thông số cơ bản:
- Tần số dao động tối đa fCLK = 6MHz
- Chu kỳ tính toán của bộ PID: 2048/fCLK. Chu kỳ lấy mẫu encoder: N*2048/ fCLK. N phụ thuộc vào cáh chọn bộ chia (Xem lệnh LFIL).
- Bộ xử lý số học ALU 32 bit
- Gia tốc, vận tốc, vị trí đều chứa trong thanh ghi 32 bit - Chương trình bộ lọc PID số với các hệ số bộ lọc 16 bit - 8 hay 12 bit DAC (LM628)
- Ngõ ra PWM 8 bit và chân điều khiển hướng (LM629)
- Vận tốc, vị trí và các thông số bộ lọc có thể thay đổi lúc chuyển động - Hoạt động ở mode vị trí hay vận tốc
- Cho phép lập trình ngắt theo thời gian thực
- Giao tiếp song song đồng bộ 8 bit với bộ xử lý chính 6.2. Kiến trúc phần cứng LM628/629
Có 4 chức năng làm nên LM628/629 gồm: bộ phát quỹ đạo, bộ lọc PID, bộ giao tiếp dữ liệu và bộ mã hóa encoder. Có 8 ngõ giao tiếp vào ra và 6 đường điều khiển được giao tiếp thông qua vi điều khiển, ngõ ra điều khiển động cơ.
Bộ nhớ thuật toán PID được lưu trong ROM 1k x 16bit. Các biến và thông số quỹ đạo được lưu trong RAM dạng 32 bit ở thanh ghi đôi 16 bit. Bộ xử lý số học ALU 32 bit. Các thành phần được giao tiếp với nhau qua cấu trúc bus nội 16 bit.
Hình 6. 1: Sơ đồ khối của LM629
Hình 6. 2: Mô tả cấu trúc phần cứng của LM628/629
Hình 6. 3: Sơ đồ khối bộ PID số của LM629
6.3. Chức năng các chân LM629N-6
Hình 6. 4: Sơ đồ chân LM629
Chân 1 IN\, ngõ vào: nhận lựa chọn chỉ dẫn xung ngõ vào encoder. Phải đặt mức 1 nếu không dùng. Chỉ dẫn được đọc khi các chân 1, 2, 3 ở mức thấp.
Chân 2, 3, ngõ vào tín hiệu encoder A, B: nhận tín hiệu 2 pha vuông góc được tạo ra bởi encoder incremental. Khi motor quay, tín giệu 2 pha lệch 90 độ. Chú ý chân 2 và 3 chỉ được thay đổi trạng thái ít nhất là sau 8 kỳ xung clock.Vì 4 trạng thái là cơ sở để giải mã encoder.
Chân 4 đến chân 11, Port tiếp nhận I/O D0-D7: port dữ liệu 2 hướng tiếp nhận xử lý. Dùng để viết lệnh hay dữ liệu vào LM629 và đọc byte trạng thái hay dữ liệu từ nó, được điều khiển bởi CS\ (chân 12), PS\ (chân 16), RD\ (chân 13), WR\ (chân 15).
Chân 12, ngõ vào chân chọn chip CS\: dùng để chọn LM629 cho hoạt động đọc và viết.
Chân 13, ngõ vào đọc RD\: dùng để đọc trạng thái hay dữ liệu.
Chân 14, Gnd: chân nguồn 0V
Chân 15, ngõ vào viết WR\: dùng để viết lệnh hay dữ liệu
Chân 16, ngõ vào chọn Port PS\: dùng để chọn lệnh hay dữ liệu. Chọn lệnh khi ở thấp. Theo kiểu dữ liệu điều khiển từ chân 16:
- Lệnh được viết đến port lệnh khi chân 16 = 0 - Byte trạng thái được đọc từ port lệnh chân 16 = 0 - Viết và đọc dữ liệu chân 16 = 1
Chân 17, ngõ ra ngắt HI ( Host Interrupt ): hoạt động mức cao khi có báo động một điều kiện ngắt xảy ra
Chân 18, ngõ ra chiều: thay đổi chiều động cơ khi điều khiển
Chân 19, ngõ ra PWM: là ngõ ra bộ PID số bên trong để điều khiển động cơ theo quỹ đạo đã xác định.
Chân 26, ngõ vào xung clk: tiếp nhận xung clk cho hệ thống hoạt động.
Chân 27, ngõ vào reset RST\: phải được đặt ở mức thấp tối thiểu 8 chu kỳ. Khi bị reset:
-Hệ số bộ lọc và các thông số đều bằng 0
-Set sai số vị trí cao nhất 7FFF và kết quả là thi hành lệnh LPEI -Ngắt SBBA/SBPR bị vô hiệu hóa
-Cho phép 5 ngắt khác
-Đưa về vị trí ban đầu zero hay vị trí home -Được set trở lại trong thời gian 2048/fCLK
Tuy nhiên, sau reset nên đọc port trạng thái là 00. Nếu reset hoàn thành thì từ trạng thái sẽ là 84h hay C4h
Chân 28, VCC : chân nguồn +5V
6.4. Nguyên lý hoạt động của LM628/629 6.4.1. Đọc và giải mã encoder
Encoder cung cấp 4 trạng thái cho LM629. Ở mỗi thời gian xảy ra trong 4 trạng thái cung cấp ngõ vào cho encoder. LM629 ghi lại những trạng thái này vào trong thanh ghi vị trí và báo về hệ thống xử lý.
Hình 6. 6: Sơ đồ khối bộ giải mã encoder
Bảng 6. 1: Mô tả đặc điểm hoạt động của bộ PID số
6.4.2. Profile đường vận tốc
Profile vận tốc hình thang yêu cầu phù hợp với vị trí theo thời gian. Trong mode vị trí, đặc biệt xử lý gia tốc, vận tốc tối đa, hoàn thành vị trí. LM629 dùng thông tin để tạo ra chuyển động bởi gia tốc cho đến khi đạt vận tốc tối đa và giảm dần cho đến dừng khi đạt vị trí. Sự giảm vận tốc là phương trình của gia tốc. Trong suốt thời gian di chuyển, vận tốc là cực đại và/hoặc tiếp tuyến vận tốc có thể thay đổi, và motor sẽ tăng hay giảm gia tốc cho phù hợp (hình 6.7 là 2 biểu đồ hình thang. Hình 6.7a là hình thang đơn giản lý tưởng, hình 6.7b là hình thang, có được khi vận tốc tay đổi trong những thời gian khác nhau trong lúc chuyển động).
Hình 6. 7: Profile hình thang điển hình
Khi hoạt động ở mode vận tốc, motor tăng đến vận tốc đặc biệt ứng với gia tốc đặt biệt và giữ vận tốc ổn đinh cho đến khi có lệnh dừng. Vận tốc được giữ bởi vị trí hiện thời và vị trí cố định. Nếu có nhiễu trong lúc hoạt động thì vận tốc trung bình vẫn không đổi. Nếu động cơ không giữ vận tốc theo lý thuyết thì yêu cầu vị trí tiếp tục tăng, kết quả sai lệch vị trí lớn. Nếu điều kiện không được nhận ra thì motor chạy nhanh để bắt kịp vận tốc yêu cầu.
Tất cả các thông số quỹ đạo có 32 bit. Vị trí có vai trò rất quan trọng. Gia tốc và vị trí có 16 bit phần nguyên và 16 bit dạng phân số. Phần nguyên của vận tốc được đếm bằng cách lấy mẫu khi động cơ chạy. Mặc dù vị trí bị giới hạn trong số nguyên nhưng phân số đếm xuất hiện khi tính giá trị trung bình vận tốc. Gia tốc cũng được tính theo cách trên.
Cách xác định các thông số yêu cầu như sau. Ví dụ nếu encoder 500, yêu cầu tăng vận tốc đến 600 v/p sau đó giảm vận tốc và dừng chính xác ở vị trí 100 vòng kể từ lúc bắt đầu. Một cách tính thông số như sau:
P = vị trí đích (đơn vị = số đếm encoder) R = encoder * 4 (độ phân giải hệ thống) R=500*4=2000
P= 2000 * số vòng yêu cầu = 2000 * 100 = 200000 = 30D40H (ghi vào LM629) V = vận tốc (số đếm/ mẫu)
T = thời gian lấy mẫu = 341 us (6MHz) C = hệ số chuyển đổi = 1 phút/60 giây
V = R * T * C * vận tốc yêu cầu = 2000 * 341E-6 * 1/60 * 600 = 6.82 xung/sample
V (rút tỉ lệ) = 6.82 * 65536 = 446,955.52 = 446,956 (để load vào IC) = 6D1ECH
A = số đếm/ tgian * tgian
6.4.3. Bộ lọc PID
LM629 dùng bộ PID số để điều khiển vòng kín. Biểu thức minh họa cho PID:
KI, KP, KD là các thông số được load bởi người dùng, được giới hạn trong 16 bit 6.4.4. Hoạt động đọc và ghi của LM629
Bộ xử lý ghi lệnh vào các chân của LM629 qua ngõ I/O port khi PS\ = 0. Mã lệnh được áp song song qua port giao tiếp và chân WR\ tích cực, byte lệnh được chốt vào nhờ cạnh xuống của chân này. Khi ghi lệnh thì cần phải đọc trạng thái và kiểm tra cờ trạng thái, gọi là cờ bận (bit 0). Nếu bit này cao thì không được ghi lệnh. Bit bận không bao giờ cao trong thời gian 100us, thường thì cạnh xuống trong 15 đến 25us. Bộ xử lý đọc byte trạng thái theo một cách đơn giản, chân cho phép đọc vào RD\ khi PS\ xuống thấp, thông tin trạng thái được giữ đúng trong thời gian dài RD\ xuống thấp.
Ghi và đọc dữ liệu đến/từ LM629 (cũng giống như ghi lệnh và đọc trạng thái) được thực hiện với chân PS\ = 1. Việc đọc và viết luôn đầy đủ với 2 byte của từ dữ liệu. Mỗi byte tùy thuộc vào chân đọc hay ghi. Khi truyền dữ liệu cần phải đọc và kiểm tra bit bận. Khi bit bận thấp thì có thể truyền liên tục 2 byte cùng lúc, nhưng phải kiểm tra lại cờ bận nếu muốn thử truyền lại byte tiếp theo. Dữ liệu truyền đi được hoàn thành qua ngắt nội. Nếu lệnh ghi lúc cờ đang bận thì lệnh sẽ bị bỏ qua.
Bit bận sẽ lên cao ngay lập tức sau khi ghi byte lệnh hay đọc, ghi byte thứ 2