Tải bản đầy đủ (.doc) (23 trang)

Đồ án: xây dựng một hệ thống đơn giản gồm board phát dữ liệu và board thu dữ liệu. pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (798.9 KB, 23 trang )

1-2010
GVHD: Th.s Lê Tấn Cường
SVTH: Đoàn Minh Huy
MSSV: 05111041
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN:
MỤC LỤC
MỤC LỤC 2

















2
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường















Giáo viên hướng dẫn
I. DẪN NHẬP.
1. LÍ DO CHỌN ĐỀ TÀI.
Truyền dữ liệu không dây là một mảng lớn trong điện tử thông tin, dữ
liệu được truyền đi
có thể là tương tự cũng có thể là số. Trong truyền dữ
liệu không dây, hiệu quả nhất vẫn là
truyền bằng sóng điện từ hay sóng
Radio, bởi những ưu điểm là truyền ở khoảng cách xa, đa hướng, tần số
hoạt động cao.
Hiện nay, truyền dữ liệu số được ứng dụng rất rộng rãi, nhất là trong
lĩnh vực điều khiển,
thông tin số. Nhiều vi mạch hỗ trợ xử lý tín hiệu
không dây được sử dụng như PT2248,
PT2249, PT9148, PT9149,
PT2262, PT2272, HT640, HT648… Vấn đề đặt ra là các vi mạch này truyền
dữ liệu chỉ dành cho mục đích riêng là điều khiển thiết bị, thông tin được
truyền đi đã được mã hoá sẵn, số bit dữ liệu truyền đi thấp, không phù hợp
với nhu cầu truyền dữ liệu hàng loạt và liên tục.
Giải quyết vấn đề này, em tận dụng khả năng của vi điều khiển về

3
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
truyền nhận dữ liệu nối tiếp nhờ vào bộ UART trong chíp. Vi điều khiển có
khả năng thực hiện truyền thông đa xử lý rất thích hợp cho việc truyền dữ
liệu trong một hệ thống mạng không dây gồm nhiều bộ xử lý tớ.
Đề tài xây dựng một hệ thống đơn giản gồm board phát dữ liệu vàboard
thu dữ liệu. Dữ liệu bên phát được mã hoá bằng vi điều khiển. Một module
phát sẽ được nối vào vi điều khiển thực hiện điều chế ASK và phát dữ liệu
tới
bên thu. Bên thu thu nhận tín hiệu RF bằng một mạch thu siêu tái sinh,
dữ liệu thu được sẽ được vi điều khiển mã hoá và hiển thị qua led đơn.
2. MỤC TIÊU.
Nghiên cứu được cách thức truyền dữ liệu nối tiếp của VĐK.
Ứng dụng được module thu phát RF có sẵn.
→ Từ đó thiết kế và thi công mạch chạy thành công.
II. CƠ SỞ CHUNG.
1. GIỚI THIỆU VỀ TRUYỀN THÔNG NỐI TIẾP.
Khi một bộ vi xử lý truyền thông với thế giới bên ngoài thì nó cấp dữ
liệu dưới dạng từng khúc 8 bít (byte) một. Trong một số trường hợp chẳng
hạn như các máy in
thì thông tin đơn giản được lấy từ đường bus dữ liệu 8
bít và được gửi đi tới bus dữ
liệu 8 bít của máy in. Điều này có thể làm
việc chỉ khi đường cáp bus không quá dài
vì các đường cáp dài làm suy
giảm thậm chí làm méo tín hiệu. Ngoài ra, đường dữ
liệu 8 bít giá thường
đắt. Vì những lý do này, việc truyền thông nối tiếp được dùng để truyền dữ
liệu giữa hai hệ thống ở cách xa nhau hàng trăm đến hàng triệu dặm. Hình
dưới là sơ đồ truyền nối tiếp so với sơ đồ truyền song song.


Sơ đồ truyền nối tiếp so với sơ đồ truyền song song.

