2015-06-07 36 views
5

Tôi đang kết nối cầu nối SC16IS750 spi-2-uart với Raspberry Pi 2 để tăng số lượng cổng uart. Sản phẩm là một bảng đột phá được thực hiện bởi Sparkfun (https://www.sparkfun.com/products/9981), sử dụng chip SC16IS750 (http://www.nxp.com/documents/data_sheet/SC16IS740_750_760.pdf). Tôi sử dụng thư viện BCM2835 của Mike McCauley để truy cập SPI.Sparkfun SC16IS750 không hoạt động trên Raspberry Pi

Vấn đề là, bất kỳ đăng ký nào tôi cố gắng đọc, tôi luôn nhận được 0xff. Ví dụ:

uint8_t tx[2]; 
tx[0] = 0x07 << 3 | 0x80; // SPR register 
tx[1] = 0x00; 
uint8_t rx[2] = {0x00, 0x00}; 

// perform duplex write operation 
bcm2835_spi_transfernb(tx, rx, 2); 

rx [0] và rx [1] trả về 0xff. Nó không quan trọng mà đăng ký tôi cố gắng đọc, kết quả là như nhau.

Bảng đột phá đã đặt nền tảng cho pin đặt lại. Tôi kết nối pin CS với SSEL1, CLK tới GPIO11, SI tới GPIO10, SO tới GPIO9 và SPI/I2C để nối đất. Tôi đã thử với một con chip khác, cùng một phản ứng. SPI hoạt động tốt vì tôi cũng sử dụng nó thành công với một thiết bị ngoại vi khác.

Bất kỳ ý tưởng nào về những gì tôi nên thử tiếp theo?

Trả lời

0

Tắt vấn đề là bộ chia đồng hồ. Đặt bộ chia đồng hồ SPI thành 256 và cao hơn

bcm2835_spi_setClockDivider(BCM2835_SPI_CLOCK_DIVIDER_256) 

giải quyết sự cố.

Các vấn đề liên quan