Ảng 2.12 Thiếtlập bộđị nh thờiWatchdog

Một phần của tài liệu đề tài thiết bị thực tập lập trình vi điều khiển AVR (Trang 50)

IV. NGÀY HỒN THÀNH NHI ỆM VỤ:

Bảng 2.12 Thiếtlập bộđị nh thờiWatchdog

Hình 2.28 Sơđồ bộ định thời Watchdog

2.6. Truy xuất ghi/đọc EEPROM

Thời gian truy cập viết lên bộ nhớ EEPROM nằm trong khoảng 2.5 – 4 ms, phụ thuộc vàođiện áp nguồn nuơi. Để viết dữ liệu lên EEPROM người dùng được khuyên là nên kiểm tra xem EEPROM đã sẵn sàng để nhận giá trị mới chưa. Khi CPU được đọc, CPUđược tạm dừng 4 chu kỳ trước khi câu lệnh kế tiếp được thi hành. Khi EEPROM

được viết, CPU được tạm nghỉ 2 chu kỳ trước khi câu lệnh tiếp theo được thi hành.

2.6.1. Thanh ghi địa chỉ EEPROM – EEARH và EEARL (EEPROM Adress Register)

Thanh ghi địa chỉ EEPROM (EEAR) định địa chỉ trong khoảng 512-byte EEPROM. Giá trị của thanh ghi địa chỉ EEAR nằm tuyến tính trong khoảng từ 0 đến 511.

2.6.2. Thanh ghi dữ liệu EEPROM – EEDR (EEPROM Data Register)

Thanh ghi này sẽ chứa dữ liệu khi EEPROM được đọc/viết. Khi vận hành viết, thanh ghi EEDR chứa dữ liệu được viết đến EEPROM tại địa chỉ chứa trong thanh ghi

Hình 2.31 Cấu trúc thanh ghi dữ liệu EEPROM - EEDR Hình 2.30 Cấu trúc thanh ghi địa chỉ EEPROM

EEAR. Khi vận hànhđọc, thanh ghi EEDR chứa dữ liệu đọc ra từ EEPROM tại địa chỉ chứa trong thanh ghi EEAR.

2.6.3. Thanh ghiđiều khiển EEPROM – EECR (EEPROM Control Register)

Bit 7..4 – Res (Reserved Bits)

Đây là những bit dữ trữ trong AT90S8515 và giá trị đọc luơn bằng 0. Bit 3 – EERIE (EEPROM Ready Interrupt Enable)

Khi bit I trong thanh ghi SREGđược thiết lập lên 1 và EERIE được thiết lập lên 1, ngắt do EEPROM sẵn sàng được cho phép. Khi bit này bằng 0 thì ngắt này bị cấm. Ngắt do EEPROM sẵn sàng phát ra một hằng số ngắt khi EEWE bị xố về 0.

Bit 2 – EEMWE (EEPROM Master Write Enable)

Bít này quyđịnh sự thiết lập bít EEWE =1 cĩ là nguyên nhân để EEPROM được viết hay khơng. Khi bit EEMWE được thiết lập lên 1, nếu EEWE được thiết lập lên 1 thì dữ liệu sẽ được ghi vào EEPROM tại địa chỉ đã chọn. Nếu bit EEWE khơng được thiết lập lên 1(hay bị xố = 0) thì mặc dù EEWE được thiết lập lên 1 thì sự thiết lập này vẫn khơng cĩ một ảnh hưởng nào hết. Bit EEMWE phải được thiết lập lên 1 bằng phần mềm, phần cứng sẽ tự động xố bit này về 0 sau 4 chu kỳ xung clock.

Bit 1 – EEWE: EEPROM Write Enable

Khi dữ liệu đãđược nạp, vàđịa chỉ được thiết lập đúng, bit EEWE phải được thiết lập lên 1 để viếtEEPROM. Phải chắc chắn rằng bit EEMWE phải được thiết lập lên 1, trước khi viết giá trị đến EEWE. Các bước sau cần được quan tâm khi thực hiện viết dữ liệu đến EEPROM.

1. Đợi cho đến khi EEWE về 0.

