các bác cho e hỏi là trong khi master và slave trong giao tiếp SPI trao đổi dữ liệu,khi master truyền dữ liệu cho slave thì có dữ liệu từ slave trả về,vậy dữ liệu đó là gì?????thanks các bác nhiều
Thông báo
Collapse
No announcement yet.
[SPI] giao tiếp SPI
Collapse
X
-
Còn tùy,nếu bạn không cho con slave truyền data thì khi nhận dc data từ master thì nó sẽ truyền lại master 0xff(nhớ là đồng thời) .Còn nếu bạn viết cho slave truyền data thì khi nhận dc data từ master thì đồng thời master cung nhận dc data mà slave truyền
-
Về bản chất, SPI là sự hoán đổi dữ liệu giữa 2 bên. Việc chuẩn bị dữ liệu của 2 bên được thực hiện từ trước khi thao tác trao đổi dữ liệu xảy ra. Dữ liệu Slave trả về là nội dung của thanh ghi dữ liệu của SPI tích hợp trên Slave.Nguyên văn bởi nguyentuantucác bác cho e hỏi là trong khi master và slave trong giao tiếp SPI trao đổi dữ liệu,khi master truyền dữ liệu cho slave thì có dữ liệu từ slave trả về,vậy dữ liệu đó là gì?????
Thao tác trao đổi dữ liệu được SPI tự động thực hiện, CPU không cần phải quan tâm đến việc ra vào từng bit. Cơ chế dịch bit ra và vào được SPI thực hiện một cách hoàn toàn chủ động, cho đến khi đủ frame (8-bit chẳng hạn) thì báo cho CPU bằng các cờ (flag) nằm trong các thanh ghi trạng thái. CPU lúc này sẽ làm việc với dữ liệu nhận được ở dạng byte. Chỉ cần lưu ý rằng, khi bạn phát đi 1 byte dữ liệu, luôn sẽ nhận về được 1 byte từ phía bên kia, còn byte nhận về bạn có quan tâm hay không lại là chuyện khác.Nguyên văn bởi nguyentuantuSao mình đọc trong một số diễn đàn nói là để đọc dữ liệu từ slave thì master phải ghi dữ liệu trên bus và đọc dữ liệu từ slave đồng thời với dữ liệu ra.cái này có liên quan không bạn?
Thân mến,
blackmoon.
Comment
-
anh cho e hỏi,trong quá trình master và slave trao đổi dữ liệu,thì nó dịch từng bit cho đến khi đủ frame.e hiểu thế này không biết có phải không???
--giả sử frame 8 bit,trước khi truyền dữ liệu thì 2 thanh ghi của slave và master đã đủ 8 bit.
---------bit đầu tiên được truyền và nhận thì dữ liệu trên 2 thanh ghi sẽ là 7 bit của dữ liệu cũ và 1 bit của dữ liệu mới,cứ như thế cho đến khi dữ liệu được thay thế hoàn toàn bằng dữ liệu mới.
----và sẽ có 1 bộ đếm để đếm đến 8 thì tích cực các cờ điều khiển,vì lúc nào trong thanh ghi cũng đủ 8 bit.
Mong a giúp đỡ!
Comment
-
Chuẩn không cần chỉnh. Em chỉ cần biết thêm một điều thế này: Thực chất, CPU làm việc với các thanh ghi dữ liệu (ghi/đọc byte), còn quá trình trao đổi dữ liệu qua SPI (dịch từng bit ra/vào) được thực hiện trên 1 thanh ghi khác tạm gọi là thanh ghi dịch. Thanh ghi dịch này được nối với thanh ghi dữ liệu, nội dung của chúng chỉ được đồng nhất với nhau ở các thời điểm trước và sau khi trao đổi dữ liệu. Điều đó có nghĩa là khi SPI dịch từng bit, nội dung của thanh ghi dữ liệu ko thay đổi, chỉ thay đổi nội dung của thanh ghi dịch, chỉ khi nào dịch xong 8-bit chẳng hạn thì sẽ đưa nội dung của thanh ghi dịch vào thanh ghi dữ liệu để CPU có thể đọc ra. Người ta vẫn nói là thanh ghi dịch có chức năng "đệm" (buffer) cho thanh ghi dữ liệu là vì thế. Điều này thường đúng cho cả các thanh ghi dữ liệu trong các ngoại vi giao tiếp nối tiếp khác như I2C, UART.Nguyên văn bởi nguyentuantuanh cho e hỏi,trong quá trình master và slave trao đổi dữ liệu,thì nó dịch từng bit cho đến khi đủ frame.e hiểu thế này không biết có phải không???
--giả sử frame 8 bit,trước khi truyền dữ liệu thì 2 thanh ghi của slave và master đã đủ 8 bit.
---------bit đầu tiên được truyền và nhận thì dữ liệu trên 2 thanh ghi sẽ là 7 bit của dữ liệu cũ và 1 bit của dữ liệu mới,cứ như thế cho đến khi dữ liệu được thay thế hoàn toàn bằng dữ liệu mới.
----và sẽ có 1 bộ đếm để đếm đến 8 thì tích cực các cờ điều khiển,vì lúc nào trong thanh ghi cũng đủ 8 bit.
Thân mến,
blackmoon.
Comment
-
hiện e đang làm một bộ giao tiếp tổng quát như thế này:
-----khối của e là giao tiếp SPI có các ngõ vào là parallel lấy dữ liệu từ vi điều khiển hay đại loại như thế,và ngõ ra giao tiếp serial SPI.Khối này làm cả nhiệm vụ slave và master.
-----e tính làm cả ngắt nữa.đang thiết kế sơ đồ khối tổng quát mà chưa đến đâu cả.
Các anh có ai có thể giúp không?tham khảo nhiều sơ đồ khối mà thấy vẫn mơ hồ quá.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho cách làm led Hao Quang.có pro nào biết k nhỉ ???bởi StatusHello! I'm from Kazakhstan. Can anyone share the HEX file with me? The download link in post 50 doesn't work.
-
Channel: Vi điều khiển họ 8051
Hôm qua, 00:05 -
-
bởi mylinhattChào anh em cơ khí,
Trong quá trình tư vấn đầu tư thiết bị cho xưởng, mình gặp rất nhiều câu hỏi kiểu: “Nên mua máy phay CNC cũ để tiết kiệm, chọn máy mới phổ thông cho yên tâm, hay cố gắng lên máy chất lượng cao để làm hàng khó?”. Thực tế, đây không phải câu hỏi chỉ về...-
Channel: Máy công cụ
17-12-2025, 13:38 -
-
Trả lời cho Vấn đề về tốc độ quaybởi nguyendinhvanSử dụng động cơ servor, hoặc lắp thêm một cái encoder vào động cơ bước. Encoder sẽ kiểm soát động cơ có quay hoặc đứng im.
-
Channel: Điện tử truyền hình
14-12-2025, 19:50 -
-
bởi Andrea14Chào mọi người,
Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...-
Channel: Điện tử truyền hình
12-12-2025, 12:42 -

Comment