Thực tế là trong truyền thông nối tiếp là một đường dữ liệu duy nhất
được dùng thay cho một đường dữ liệu 8 bít của truyền thông song song làm
cho nó không chỉ rẻ
hơn rất nhiều mà nó còn mở ra khả năng để hai máy
tính ở cách xa nhau có truyền
thông qua đường thoại.
4
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
Đối với truyền thông nối tiếp thì để làm được các byte dữ liệu
phải được
chuyển đổi thành các bít nối tiếp sử dụng thanh ghi giao dịch
vào - song song - ra -
nối tiếp. Sau đó nó có thể được truyền quan một
đường dữ liệu đơn. Điều này cũng có nghĩa là ở đầu thu cũng phải có một
thanh ghi vào - nối tiếp - ra - song song để nhận dữ liệu nối tiếp và sau đó
gói chúng thành từng byte một. Tất nhiên, nếu dữ liệu được truyền qua
đường thoại thì nó phải được chuyển đổi từ các số 0 và 1 sang âm thanh ở
dạng sóng hình sin. Việc chuyển đổi này thực thi bởi một thiết bị có
tên gọi là
Modem là chữ viết tắt của “Modulator/ demodulator” (điều chế/
giải điều chế).
Khi cự ly truyền ngắn thì tín hiệu số có thể được truyền như nói ở trên,
một dây dẫn đơn giản và không cần điều chế. Tuy nhiên, để truyền dữ liệu
đi xa dùng các đường truyền chẳng hạn như đường thoại thì việc truyền
thông dữ liệu nối tiếp yêu cầu một modem để điều chế (chuyển các số 0 và 1
về tín hiệu âm thanh) và sau đó giải điều chế (chuyển tín hiệu âm thanh về
các số 0 và 1).

Truyền thông dữ liệu nối tiếp sử dụng hai phương pháp đồng bộ
và dị bộ.
Phương pháp đồng bộ truyền một khối dữ liệu (các ký tự) tại cùng
thời điểm trong khi đó truyền dị bộ chỉ truyền từng byte một. Có thể viết
phần mềm để sử dụng một trong hai phương pháp này, những chương trình
có thể rất dài và buồn tẻ. Vì lý do này mà nhiều nhà sản xuất đã cho ra thị
trường nhiều loại IC chuyên dụng phục vụ cho truyền
thông dữ liệu nối
tiếp. Những IC này phục vụ như các bộ thu - phát dị bộ tổng hợp
UART
(Universal Asynchronous Receiver Transmitter) và các bộ thu - phát đồng -
dị
bộ tổng hợp UBART (Universal Asynchronous Receiver Transmitter).
• Truyền thông nối tiếp dị bộ và đóng khung dữ liệu.
Dữ liệu đi vào ở đầu thu của đường dữ liệu trong truyền dữ liệu nói
tiếp toàn là
các số 0 và 1, nó thật là khó làm cho dữ liệu ấy có nghĩa là nếu
bên phát và bên thu không cùng thống nhất về một tệp các luật, một thủ
tục, về cách dữ liệu được đóng
gói, bao nhiêu bít tạo nên một ký tự và khi
nào dữ liệu bắt đầu và kết thúc.
Truyền thông dữ liệu nối tiếp dị bộ được sử dụng rộng rãi cho các
phép truyền
hướng kỹ tự, còn các bộ truyền dữ liệu theo khối thì sử dụng
phương phát đồng bộ.
Trong phương pháp dị bộ, mỗi ký tự được bố trí giữa
các bít bắt đầu (start) và bít dừn (stop). Công việc này gọi là đóng gói dữ
liệu. Trong đóng gói dữ liệu đối với truyền thông dị bộ thì dữ liệu chẳng
hạn là các ký tự mã ASCII được đóng gói giữa một bít
bắt đầu và một bít

dừng. Bít bắt đầu luôn luôn chỉ là một bít, còn bít dừng có thể là
một hoặc
hai bít. Bít bắt đầu luôn là bít thấp (0) và các bít dừng luôn là các bít cao (bít
1). Ví dụ, hãy xét ví dụ trên hình 10.3 trong đó ký tự “A” của mã ASCII
(8 bít nhị
phân là 0100 0001) đóng gói khung giữa một bít bắt đầu và một
bít dừng.
5
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường

Đóng khung một ký tự “A” của mã ASCII (41H) có tín hiệu
là 1
(cao) được coi như là một dấu (mark) , còn không có tín hiệu tức là 0
(thấp) thì được
coi là khoảng trống (space) . Lưu ý rằng phép truyền bắt
đầu với start sau đó bít D0,
bít thấp nhất LSB, sau các bít còn lại cho đến
bít D7, bít cao nhất MSB và cuối cùng là bít dừng stop để báo kết thúc ký tự
“A”.
Trong truyền dữ liệu nếu dữ liệu có thể được vừa phát và vừa được thu
thì gọi
là truyền song công. Điều này tương phản với truyền đơn công
chẳng hạn như các
máy in chỉ nhận dữ liệu từ máy tính. Truyền song công
có thể có hai loại là bán song
công và song công hoàn toàn phụ thuộc vào
truyền dữ liệu có thể xảy ra đồng thời
không? Nếu dữ liệu được truyền
theo một đường tại một thời điểm thì được gọi là
truyền bán song công.

