Thông báo

Collapse
No announcement yet.

SPI, chuẩn giao tiếp 3 dây!

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

  • SPI, chuẩn giao tiếp 3 dây!

    Song song cùng tồn tại cùng I2C, chuẩn SPI được một số hãng rất tin dùng, đặc biệt như Atmel là 1 điển hình.
    Sự ko hợp nhất giưa 2 chuẩn này gây không ít khó khăn, một số device chỉ có chuẩn SPI nhưng ko có I2C và ngược lại. Vậy xu hướng thế giới tương lai, chuẩn nào sẽ ưu chuộng hơn?
    Rất mong các cao thủ đã dùng SPI cho đàn em hiểu rõ hơn về chuẩn nay?

  • #2
    SPI là chữ viết tắt của serial peripheral interface

    SPI là một chuẩn giao tiếp cho phép truyền dữ liệu đồng bộ với tốc độ cao giữa VDK
    và các thiết bị ngoại vi .Chuẩn SPI được xài ở một số loại vdk như PHILIP (p89v51rd ..vv)

    đây là sơ đồ giao tiếp spi theo kiểu master slaver ( loại chíp P89v51rd) các bác tham khảo
    Attached Files
    SHARE KHO PHIM LỚN

    Comment


    • #3
      Re: SPI, chuẩn giao tiếp 3 dây!

      Nguyên văn bởi Thaphuong
      Song song cùng tồn tại cùng I2C, chuẩn SPI được một số hãng rất tin dùng, đặc biệt như Atmel là 1 điển hình.
      Sự ko hợp nhất giưa 2 chuẩn này gây không ít khó khăn, một số device chỉ có chuẩn SPI nhưng ko có I2C và ngược lại. Vậy xu hướng thế giới tương lai, chuẩn nào sẽ ưu chuộng hơn?
      Rất mong các cao thủ đã dùng SPI cho đàn em hiểu rõ hơn về chuẩn nay?
      Theo tui biết thì I2C đã quá thông dụng rồi, còn ISP thì ít được biết đến hơn. Các MCU có hổ trợ cái này mà không hổ trợ cái khác chắc là vì lý do kinh tế. Ít đồ chơi thì giá tiền cũng ít hơn. ISP thì tui chưa biết nhiều chứ I2C thì tui khá quen thuộc. Hồi làm luận văn tui dùng I2C với AVR và Linux. Chạy rất tốt. Việc thêm các thiết bị mới cho Robot rất dễ dàng với bus giao tiếp I2C.
      Sống và làm việc theo gương Bác Hồ vĩ đại

      Comment


      • #4
        Spi

        SPI là một phương thức truyền thông nối tiếp đồng bộ giữa các vi điều khiển và ngoại vi.
        Thông thường một Slave device trong cấu hình chuẩn giao tiếp SPI gồm 2 đường điều khiển và 2 đường dữ liệu
        Trong cấu hình Master/Slave, một master sẽ cung cấp tín hiệu xung clock và tín hiệu chọn chip- Chip Select (CS) để chọn slave mà nó cần giao tiếp.
        Các slave sẽ nhận tín hiệu clock và chip select từ Master. CS và SCKL là các tín hiệu đầu vào.

        2 đường dữ liệu là SDI và SDO.
        Càng biết nhiều càng thấy mình biết ít.

        Comment


        • #5
          Master/Slave Configuration

          Ví dụ cấu hình Master/Slave giao tiếp SPI
          Càng biết nhiều càng thấy mình biết ít.

          Comment


          • #6
            SPI tốc độ nhanh hơn I2C và lập trình khá dễ. Em mới làm master chứ chưa thử lập salver lần nào.
            Nhưng SPI là 3 dây: SCL,DSI,SDO. Nếu bác dùng thêm các chân cs thì có mất đi chuẩn SPI? mà phải can thiệp phần mềm chỗ đó? phải nối nhiều dây--->n chứ ko phải 3 dây?
            Nêm chăng chọn slaver dựa vào khung truyền: địa chỉ+dữ liệu?
            Em chưa đọc kỹ về SPI, nên mong các bác có thể nói rõ hơn. Nhất là đại nhân ATYLA

            Comment


            • #7
              Spi

              SPI là phương thức truyền nối tiếp đồng bộ, thông thường dùng 3 dây, cũng có thể dùng thêm 1 đường điều khiển chip select để lựa chọn chip (EPROM, ADC, RT Clock,...).
              Một số loại vi điều khiển có hỗ trợ phần cứng SPI, nếu không có thì phải lập trình bằng phần mềm.

              PIC có hỗ trợ SPI master cho phép giao tiếp với các thiết bị ngoại vi. Nó gồm 3 dây là : SCK, SDI, SDO.
              Đường chip select (CS) có thể được dùng thêm để điều khiển chọn chip.

              Thông thường SPI và I2C được dùng để giao tiếp với ngoại vi. Người ta cũng dùng I2C để giao tiếp giữa các vi điều khiển kiểu Master/slave, còn SPI hình như là chỉ dùng cho mục đích nối ghép với ngoại vi (PIC chỉ hỗ trợ Master mode), bạn xem lại xem sao.
              Càng biết nhiều càng thấy mình biết ít.

              Comment


              • #8
                Mấy con PIC thông dụng đều support phần cứng về I2C/SPI master/slaver hết đó.
                Tui post lên một đoạn lên viết cho SPI master lâu lắm rồi:
                Khởi tạo: gồm các lệnh về chế độ họat động của SPI: kiểu xung, vị trí đồng bộ...
                //For SPI
                SMP=0;
                CKP=0;
                CKE=1;
                WCOL=0;
                SSPM3=0;
                SSPM2=0;
                SSPM1=0;
                SSPM0=0;
                SSPEN=1;
                Đọc kỹ datasheet có nói rất kỹ về chế độ xung, kiểu xung, vị trí đồng bộ....

                Về lệnh send data:
                if(SSPIF) SSPBUF=data;//Nếu bộ đệm truyền rỗng thì phát data đi.

                Comment


                • #9
                  Re

                  Điểm quan trọng của SPI là sau khi truyền xong 1 byte thì 2 MCU trao đổi dữ liệu cho nhau. Byte trong thanh ghi dữ liệu của Mas sẽ được dịch sang Sla còn byte trong Sla sẽ thành của Mas. Tui cũng có làm qua SPI trên AVR nhưng không hiểu sao khi truyền với số lượng lớn thì sẽ mất một số byte mặc dù tui đã đồng bộ xung CLK bằng chân SS sau mỗi byte truyền.

                  Comment


                  • #10
                    Nguyên văn bởi ATYLA
                    Thông thường SPI và I2C được dùng để giao tiếp với ngoại vi. Người ta cũng dùng I2C để giao tiếp giữa các vi điều khiển kiểu Master/slave, còn SPI hình như là chỉ dùng cho mục đích nối ghép với ngoại vi (PIC chỉ hỗ trợ Master mode), bạn xem lại xem sao.
                    Dường như PIC hỗ trợ cả 2 chuẩn I2C và SPI nhưng chỉ dùng được 1 trong 2. Vậy nếu giả sử tôi cần ghép nối serial bus (ví dụ I2C) giữa 2 PIC trong khi mỗi PIC cũng có giao tiếp với các ngoại vi khác (RTC, DAC,...)thì phải làm thế nào? Xin các cao thủ giúp đỡ.

                    Cám ơn.

                    Comment


                    • #11
                      Rất nhiều loại PIC18 đời cao có 2 module MSSP(Master Synchronous Serial Port) ví dụ:PIC18F45J10,PIC18F6527,PIC18F6722,PIC18F8310... kể ko hết.
                      Nếu chọn phải con PIC ko có 2 module trên thì phải dùng phương án : 1 modul thủ công, một mdule phần cứng vậy.

                      Comment


                      • #12
                        Hi!
                        Em mới đọc về I2c với SPI...
                        Thật là chưa hiểu lắm...nên kô phân biệt được-> không viết được chương trình giao tiếp cho con MCU nào ko hỗ trợ.
                        Đại hiệp nào biết dòng MS51 có con nào hỗ trợ SPI mà giá rẻ nhất...và tất nhiên là có bán tại Hà Nội.
                        Chờ tin

                        Comment


                        • #13
                          Có nè AT89S53 hay AT89S8252.... Con S8252 có bán tại HN, S53 ko rõ lắm

                          Comment


                          • #14
                            Chuẩn SPI có dùng được cho 89C51????
                            mail: [/email] :->

                            Comment


                            • #15
                              Re

                              Muốn 89C51 dùng được SPI thì chỉ có cách viết bằng phần mềm thôi vì phần cứng ko hổ trợ.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              • bqviet
                                Trả lời cho Đấu tắt điện cho máy tính bảng
                                bởi bqviet
                                Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
                                06-12-2025, 17:17
                              • nguyendinhvan
                                Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
                                bởi nguyendinhvan
                                Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
                                05-12-2025, 19:59
                              • afrendly
                                Trả lời cho Đấu tắt điện cho máy tính bảng
                                bởi afrendly
                                Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
                                04-12-2025, 01:27
                              • nick22
                                Trả lời cho Máy điện châm ?
                                bởi nick22
                                Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
                                01-12-2025, 13:23
                              Đang tải...
                              X