Truyền và nhận dữ liệu

Một phần của tài liệu Thiết kế chế tạo vận hành và đo thử nghiệm mạng cảm nhận không dây (Trang 43)

Trong chế độ Transparent hay UART dữ liệu đi hay đến đƣợc đƣa trực tiếp tới bộ điều chế trong chế độ truyền và đƣợc nhận trực tiếp trong chế độ nhận. Trong các chế độ NRZ và Manchester, dữ liệu đƣợc lƣu tại RFBUF nhƣ đƣợc minh hoạ ở hình 2.5. Việc lƣu nhƣ vậy có những ảnh hƣởng cần đƣợc xem xét khi nhận hay truyền dữ liệu, nhất là trong chế độ bytemode.

Quá trình truyền

Khi truyền dữ liệu theo bytemode (RFCON.BYTEMODE=1), một thanh ghi 8-bit sẽ dịch từng bit tới bộ điều chế, MSB (bit cao nhất) trƣớc tiên, và chu kỳ phụ thuộc vào tốc độ đƣợc lựa chọn. Khi thanh ghi dịch này rỗng sẽ nạp một byte mới từ RFBUF tiếp tục dịch bit. Nội dung của thanh ghi RFBUF không đổi sau khi thanh ghi dịch lấy dữ liệu từ nó. Một ngắt đƣợc tạo ra (EICON.RFI) và RFBUF

Thanh ghi dịch 8 bit

RFBUF Nhân 8051 Điều chế truyền không dây Giải điều chế nhận không dây LSB Hình 2.5 Đệm dữ liệu RF. Đƣờng gạch là chế độ bit

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.

Một phần của tài liệu Thiết kế chế tạo vận hành và đo thử nghiệm mạng cảm nhận không dây (Trang 43)

Tải bản đầy đủ (PDF)

(137 trang)