Đánh giá chủ đề:
  • 100 Vote(s) - Trung bình 3.03
  • 1
  • 2
  • 3
  • 4
  • 5
Phần cứng giao tiếp I2C giữa MSP430 và DS1307
Bài viết: #1
Tôi xin giới thiệu đến mọi người cách làm phần cứng để giao tiếp giữa vi xử lí msp430 với DS1307 qua giao tiếp I2C.
Ở đây có một khó khăn là DS1307 dùng mức logic 5volt, còn Msp430 dùng mức logic 3.3volt. Vậy làm sao để 2 thiết bị có thể giao tiếp và truyền nhận dữ liệu 2 chiều?
Chúng ta có một cách rất đơn giản là dùng IC PCA9306 do TI sản xuất, sản phẩm này được TI sản xuất chuyên dụng để giải quyết vấn đề này!

IC PCA9306

[Image: NXP-PCA9306-pinout.jpg]


Datasheet của PCA 9306 tại đây: You are not allowed to view links. Register or Login to view.

Sơ đồ giao tiếp giữa msp430 với ds1307 thôg qua chuẩn I2C có dùng PCA9306 để chuyển đổi logic:

   

Nói về tính năng của PCA9306, ic này có ngày ngõ io của 2 đường dữ liệu SDA, SCL nó sẽ giúp chuyển đổi từ 3.3 volt của msp430 thành 5volt của DS1307 và ngược lại. nó sẽ giúp dữ liệu có thể truyền nhận 2 chiều một cách dễ dàng, không cần dùng FET. Ic sử dụng 2 nguồn là 3.3volt và 5volt. Các bạn tham khảo datasheet của IC để biết thêm cách mắc 2 nguồn như thế nào.
Ở 2 đường dữ liệu chúng ta sẽ dùng điện trở 4.7Kohm để kéo lên nguồn, phía bên msp430 chúng ta sẽ kéo lên nguồn 3.3volt, bên ds1307 sẽ kéo điện trở lên nguồn 5volt như sơ đồ mô tả dưới đây:

   
Các bạn làm thử nhé, mình đã làm rồi mạch chạy tốt! Chúc mọi người thành công!
Trả lời
Bài viết: #2
chào anh!anh có thể up bài làm lên cho mọi người tham khảo được không ạh.cảm ơn anh!
Trả lời
Bài viết: #3
bạn xem video test:



website: www.eplusi.net
Phone: 0907 042 549
Mail: info@eplusi.net
Trả lời
Bài viết: #4
Mức logic 1 của DS1307 là từ 2.2 đến 5.5V mà bạn, đâu cần phải 5V đâu. Mình nghĩ mắc trực tiếp vẫn được, trở kéo lên thì nối vào Vcc của MSP430 chứ k nối vào 5V.
Hình như trong diễn đàn này cũng viết 1 bài về giao tiếp msp430 với LCD 16x2 và cũng yêu cầu có đệm từ 3.3V - 5V, mình nghĩ điều đó không thật sự cần thiết.
Trả lời
Bài viết: #5
Lcd thì không cần đệm vẫn chạy, nhưng đối với i2c giao tiếp ds1307 với msp theo cách nối của bạn sẽ không hoạt động.Mình đã test mạch này thực tế rồi.
Nhận thiết kế mạch in ,mạch điện tử theo yêu cầu. Cung cấp mạch nạp 89, Pic, AVR.

