Đánh giá chủ đề:
  • 93 Vote(s) - Trung bình 2.97
  • 1
  • 2
  • 3
  • 4
  • 5
Giao tiếp thiết bị có nguồn 3.3V với 5V
Bài viết: #1
Bạn đã bao giờ thử nối một cảm biến 3.3V
với một vi điều khiển 5V chưa? Việc mà chúng ta đang nói tới là cả một
vấn đề ! Tuy nhiên cũng có một số cách mà các thiết bị 3.3V có thể nối
một cách an toàn với vi điều khiển 5V.
Dưới đây là một ví dụ về cách mà bạn
KHÔNG nên mắc một thiết bị 3.3V (như cảm biến áp suất SCP1000-D01 với
giao tiếp SPI) với một vi điều khiển 5V (như PIC hay AVR chạy với nguồn
5V). Mặc dù bạn có thể thấy là mạch hoạt động bình thường nhưng tuổi thọ
của thiết bị 3.3V sẽ bị rút ngắn lại kha khá.
[Image: st1.jpg]
Nối trực tiếp hai thiết bị sẽ làm quá tải thiết bị 3.3V và thậm chí có thể dẫn đến việc hỏng thiết bị.
Thông thường, có một vài cách để giao
tiếp hai bộ SPI này với nhau. Có rất nhiều IC bán sắn trên thị trường
được thiết kế đặc biệt để chuyển đổi giữa các mức logic. Chúng ta sẽ
không bao giờ dùng chúng ! Lý do là trong quá khứ các IC này rất khó để
cấp nguồn, ngoài ra dưới đây có một số cách tương đối đơn giản để giao
tiếp các mức logic này.
Điện trở inline

Đây là cách dễ nhất và đơn giản nhất để nối hai thiết bị. Dưới đây là sơ đồ mạch:
[Image: st2.jpg]
R7 và R8 : Điện trở 10K được đặt giữa
đường MOSI ( Master Output Slave Input) cũng như đường SCK (Clock). Các
điện trở này sẽ làm giảm cường độ dòng điện sẽ chạy tới thiết bị 3.3V.
Các diode kẹp nội bộ bên trong thiết bị 3.3V sẽ cố gắng để kiểm soát các
tín hiệu đầu vào thiết bị 3.3V do đó có thể bảo vệ các phần còn lại của
thiết bị. Các diode kẹp này thường được thấy ở ngõ vào của các thiết bị
điện áp thấp.
Diode kẹp là những diode được sử dụng để
hạn chế điện áp cực đại trên một đường dây với một điện thế cực đại
được quết định từ trước. Các điện trở sẽ giảm cường độ dòng điện chạy
vào các diode với một cách sắp xếp độ lớn điện trở nhất định. Hạn chế
dòng điện sẽ làm giảm khả năng các diode bị hư hại vĩnh viễn. Nếu không
có các điện trở được đặt đúng chỗ, những dòng điện cường độ cao sẽ chạ
qua diode và mức năng lượng này sẽ phá hủy các diode kẹp này và sau đó
là gây hư hại tới các thiết bị.
Sự thận trọng luôn cần thiết với phương
pháp tiếp cận này khi chúng ta không được đảm bảo rằng các thiết bị 3.3V
sẽ chứa các diode kẹp bên trong. Mặc dù hầu hết các thiết bị có diode
kẹp này nhưng nếu thiết bị của bạn không có, thì phương pháp này sẽ
không làm giảm điện áp ngõ vào của thiết bị.
MISO : bạn nên chú ý ràng không có điện
trở trên ngõ ra của thiết bị 3.3V (MISO). Bạn không cần bất cứ thứ gì
giữa đường này khi nối với thiết bị 5V.
[Image: st4.jpg]
Đây là bảng đặc điểm DC của ATmega8.
Chúng ta cần phải kiểm tra xem điện áp tối thiểu với tín hiệu số “1” và
điện áp tối đa với tín hiệu số “0”.
Nếu vi điều khiển của bạn được cấp nguồn
5V, chúng ta sẽ thấy điện áp cực đại cho VIL là 0.2*5V = 1V. Vì vậy tất
cả những tín hiệu điện áp dưới 1V sẽ được coi là tín hiệu số “0”.
0.6*5V = 3V. Tất cả những tín hiệu trên
3V đều được ATmega8 coi là logic “1”. Điều gì sẽ xảy ra nếu bạn có điện
áp nằm giữa hai khoảng này ? Đó là một bit không được xác định. Nếu nghi
ngờ, hãy làm thử để xem vi điều khiển của bạn có thể diễn giải các tín
hiệu được truyền đến không. Miễn là các thiết bị 3.3V có thể xuất ra một
tín hiệu 3V (cho logic 1) thì ATmega8 có thể lắng nghe mà không cần
phải nối thêm gì ở ngõ ra cả.
Bạn nên kiểm tra datasheet của thiết bị
5V để chắc chắn rằng điện áp ngưỡng sẽ nằm trong khoảng 3.3V mà thiết bị
của bạn có thể xuất ra.
R5 : Điện trở 1K có thể thấy ở đường CS –
việc này là có mục đích. Hai điện trở này tạo thành một mạch chia áp
trên đường CS đi vào thiết bị 3.3V. Có 3 trường hợp có thể xảy ra :
1. Thiết bị 5V đang reset và CS sẽ được đẩy cao qua R4.
2. Thiết bị 5V yêu cầu CS, dòng điện sẽ được hạn chế qua R5, và thiết bị 3.3V sẽ có điện áp 3.3 – 3.8 V tại chân CS.
3. Thiết bị 5V đặt đường CS vào mức thấp sau đó thiết bị 3.3V sẽ thấy 0.33V trên đường CS.
Nếu ta thay đổi điện trở R5 thành 10K
thì sao ? Chúng ta sẽ tính lại công thức và thiết bị 3.3V sẽ thấy
(10K/20K)*3.3V = 1.65V khi đường CS bị kéo xuống thấp bởi thiết bị 5V.
1.65V không là “1” hay “0” theo thiết bị 3.3V, nó nằm ở ngay giữa! Thiết
bị 3.3V sẽ thực sự bối rối. Đó là lí do tại sao chúng ta sử dụng điện
trở 1K inline và 10K pull up.
Diode