Nếu dữ liệu có thể đi theo cả hai đường cùng một lúc thì gọi là
song công toàn phần. Tất nhiên, truyền song công đòi hỏi hai đường dữ
liệu (ngoài
đường âm của tín hiệu), một để phát và một để thu dữ liệu cùng
một lúc.
2. GIỚI THIỆU VỀ UART TRONG VI ĐIỀU KHIỂN AVR
ATMEGA32.
6
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
Vi điều khiển Atmega32 có 1 module truyền thông nối tiếp USART. Có 3
chân chính liên quan đến module này đó là chân xung nhịp - XCK (chân số
1), chân truyền dữ liệu – TxD (Transmitted Data) và chân nhận dữ liệu – RxD
(Reveived Data). Trong đó chân XCK chỉ được sử dụng như là chân phát
hoặc nhận xung giữ nhịp trong chế độ truyền động bộ. Tuy nhiên bài này
chúng ta không khảo sát chế độ truyền thông đồng bộ, vì thế bạn chỉ cần quan
tâm đến 2 chân TxD và RxD. Vì các chân truyền/nhận dữ liệu chỉ đảm nhiệm
1 chức năng độc lập (hoặc là truyền, hoặc là nhận), để kết nối các chip AVR
với nhau (hoặc kết nối AVR với thiết bị hỗ trợ UART khác) bạn phải đấu
“chéo” 2 chân này. TxD của thiết bị thứ nhất kết nối với RxD của thiết bị 2 và
ngược lại. Module USART trên chip Atmega32 hoạt động “song công” (Full
Duplex Operation), nghĩa là quá trình truyền và nhận dữ liệu có thể xảy ra
đồng thời.
Baud rate (tốc độ Baud): như trong ví dụ trên về việc truyền 1 bit trong 1ms, bạn
thấy rằng để việc truyền và nhận không đồng bộ xảy ra thành công thì các thiết bị tham gia
phải “thống nhất” nhau về khoảng thời dành cho 1 bit truyền, hay nói cách khác tốc độ
truyền phải được cài đặt như nhau trước, tốc độ này gọi là tốc độ Baud. Theo định nghĩa,
tốc độ baud là số bit truyền trong 1 giây. Ví dụ nếu tốc độ baud được đặt là 19200 thì thời
gian dành cho 1 bit truyền là 1/19200 ~ 52.083us.
Frame (khung truyền): do truyền thông nối tiếp mà nhất là nối tiếp không đồng
bộ rất dễ mất hoặc sai lệch dữ liệu, quá trình truyền thông theo kiểu này phải tuân theo một

số quy cách nhất định. Bên cạnh tốc độ baud, khung truyền là một yếu tốc quan trọng tạo
nên sự thành công khi truyền và nhận. Khung truyền bao gồm các quy định về số bit trong
mỗi lần truyền, các bit “báo” như bit Start và bit Stop, các bit kiểm tra như Parity, ngoài ra
số lượng các bit trong một data cũng được quy định bởi khung truyền. Hình 1 là một ví dụ
của một khung truyền theo UART, khung truyền này được bắt đầu bằng một start bit, tiếp
theo là 8 bit data, sau đó là 1 bit parity dùng kiểm tra dữ liệu và cuối cùng là 2 bits stop.
Start bit: start là bit đầu tiên được truyền trong một frame truyền, bit này có chức
năng báo cho thiết bị nhận biết rằng có một gói dữ liệu sắp được truyền tới. Ở module
USART trong AVR, đường truyền luôn ở trạng thái cao khi nghỉ (Idle), nếu một chip AVR
muốn thực hiện việc truyền dữ liệu nó sẽ gởi một bit start bằng cách “kéo” đường truyền
xuống mức 0. Như vậy, với AVR bit start là mang giá trị 0 và có giá trị điện áp 0V (với
chuẩn RS232 giá trị điện áp của bit start là ngược lại). start là bit bắt buộc phải có trong
khung truyền.
Data: data hay dữ liệu cần truyền là thông tin chính mà chúng ta cần gởi và nhận.
Data không nhất thiết phải là gói 8 bit, với AVR bạn có thể quy định số lượng bit của data
là 5, 6, 7, 8 hoặc 9 (tương tự cho hầu hết các thiết bị hỗ trợ UART khác). Trong truyền
thông nối tiếp UART, bit có ảnh hưởng nhỏ nhất (LSB – Least Significant Bit, bit bên
phải) của data sẽ được truyền trước và cuối cùng là bit có ảnh hưởng lớn nhất (MSB –
Most Significant Bit, bit bên trái).
Parity bit: parity là bit dùng kiểm tra dữ liệu truyền đúng không (một cách tương
đối). Có 2 loại parity là parity chẵn (even parity) và parity lẻ (odd parity). Parity chẵn
7
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
nghĩa là số lượng số 1 trong dữ liệu bao gồm bit parity luôn là số chẵn. Ngược lại tổng số
lượng các số 1 trong parity lẻ luôn là số lẻ. Ví dụ, nếu dữ liệu của bạn là 10111011 nhị
phân, có tất cả 6 số 1 trong dữ liệu này, nếu parity chẵn được dùng, bit parity sẽ mang giá
trị 0 để đảm bảo tổng các số 1 là số chẵn (6 số 1). Nếu parity lẻ được yêu cầu thì giá trị của
parity bit là 1. Hình 1 mô tả ví dụ này với parity chẵn được sử dụng. Parity bit không phải
là bit bắt buộc và vì thế chúng ta có thể loại bit này khỏi khung truyền (các ví dụ trong bài
này tôi không dùng bit parity).

