Để sử dụng NVIC cần phải qua ba bước cấu hình. Đầu tiên là cấu hình bảng vector ngắt mà bạn muốn dùng. Tiếp theo là các thanh ghi NVIC để thiết lập các mức ưu tiên ngắt trong NVIC và cuối cùng là phải thiết lập các thiết bị ngoại vi và cho phép ngắt tương ứng.
Bảng vector ngắt
Bảng vector ngắt của Cortex bắt đầu ở dưới cùng của bảng địa chỉ. Tuy nhiên bảng vector bắt đầu tại địa chỉ 0x000000004 thay vì 0x00000000 như ARM7 và ARM9. Bốn byte đầu tiên được sử dụng để lưu trữ địa chỉ bắt đầu của con trỏ ngăn
Mỗi vector ngắt có độ rộng là bốn byte và giữ địa chỉ bắt đầu của trình phục vụ ngắt tương ứng.
Cấu hình ngắt cho thiết bị ngoại vi
Mỗi thiết bị ngoại vi được điều khiển bởi các khối thanh ghi IRQ. Mỗi ngoại vi có một bit cho phép ngắt. Những bít nằm hai bên thanh ghi cho phép ngắt có chiều dài 32-bít. Bên cạnh đó cũng có các thanh ghi tương ứng để cấm bất kỳ một nguồn ngắt. Ngoài ra NVIC cũng bao gồm các thanh ghi báo chờ và kích hoạt cho phép xác định tình trạng hiện tại của nguồn ngắt.
Hình 3-4: Cấu hình ngắt cho thiết bị ngoại vi
Chương IV. Giao diện nối tiếp đồng bộ (SSI)
Các giao diện nối tiếp đồng bộ (SSI) Stellaris là một giao diện truyền thông nối tiếp master hay slave với các thiết bị ngoại vi giao diện đồng bộ nối tiếp Freescale SPI, MICROWIRE, hoặc Texas.
Các module SSI Stellaris có các tính năng sau đây: ■ Hoạt động như master hoặc slave
■ Lập trình tốc độ bit và prescale
■ Truyền và nhận FIFOs riêng biệt, 16 bit rộng, 8 vị trí sâu
■ Lập trình hoạt động với giao diện nối tiếp đồng bộ của Freescale SPI, MICROWIRE, hay Texas Instruments.
■ Lập trình khung dữ liệu kích thước 4-16 bit
■ Chế độ kiểm tra ngược bên trong để chẩn đoán / gỡ rối
4.1 Sơ đồ khối
Hình 4-1. Sơ đồ khối Module SSI