SPI: TI hay chế độ Motorola?


8

Tôi đang lập trình một kim loại trần Cortex M3 để nói chuyện với SPI Flash. Một trong các bit cấu hình của thanh ghi điều khiển SPI là FRF(Định dạng khung). Nó có thể được đặt thành chế độ SPI Motorola (0) hoặc chế độ SPI TI (1). (Xem hướng dẫn tham khảo ARM trang 695 tại đây .)

Bảng dữ liệu của SPI Flash (có sẵn tại đây ) không đưa ra dấu hiệu nào về chế độ tôi nên sử dụng.

Hai chế độ khác nhau là gì và tôi nên sử dụng loại chip Flash cụ thể nào tôi đang sử dụng?

Câu trả lời:


1

Chế độ Motorola và TI đề cập đến các cấu hình khác nhau về phân cực đồng hồ (CPOL) và pha đồng hồ (CPHA). Phân cực đồng hồ cho biết tín hiệu cao hay thấp đánh dấu đồng hồ, pha cho thiết bị biết khi nào cần lấy mẫu đường dữ liệu.

Theo biểu dữ liệu ARM của bạn, bạn có thể đặt CPOL và CPHA cho bộ điều khiển SPI của mình.

Chip flash của bạn (Xem chương 3) hỗ trợ {CPOL = 0, CPHA = 0} hoặc {CPOL = 1, CPHA = 1}.

Để biết thêm thông tin, http://en.wikipedia.org/wiki/Serial_Perodesal_Interface_Bus#Clock_polarity_and_phase


Aha, cảm ơn! Vậy đó là cái nào? Là {CPOL=0, CPHA=0}Motorola hoặc TI?
Randomblue

Tôi không thể nhớ, hoặc tìm một nguồn có thẩm quyền.
Toby Jaffey

1
Mỗi lần tôi xác định rằng @Randomblue có phạm vi, tôi thấy việc đo lường dễ dàng hơn nhiều so với tìm kiếm.
Kortuk

1
@Kortuk: Theo "phạm vi" bạn có nghĩa là "máy hiện sóng", phải không? Nghe có vẻ khá thú vị, nhưng tôi chưa bao giờ làm điều đó trước đây. Bạn có thể chỉ ra một hướng dẫn của một số loại giải thích làm thế nào để làm điều này?
Randomblue

7
Xin lỗi, nhưng câu trả lời đó là sai. Chế độ TI không liên quan đến cực. Để biết thông tin chi tiết hơn hãy vào đây: infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0194g/...

4

Nhìn lướt qua bảng dữ liệu ARM sẽ gợi ý rằng sự khác biệt chính giữa chế độ TI và chế độ Motorola phải thực hiện với việc xử lý tín hiệu đầu ra có tên SSPFSSOUT mà nhiều thiết bị không cần. Tín hiệu này được cho là xung cao giữa các byte để chỉ ra bit nào của mỗi byte nên được coi là đầu tiên. Trong chế độ TI, nó tăng cao trong quá trình truyền bit cuối cùng của byte, trong khi ở chế độ Motorola, nó ở mức cao và sau đó thấp giữa các byte. Chip flash muốn tín hiệu chọn chip được giữ ở mức thấp trong toàn bộ thời gian của giao dịch, do đó, một đầu ra ở mức cao giữa các byte sẽ không hữu ích cho nó.

Tôi hy vọng rằng ngay cả khi SSPFSSOUT không được sử dụng, chế độ Motorola sẽ giúp dữ liệu dễ đọc hơn trên một phạm vi (vì sẽ có một khoảng dừng sau mỗi byte) nhưng chế độ TI có thể nhanh hơn (vì nó sẽ không lãng phí thời gian tạm dừng giữa các byte). Tuy nhiên, điều quan trọng là đảm bảo rằng chuỗi tín hiệu mà bộ điều khiển tạo ra đáp ứng các yêu cầu được đưa ra trong bảng dữ liệu của thiết bị ngoại vi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.