Stop bits: stop bits là một hoặc các bit báo cho thiết bị nhận rằng một gói dữ liệu đã
được gởi xong. Sau khi nhận được stop bits, thiết bị nhận sẽ tiến hành kiểm tra khung
truyền để đảm bảo tính chính xác của dữ liệu. Stop bits là các bits bắt buộc xuất hiện trong
khung truyền, trong AVR USART có thể là 1 hoặc 2 bits (Trong các thiết bị khác Stop bits
có thể là 2.5 bits). Trong ví dụ ở hình 1, có 2 stop bits được dùng cho khung truyền.Giá trị
của stop bit luôn là giá trị nghỉ (Idle) và là ngược với giá trị của start bit, giá trị stop bit
trong AVR luôn là mức cao (5V).
(Chú ý và gợi ý: khung truyền phổ biến nhất là : start bit+ 8 bit
data+1 stop bit)
Sau khi nắm bắt các khái niệm về truyền thông nối tiếp, phần tiếp theo chúng ta sẽ
khảo sát cách thực hiện phương pháp truyền thông này trên chip AVR (cụ thể là chip
Atmega32).
Thanh ghi:
Cũng như các thiết bị khác trên AVR, tất cả hoạt động và tráng thái của
module USART được điều khiển và quan sát thông qua các thanh ghi trong
vùng nhớ I/O. Có 5 thanh ghi được thiết kế riêng cho hoạt động và điều khiển
của USART, đó là:
• UDR: hay thanh ghi dữ liệu, là 1 thanh ghi 8 bit chứa giá trị nhận được
và phát đi của USART. Thực chất thanh ghi này có thể coi như 2 thanh
ghi TXB (Transmit data Buffer) và RXB (Reveive data Buffer) có
chung địa chỉ. Đọc UDR thu được giá trị thanh ghi đệm dữ liệu nhận,
viết giá trị vào UDR tương đương đặt giá trị vào thanh ghi đệm phát,
chuẩn bị để gởi đi. Chú ý trong các khung truyền sử dụng 5, 6 hoặc 7
bit dữ liệu, các bit cao của thanh ghi UDR sẽ không được sử dụng
• UCSRA (USART Control and Status Register A): là 1 trong 3 thanh
ghi điều khiển hoạt động của module USART.
8
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
Thanh ghi UCSRA chủ yếu chứa các bit trạng thái như bit báo quá trình
nhận kết thúc (RXC), truyền kết thúc (TXC), báo thanh ghi dữ liệu trống

