Professional Documents
Culture Documents
STM 32
STM 32
Điện áp cấp 5VDC qua cổng Micro USB sẽ được chuyển đổi thành 3.3VDC qua IC nguồn và
cấp cho Vi điều khiển chính.
Tích hợp sẵn thạch anh 8Mhz.
Tích hợp sẵn thạnh anh 32Khz cho các ứng dụng RTC.
Ra chân đầy đủ tất cả các GPIO và giao tiếp: CAN, I2C, SPI, UART, USB,...
Tích hợp Led trạng thái nguồn, Led PC13, Nút Reset.
Kích thước: 53.34 x 15.24mm.
Tín hiệu đồng hồ phải được cung cấp bởi Master tới Slave (hoặc tất cả các Slave trong
trường hợp thiết lập nhiều Slave). Có hai loại cơ chế kích hoạt trên tín hiệu đồng hồ được sử
dụng để báo cho bên nhận biết về dữ liệu: Kích hoạt cạnh và kích hoạt mức.
Kích hoạt thường được sử dụng nhất là kích hoạt cạnh và có hai loại: cạnh lên (chuyển
đổi từ thấp lên cao trên đồng hồ) và cạnh xuống (chuyển đổi từ cao xuống thấp). Tùy thuộc vào
cách bộ thu được cấu hình, lên trên phát hiện các cạnh, bộ thu sẽ tìm kiếm dữ liệu trên bus dữ
liệu từ bit tiếp theo.
Bởi vì cả tín hiệu đồng hồ và dữ liệu được gửi bởi Master (hoặc bộ phát), chúng ta không
cần phải lo lắng về tốc độ truyền dữ liệu.
Điều làm cho SPI trở nên phổ biến trong các giao thức truyền thông đồng bộ nối tiếp
khác (hoặc bất kỳ giao tiếp nối tiếp nào) là nó cung cấp tốc độ truyền dữ liệu bảo mật cao với
phần cứng khá đơn giản giống như thanh ghi dịch với chi phí tương đối thấp.
2. Cách thức hoạt động
Trong giao thức SPI, các thiết bị được kết nối trong một mối quan hệ Master – Slave
trong một giao diện đa điểm. Trong loại giao diện này, một thiết bị được coi là Master của bus
(thường là một vi điều khiển) và tất cả các thiết bị khác (IC ngoại vi hoặc thậm chí các vi điều
khiển khác) đều được coi là Slave.
Trong giao thức SPI, có thể chỉ có một thiết bị Master nhưng nhiều thiết bị Slave. Bus
SPI bao gồm 4 tín hiệu hoặc chân. Chúng là:
Master – Out / Slave – In (MOSI hay SI): cổng ra của bên Master, cổng vào của bên
Slave, dành cho việc truyền dữ liệu từ thiết bị Master đến thiết bị Slave .
Master – In / Slave – Out (MISO hay SO): cổng vào của bên Master, cổng ra của bên
Slave, dành cho việc truyền dữ liệu từ thiết Slave đến thiết bị Master.
Serial Clock (SCK hay SCLK): xung giữ nhịp cho giao tiếp SPI
Chip Select (CS) hay Slave Select (SS): chọn chip
Master – Out / Slave – In hay MOSI, như tên cho thấy, là dữ liệu được tạo ra bởi
Master và nhận bởi Slave. Do đó, các chân MOSI trên cả Master và Slave được kết nối
với nhau.
Master – In / Slave – Out hay MISO là dữ liệu được tạo ra bởi Slave và phải được
truyền tới Master.Các chân MISO trên cả Master và Slave được kết nối với nhau. Mặc dù
tín hiệu trong MISO được tạo ra bởi Slave, đường tín hiệu này được điều khiển bởi
Master.
Master tạo tín hiệu đồng hồ SCLK và được cung cấp cho đầu vào đồng hồ của
Slave. Xung này có chức năng giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ
nên cần 1 đường giữ nhịp, mỗi nhịp trên chân SCK báo 1 bit dữ liệu đến hoặc đi. Sự tồn
tại của xung SCK giúp quá trình tuyền ít bị lỗi và vì thế tốc độ truyền của SPI có thể đạt
rất cao.
Chip Select (CS) hoặc Slave Select (SS) được sử dụng để chọn một Slave cụ thể
bởi Master. Nếu Master kéo đường SS của một Slave nào đó xuống mức thấp thì việc
giao tiếp sẽ xảy ra giữa Master và Slave đó.
Vì đồng hồ được tạo ra bởi Master, luồng dữ liệu được điều khiển bởi Master. Với
mỗi chu kỳ đồng hồ, một bit dữ liệu được truyền từ Master đến Slave và một bit dữ liệu
được truyền từ Slave đến Master.
Quá trình này xảy ra đồng thời và sau 8 chu kỳ đồng hồ, một byte dữ liệu được
truyền theo cả hai hướng và do đó, SPI là một giao tiếp song công toàn phần (full –
duplex).
Nếu dữ liệu phải được truyền bởi chỉ một thiết bị, thì thiết bị kia phải gửi một cái
gì đó (dữ liệu giả) và nó phụ thuộc vào thiết bị cho dù dữ liệu được truyền là dữ liệu thực
tế hay không.
Điều này có nghĩa là đối với mỗi bit được truyền bởi một thiết bị, thiết bị kia phải
gửi dữ liệu một bit, tức là Master truyền dữ liệu đồng thời trên MOSI và nhận dữ liệu từ
Slave trên đường MISO.
Nếu Slave muốn truyền dữ liệu, Master phải tạo ra tín hiệu đồng hồ cho phù hợp
bằng cách biết khi nào Slave muốn gửi dữ liệu trước. Nếu một Master được kết nối với
nhiều Slave thì sơ đồ kết nối như hình ảnh sau đây:
Mặc dù nhiều Slave được kết nối với Master trong bus SPI, ở một thời điểm bất
kỳ thì chỉ có một Slave hoạt động. Để chọn Slave, Master sẽ kéo đường SS (Slave Select)
hoặc CS (Chip Select) của Slave tương ứng xuống mức thấp.
Do đó, phải có một chân CS riêng trên Master tương ứng với từng thiết bị Slave.
Chúng ta cần phải kéo xuống đường SS hoặc CS xuống thấp để chọn Slave bởi vì đường
này tích cực mức thấp.
3. Chế độ hoạt động
Master và Slave phải đồng ý về các giao thức đồng bộ hóa nhất định. Đối với điều này,
hai đặc điểm của xung đồng hồ là cực tính đồng hồ (Clock Polarity – CPOL hoặc CKP) và pha
đồng hồ (Clock Phase – CPHA) được đưa vào để xem xét.
Clock Polarity (CPOL hoặc CKP) xác định trạng thái của đồng hồ. Khi CPOL ở mức
thấp, xung đồng hồ được tạo bởi Master tức là SCK sẽ ở mức thấp khi nhàn rỗi (idle) và chuyển
sang mức cao trong trạng thái hoạt động (trong khi truyền dữ liệu). Tương tự, khi CPOL ở mức
cao, SCK ở mức cao khi nhàn rỗi và chuyển sang mức thấp trong trạng thái hoạt động.
Phase Clock (CPHA) xác định quá trình chuyển đổi trạng thái của xung đồng hồ tức là
lên (thấp lên cao) hoặc xuống (cao xuống thấp), tại đó dữ liệu được truyền đi. Khi CPHA bằng 0,
dữ liệu được truyền ở cạnh lên của xung đồng hồ. Dữ liệu được truyền ở cạnh xuống khi CPHA
là 1.
Tùy thuộc vào các giá trị của Clock Polarity (CPOL) và Clock Phase (CPHA), có 4 chế
độ hoạt động của SPI:
Mode 0 xảy ra khi Clock Polarity và Clock Phase là 0 (CPOL = 0 và CPHA = 0). Trong Mode 0,
truyền dữ liệu xảy ra trong khi cạnh lên của xung đồng hồ.
Mode 1 xảy ra khi Clock Polarity là 0 và Clock Phase là 1 (CPOL = 0 và CPHA = 1). Trong
mode 1, việc truyền dữ liệu xảy ra trong khi cạnh xuống của xung đồng hồ.
Mode 2 xảy ra khi Clock Polarity là 1 và Clock Phase là 0 (CPOL = 1 và CPHA = 0). Trong
mode 2, truyền dữ liệu xảy ra trong khi cạnh lên của xung đồng hồ.
Mode 3 xảy ra khi Clock Polarity là 1 và Clock Phase là 1 (CPOL = 1 và CPHA = 1). Trong
mode 3, truyền dữ liệu xảy ra trong khi cạnh lên của xung đồng hồ.
III. IC MAX7219
1.Giới thiệu
Dùng để điều khiển 8 ký tự của led 7 thanh, or điều khiển led matrix 8×8 ….
IC MAX7219 được hãng MAXIM thiết kế và sản xuất, thuận tiện sử dụng để điều khiển
LED ma trận và LED 7 thanh (1 chip có thể điều khiển LED ma trận 8×8 hoặc LED 7 thanh
8 chữ số) và chỉ cần 1 điện trở để hạn dòng cho tất cả các led (so với các IC khác hầu như
phải có 1 điện trở cho mỗi led). Trên mỗi chip đã được tích hợp bộ giải mã BCD, mạch quét
dồn kênh, thanh ghi dịch, …
Sử dụng MAX7219 hoạt động giống như một thanh ghi dịch khi bạn cần nhập dữ liệu
vào nối tiếp theo từng bit. Tổng cộng có 16 bit được nhập vào tại một thời điểm. MAX7219
chỉ cần 3 chân từ Vi điều khiển để kết nối với các chân DIN, LOAD và CLK của IC.
2. Các tính năng chính
Tốc độ giao tiếp đạt tới 10MHz
Điều khiển phân đoạn led;
Có thể giải mã hoặc không giải mã ký tự được chọn;
150uA Ở chế độ ngủ (Dữ liệu gửi lại);
Có thể điều khiển độ sáng tự động hoặc thủ công;
Điều khiển màn hình cathode chung;
3. Sơ đồ ghép nối với vi điều khiển:
Lưu đồ thuật toán để hiện thị giá trị từ -999 đến 9999