Thông báo

Collapse
No announcement yet.

Mạng vi điều khiển

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

  • Mạng vi điều khiển

    Khi làm việc với hệ thống, 1 vi điều khiển không đảm đương được hết trách nhiệm ta dùng mạng vi điều khiển theo kiểu Master- Slave. Nhưng hoạt động của mạng này thế nào? Vận hành ra sao? thì các thành viên mới chưa biết được. Mong được các anh chỉ cho vài đường cơ bản!
    Learn more...

  • #2
    Khi làm việc với hệ thống, 1 vi điều khiển không đảm đương được hết trách nhiệm ta dùng mạng vi điều khiển theo kiểu Master- Slave.
    Không hiểu ý "hệ thống" của các hạ ở đây nghĩa là sao? Nếu hệ thống các hạ nói là một thiết bị ứng dụng vi xử lý (microcontroller based system) thì theo thiển ý của tại hạ việc thiết kế một hệ thống đa vi xử lý là điều nên tránh bởi vì việc điều phối hoạt động cho các vi xử lý này nhịp nhàng là điều không dễ.
    Tuy nhiên không phải là không có giải pháp cho những vấn đề này. Nếu thiết bị của các hạ có hai vi xử lý thì đơn giản chỉ là việc giao tiếp giữa hai vi xử lý. Nếu thiết bị của các hạ có nhiều hơn hai vi xử lý thì việc giao tiếp sẽ phức tạp hơn. Thường thì phải thiết kế theo chế độ Master-MultiSlave. Các hạ có thể sử dụng bất kỳ cổng truyền nối tiếp nào để thực hiện miễn là cổng đó cho phép giao tiếp đa vi xử lý (multi-microprocessor communication). Việc giao tiếp trong mạng chủ yếu là do vi xử lý Master điều phối. Nó sẽ dùng các địa chỉ để phân biệt các Slave với nhau.
    Ví dụ với 8051, cổng nối tiếp UART có cung cấp chế độ truyền nối tiếp phục vụ giao tiếp đa vi xử lý. Trong chế độ này ngoài 8bit dữ liệu được truyền đi còn có thêm bit thứ 9 dùng để báo hiệu 8bit đó là dữ liệu (bit9 = 0) hay địa chỉ (bit9 = 1). Các byte địa chỉ (có bit9=1) sẽ gây ngắt tất cả các Slave. Bọn này sẽ đọc và so sánh với địa chỉ được gán cho nó từ trước, nếu không giống sẽ đi làm việc khác, nếu giống sẽ chuyển chế độ để có thể nhận được dữ liệu sẽ truyền tới tiếp theo (Dữ liệu không gây ngắt do đó phải chuyển chế độ mới gây ngắt và nhận được!). Các thằng không chuyển chế độ sẽ không bị các byte dữ liệu (trao đổi giữa Master và Slave được chọn) ngắt, làm phiền, thoải mái làm việc của chúng nó, cho đến khi một phiên giao tiếp mới được Master khởi động bằng một byte địa chỉ mới.
    Bảo trọng.

    Comment


    • #3
      Nguyên văn bởi noisepic
      Khi làm việc với hệ thống, 1 vi điều khiển không đảm đương được hết trách nhiệm ta dùng mạng vi điều khiển theo kiểu Master- Slave. Nhưng hoạt động của mạng này thế nào? Vận hành ra sao? thì các thành viên mới chưa biết được. Mong được các anh chỉ cho vài đường cơ bản!
      Nếu bạn dùng 89 và sử dụng phương thức truyền thông đa xử lý, tôi có thể giúp bạn.
      Thân chào.

      Comment


      • #4
        em cũng đang lập trình một hệ thống master-multi slave, cụ thể là 1 master 2 slave.Xin hỏi có thể truyền đồng bộ giữa master và slave được ko?
        mail: [/email] :->

        Comment


        • #5
          Đồng bộ thì nguyên tắc có một dây Clock, nên nó ko áp dụng cho chuẩn 232/485.

          Có thể áp dụng cho chuẩn I2C hoặc SPI cho hệ của bạn, nhưng lưu ý ko truyền đc xa đâu nhé
          -------------------

          Comment


          • #6
            Dùng 485 ấy, loại đấy đấu kiểu 2 dây là multi-master và multi-slave mà. Tối đa 127 thiết bị cùng nối trên một đường dây. Tốc độ cao nhất = tốc độ UART của VĐK. Khoảng cách tối đa là 1km hoặc hơn. Tất nhiên tốc độ >< khoảng cách.
            AFH

            Comment


            • #7
              bạn có thể đọc các tài liệu về CAN (đây là giao thức được dùng cho mạng các vi xử lý)cụ thể trong các vi xử lý trong các ô tô của chúng ta.
              Tài liệu cụ thể :
              mạng truyền tông công nghiệp -tiến sĩ hoàng minh sơn
              vào trang www.google.com với từ khoá CAN
              một mạng khác thuộc mạng can là Devicenet bạn cũng có thể tìm hiểu ở quyển sách trên.Cụ thể hơn nữa có thể lên hệ với các hãng như BOS...,FOR...

              Comment


              • #8
                Nguyên văn bởi AFH
                Dùng 485 ấy, loại đấy đấu kiểu 2 dây là multi-master và multi-slave mà. Tối đa 127 thiết bị cùng nối trên một đường dây. Tốc độ cao nhất = tốc độ UART của VĐK. Khoảng cách tối đa là 1km hoặc hơn. Tất nhiên tốc độ >< khoảng cách.
                AFH
                32 chứ nhỉ!!!
                -------------------

                Comment


                • #9
                  Tu cũng đang thiết kế 1 mạng vdk. Số port mở rộng lên đến 20. Do đó tu phải dùng tới 3 con vdk. 1 con se chuyên giao tiếp với bàn phím (của máy tính), 1 con đo lường, và 1 con chủ tổng hợp va giao tiếp với lcd, nvram. Tu chưa biết chúng sẽ giao tiếp với nhau bằng đường nào đây? uart có được không? Còn isp thì sao? hay i2c? Quả thật là nhiều nên thấy lùng bùng. Có ai rảnh cùng coi giúp tu không?
                  !e

                  Comment


                  • #10
                    Em thi chỉ đơn giản dùng 3 vdk voi duong truyen cap UTP và sn75176 thoi, những cái khác chưa co thơi gian để làm.E đang loay hoay truyền một chuỗi qua lại giữa master và slave. Bac nao co kinh nghiệm truyền một chuỗi dùng Keil C chưa?help me!
                    mail: [/email] :->

                    Comment


                    • #11
                      1 con là đủ bạn ạ.
                      Vẫn biết mỗi lần xa là một lần về lại...

                      Comment


                      • #12
                        Trích:
                        Nguyên văn bởi AFH
                        Dùng 485 ấy, loại đấy đấu kiểu 2 dây là multi-master và multi-slave mà. Tối đa 127 thiết bị cùng nối trên một đường dây. Tốc độ cao nhất = tốc độ UART của VĐK. Khoảng cách tối đa là 1km hoặc hơn. Tất nhiên tốc độ >< khoảng cách.
                        AFH

                        32 chứ nhỉ!!!
                        nếu giảm tải đường truyền hoặc dùng 3 bộ lặp thì lên tới 127 thiết bị, xem sách thầy Hoàng Minh Sơn sẽ rõ.
                        AFH

                        Comment


                        • #13
                          Nguyên văn bởi AFH
                          nếu giảm tải đường truyền hoặc dùng 3 bộ lặp thì lên tới 127 thiết bị, xem sách thầy Hoàng Minh Sơn sẽ rõ.
                          AFH
                          Vậy giải pháp giảm tải đường truyền,anh cụ thể hơn ko? là giảm sự truyền thông tin hay điện trở đầu cuối? Dùng bộ lặp thì ko phải bản chất lắm.

                          Comment


                          • #14
                            Nguyên văn bởi thaithutrang
                            Vậy giải pháp giảm tải đường truyền,anh cụ thể hơn ko? là giảm sự truyền thông tin hay điện trở đầu cuối? Dùng bộ lặp thì ko phải bản chất lắm.
                            Cô bé này đã làm tốt RS485 rồi còn định "nắn gân" anh đây. hê hê.....
                            Thực ra thì anh chưa ghép thử đến 32 tải chứ đừng nói đến 126 tải.
                            Theo lý thuyết, người ta tăng số trạm bằng cách tăng trở kháng đầu vào của các thiết bị lên, và do đó có thể tăng được số trạm (luôn đảm bảo dòng phải nhỏ hơn hoặc bằng dòng của một bộ kích ~ 60mA)
                            Việc tăng trở kháng vào dĩ nhiên phải giảm tốc độ truyền xuống vì tốc độ phản ứng của các trạm có trở kháng lớn sẽ nhỏ hơn.
                            Điện trở đầu cuối theo quy định thường từ 100 hoặc 120 Ohm cho mỗi đầu, do vậy kô giảm giá trị này.
                            Trong thực tế người ta dùng bộ lặp nhiều đấy chứ nhỉ? Cái này anh kô rành lắm, nhưng anh vẫn thấy người ta bán bộ lặp cho chuẩn RS485, nghĩa là phải dùng nhiều thì người ta mới sản xuất chứ nhỉ? Phải kô?
                            AFH

                            Comment


                            • #15
                              Nguyên văn bởi AFH
                              Cô bé này đã làm tốt RS485 rồi còn định "nắn gân" anh đây. hê hê.....
                              Thực ra thì anh chưa ghép thử đến 32 tải chứ đừng nói đến 126 tải.
                              Theo lý thuyết, người ta tăng số trạm bằng cách tăng trở kháng đầu vào của các thiết bị lên, và do đó có thể tăng được số trạm (luôn đảm bảo dòng phải nhỏ hơn hoặc bằng dòng của một bộ kích ~ 60mA)
                              Việc tăng trở kháng vào dĩ nhiên phải giảm tốc độ truyền xuống vì tốc độ phản ứng của các trạm có trở kháng lớn sẽ nhỏ hơn.
                              Điện trở đầu cuối theo quy định thường từ 100 hoặc 120 Ohm cho mỗi đầu, do vậy kô giảm giá trị này.
                              AFH
                              Hi hi...vậy phải chế ra các con IC chuẩn riêng tương thích với RS485'(127)có trở kháng đầu vào lớn hơn chuẩn RS485(32).Anh AFH có thấy hãng nào sản xuất chưa?
                              Theo em, lặp lại 485 hơi khó vì nó vi sai và nhất là hướng. Còn nếu làm một nhánh mạng con(hình cây) thì mới chắc chắn được

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X