(UDRE), khung truyền có lỗi (FE), dữ liệu tràn (DOR), kiểm tra parity có lỗi
(PE)…Bạn chú ý một số bit quan trọng của thanh ghi này:
* UDRE (USART Data Register Empty) khi bit bày bằng 1 nghĩa là thanh ghi
dữ liệu UDR đang trống và sẵn sàng cho một nhiệm vụ truyền hay nhận tiếp
theo. Vì thế nếu bạn muốn truyền dữ liệu đầu tiên bạn phải kiểm tra xem bit
UDRE có bằng 1 hay không, sau khi chắc chắn rằng UDRE=1 hãy viết dữ
liệu vào thanh ghi UDR để truyền đi.
* U2X là bit chỉ định gấp đôi tốc độ truyền, khi bit này được set lên 1, tốc độ
truyền so cao gấp 2 lần so với khi bit này mang giá trị 0.
* MPCM là bit chọn chế độ hoạt động đa xử lí (multi-processor).
• UCSRB (USART Control and Status Register B): đây là thanh ghi
quan trọng điều khiển USART. Vì thế chúng ta sẽ khảo sát chi tiết từng
bit của thanh ghi này.
* RXCIE (Receive Complete Interrupt Enable) là bit cho phép ngắt khi quá
trình nhận kết thúc. Việc nhận dữ liệu truyền bằng phương pháp nối tiếp
không đồng bộ thường được thực hiện thông qua ngắt, vì thế bit này thường
được set bằng 1 khi USART được dung nhận dữ liệu.
* TXCIE (Transmit Complete Interrupt Enable) bit cho phép ngắt khi quá
trình truyền kết thúc.
* UDRIE (USART Data Register Empty Interrupt Enable) là bit cho phép
ngắt khi thanh ghi dữ liệu UDR trống.
* RXEN (Receiver Enable) là một bit quan trọng điều khiển bộ nhận của
USART, đề kích hoạt chức năng nhận dữ liệu bạn phải set bit này lên 1.
* TXEN (Transmitter Enable) là bit điều khiển bộ phát. Set bit này lên 1 bạn
sẽ khởi động bộ phát của USART.
* UCSZ2 (Chracter size) bit này kết hợp với 2 bit khác trong thanh ghi
UCSRC quy định độ dài của dữ liệu truyền/nhận. Chúng ta sẽ khảo sát chi tiết
khi tìm hiểu thanh ghi UCSRC.
* RXB8 (Receive Data Bit 8) gọi là bit dữ liệu 8. Bạn nhớ lại rằng USART
trong AVR có hỗ trợ truyền dữ liệu có độ dài tối đa 9 bit, trong khi thanh ghi

dữ liệu là thanh ghi 8 bit. Do đó, khi có gói dữ liệu 9 bit được nhận, 8 bit đầu
9
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
sẽ chứa trong thanh ghi UDR, cần có 1 bit khác đóng vai trò bit thứ chín,
RXD8 là bit thứ chín này. Bạn chú ý là các bit được đánh số từ 0, vì thế bit
thứ chín sẽ có chỉ số là 8, vì lẽ đó mà bit này có tên là RXD8 (không phải
RXD9).
* TXB8 (Transmit Data Bit 8), tương tự như bit RXD8, bit TXB8 cũng đóng
vai trò bit thứ 9 truyền thông, nhưng bit này được dung trong lúc truyền dữ
liệu.
• UCSRC (USART Control and Status Register C): thanh ghi này chủ
yếu quy định khung truyền và chế độ truyền. Tuy nhiên, có một rắc rối
nho nhỏ là thanh ghi này lại có cùng địa chỉ với thanh ghi UBRRH
(thanh ghi chứa byte cao dùng để xác lập tốc độ baud), nói một cách
khác 2 thanh ghi này là 1. Vì thế bit 7 trong thanh ghi này, tức bit
URSEL là bit chọn thanh ghi. Khi URSEL=1, thanh ghi này được chip
AVR hiểu là thanh ghi điều khiển UCSRC, nhưng nếu bit URSEL=0
thì thanh ghi UBRRH sẽ được sử dụng.
Các bit còn lại trong thanh ghi UCSRC được mô tả như sau:
* UMSEL (USART Mode Select) là bit lựa chọn giữa 2 chế độ truyền thông
đồng bộ và không đồng bộ. Nếu UMSEL=0, chế độ không đồng bộ được
chọn, ngược lại nếu UMSEL=1, chế độ đồng bộ được kích hoạt.
* Hai bit UPM1 và UPM0( Parity Mode) được dùng để quy định kiểm tra
pariry. Nếu UPM1:0=00, parity không được sử dụng (mode này khá thông
dụng), UPM1:0=01 không được sử dụng, UPM1:0=10 thì parity chẵn được
dùng, UPM1:0=11 parity lẻ được sử dụng (xem thêm bảng 1).
Bảng 1: chọn kiểm tra parity.
* USBS (Stop bit Select), bit Stop trong khung truyền bằng AVR USART có
thể là 1 hoặc 2 bit, nếu USBS=0 thì Stop bit chỉ là 1 bit trong khi USBS=1 sẽ
có 2 Stop bit được dùng.

