Professional Documents
Culture Documents
Cong Noi Tiep
Cong Noi Tiep
Hình 8.1
Lưu ý: Các thanh ghi mode UART đều nằm trong vùng I/O mở rộng nên khi truy xuất phải
sử dụng các lệnh LDS,STS.
Giáo Trình Vi xử lý Chương 8 Lưu Phú 6
8.2 Truyền nối tiếp bất đồng bộ(UART)
8.2.2 Các thanh ghi sử dụng trong mode UART
1. UBRRnH/UBRRnL- USART Baurate Registers
Hình 8.2
Bit 15-12: dự trữ chưa sử dụng,khi ghi phải xóa các bit này=0
Bit 11-8: 4 bit thấp của UBRRnH cài đặt BR
Bit 7-0: 8 bit của UBRRnL cài đặt BR
Khi ghi vào UBRRn phải tuân theo nguyên tắc ghi UBRRnH trước và UBRRnL sau
Bộ chia đặt trước BR sẽ cập nhật ngay sau khi ghi UBRRnL
Hình 8.3
Thanh ghi đệm phát/thu nối tiếp 8 bit có cùng ký hiệu UDRn và địa chỉ,nhưng hoạt động
độc lập.
Trường hợp khung truyền 5-7 bit,bộ phát sẽ loại bỏ các bit cao không sử dụng,bộ thu sẽ
xóa các bit này=0
Data ghi vào UDRn sẽ được chuyển đến thanh ghi dịch phát(TXB) để phát nối tiếp ra chân
TXDn.Cờ báo UDREn=1(phần cứng đặt)khi bộ đệm phát UDRn trống sẵn sàng nhận data
phát.
Đọc data từ UDRn trả về từ thanh ghi dịch thu(RXB) nối tiếp từ chân RXDn.Cờ báo
RXCn=1(phần cứng đặt)khi bộ đệm thu UDRn đầy hay thu đủ ký tự khung truyền.
Lưu ý: Bộ đệm thu là FIFO 2 cấp,sẽ đổi trạng thái khi bị truy xuất →không sử dụng các
lệnh đọc có ghi hiệu chỉnh như SBI,CBI hay SBIS,SBIC sẽ làm thay đổi trạng thái các FIFO!
Giáo Trình Vi xử lý Chương 8 Lưu Phú 10
8.2 Truyền nối tiếp bất đồng bộ(UART)
8.2.2 Các thanh ghi sử dụng trong mode UART
3. UCSRnA - USART Control and Status Register A
Hình 8.4
Hình 8.5
Hình 8.6
Initial Value 0 0 0 0 0 0 0 0
CPHA0=1→
Hình 8.11
Hình 8.16
Giáo Trình Vi xử lý Chương 8 Lưu Phú 55
8.4 Truyền TWI(Two Wired Interface)
8.4.1 Giới thiệu chung về I2C
2. Truyền địa chỉ
- Master xuất START(S)+đ/chỉ Slav.+R/W
- Byte data gồm 7 bit cao là đ/chỉ Slave
(MSB trước),loại trừ các đ/chỉ 1111xxx và
Hình 8.18
0000000(gọi chung:general call-xem chi tiết phần reg. TWAR)
- Bit 0 R/W: R/W=1 thu(đọc) data,R/W=0: phát(ghi)data
- Ở xung CK thứ 9 Slave trả về ACK báo đã đáp ứng
3. Truyền địa chỉ+data
- Master xuất S+ đ/chỉ
Slav.+R/W
- Slave đáp ứng ACK
- Nếu là W,Master xuất
tiếp data,Slave đáp ứng
ACK.Nếu là R,Slave xuất data,Master đáp ứng ACK Hình 8.19
- Master xuất STOP kết thúc truyền
Giáo Trình Vi xử lý Chương 8 Lưu Phú 56
8.4 Truyền TWI(Two Wired Interface)
8.4.1 Giới thiệu chung về I2C
4. Hệ thống bus nhiều Master-Sư phân xử(Arbitration)
- I2C cho phép nhiều Master cùng kết nối chung bus,nhưng chỉ có 1 Master chiếm quyền
kiểm soát bus.Hệ thống không phân biệt mức ưu tiên Master
- Việc tranh chấp xảy ra chỉ tại thời điểm 2 hay nhiều Master cùng phát xung START(cho
các tần số xung CK các Master bằng nhau để dễ xử lý)→Sự phân xử
- Sự phân xử thường thực hiện ở thời điểm truyền data.Bộ phát Master kiểm tra logic của nó
phát ra với logic trên bus,nếu khác nhau nó sẽ bị mất quyền kiểm soát bus và chuyển thành
Slave.Quyền kiểm soát bus thuộc về Master kiểm tra logic đúng!
- Xem chi tiết trong giáo trình và data sheet
5. Ghi data ra I2C
- Master phát tín hiệu START
- Master phát địa chỉ Slave cần truy xuất : SLA addr.(7 bit cao) +W(bit0)
- Master phát tiếp địa chỉ vị trí(ô nhớ,thanh ghi)đầu tiên cần ghi
- Master phát data ứng với địa chỉ đầu tiên
- Master trả SDA=1,chờ nhận ACK=0(xung CK thứ 9)
- Master tiếp tục phát data và nhận ACK trong trường hợp ghi nhiều byte(Slave tự động
tăng địa chỉ ô nhớ,thanh ghi thêm 1 mỗi lần nhận data)
- Master phát tín hiệu STOP kết thúc ghi data
Giáo Trình Vi xử lý Chương 8 Lưu Phú 57
8.4 Truyền TWI(Two Wired Interface)
8.4.1 Giới thiệu chung về I2C
6. Đọc data từ I2C
- Master phát tín hiệu START
- Master phát địa chỉ Slave cần truy xuất : SLA addr.(7 bit cao) +W(bit0)
- Master phát tiếp địa chỉ vị trí(ô nhớ,thanh ghi)đầu tiên cần đọc
- Master phát tín hiệu START(REPEATED START)
- Master phát địa chỉ Slave cần đọc: SLA addr.(7 bit cao) +R(bit0)
- Master đọc data ứng với địa chỉ vị trí đầu tiên phát từ Slave
- Master trả ACK=0(xung CK thứ 9)báo đọc xong
- Master tiếp tục đọc data và trả ACK trong trường hợp đọc nhiều byte(Slave tự động tăng
địa chỉ ô nhớ,thanh ghi thêm 1 mỗi lần phát data)
- Master phát tín hiệu STOP kết thúc ghi data
• MCU324P có cấu hình cổng TWI(Two Wire serial Interface)hoàn toàn tương thích với mode
truyền I2C. Địa chỉ MEM Ký hiệu Truy xuất bit Chức năng
- SCL≡PC0,SDA≡PC1 0xB8 TWBR Không Đặt tốc độ bit(bit rate) TWI
• Xem hoạt động sơ đồ khối trong giáo trình 0xB9 TWSR Có Trạng thái TWI
0xBA TWAR Có Đặt địa chỉ TWI
và data sheet 0xBB TWDR Không data TWI
Bảng 8.10: Tóm tắt các thanh ghi sử dụng TWI 0xBC TWCR Có Điều khiển TWI
Hình 8.22
Hình 8.23
- Chứa byte data kế tiếp trong mode phát,chứa byte data cuối cùng trong mode thu
- Chỉ truy xuất TWDR khi TWINT=1
5. TWAR – TWI Address Register
Hình 8.24