Tĩm tắt phần cứng AT

Một phần của tài liệu Thiết kế chế tạo mô hình và điểu khiển máy khuấy trộn (Trang 80 - 84)

8 THIẾT KẾ HỆ

8.2.1Tĩm tắt phần cứng AT

Chip AT 8951 cũng tương thích với tập lệnh và các chân ra của chuẩn cơng nghiệp MCS-51. Flash trên chip này cho phép bộ nhớ chương trình được lập trình lại trên hệ thống hoặc bằng bộ lập trình bộ nhớ khơng mất nội dung quy ước. Bằng cách kết hợp một CPU linh hoạt 8-bit với Flash trên một chip đơn thể, Atmel 89C51 là một hệ vi tính 8-bit đơn chip mạnh cho ta một giải pháp cĩ hiệu quả và rất linh hoạt đối với các ứng dụng điều khiển.

AT8951 cĩ các đặc trưng chuẩn sau:

•4K byte ROM Flash.

•128 byte RAM.

•32 đường xuất nhập.

•Hai bộ định thời/đếm 16-bit.

•Một cấu trúc ngắt hai mức ưu tiên và 5 nguyên nhân ngắt.

•Một port nối tiếp song cơng.

•Mạch dao động và tạo xung clock trên chip.

Ngồi ra AT8951 được thiết kế với logic tĩnh cho hoạt động cĩ tần số giảm xuống 0 và hỗ trợ hai chế độ tiết kiệm năng lượng được lựa chọn bằng phần mềm. Chế độ nghỉ dừng CPU trong khi vẫn cho phép RAM, các bộ định thời/đếm, port nối tiếp và hệ thống ngắt tiếp tục hoạt động. Chế độ nguồn giảm duy trì nội dung của RAM nhưng khơng cho mạch dao động cung cấp xung clock nhằm vơ hiệu hĩa các hoạt động khác của chip cho đến khi cĩ reset cứng tiếp theo.

8.2.1.1 Cấu hình chân ra:

Vcc chân cung cấp nguồn.

GND chân nối đất (0V).

Port 0

được ghi vào các chân của port 0, các chân này cĩ thể được sử dụng làm các ngõ vào cĩ tổng trở cao.

Port 0 cịn được cấu hình làm bus địa chỉ (byte thấp) và bus dữ liệu đa hợp trong khi truy xuất bộ nhớ dữ liệu ngồi và bộ nhớ chương trình ngồi. Trong chế độ đa hợp này, port 0 cĩ các điện trở kéo lên bên trong.

Port 0 cũng nhận các byte mã trong khi lập trình cho Flash và xuất các byte mã trong khi kiểm tra chương trình. Các điện trở kéo lên bên ngồi được cần đến trong khi kiểm tra chương trình.

Port 1

Port1 là port xuất nhập 8-bit hai chiều cĩ các điện trở kéo lên bên trong. Các bộ đệm xuất của port 1 cĩ thể hút và cấp dịng với 4 ngõ vào TTL. Khi các logic 1 được ghi lên các chân của port1, các chân này được kéo lên mức cao bởi các điện trở kéo lên bên trong và cĩ thể được sử dụng như các ngõ vào. Khi làm nhiệm vụ của port nhập, các chân của port 1 đang được kéo xuống mức thấp do tác động bên ngồi sẽ cấp dịng do cĩ các điện trở kéo lên bên trong.

Port1 cũng nhận byte địa chỉ thấp trong thời gian lập trình cho Flash và kiểm tra chương trình.

Port 2

Port 2 của port xuất nhập 8-bit hai chiều cĩ các điện trở kéo lên bên trong. Các bộ đệm xuất của port 2 cĩ thể hút và cấp dịng cho với 4 ngõ vào TTL. Khi các logic 1 được ghi lên các chân port 2, các chân này được kéo lên mức cao bởi các điện trở kéo lên bên trong và cĩ thể được sử dụng như các ngõ vào. Khi làm nhiệm vụ của port nhập, các chân của port 2 đang được kéo xuống mức thấp do tác động bên ngồi sẽ cấp dịng do cĩ các điện trở kéo lên bên trong.

Port 2 tạo ra các byte cao của bus địa chỉ trong thời gian tìm nạp lệnh từ bộ nhớ chương trình ngồi và trong thời gian truy xuất bộ nhớ dữ liệu ngồi sử dụng các địa chỉ 16-bit (MOVX @DPTR). Trong ứng dụng này, port 2 sử dụng các điện trở kéo lên bên trong khi phát các bit 1. Trong thời gian truy xuất bộ nhớ dữ liệu ngồi sử dụng các địa chỉ 8-bit (MOVX @Ri), port 2 phát các nội dung của thanh ghi chức năng đặc biệt P2.

Port 2 cũng nhận các bit địa chỉ cao và vài tín hiệu điều khiển trong thời gian lập trình cho Flash và kiểm tra chương trình.

Port 3

Port 3 là port xuất nhập 8-bit hai chiều cĩ các điện trở kéo lên bên trong. Các bộ đệm xuất của port 3 cĩ thể hút và cấp dịng với 4 ngõ vào TTL. Khi các logic 1 được ghi lên các chân port 3, các chân này được kéo lên mức cao bởi các điện trở kéo lên bên trong và cĩ thể được sử dụng như các ngõ vào. Khi làm nhiệm vụ của port nhập, các của port 3 đang được kéo xuống mức thấp do tác động bên ngồi sẽ cấp dịng do cĩ các điện trở kéo lên bên trong.