* Hai bit UCSZ1 và UCSZ2 (Character Size) kết hợp với bit UCSZ2 trong
thanh ghi UCSRB tạo thành 3 bit quy định độ dài dữ liệu truyền. Bảng 2 tóm
tắt các giá trị có thể có của tổ hợp 3 bit này và độ dài dữ liệu truyền tương
10
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
ứng.
Bảng 2: độ dài dữ liệu truyền.
* UCPOL (Clock Pority) là bit chỉ cực của xung kích trong chế độ truyền
thông đồng bộ. nếu UCPOL=0, dữ liệu sẽ thay đổi thay đổi ở cạnh lên của
xung nhịp, nếu UCPOL=1, dữ liệu thay đổi ở cạnh xuống xung nhịp. Nếu bạn
sử dụng chế độ truyền thông không đồng bộ, hãy set bit này bằng 0
• UBRRL và UBRRH (USART Baud Rate Register): 2 thanh ghi thấp và
cao quy định tốc độ baud.
Nhắc lại là thanh ghi UBRRH dùng chung địa chỉ thanh ghi UCSRC, bạn
phải set bit này bằng 0 nếu muốn sử dụng thanh ghi UBRRH. Như bạn quan
sát trong hình trên, chỉ có 4 bit thấp của UBRRH được dùng, 4 bit này kết
hợp với 8 bit trong thanh ghi UBRRL tạo thành thanh ghi 12 bit quy định tốc
độ baud. Chú ý là nếu bạn viết giá trị vào thanh ghi UBRRL, tốc độ baud sẽ
tức thì được cập nhật, vì thế bạn phải viết giá trị vào thanh ghi UBRRH trước
khi viết vào thanh ghi UBRRL.
Giá trị gán cho thanh ghi UBRR không phải là tốc độ baud, nó chỉ được
USART dùng để tính tốc độ baud. Bảng 3 hướng dẫn cách tính tốc độ baud
dựa vào giá trị của thanh ghi UBRR và ngược lại, cách tính giá trị cần thiết
gán cho thanh ghi UBRR khi đã biết tốc độ baud.
Bảng 3: tính tốc độ baud.
11
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
Trong các công thức trong bảng 3, fOSC là tốc tần số xung nhịp của hệ
thống (thạch anh hay nguồn xung nội…). Để tiện cho bạn theo dõi, tôi đính
kèm bảng ví dụ cách đặt giá trị cho UBRR theo tốc độ baud mẫu.

III. Nghiên cứu về các module phát thu RF
1. Khối thu, phát RF không có IC giải mã.
• Mạch thu
Thông số kỹ thuật:
Điện áp hoạt động 4.5V đến 5.5V
12
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
Dòng điện hoạt động 4mA ứng với 5V
Nhiệt độ hoạt động -10C - 60C
Độ nhạy -105dBm
Tốc độ dòng dữ liệu cực đại 4.8k
Dữ liệu ngõ ra TTL
• Mạch phát:
Thông số kỹ thuật:
Điện áp hoạt động 2.5 V đến 12V
Dòng điện hoạt động 4mA ứng với 5V, 15mA với 9V
Dòng điện tĩnh 10uA
Nhiệt độ hoạt động -10C – 60C
Kiểu mã hóa ASK
Tốc độ dòng dữ liệu cực đại 9.6k
Dữ liệu ngõ vào TTL
Công suất tiêu thụ 20mW ứng với 5V
2.Mạch phát thu co IC giải mã.
Trên thị thường có rất nhiều dòng module thu phát có IC giải mã khác
nhau. Xin lấy ví dụ về cặp IC thu phát giả mã thông dụng là IC
PT2262/PT2272.
a.Tìm hiểu chung.
Module thu:
13
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường

