Sử dụng hiệu quả Module RF RS232 ( sử dụng cho thu thập dữ
liệu (data logger) - điều khiển từ máy tính )
Giới thiệu : RF RS232 là ứng dụng của module thu phát RF ( RX07) có tốc độ
thấp sử dụng chủ yếu cho hệ thống logger dữ liệu , thu thập dữ liệu vào máy
tính hay từ máy tính điều khiển các bộ phận khác.
RF RS232 gồm 2 thành phần cơ bản chính :
+ Thành phần RF ( nhiệm vụ truyền tín hiệu từ bên phát đến bên
thu )
+ Thành phần giao tiếp máy tính, mã hoá/ giải mã ( làm nhiệm vụ
mã hoá/ giải mã tín hiệu số nhằm hạn chế sai lệch do nhiễu môi trường tác động
)
- Nguyên lý hoạt động :
Thành phần RF hoạt động theo kiểu điều biên ASK , khi đầu vào có mức logic
1 , mạch RF sẽ bức xạ sóng điện từ ra không gian . Khi đầu vào có mức 0 mạch
RF sẽ không phát sóng điện từ .
Ở mạch thu bình thường khi mạch phát không hoạt động do tác động ở môi
trường có sóng điện từ, tại đầu ra có mức 0,1 bất kì ( nhiễu)
khi mạch phát ở mức 1 thì mạch thu có mức bão hoà ( trạng thái 0) và khi
mạch phát trở về 0 thì mạch thu bứt lên một sườn dương như vậy mạch phát và
thu lệch nhau 1/2 chu kì ( mạch phát phát mức , mạch thu bắt sườn ).
Khi tín hiệu cứ 0 101 phát ra ở mạch thu ta cũng thu được các sườn lên 0 , 1
01 tương ứng .
VD : ta muốn phát chuỗi abcdef thì ta sẽ phải phát abcdef + ( khoảng
trắng ) : Khoảng trắng này để làm gì ??? nó sẽ không bỏ rơi kí tự f vẫn lưu
trong register chưa được đẩy ra .
( Mạch phát )
Mạch phát được cấu thành đơn giản gồm mạch giao tiếp cổng Rs232 , mã hoá 8
bits dữ liệu thu được từ cổng RS232 đưa vào mạch phát tín hiệu RF.
( Mạch phát sử dụng nguồn điện áp 9 đến 12V DC , ( không sử dụng điện áp
DC > 13V) - Dòng điện tiêu thụ của mạch phát thấp , có thể dùng ổn áp 7812 để
cấp nguồn rất đảm bảo hoặc cũng có thể cắm trực tiếp AC/DC adapter.
+ có 2 tốc độ cần hiểu :
Tốc độ giao tiếp với RS232 , quyết định bởi bộ phận giao tiếp RS232 -
tốc độ này có thể cao thấp do người lập trình và khả năng hỗ trợ của mạch giao
tiếp ( VD : tôi có thể dùng PIC giao tiếp với PC ở tốc độ 1200 , 2400 , 4800,
9600 , v.v )
Tốc độ truyền dữ liệu qua mạch RF : khi mã hoá/giải mã tốc độ truyền dữ
liệu trên mạch suy giảm rất nhiều do cấu trúc giải thuật mã hoá/giải mã , số
lượng truyền ít hay nhiều dữ liệu trong một lần truyền .
Tốc độ này là tốc độ thực phản ánh đúng dữ liệu truyền đi , thu về Dù
bạn có giao tiếp với máy tính ,MCU tốc độ cao nhưng bản thân mạch truyền RF
không thể truyền được tốc độ cao thì tốc độ của bạn chỉ là tốc độ thấp nhất
trong hệ thống .
+ Khi tốc độ giao tiếp PC lớn hơn tốc độ truyền RF ( thực tế ) - thì bạn phải làm
công việc : Thu dữ liệu từ PC , truyền dữ liệu này qua mạch RF , đợi mạch thu
RF nhận được dữ liệu này và quá trình lại lặp lại.
+ Khi tốc độ giao tiếp với PC nhỏ hơn tốc độ truyền RF , điều đầu tiên là bạn sẽ
bị thiệt thòi và thứ 2 là vẫn với một quá trình truyền như trên . ( vì bản thân
mạch RF là mạch truyền nối tiếp theo thời gian ) - và chẳng có gì thay đổi được
cả.
- Sử dụng :
Quá đơn giản rồi : Cấp nguồn , nối PC và thế là chạy - nhưng chạy thế nào .
Nếu bạn viết phần mềm trên PC thì phải theo nguyên tắc sau :
Viết để giao tiếp với bo mạch ( VD 2400bps ) > truyền tải dữ liệu từ PC vào
mạch ( 1 start + 8 bit + 1 stop ) > đợi mạch RF mã hoá truyền tải tín hiệu đó
đi > khi kết thúc quá trình truyền thì truyền thêm một dữ liệu trống ( NULL )
0x00 hay 0 ( cái này để đảm bảo phần thu RF sẽ đẩy hết dữ liệu ( dữ liệu cuối
cùng ) được lưu trong Register ra ( nhằm không bỏ xót - bị cụt mất dữ liệu )
Tiếp tục một chu trình mới .
- Phần thu : viết giao tiếp PC với bo mạch thu ( VD 2400bps) , đợi có dữ liệu