Phương pháp này được coi là “an toàn”
hơn so với điện trở inline. Phương pháp này cũng hiệu quả dù cho thiết
bị 3.3V của bạn có các diode kẹp hay không.
[Image: st3.jpg]

Khi thiết bị 5V truyền mức năng lượng số
cao thì diode sẽ chặn bất cứ dòng điện nào chạy vào thiết bị 3.3V.
Thiết bị 3.3K sẽ không thấy có sự thay đổi gì và do đó sẽ vẫn được kéo
lên tới 3.3V qua điện trở 10K.

Còn khi thiết bị 5V truyền mức năng
lượng số thấp đến thì diode sẽ được gắn với đất. Điều này sẽ cho phép
dòng điện chạy qua diode từ đường 3.3V. Đường ngõ vào của các thiết bị
3.3V sẽ thấy điện áp tới bị tụt qua các diode - thay thế cho điện áp 0V
ở chân MOSI, thiết bị 3.3V sẽ có điện áp 0.6V được đặt ở chân MOSI.
0.6V là đủ nhỏ để được coi như số “0” trên nhiều thiết bị.
Các diode silicon chuẩn sẽ có điện áp
tới trong khoảng 0.6V. Nếu có điện áp thấp hơn điện áp tới này thì sẽ
tốt hơn cho ứng dụng này do đó bạn có thể cân nhắc đến việc dùng diode
Schottky. Các diode này có điện áp tới chỉ khoảng 0.2V.
MOSFET


Đây là một phương án khá phức tạp nhưng
cũng có thể dùng để giao tiếp giữa các chân tín hiệu điện áp thấp với
tín hiệu điện áp cao. Nếu 3V là quá thấp để có thể coi như là tín hiệu
số “1” trong các thiết bị 5V thì mô hình MOSFET sau sẽ giúp bạn.
[Image: st5.jpg]
Trong sơ đồ mạch, thiết bị 3.3V đang
truyền tín hiệu đến thiết bị 5V. Khi thiết bị 3.3V truyền “1” (3V),
MOSFET sẽ được nối cao, và chân TX-5V sẽ thấy điện áp 5V qua diện trở
pull-up R3. Khi thiết bị 3.3V truyền “0” (0V) thì MOSFET sẽ nối đất và
chân TX-5 sẽ thấy 0V. Mạch này là một phương pháp tốt để giao tiếp một
điện áp thấp với một điện áp cao. Nhưng phải chắc chắn rằng thiết bị
điện áp thấp sẽ nằm bên trái của MOSFET. Mạch này sẽ không hoạt dộng với
chiều ngược lại (điện áp cao đến điện áp thấp) vởi vì các diode bên
trong của MOSFET sẽ được phân cực thuận.
Nếu bạn muốn tìm hiểu thêm về mạch
MOSFET có thể được dùng để giao tiếp các thiết bị có điện áp khác nhau
trên I2C bus thì có thể tham khảo tại :
You are not allowed to view links. Register or Login to view.
You are not allowed to view links. Register or Login to view.
Cách tốt nhất là các bạn nên có tất cả
các thiết bị có chung bus. Nếu bạn có một cảm biến 3.3V, bạn nên có vi
điều khiển cũng chạy ở 3.3V. Còn nếu không, sử dụng điện trở inline và
diode là tất cả những gì bạn cần.

Nguồn sưu tầm
Trả lời
Bài viết: #2
Admin oi.sao giao tiep thiet bi 3,3v va 5v khong co hinh anh j het vay?Doc kho hieu qua!!!
Trả lời
Bài viết: #3
Bạn không hiểu chỗ nào? có các hình minh họa đó bạn, các đường giao tiếp giữa hay thiết bị sẽ được nối thông qua các mạch chuyển tiếp như vậy đó.
Trả lời
Bài viết: #4
các hình ảnh của Ad bị die hết rồi, không minh họa được, đọc hơi khó hiểu. Mong ad up lại.
Trả lời


Đi tới chuyên mục:


Thành viên đang xem chủ đề: 1 Khách