Module phát:
Giới thiệu: PT2262 và PT2272 là sản phẩm của Princeton
Technology được phát triển và ra đời sau dòng mã hóa 12E/D của
hãng Holtek PT2262 có 2 loại chính : loại có 8 địa chỉ mã hóa , 4
địa chỉ dữ liệu và loại có 6 địa chỉ mã hóa và 6 địa chỉ dữ liệu. Mã
hóa 12 bit 1khung A0 >A7,D0 >D3 ( * các linh kiện PT2262 đưa
vào việt Nam chỉ có loại PT2262 với 8 địa chỉ mã hóa và 4 địa chỉ
dữ liệu. Tương tự với PT2262 có 2 kiểu thì PT2272 cũng có 2
kiểu : PT2272 có 8 địa chỉ giải mã và 4 dữ liệu đầu ra Thường được
kí hiệu : PT2272 - L4 + một loại nữa là PT2272 có 6 địa chỉ giải mã
và 6 giữ liệu ra : kí hiệu PT2272 - L6 . ( loại L4 là thông dụng ở
việt nam và ít có loại L6 ). PT2262 có " 3 mũ 12 " mã hóa tức là có
thể mã hóa 531441 mã mới có thể trùng lặp lại. So với thằng anh
HT12E ra đời trước nó thì nó trội hơn hẳn về cái khoản mật mã này.
14
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
( HT12E chỉ có 2 mũ 12 mã hóa ) cách mã hóa PT2262 có thể làm
được bằng cách nối ngắn mạch các chân " mã hóa địa chỉ " lên
dương nguồn ( mã hóa + ) và xuống âm nguồn ( mã hóa - ) hoặc có
thể bỏ trống ( mã hóa 0 ). + Dữ liệu + mã hóa được truyền trên một
khung 12 bit gồm 8 bit đầu là mã hóa (A0 >A7 ) và 4 dữ liệu . Bởi
vậy bạn có thể truyền được song song 4 bit dữ liệu 0 hoặc 1. nếu để
truyền dữ liệu thì nên để mặc định cho 4 chân dữ liệu này là 0 hoặc
là 1 bằng cách nối thêm điện trở " kéo lên " hoặc " đưa xuống
GND) để tránh nhiễu. PT2262 dùng dao động ngoài : đơn giản là
chỉ cần lắp thêm 1 điện trở dao động vào chân 15 và chân 16 của
PT2262. + Tín hiệu encoder được đưa ra ở chân 17 của PT2262,
chân này thường ở mức 1 khi tín hiệu nghỉ và mức 0 khi tín hiệu
hoạt động. Tín hiệu đưa ra gồm : sóng mang dao động < 700KHz +
địa chỉ mã hóa + dữ liệu. + Tần số Sóng mang dao động được quyết

