Thông báo

Collapse
No announcement yet.

Có ai làm giao tiếp 89c51 bằng cổng hồng ngoại như DTDĐ chưa?

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Có ai làm giao tiếp 89c51 bằng cổng hồng ngoại như DTDĐ chưa?

    Giao tiếp với máy tính bằng cổng com,USB dc thì tại sao lại ko thể giao tiếp bằng cổng hồng ngoại (như DTDD).Tớ đang tìm hiểu vấn đề này(để làm phong phú hơn cho đề tài nghiên cứu ...áh ..áh),khi nào có kết quả sẽ post lên cho mọi người cùng thưởng thức.Ai có kinh nghiệm gì thì giúp tớ một tay với nhé.


  • #2
    Cổng hồng ngoại mà một số ĐTDD hỗ trợ là cổng IrDA.Giao thức truyền của IrDA khá phức tạp , nó phân cấp giống như các tầng Mạng vậy, vì thế việc giải mã là không đơn giản và mất thời gian.Trong bộ help MSDN cũng nói khá rõ về giao thức này.
    Trong một số máy tính trước đây , MainBoard có hỗ trợ IrDA cho phép giao tiếp với ngoại vi . Tôi cũng đã làm thử mạch Analog giao tiếp giữa DT Nokia6610 với PC và truyền khá tốt , nhưng phần mềm trên PC thì phải Down trên mạng (vì chưa đủ trình độ để viết )
    Theo tôi, nếu bạn muốn làm mạch để giao tiếp theo chuẩn IrDA thì có thể dùng Psoc , vì nó có hỗ trợ Modul cứng IrReceive , IrTransmit cho IrDA.

    Comment


    • #3
      Tôi có một số giải pháp thế này có lẽ hơi khả thi hơn một chút. VÍ dụ như giao tiếp qua hồng ngoại thông qua remote TV chẳng hạn. Vì mỗi phím khi bấm phát ra những bit on off khác nhau.Ta có thể mắc một con mắt nhận hồng ngoại vào chân ngắt nào đó.Tùy thuộc vào mỗi loại phím mà ta sẽ lấy ra 8bit cần lấy.Bỏ star,stop và parity bit đi.Có nghĩa là mỗi khi có tín hiệu ngắt ở chân TX0 chẳng hàn thì ta sẽ viết chương trình phục vụ ngắt.Nhận được phím nào đem ra giải mã rồi cho VDK làm việc tương ứng.Tôi nghĩ việc này cũng khá đơn giản.
      CÒn chuyện viết thêm chương trình giao tiếp với máy tính thì tôi mù tịt.Chúng ta cùng trao đổi thêm nhé
      Ai nên khôn mà chẳng dại đôi lần.

      Comment


      • #4
        Nó cũng không đáng nói như bạn đâu , Nếu bây giờ bạn muốn giao tiếp 8051 với cổng com của máy tính mà không cần dùng dây cáp bạn có thể dùng IR như bình thường.
        Bạn vẫn truyền dữ liệu qua chân TX và thu tại RX như bình thường.
        cách tiến hành như sau :
        chân TX của 8051 nối vào một bộ điều chế hồng ngoại ( 38Khz ) rồi phát qua led hồng ngoại. Như vậy tín hiệu truyền đi sẽ có sóng mang 38KHz và dữ liệu xuất ra chân TX của 8051.
        Đầu thu TX của 8051 sẽ được kết nối với module thu hồng ngoại ( nhớ thêm transistor kích (tạo logic chuẩn).
        --- Cách ly phần led phát và module thu để không bị nhiễu ( nên cho công suất nhỏ thôi ) hoặc có thể chỉnh tần số thu phát khác nhau nếu module thu hồng ngoại của bạn có lõi trung tần hiệu chỉnh.
        + Phần máy tính : Làm tương tự.
        (-- Tôi đã thực nghiệm làm modem hồng ngoại IRDA cho cái mạch nạp SUNROM của tôi , chạy 9600 baud rất tốt. nhưng từ ngày nâng cấp lên phiên bản mới thì không chạy được ( vì tốc độ của thằng module thu hồng ngoại rất hạn chế --- tốt nhất dưới 16.000 baud --- khoảng 8KHz tần số &tốc độ)
        Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

        Comment


        • #5
          Cách mà bác Quế Dương nói là giao tiếp hồng ngoại thông qua việc sử dụng sóng mang (khoảng 36kHz) để gửi tín hiệu đi , phương thức giống như ĐKTX , nó hoàn toàn khác với giao tiếp IrDA trong ĐTDD .

          Comment


          • #6
            Cách của bác Quế Dương và Led1312 rất hưữ ích,tớ cũng đang suy nghĩ theo hướng này.Vì đây chỉ là một ứng dụng và dữ liệu dc gói gọn trong phạm vi hẹp (có thể quản lí dc :số liệu,chỉ số,...)nên cách này khá khả thi.
            Nếu làm theo chuẩn IrDA thì chỉ riêng việc làm kíp VXL cũng đủ "hóc" rồi.Bạn trungkt có thể giao tiếp dc với N6610 vì loại DT này có hỗ trợ IrDA,bác chỉ làm cáp hồng ngoại rồi tải PC suite về là OK,chứ như N6030 của tớ là bó tay.(trong phạm vi đề tài này ta đang dùng để giao tiếp 89c51 với PC hay thiết bị nào k#)

            Comment


            • #7
              Làm IrDA không dễ chút nào nhưng bù lại tốc độ và tính ổn định cao. Tốc độ của giao tiếp IrDA có thể từ 9,6K đến 4M bps.

              Còn ý tưởng của bạn queduong cũng hay. Tuy nhiên, cách này chỉ dùng cho các ứng dụng không đòi hỏi tốc độ và độ chính xác cao.


              Comment


              • #8
                Nguyên văn bởi queduong
                (-- Tôi đã thực nghiệm làm modem hồng ngoại IRDA cho cái mạch nạp SUNROM của tôi , chạy 9600 baud rất tốt. nhưng từ ngày nâng cấp lên phiên bản mới thì không chạy được ( vì tốc độ của thằng module thu hồng ngoại rất hạn chế --- tốt nhất dưới 16.000 baud --- khoảng 8KHz tần số &tốc độ)
                Trong modem đã thực nghiệm của bác dùng phương thức điều chế IR nào để mã hóa vậy(555,IC=?,...).Bác điều chế 38khz thì chắc là dùng BL9149 hay BT 22...,có thể ex vài code theo cách điều chế này?Tớ đang cần điều chế khoảng 30 kênh.

                Comment


                • #9
                  Mình cũng đang làm cái vụ điều khiển từ xa bằng hồng ngoại này đây, nhưng mà làm mãi không biết sau mạch phát no không chịu phát nữa. mình dung 1 con 89C2051 để truyền số liệu trên port nối tiếp, sóng mang được tạo trên p3.3 rồi sau đó AND 2 thằng đó lại, không biết mình làm như vậy có đúng không? à quên, mình lấy ngõ ra chân Tx sau khi đã qua cổng đảo 1 lần. Bên thu cũng vậy, trước khi đưa vào chân Rx mình cũng cho qua cổng đảo một lần.
                  hãy cố gắng dù vướn phải thất bại!!!!!!!!

                  Comment


                  • #10
                    Nguyên văn bởi chipmickey
                    Mình cũng đang làm cái vụ điều khiển từ xa bằng hồng ngoại này đây, nhưng mà làm mãi không biết sau mạch phát no không chịu phát nữa. mình dung 1 con 89C2051 để truyền số liệu trên port nối tiếp, sóng mang được tạo trên p3.3 rồi sau đó AND 2 thằng đó lại, không biết mình làm như vậy có đúng không? à quên, mình lấy ngõ ra chân Tx sau khi đã qua cổng đảo 1 lần. Bên thu cũng vậy, trước khi đưa vào chân Rx mình cũng cho qua cổng đảo một lần.
                    Về cơ bản ở trên là đúng, bạn post sơ đồ cụ thể để mình xem cho.
                    Chú ý:
                    +Nên đặt tốc độ thấp, khoảng <=1200
                    +Song mang tần số khoảng 38Khz---> giá trị nạo timer là 1/72 ms.
                    +Xem lối ra con thu IR(3 chân), xem khi ko phát nó ra 0 hay 1? thường lối ra con thu ko ko phát là 1. Từ đó thiết kế mạch cho đúng có tầng đảo hay ko.

                    Comment


                    • #11
                      Nguyên văn bởi chipmickey
                      Mình cũng đang làm cái vụ điều khiển từ xa bằng hồng ngoại này đây, nhưng mà làm mãi không biết sau mạch phát no không chịu phát nữa. mình dung 1 con 89C2051 để truyền số liệu trên port nối tiếp, sóng mang được tạo trên p3.3 rồi sau đó AND 2 thằng đó lại, không biết mình làm như vậy có đúng không? à quên, mình lấy ngõ ra chân Tx sau khi đã qua cổng đảo 1 lần. Bên thu cũng vậy, trước khi đưa vào chân Rx mình cũng cho qua cổng đảo một lần.
                      trường hợp của bác giống của em đó em đưa outIR vào 89c51 mạch thu không hoạt động nữa

                      mong các cao nhân trên diễn đàn chỉ giáo
                      +em nghĩ tín hiều không đủ lớn đó
                      +em định cho tín hiệu qua 74hc573(đệm)

                      Comment


                      • #12
                        cái của sư huynh quế dương nói hay quá , su huynh có thể post cái sơ đồ module đó lê diễn đàn cho anh em học hỏi được không
                        Cty TNHH Cơ Điện tử Hiệp Phát.
                        ------------------------------------------
                        Trần Hoàng Giang
                        11-04-1985

                        Mobil: 0905 438 533

                        Comment


                        • #13
                          Nguyên văn bởi chipmickey
                          Mình cũng đang làm cái vụ điều khiển từ xa bằng hồng ngoại này đây, nhưng mà làm mãi không biết sau mạch phát no không chịu phát nữa. mình dung 1 con 89C2051 để truyền số liệu trên port nối tiếp, sóng mang được tạo trên p3.3 rồi sau đó AND 2 thằng đó lại, không biết mình làm như vậy có đúng không? à quên, mình lấy ngõ ra chân Tx sau khi đã qua cổng đảo 1 lần. Bên thu cũng vậy, trước khi đưa vào chân Rx mình cũng cho qua cổng đảo một lần.
                          Thế phần thu bạn làm như thế nào. Bạn có thể nói rõ hơn được không?
                          |

                          Comment


                          • #14
                            Tui thấy người ta dung con NAND 2 đầu vào (loại 4011B) trước khi đưa đến VDK (ở phần thu). Có phải là để khuyếch đại dòng lên không các bác nhỉ?
                            Vì con này theo datasheet, nó tương đương với 1 cổng nand + 2 cổng đảo, tất cả nối tiếp nhau. Mà cổng đảo thì tăng dòng ác!
                            |

                            Comment


                            • #15
                              mình có sơ đồ giao tiếp giữa hai con VDK đây. Ứng với mỗi con chip ta có một bộ thu phát !! các bạn xem và góp ý nhé!
                              Attached Files
                              Giúp nhau cùng tiến bộ....
                              Học học..... vì tất cả......

                              Comment

                              Về tác giả

                              Collapse

                              cuteolenpho Tìm hiểu thêm về cuteolenpho

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X