[Image: email_icon.gif] :dqnam952@gmail.com
Trả lời
Bài viết: #6
Chào bạn minhtuan99bk, nếu như bạn suy luận thì tín hiệu từ DS1307 về MSP sẽ là bao nhiêu volt?MSP430 hoạt động từ 1.8-3.6V còn DS1307 hoạt động từ 4.5-5.5V như vậy sẽ không phù hợp về mức logic, dù cho cách mắc của bạn có hoạt động đi chăng nữa thì chắc hoạt động cũng không ổn định!
Trả lời
Bài viết: #7
@Bạn Rikimaru: tuy 2 con này hoạt động ở mức áp khác nhau nhưng mức logic 0 và 1 thì vẫn khá tương đương, mức 0 vẫn cỡ 0V, mức 1 của con DS1307 từ 2.2V là được (datasheet).
@all: một người làm thành công nè, ko cần IC chuyển đổi nhé 14
You are not allowed to view links. Register or Login to view.
Trả lời
Bài viết: #8
(15-11-2011, 01:57 AM)msp430 Đã viết: You are not allowed to view links. Register or Login to view.Tôi xin giới thiệu đến mọi người cách làm phần cứng để giao tiếp giữa vi xử lí msp430 với DS1307 qua giao tiếp I2C.
Ở đây có một khó khăn là DS1307 dùng mức logic 5volt, còn Msp430 dùng mức logic 3.3volt. Vậy làm sao để 2 thiết bị có thể giao tiếp và truyền nhận dữ liệu 2 chiều?
Chúng ta có một cách rất đơn giản là dùng IC PCA9306 do TI sản xuất, sản phẩm này được TI sản xuất chuyên dụng để giải quyết vấn đề này!

IC PCA9306

[Image: NXP-PCA9306-pinout.jpg]


Datasheet của PCA 9306 tại đây: You are not allowed to view links. Register or Login to view.

Sơ đồ giao tiếp giữa msp430 với ds1307 thôg qua chuẩn I2C có dùng PCA9306 để chuyển đổi logic:


[Image: 1511201105716490.bmp]

Nói về tính năng của PCA9306, ic này có ngày ngõ io của 2 đường dữ liệu SDA, SCL nó sẽ giúp chuyển đổi từ 3.3 volt của msp430 thành 5volt của DS1307 và ngược lại. nó sẽ giúp dữ liệu có thể truyền nhận 2 chiều một cách dễ dàng, không cần dùng FET. Ic sử dụng 2 nguồn là 3.3volt và 5volt. Các bạn tham khảo datasheet của IC để biết thêm cách mắc 2 nguồn như thế nào.
Ở 2 đường dữ liệu chúng ta sẽ dùng điện trở 4.7Kohm để kéo lên nguồn, phía bên msp430 chúng ta sẽ kéo lên nguồn 3.3volt, bên ds1307 sẽ kéo điện trở lên nguồn 5volt như sơ đồ mô tả dưới đây:


[Image: 151120110577274.bmp]
Các bạn làm thử nhé, mình đã làm rồi mạch chạy tốt! Chúc mọi người thành công!

chào bạn...cái con ic chuyển mức logic này tui ra tiệm trên cần thơ mà họ nói không có bán...PC9306..phải làm xao đây bạn,dùng ic nào khác không hay cách nào bạn???
Trả lời
Bài viết: #9
Cần thơ chỉ bán các loại linh kiện thông dụng, nếu bạn giao tiếp I2C giữa DS1307 và MSP430 cần có thêm ic PCA9517 chuyển áp mức logic I2C, mạch mới hoạt động ổn định được. Một cách khác nếu bạn sử dụng ic BQ32000 do ic này sử dụng điện áp 3V bằng với điện áp MSP430 hoạt động nên mắc trực tiếp chân giao tiếp vào vi điều khiển không cần ic chuyển nữa. Các ic BQ32000, PCA9517 bạn phải ship từ TI.
Nhận thiết kế mạch in ,mạch điện tử theo yêu cầu. Cung cấp mạch nạp 89, Pic, AVR.

[Image: email_icon.gif] :dqnam952@gmail.com
Trả lời
Bài viết: #10
(24-08-2013, 05:56 PM)lovedt Đã viết: You are not allowed to view links. Register or Login to view.Cần thơ chỉ bán các loại linh kiện thông dụng, nếu bạn giao tiếp I2C giữa DS1307 và MSP430 cần có thêm ic PCA9517 chuyển áp mức logic I2C, mạch mới hoạt động ổn định được. Một cách khác nếu bạn sử dụng ic BQ32000 do ic này sử dụng điện áp 3V bằng với điện áp MSP430 hoạt động nên mắc trực tiếp chân giao tiếp vào vi điều khiển không cần ic chuyển nữa. Các ic BQ32000, PCA9517 bạn phải ship từ TI.

thank bạn! ship từ TI là sao bạn...ở cần thơ có bán con BQ32000 không bạn??nếu không mua được ic PCA9517 thì tiêu xao bạn???
Trả lời


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


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