định bởi R chân 15 và 16 và được tính bằng : f = R/12 . Ví dụ : mắc
điện trở 470k vào chân 15 và 16 đầu ra chân 17 sẽ có 470/12 =
khoảng 39Khz ( cái này có thể làm điều khiển hoặc truyền dữ liệu
bằng hồng ngoại với con PT2262 đấy nhé. ) ( PT2262 có điện áp
rộng : Có thể làm việc được từ 2,5V đến 15 V . PT2272 là con giải
mã của PT2262 nó cũng có 8 địa chỉ giải mã tương ứng + 4 dữ liệu
ra + 1 chân báo hiệu mã đúng VT ( chân 17 ).Cách giải mã như
sau : Chân 15 và 16 cũng cần một điện trở để làm dao động giải
mã . Trong dải hồng ngoại hoặc dưới 100KHz có thể dùng R rất lớn
hoặc không cần. Nhưng từ khoảng 100KHz dao động trở lên thì
bắt buộc phải dùng R để tạo dao động cho PT2272. Giá trị R của
PT2272 sẽ bằng khoảng : ( Giá trị R của PT2262) chia cho 10 >
ví dụ : PT2262 mắc điện trở 4,7 megaom thì PT2272 sẽ mắc 470k
giải mã : các chân mã hóa của PT2262 ( chân 1 đến chân 8 ),nối thế
nào thì các chân giải mã của PT2272 cũng phải nối tương tự như
vậy. Chân nào nối dương, chân nào nối âm, chân nào bỏ trống v.v
thì chân ( 1 đến 8 )của PT2272 hãy làm như thế . Khi truyền một
mã đúng và giải mã đúng thì chân 17 của PT2272 sẽ có điện áp cao
đưa ra , báo hiệu là đã đúng mã hóa. 4 chân dữ liệu có thể truyền
song song, nối tiếp rất độc lập.
15
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
Sơ đồ mạch phát dung IC PT2262:
Các chân A0 đến A7 là các chân mã hóa. Nếu các chân này ở mạch PT2262 được
dung như thế nào thì PT2272 cũng được dung như vậy. Khi đó thì các mạch phát và
mạch thu sẽ hiểu nhau, còn mấy mạch phát khác sẽ không nhận ra.
Các chân 10 đến 13 là các chân data khi truyền. Như vậy IC này có thể truyền song
song 4 bit. Chân 15 và 16 dùng để gắn điện trở tạo thành tần số truyền như mong
muốn.Giá trị điện trở ở chân 15 và 16 ở IC PT 2272 nhỏ hơn 10 lần so với PT2262.
Chân 17 dùng để truyền dữ liệu và khi truyền sẽ ở mức 0v.

Sơ đồ mạch thu:
16
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường

Chân 17 PT 2272 sẽ lên mức 1 khi nhận được dữ liệu đúng. Các chân 10 đến 13 sẽ
nhận data và thể hiện mức logic tương ứng khi nhận.
Ngoài ra còn có các module phat thu khác:
Module thu 2 kênh data.
Module phát 2 kenh data.
17
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
IV.ỨNG DỤNG MODULE THU PHÁT PT2262/2272 VÀO THỰC TẾ
Với khả năng truyền nhận dữ liệu không dây ta có thể dùng rất nhiều trong
thực tế. Sau đây là 1 chương trình dữ liệu giữa 2 vi điều khiển bằng module RF.
1.Lưu đồ giải thuật.
Mạch thu
18
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
Mạch phát.
2.Chương trình
Chương trình được viết bằng Code Vision AVR
a.Chương trình của mạch nhận tính RF.
#include <mega32.h>
#include<delay.h>
bit x0,x1,x2,x3;
// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
{ x0=PINA.0;
x1=PINA.1;
x2=PINA.2;

x3=PINA.3;
PORTC.4=~x0;
PORTC.5=~x2;
PORTC.6=~x1;
PORTC.7=~x3;
delay_ms(200);
}
void main(void)
{
19
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x00;
PORTC=0x00;
DDRC=0xFF;
PORTD=0x00;
DDRD=0x00;
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Low level
GICR|=0x40;
MCUCR=0x03;
MCUCSR=0x00;
GIFR=0x40;
TIMSK=0x00;
ACSR=0x80;
SFIOR=0x00;
// Global enable interrupts

#asm("sei")
while (1)
{
PORTC=0xff;

};
20
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
}
b.Chương trình mạch phát.
#include <mega32.h>
#include<delay.h>
bit x0,x1,x2,x3;

void main(void)
{
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x00;
PORTC=0x00;
DDRC=0xFF;
PORTD=0x00;
DDRD=0x00;
TIMSK=0x00;
ACSR=0x80;
SFIOR=0x00;
#asm("sei")
while (1)
{

x0=PINA.0;
x1=PINA.1;
21
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
x2=PINA.2;
x3=PINA.3;
PORTC.4=x0;
PORTC.5=x2;
PORTC.6=x1;
PORTC.7=x3;

};
}
V. KẾT LUẬN.
Qua thời gian thực hiện đồ án, em đã tiếp thu được nhiều kinh
nghiệm qúi báu về truyền dữ liệu cũng như kỹ
thuật cao tần, mặc dù
những tài liệu về những lĩnh vực này rất hiếm. Mặc dầu rất cố gắng
tham
khảo các tài liệu, các mạch mẫu trên mạng internet, song do thời gian thực
hiện đề tài không nhiều cộng với những kinh nghiệm về các mạch cao tần
còn thiếu nên đề tài vẫn chưa đạt hết mục đích đã đề ra. Điều chế ASK vẫn
còn nhiều hạn chế trong truyền thông không dây, nhất là về vấn đề nhiễu.
VI. HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI.
a. Về khả năng ứng dụng: Đề tài truyền dữ liệu không dây là tiền đề cho
các ứng dụng
sâu hơn như: truyền dữ liệu báo động cháy nổ, truyền thông
tin, âm thanh kỹ thuật số…
b. Về đặc tính kỹ thuật: truyền dữ liệu với kỹ thuật điều chế ASK tuy dễ
thực hiện, song tính ổn định không cao do nhiễu ảnh hưởng trực tiếp đến

biên độ tín hiệu. Có nhiều giải pháp thay thế cho kiểu điều chế này. Phổ
biến là kỹ thuật điều chế FSK, PSK, MSK, GMSK… Đây là những phương
pháp điều chế rất phổ biến trong thông tin di động hiện đại hiện nay. Những
phương pháp này đã được tích hợp hoá nhờ những vi mạch chuyên dụng,
làm nâng cao độ tin cậy của hệ thống.
TÀI LIỆU THAM KHẢO:
1. Embedded C Programming and the Atmel AVR - Richard
Barnett, Larry O’cull, Sarah Cox.
2. RF design guide - Peter Vizmuller
3. High Frequency Techniques – Josep F. White
22
ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHD: Th.s Lê Tấn Cường
23

×