Thông báo

Collapse
No announcement yet.

Kết nối và truyền dữ liệu giữa các MCU

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

  • Kết nối và truyền dữ liệu giữa các MCU

    Em cần kết nối 2-3 MCU (89C52) với nhau và truyền dữ liệu qua lại giữa chúng mà không sử dụng chân P3.0/P3.1
    • MCU1 ---> MCU2 ---> MCU3

    Dữ liệu cho 1 lần truyền là 1 mảng khoảng 50 phần tử, mỗi phần tử là 1 số có 5 chữ số
    • MCU1 <--- MCU2 <--- MCU3

    Truyền ngược lại để xác nhận là đã nhận

    Các bác chỉ giúp em phương pháp giải quyết với.
    Em xin cảm ơn

  • #2
    Đã trả lời bác rồi. Uart là chuẩn. Tự dưng thích chơi khác người


    Add: 97 Quán Nam - Lê Chân - Hải Phòng.
    Tel: 031 518648 Phone: 0904 283 505

    Comment


    • #3
      vđề là kon MCU1 nối với 1 thiết bị khác và MCU3 nối với máy tính bằng 2 chân ấy rồi, cho nên truyền nhận giữa các MCU với nhau buộc fải dùng chân khác thôi >"<. Thế mới là vđề. Mình cũng nghĩ đến việc xây dựng khuôn dạng dữ liệu riêng và thiết kế truyền nhận theo từng bit, nhưng do dữ liệu lớn quá nên sợ k làm đc

      Comment


      • #4
        Nguyên văn bởi Huntress1 Xem bài viết
        vđề là kon MCU1 nối với 1 thiết bị khác và MCU3 nối với máy tính bằng 2 chân ấy rồi, cho nên truyền nhận giữa các MCU với nhau buộc fải dùng chân khác thôi >"<. Thế mới là vđề. Mình cũng nghĩ đến việc xây dựng khuôn dạng dữ liệu riêng và thiết kế truyền nhận theo từng bit, nhưng do dữ liệu lớn quá nên sợ k làm đc
        thế là bác này còn hơi gà , việc nối với PC và truyền qua lại chuẩn RS232 k đụng chạm j nhau nếu bác bik lập frame truyền : header + dta + stop

        vd t truyền từ MCU1 đi frame : 'A' + 0x55 + 'S'

        trên giao diện PC, t lại cho mã header là 'B' thì thử hỏi PC có nhận đc dữ liệu 0x55 k ?

        Comment


        • #5
          Bạn thiết lập 1 định dạng truyền bit nối tiếp rồi thiết lập giao thức truyền byte theo khung có header + data (+ stop). n MCU nối thành 1 vòng kín. Nếu bạn làm theo cách này khuyên bạn nên dùng chân rec là 1 chân ngắt.
          Bạn cũng có thể nối song song 3 con MCU + máy tính + thiết bj khác qua 2 chân UART nhờ chuẩn 485 rồi lại cũng header + data (+ stop).
          |

          Comment


          • #6
            nên tìm hiểu SPI hoặc I2C để truyền giữa 2 vi xử lý. UART là kiểu truyền ko kèm clock nên khó kiểm soát lỗi. mặc dù vậy 8051 ko hỗ trợ bộ SPI và I2C cứng nên cũng hơi khó để bắt đầu. Tuy nhiên nếu đọc qua giao thức truyền tin này thì việc xây dựng SOFT SPI hay SOFT I2C là không khó.
            Ví dụ tham khảo có thể xem ở đây: http://www.8051projects.net/i2c-twi-tutorial/
            123...

            Comment


            • #7
              Bạn có thể nối vòng theo kiểu token ring nếu không còn chân cho UART interface:

              Máy tính -> MCU1-> MCU2 -> MCU3 -> Máy tính.

              Dùng 2 bits cho source address (4 devices) và 2 bits cho destination address embedded trên UART data. Giả thử có thể dùng 9 bit data thì truyền start bit (1) -> source address (2) -> destination address (2) -> raw data (5) -> stop bit (1). Khi nhận data, nếu không phải cho mình thì tiếp tục truyền. Nếu phải thì nhận và ngừng, không chuyển. Đây là cách mà thường hay được sử dụng khi bị giới hạn bởi interface. Chỉ có cái là bị bớt bandwidth và thêm công để decode addresses.
              Chúc một ngày vui vẻ
              Tony
              email : dientu_vip@yahoo.com

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...
              X