1. Trang chủ
  2. » Giáo Dục - Đào Tạo

slide bài giảngckỹ thuật điều khiển ghép nối thiết bị ngoại vi chương 7

12 36 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 615,5 KB

Nội dung

GIAO TiẾP SPI GiỚI THIỆU Giao tiếp SPI thực thông qua BUS dây MISO, MOSI, SCK, SS nên đơi SPI gọi giao thức giao tiếp dây MISO: Master Input Slave Output MOSI: Master Output Slave Input SCK : Serial Clock SS : Slave Select Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com HOẠT ĐỘNG Cả Master Slave có ghi dịch nối tiếp bên Thiết bị Master bắt đầu việc trao đổi liệu cách truyền Byte vào ghi dịch nó, sau Byte liệu đưa sang Slave theo đường tín hiệu MOSI (SDI), Slave truyền liệu nằm ghi dịch ngược trở Master thơng qua đường tín hiệu MISO (SDO) Bằng cách này, liệu hai ghi trao đổi với Việc đọc ghi liệu vào Slave diễn lúc nên tốc độ trao đổi liệu diễn nhanh Do đó, giao thức SPI giao thức có hiệu Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com KẾT NỐI NHIỀU SLAVE MASTER VÀ SLAVE ĐỘC LẬP Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng KiỂU DAISY-CHAINED caonam@gmail.com CÁC CHẾ ĐỘ HOẠT ĐỘNG MODE 0: Xung dương, liệu chốt trước dịch MODE1: Xung dương, liệu dịch trước chốt Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com CÁC CHẾ ĐỘ HOẠT ĐỘNG MODE 2: Xung âm, liệu chốt trước dịch MODE 3: Xung âm, liệu dịch trước chốt Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Cơng nghệ Đà Nẵng caonam@gmail.com LẬP TRÌNH Mode 0: char SPI_Transfer (char SPI_byte) { unsigned char i; // counter for (i = 8; i> 0; i ) { MOSI = SPI_byte & 0x80; SPI_byte = SPI_byte > 8); // truyền MSB địa data= SPI_Transfer((Addr & 0x00FF)); // Truyền LSB địa data= SPI_Transfer(0x00);// Truyền liệu giả delay_us (1); // tối thiểu 250ns CS= 1; // hủy chọn nhớ delay_us (1); // tối thiểu 500ns (CS disable time) return data; } Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com GHI BYTE VÀO 25C04 void EE_Write (unsigned Addr, unsigned char value) { unsigned char data; CS= 0; delay_us (1); data= SPI_Transfer(EE_WREN); delay_us (1); CS= 1; delay_us (1); CS= 0; delay_us (1); data = SPI_Transfer(EE_WRITE); data = SPI_Transfer((Addr & 0xFF00) >> 8); data = SPI_Transfer((Addr & 0x00FF)); data = SPI_Transfer(value); Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com GHI BYTE VÀO 25C04 delay_us (1); //(CS hold time) CS= 1; { delay_us (1); CS= 0; // select EEPROM to begin polling delay_us (1); data= SPI_Transfer(EE_RDSR); data= SPI_Transfer(0x00); delay_us (1); CS= 1; // de-select EEPROM } while (data& 0x01); delay_us (1); } Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com ... đẳng Công nghệ Đà Nẵng caonam@gmail.com HOẠT ĐỘNG Cả Master Slave có ghi dịch nối tiếp bên Thiết bị Master bắt đầu vi c trao đổi liệu cách truyền Byte vào ghi dịch nó, sau Byte liệu đưa sang Slave... dịch ngược trở Master thơng qua đường tín hiệu MISO (SDO) Bằng cách này, liệu hai ghi trao đổi với Vi c đọc ghi liệu vào Slave diễn lúc nên tốc độ trao đổi liệu diễn nhanh Do đó, giao thức SPI giao... có hiệu Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com KẾT NỐI NHIỀU SLAVE MASTER VÀ SLAVE ĐỘC LẬP Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ

Ngày đăng: 23/05/2020, 11:56

TỪ KHÓA LIÊN QUAN