Nhân 8051 Điều chế truyền không dây Giải điều chế nhận không dây LSB
thể được nạp với byte dữ liệu mới. Nếu một byte mới không được ghi vào trong chu kỳ tám bit (chu kỳ tám bit trong chế độ NRZ và chu kỳ 16 baud trong chế độ
Manchester), thời điểm tiếp theo thanh ghi dịch rỗng sẽ lấy lại dữ liệu cũ từ
RFBUF. Chẳng hạn khi truyền một tín hiệu dẫn đường bao gồm '0' và '1' thay đổi, nó chỉ cần ghi byte vào RFBUF một lần và chờ tới khi số các byte cần truyền tín hiệu dẫn đường được truyền đi. Ở chế độ bitmode (RFCON.BYTEMODE=0), cũng xảy ra tương tự, nhưng chỉ một bit tại một thời điểm. Theo đó, thanh ghi dịch sẽ nạp bit mới từ RFBUF.0 sau khi truyền một bit đi, và ngắt RF được tạo ra để báo có bit mới được nạp. Để có thể ghi bit tiếp theo vào RFBUF.0 trong một chu kỳ bit ở tốc độ cao, nên sử dụng vòng quét nhanh (tight polling loop) thay vì thủ tục truyền dựa trên ngắt. Để bắt đầu truyền dữ liệu ngay khi có thể, bit/byte đầu tiên được truyền được ghi vào RFBUF trước khi bộ điều chế hoạt động (RFMAIN.TX_PD=0). Nó sẽ ngay lập tức được nạp vào thanh ghi dịch và một yêu cầu ngắt được tạo ra cho bit/byte thứ hai. Điều này đặc biệt quan trọng khi tính đến việc lưu dữ liệu tại cuối một quá trình truyền. Khi byte cuối cùng của một frame hay packet được nạp vào thanh ghi dịch nó vẫn không được truyền đi. Như vậy yêu cầu ngắt được tạo ra tại cùng thời điểm không bị dừng đối với cả phần analog hay digital của một quá trình truyền. Quá trình truyền không thể kết thúc được một cách an toàn cho tới chu kỳ 9 bit cuối cùng trong chế độ bytemode và chu kỳ 2 bit trong chế độ bitmode, khi bit cuối cùng được dịch và được truyền tới antenna. Một giải pháp đơn giản là luôn luôn truyền hai byte mở rộng trong chế độ bytemode hay hai bit mở rộng trong chế độ bitmode ở cuối quá trình truyền dữ liệu. Điều này không gây ra vấn đề gì trong thực tế
Quá trình nhận
Khi nhận dữ liệu lược đồ đệm sẽ hoạt động ngược với quá trình truyền. Từng bit từ bộ giải điều chế được dịch vào thanh ghi dịch 8-bit, MSB trước tiên: Khi thanh ghi dịch đầy nó được nạp vào RFBUF và một yêu cầu ngắt được sinh ra (EICON.RFIF). Byte cần được đọc trong chu kỳ một byte (chu kỳ 8 baud trong chế độ NRZ và 16 baud trong chế độ Manchester). Nếu không, nó sẽ bị ghi đè bởi byte nhận được tiếp theo và dữ liệu sẽ bị mất. Trong chế độ bitmode quá trình đệm
cũng xảy ra tương tự, nhưng mỗi bit tại một thời điểm. Theo đó, khi một bit mới tới từ bộ giải điều chế thanh ghi dịch sẽ lưu nó và lưu bit cuối cùng vào RFBUF.0, lần lượt tạo ra các yêu cầu ngắt RF để có thể đọc các bit mới. Để có thể đọc bit tiếp theo từ RFBUF.0 trong chu kỳ một bit ở tốc độ cao nên sử dụng vòng quét nhanh thay vì dựa vào ngắt. Không có sự cân nhắc đặc biệt nào đối với thời điểm bắt đầu hay kết thúc quá trình nhận.