Port 3 cịn được sử dụng làm các chức năng khác của AT8951 các chức năng này được liệt kê như sau:

Chân của port Chức năng

P3.0 RxD (ngõ vào của port nối tiếp).

P3.1 TxD (ngõ ra của port nối tiếp).

P3.2 INT0 (ngõ vào ngắt ngồi 0). (adsbygoogle = window.adsbygoogle || []).push({});

P3.3 INT1 (ngõ vào ngắt ngồi 1).

P3.4 T0 (ngõ vào bên ngồi của bộ định thời 0).

P3.5 T1 (ngõ vào bên ngồi của bộ định thời 1).

P3.6 WR (điều khiển ghi bộ nhớ dữ liệu ngồi).

P3.7 RD (điều khiển đọc bộ nhớ dữ liệu ngồi).

Port 3 cũng nhận một vài tín hiệu điều khiển cho việc lập trình Flash và kiểm tra chương trình.

RST

Ngõ vào reset. Mức cao trên chân này trong hai chu kỳ máy trong khi bộ dao động đang hoạt động sẽ reset AT8951.

ALE/PROG

Xung của ngõ ra cho phép chốt địa chỉ ALE (address latch enable) cho phép chốt byte thấp của địa chỉ trong thời gian truy xuất bộ nhớ ngồi. Chân

này cũng được dùng làm ngõ vào xung lập trình (PROG) trong thời gian lập

trình cho Flash.

Khi hoạt động bình thường, xung của ALE luơn cĩ tần số bằng 1/6 tần số của mạch dao động trên chip, cĩ thể được sử dụng cho các mục đích định thời từ bên ngồi và tạo xung clock. Tuy nhiên cần lưu ý là một xung ALE sẽ bị bỏ qua trong mỗi một chu kỳ truy xuất bộ nhớ dữ liệu ngồi.

Khi cần, hoạt động cho phép chốt byte thấp của địa chỉ sẽ được vơ hiệu hĩa bằng cách set bit 0 của thanh ghi chức năng đặc biệt cĩ địa chỉ byte là 8EH. Khi bit này được set, ALE chỉ tích cực trong thời gian thực thi lệnh MOVX hoặc MOVC. Ngược lại chân này sẽ được kéo lên mức cao. Việc set bit khơng cho phép hoạt động chốt byte thấp của địa chỉ sẽ khơng cĩ tác dụng nếu bộ vi điều khiển đang ở chế độ thực thi chương trình ngồi.

PSEN

Chân cho phép bộ nhớ chương trình PSEN (program store enable) điều

khiển truy xuất bộ nhớ chương trình ngồi. Khi AT8951 đang thực thi chương

trình trong bộ nhớ chương trình ngồi, PSEN tích cực hai lần cho mỗi chu kỳ

máy, ngoại trừ trường hợp tác động của PSEN bị bỏ qua cho mỗi lần truy xuất

bộ nhớ dữ liệu ngồi.

EA/Vpp

Chân cho phép truy xuất bộ nhớ ngồi EA (external access enable) phải

được nối với GND để cho phép chip vi điều khiển tìm nạp lệnh từ các vị trí nhớ của bộ nhớ chương trình ngồi, bắt đầu từ địa chỉ 0000H cho đến FFFFH.

Tuy nhiên cần lưu ý là nếu bit khĩa 1 (lock bit 1) được lập trình, EAsẽ được

chốt bên trong khi reset.

EA nên nối với Vcc để thực thi chương trình bên trong chip

Chân EA/Vpp cịn nhận điện áp cho phép lập trình Vpp trong thời gian lập

trình cho Flash, điện áp này cấp cho các bộ phân cĩ yêu cầu điện áp 12V.

XTAL1

Ngõ vào đến mạch khuếch đại đảo của mạch dao động và ngõ vào đến mạch tạo xung clock bên trong chip. (adsbygoogle = window.adsbygoogle || []).push({});

XTAL2

Ngõ ra từ mạch khuếch đại đảo của mạch dao động.

8.2.1.2 Các đặc trưng của mạch dao động:

XTAL1 và XTAL2 là ngõ vào và ngõ ra của mạch khuyếch đại đảo được cấu hình để sử dụng làm mạch dao động bên trong chip, như được trình bày ở hình 8.4. Hoặc một tinh thể thạch anh hoặc một mạch cộng hưởng gốm được sử dụng bên ngồi tại các chân này. Để kích chip vi điều khiển từ một nguồn xung clock bên ngồi, XTAL2 được thả nổi (khơng kết nối) trong khi XTAL1 nhận tín hiệu từ mạch dao động bên ngồi như ở hình 8.5. Khơng cĩ yêu cầu nào về chu kỳ nhiệm vụ của tín hiệu xung clock bên ngồi do tín hiệu này

phải qua một flipflop chia 2 trước khi đến mạch tạo xung clock bên trong. Tuy nhiên, các chi tiết kỹ thuật về thời gian mức thấp mức cao, điện áp cực tiểu và cực đại cần phải được xem xét.

C2

C1

XTAL2

XTAL1

GND

Hình 8.4 Kết nối của mạch dao động.

Một phần của tài liệu Thiết kế chế tạo mô hình và điểu khiển máy khuấy trộn (Trang 80 - 84)