2. Viết địa chỉ EEPROM mới đến EEARL và EEARH (tuỳ chọn). 3. Viếtdữ liệu EEPROM mới đến EEDR (tuỳ chọn).

4. Viết mức logic 1 đến bit EEMWE trong thanh ghi EECR.

5. Vào 4 chu kỳ xung clock sau khi thiết lập EEMWE, viết mức logic 1 đến EEWE.

Một ngắt xảy ra giữa bước 4 và bước 5 sẽ làm cho chu kỳ viết bị lỗi. Để tránh

điều này bit ngắt toàn cục I phải bị xố trong khoảng thời ghi dữ liệu vào EEPROM. Bit 0 – EERE: EEPROM Read Enable

Khiđịa chỉ đúng được thiết lập trong thanh ghi EEAR, bit EERE phải được thiết lập lên 1để yêu cầu đọc dữ liệu từ EEPROM. Khi bit nàyđược xố bởi phần cứng, dữ liệu yêu cầu được tìm thấy trong thanh ghi EEDR. Sự truy cập đọc EEPROM chỉ lấy mất một lệnh và khơng cần phải “hỏi vịng” (polling) bit EERE. Khi bit EERE đã được thiết lập lên 1, CPU tạm dừng 4 chu kỳ trước khi thi hành lệnh kế tiếp.

Người dùng được khuyên là nên hỏi vịng bit EEWE trước khi bắt đầu sự vận hành

đọc. Nếu quá trình viết đang được xử lý (khi dữ liệu mới hoặc địa chỉ mới được viết

đến các thanh ghi I/O EEPROM, sự vận hành viết sẽ bị ngắt và kết quả thì khơng thể xácđịnh trước.

2.7. Giao tiếp thiết bị ngoại vi– SPI

SPI (Serial peripheral interface) cho phép truyền dữ liệu đồng thời tốc độ cao giữa AT90S8515 với thiết vị ngoại vi hoặc với các AVR khác

Sơđồ khốiSPI : (adsbygoogle = window.adsbygoogle || []).push({});

2.7.1. Thanh ghiđiều khiển SPI – SPCR (SPI control register)

Bit 7: (cho phép ngắt SPI) bit nàylàm cho một ngắt SPI phải được tạo ra nếu bit SPIF trong thanh ghi SPSRđược đặt và các ngắt toàn cục được cho phép.

Hình 2.33 Sơđồ khối SPI của vi điều khiển AT90S8515

Bit 6: (cho phép SPI) khi bit nàyđược đặt thành 1 thì SPI được cho phép.

Bit 5 : (đặt thứ tự dữ liệu) khi đặt thành 1, LSB của từ dữ liệu được truyền trước tiên. Khi bị xĩa thành 0, MSB của từ dữ liệu được truyền trước tiên.

Bit 4 : (Master/Slave select) khiđặt thành 1, cổng SPI trong chế độ chủ (master mode) và khi xĩa thành 0, nĩ là một cổng slave. Nếu nhưchân SSđược cấu hình là lối vào và

được đặt xuống mức thấp (Low) this bit MSTR sẽ bị xĩa thành 0 và SPIF tong SPSR sẽ được đặt. Người dùng sẽ phải đặt MSTR thành 1 một lẫn nữa để bắt đầu (khởi

động) nhưlà master.

Bit 3 : (clock polarity) khi đặt thành 1 thì SCK là cao khi nghỉ (idle: khơng cĩ cơng việc xử lý) cịn khi bị xĩa thành 0 thì SCK là thấp khi khơng cĩ cơng việc cần xử lý. Bit 2 : (clock phase) quyđịnh pha kích hoạt của xung nhịp.

Bit 1,0 : hai bit này quyđịnh tốc độ đồng hồ SCK khi được đặt cấu hình nhưlà master. Sự liên qua giữa SCK và tần số dao động fclđược cho bởi bảng sau :

Bảng 2.13 Thiết lập tần số dao động SCKSPR1 SPR0 SCK Frequency

Một phần của tài liệu đề tài thiết bị thực tập lập trình vi điều khiển AVR (Trang 50)