Khi bạn tạo một dự án mới. một thư mục gốc gốc với 3 thư mục con sẽ
được tạo với thư mục gốc có tên là lên của dự án. Thư mục còn lại là Lib(thư
viện), obj(đối tương), output(các tệp được tạo trong quá trình xây dựng dự án).
Một số định file được sử dụng với phần mềm PSoC Designer: .a, .asm, .c,
.cfg, .dbg, .h, .hex. .inc, .lis, .lst
46 trang |
Chia sẻ: nguyenlam99 | Lượt xem: 1057 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Chương 2: Họ vi đièu khiển avr at90s8535, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 2. HỌ VI ĐIÈU KHIỂN AVR AT90S8535
2.1 Các đặc tính
AVR có cấu trúc RISC (reduced instruction set computer: máy tính dùng
tập lệnh lút gọn) hiệu năng cao - nguồn điện thấp.
• 118 lệnh mạnh mẽ - Đa số thực hiện theo đồng hồ chu kỳ đơn
• 32 thanh ghi 8 bit làm việc chế độ đa dụng.
• Thực hiện 8 triệu lệnh mỗi giây với tần số 8 MHz.
• 8 KHytes bộ nhớ chương trình bên trong chíp.
• Bộ giao diện nối tiếp SPI trong lập trình hệ thống.
• Khả năng chịu đựng : 1,000 viết/xoá bộ nhớ chương trình.
• 512 Bytes EEPROM
• 512 Bytes SRAM bên trong
• Chương trình có thể khoá bằng phần mềm.
• 8 kênh, ADC 10 bit
• Có thể truyền thông UART
• Độ giao diện nối tiếp SPI chủ/khách
• Hai bộ Timer/counter 8 bit cùng với bộ đếm và chế độ so sánh riêng biệt .
• Một bộ Timer/counter 16 bit cùng với máy đếm, chế độ so sánh và tạo bộ
8, 9, 1 0 bit PWM
• Bộ định thời Watchdog
• Bộ so sánh tương tự trên chíp
• Mạch xác lập lại nguồn diên
• Đồng hồ thời gian thực (RTC) cùng với bộ dao động
• Các nguồn ngắt bên trong và bên ngoài
• Ba chế độ ngủ (tĩnh): chế độ nhàn rỗi, chế độ tiết kiệm điện, chế độ ngắt
điện.
Tiêu thụ điện ở 4 MHz 3V, 200C
60
- Hoạt động : 6,4 mA
- Chế độ nhàn rỗi: 1,9 mA
-Chế độ ngắt điện: <1 μA
Điện áp hoạt động
VCC: 4 0 - 6.0V AT90S8535
VCC: 2.7 - 6.0V AT90LS8535
Các mức tốc độ
- 0 - 8 MHz cho AT90S8535
- 0 - 4 MHz cho AT901LS8535
Những cấu hình chân
Hình 2. 1. Sơ đồ chân AT90S8535
2.2. Phần mô tả
AT90S8535 là một chíp CMOS vi điều khiển 8 - bit công suất nhỏ dựa trên
câu trúc của AVR RISC. Bằng việc thực hiện mạnh mẽ các lệnh trong một chu
kỳ đồng hồ đơn. AT90S8535 đạt được thông lượng gần 1 triệu lệnh/giây cho
mỗi MHz cho phép trình thiết kế tối ưu hoá
61
Hình 2.2. Sơ đồ khối AT90S8535
Lõi AVR kết hợp với một lệnh thiết lập với 32 thanh ghi đa năng đang làm
việc. Tất cả 32 thanh ghi được nối trực tiếp tới bộ số học logic (ALU), cho phép
hai thanh ghi độc lập được truy cập trong một lệnh đơn được thực hiện trong
một chu kỳ đồng hồ. Kết quả cấu trúc là nhiều mã hiệu quả hơn trong khi dạt
được lưu lượng lên lới mười lần nhanh hơn CISC microcontrollers. AT90S8535
cung cấp những đặc tính sau: 8KB cho hệ thống lập trình tia sáng, 512Byte
EEPROM, 512Byte SRAM, 32 chân vào ra đa năng. 32 thanh ghi đa năng đang
làm việc, đồng hồ thời gian thực, (RTC). ba bộ Timer/counter linh hoạt với cách
thức so sánh, những ngắt ngoài và bên trong một UART tuần tự lập trình được,
8 kênh ADC 10 bit thiết bị bấm giờ lập trình được với bộ giao động bên trong.
một cổng SPI nối tiếp và ba chọn lựa bằng phần mềm để chọn được chế độ tiết
kiệm điện. Chế độ nhàn rỗi dừng CPU trong khi cho phép SRAM, bộ
62
Timer/counter, hệ thống cổng và ngắt tiếp tục được hoạt động. Chế độ ngắt diên
cất giữ nội dung thanh ghi nhưng làm treo máy tạo dao động, vô hiệu hoá Tất cả
các chức năng khác của chíp cho tới khi ngắt tiếp hoặc phần cứng thiết lập lại.
Trong chế độ tắt điện máy tạo dao động tính giờ tiếp tục để chạy, cho phép
người sử dụng bảo vệ thiết bị tính giờ căn bản trong khi các phần còn lại của
thiết bị đang dừng ở giữa chừng. Thiết bị được sản xuất đang sử dụng mật độ
cao bộ nhớ công nghệ không linh hoạt. ISP trong chíp Flash cho phép bộ nhớ
chương trình được chương trình hóa trong hệ thống qua một mạch ghép nối tiếp
SPI hoặc bởi kí ức lập trình viên không linh hoạt. Bằng việc kết hợp một CPU
có tệp thu gọn 8 bit cùng với hệ thống lập trình được flash hoá trên một chíp
đơn. AT90S8535 Atmel là một vi điều khiển thanh mà cung cấp một giải pháp
có tính linh hoạt cao và chi phí hợp lí tới nhiều điều khiển nhúng. AVR
AT90S8535 được hỗ trợ với một bộ đầy đủ chương trình và những công cụ phát
triển hệ thống. Bao gồm: Những người biên tập C, những chương trình hợp ngừ
vĩ mô. những trình gỡ rôi/những sự mô phỏng, sự mô phỏng trong mạch.
Mô tả chân
VCC Cung cấp Điện áp
GND (Nguồn âm)
Port A (PA7..PA0) Cổng A là một cổng vào ra có hướng 8-bit. Những chốt
cổng có thê cung cấp một điện trở trong quá tải (được chọn cho mỗi bit). Cổng
A bộ đệm đầu ra có thể cấp 20 mA đầu ra và có thể trực tiếp điều khiển hiển thị
đèn LED. Khi các chốt từ PA0 đến PA7 được sử dụng như những dữ liệu vào thì
ngoài được kẻo thấp, chúng sẽ là dòng điện nguồn nếu điện trở trong quá tải lên
được hoạt động. Cổng A cũng đáp ứng như những dữ liệu vào tương tự đến bộ
biến đổi A/D. Các chốt cổng A là bộ trạng thái khi một điều kiện thiết lập lại
được hoạt động, thậm chí nếu đồng hồ không phải đang chạy.
Port B (PB7..PBO) Cổng B là một cổng vào ra có hướng 8-bit cùng với
điện tử kéo trong. Cổng B bộ đệm đầu ra có thể cấp 20 mA. Như những dữ liệu
vào, các chốt công B những cái mà ngoài được kéo thấp sẽ là nguồn điện nếu
như điện trở quá tải được hoạt động. Cổng B cũng phục vụ cho các chức năng
của những đặc tính đặc biệt khác của AT90S8583. Các chốt cổng B là ba trạng
thái khi một điều kiện thiết lập lại được hoạt động của nó khi hệ thống đang hoạt
động.
Port C (PC7..PCO) Cổng C những bộ đệm dầu ra có thể cấp 20 mA. Hai
chân cổng có thể lựa chọn để sử dụng như bộ tạo dao động cho thiết
Timer/counter 2. Các chân cổng C có ba trạng thái khi một điều kiện thiết lập lại
63
được hoạt động của nó.
Port D (PD7..PDO) Cổng D là một cổng vào ra có hướng 8- bit cùng với
điện tử kẻo trong. Cổng B bộ đệm đầu ra có thể cấp dòng 20 mA. Cổng D cũng
phục vụ cho các chức năng của những đặc tính đặc biệt khác như trong hình của
AT90S8535. Các chân cổng D có ba trạng thái khi một điều kiện thiết lập lại
được hoạt động.
Reset dữ liệu đầu vào. Một thiết lập bên ngoài được sinh ra bởi một mức
thấp tên chốt Reset. Thiết lập lại xung dài hơn 50 ns sẽ sinh ra một reset, dù
đồng hồ l\hôn ) l~h~li dụng chạy. Các xung ngắn hơn không dược bảo đảm phát
sinh ra một reset.
XTAL1 Dữ liệu tới bộ khuếch đại bộ dao động đảo và dữ liệu mạch dao
động bên trong đồng hồ.
XTAL2 tín hiệu ra từ máy khuếch đại bộ dao động đảo
AVCC là chân cung cấp điện áp cho cổng A và bộ biến đổi tương tự/số.
Nếu ADC không được sử dụng, chốt này phải được kết nối tới VCC. Nếu ADC
được sử dụng, chốt này phải được kết nối tới VCC qua một bộ lọc thông thấp.
AREF là điện áp tham chiếu dữ liệu vào tương tự cho bộ biến đổi tương
tự/số. Để ADC hoạt động, một điện áp trong phạm vi 2V phải được đưa vào
chân này.
AGND Tiếp đất số.
Bộ dao động tinh thể XTAL1 và XTAL2 là dữ liệu đầu vào và dữ liệu đầu
ra, tương ứng. của một máy khuếch đại đảo có thể được cấu hình cho việc sử
dụng như một bộ dao động trong chíp, như biểu diễn trong hình 2.3. Cũng giống
như một tinh thể thạch anh hoặc một thiết bị cộng hưởng âm thanh có thể được
sử dụng.
64
Bộ dao động Timer: Cho các chốt bộ dao động Timer, TOSC1 và TOSC2,
tinh thể được kết nối trực tiếp giữa các chốt. Không một tụ điện ngoài nào được
cần đến bộ dao đông được tối ưu hoá cho sự sử dụng cùng với một đồng hồ tinh
thể tần số 32,768KHz.
Kiến trúc tổng quan: Truy cập nhanh thông qua 32 thanh ghi đa năng 8 bit
cùng với thế gian truy xuất một chu kỳ đồng hồ đơn. Điều đó có nghĩa là trong
suốt một chu kỳ đồng hồ đơn, một thao tác ALU (Arithmetic Logic Unit: Đơn vị
số học logic) được thực hiện. Hai toán hạng là dữ liệu đầu ra từ thanh ghi. Phép
toán được thực hiện và kết quả được lưu trữ trong thanh ghi trong một chu kỳ
đồng hồ. Sáu trong số 32 thanh khi có thể được sử dụng khi ba con trỏ thanh ghi
địa chỉ gián tiếp 16 bit định vị trí không gian dữ liệu, cho phép những sự tính
toán địa chỉ hiệu quả. Một trong ba con trỏ địa chỉ cũng có thể được sử dụng như
con trỏ địa chỉ để chức năng của bảng tra cứu không thay đôi. Những thanh ghi
chức năng bổ sung này là 16 bít thanh ghi -X, thanh ghi - Y, thanh ghi - Z.
65
Hình 2.4. Cấu trúc AT90S8535 AVR RISC
ALU hỗ trợ các hàm số học và các hàm logic học giữa các thanh ghi hoặc
giữa một hằng số và một thanh ghi. Các thao tác thanh ghi đơn cũng được thực
hiện trong ALU. Hình 4 biểu diên cấu trúc vi điều khiển AT90S8535 AVR
RISC. Ngoài thao tác thanh ghi, cách đánh địa chỉ bộ nhớ quy ước cũng có thể
được sử dụng trên thanh ghi tệp tin cũng được. Điều đó được cho phép bởi thực
tế mà thanh ghi được gán 32 địa chỉ không gian dữ liệu thấp nhất ($00-$1F) cho
phép chúng được truy cập như chúng là những sự định vị bộ nhớ bình thường.
Không gian nhớ vào/ra chứa 64 địa chỉ cho những chức năng ngoại vi CPU khi
những thanh ghi điều khiển, Timer/counters, các bộ đổi tương tự/số và các hàm
vào ra khác vận hành. Bộ nhớ vào ra có thể được truy cập trực tiếp hoặc trong
khi sự định vị trí không gian dữ liệu theo sau đó của thanh ghi tệp tin $20 - $5F.
AVR sử dụng khai mềm cấu trúc Harvard cùng với các bộ nhớ riêng biệt các bus
chương trình và dữ liệu. Bộ nhớ chương trình được thực hiện cùng với một ứng
dẫn hai bước. Trong khi một chỉ dẫn đang được thực hiện, thì chỉ dẫn tiếp theo
được đem về trước từ bộ nhớ chương trình. Khái niệm này cho phép các chỉ dẫn
sẽ được thực hiện trong mọi chu kỳ đồng hồ. Bộ nhớ chương trình có thể tải
xuống hệ thống bộ nhớ Flash. Với sự nhảy tương đối và những chỉ dẫn gọi, toàn
66
bộ 4 K vùng địa chỉ trực tiếp được truy nhập. Đa số AVR chỉ dẫn có một khổ từ
16 bít đơn. Mỗi địa chỉ bộ nhớ chương trình chứa 16 hoặc 32 bit chỉ dẫn. Trong
thời gian những ngắt và những sự gọi chương trình con, bộ đếm địa chỉ chương
trình (PC) và ngăn xếp. Ngăn xếp được cấp phát trong dữ liệu chung SRAM và
vì vậy kích thước ngăn xếp chỉ được hạn chế bởi tổng kích thước của SRAM và
cách dùng SRAM. Hầu hết người sử dụng chương trình phải được khởi tạo lại
SP trong việc khởi động lại thủ tục (trước khi các chương trình con hay các ngắt
được thực hiện). Con trỏ ngăn xếp 10 bít (SP) thì có thể tiếp cân đọc/ghi trong
không gian vào/ra. 512 bytes dữ liệu SRAM có thể dễ dàng được truy nhập qua
năm cách đánh địa chỉ khác nhau được hỗ trợ trong cấu trúc AVR. Không gian
bộ nhớ trong cấu trúc AVR là tất cả bản đồ bộ nhớ tuyến tính và bình thường.
Một module ngắt linh hoạt có các thanh ghi điều khiển của nó trong không
gian vào/ra với một bổ sung ngắt chung cho phép bit trong thanh ghi trạng thái.
Hầu hết các ngắt khác có một vectơ ngắt riêng biệt trong bảng vectơ ngắt tại lúc
bắt đầu bộ nhớ chương trình. Các ngắt khác có quyền ưu tiên theo vị trí vectơ
ngắt của chúng. Địa chỉ vecter ngắt càng thấp, quyền ưu tiên càng cao.
Thanh ghi tệp tin đa năng: hình 2.6 biểu diễn cấu trúc sự hoạt động của 32
thanh ghi đa năng trong CPU.
67
Hình 2. 6. Sự hoạt động của thanh ghi đa năng trong AVR CPU
Mọi lệnh điều hành thanh ghi trong tập lệnh có chu trình trực tiếp và đơn
truy nhập tới mọi thanh ghi. Chỉ có một ngoại lệ là năm chỉ dẫn hằng số số học
và logic học SBCI, SUBI, CPL, ANDI và ORI giữa một hằng số và một thanh
ghi và chỉ dẫn LDI để tải dữ liệu triền miên tức thời. Những chỉ dẫn này ứng
dụng vào một nửa các thanh ghi trong thanh ghi tệp tin (R16..R31). Nói chung
SBC, SUB, CP, AND hoặc OR và mọi thao tác giữa hai thanh ghi hoặc trên một
thanh ghi áp dụng tới toàn bộ thanh ghi. Như biểu diễn ở hình 2.6. mỗi thanh ghi
được gán một dữ liệu địa chỉ bộ nhớ, ánh xạ trực tiếp chúng vào trong 32 vị trí
đầu tiên của người sử dụng không gian dữ liệu. Mặc dù không được thực hiện về
mặt vật lý như vị trí SRAM, việc tổ chúc bộ nhớ này cung cấp sự linh hoạt lớn
trong truy nhập thanh ghi, như các thanh ghi X-, Y-, và Z có thể dược thiết lập
tới chỉ mục một vài thanh ghi trong tệp tin.
Thanh ghi X, thanh ghi Y. Các thanh ghi từ R26..R31 có bổ sung thêm một
số thanh ghi Z chức năng đến cách sử dụng đa năng của chúng. Những thanh ghi
này là những con trở địa chỉ cho sự định địa chỉ gian tiếp của không gian địa chỉ.
Ba thanh khi định địa chỉ gián tiếp X, Y, Z được định nghĩa trong hình 2.8.
68
Hình 2.8. Thanh ghi X-, Y-, Z
Trong các cách đánh địa chỉ khác nhau, những thanh ghi địa chỉ này có các
chức năng như sự dịch chuyển cố định sự gia tăng và sự giảm bớt tự động (xem
sự mô tả cho những sự chỉ dẫn khác nhau).
ALU-Arithmetic Logic Unit: AVR ALU có hiệu năng cao trong kết nối
trực tiếp với tất cả sự hoạt động của 32 thanh ghi đa năng. Bên trong một đồng
hồ chu kỳ đơn. thao tác ALU giữa các thanh ghi trong thanh ghi được thực hiện.
Thao tác ALU dược chia thành ba mục chính: số học, logic, các bộ chức năng.
Hệ thống lập trình cực nhanh AT90S8535 chứa đựng 8 KB trong chíp hệ
Bộ nhó chương trình: Flash được sắp xếp như 4K x 16. Bộ nhớ Flash có
khả năng ghi xoá ít nhất 1000 chu kỳ. Bộ đêm chương trình AT90S8535 là 12
bits rộng, như vậy định vị 4096 địa chỉ chương trình bộ nhớ.
NHỮNG CÁCH ĐÁNH ĐỊA CHỈ CHO CHUƠNG TRÌNH VÀ DỮ LIỆU
AT90S8535 được người điều khiển máy tính hổ trợ những cách đánh địa
chỉ hiệu quả và mạnh cho sự truy nhập vào bộ nhớ chương trình (flash) và bộ
nhớ dữ liệu (SRAM, Register file and I/O memory). Mục này mô tả sự khác
nhau giữa các cách đánh địa chỉ được hỗ trợ bởi cấu trúc AVR. Trong hình, OP
có nghĩa là thao tác phần mã của từ lệnh. Đơn giản hoá, không phải tất cả các
hình cho thấy sự định vị chính xác của các bits địa chỉ.
THANH GHI TRỰC TIẾP, THANH GHI ĐƠN Rd
69
Hình 2.9. Thanh ghi địa chỉ đơn trực tiếp
Toán hạng dược chứa đựng trong thanh ghi d(Rd)
THANH GHI TRỰC TIẾP, HAI THANH GHI Rd và Rr
Hình 2. 10. Thanh ghi địa chỉ trực tiếp, hai thanh ghi
Toán hạng dược chứa đựng trong thanh ghi rời r(Rr) và d(Rd). Kết quả
được lưu trữ trong thanh ghi d (Rd).
VÀO / RA TRỰC TIẾP
Hình 2. 11 Địa chỉ vào/ra trực tiếp
Địa chỉ toán hạng được chứa dựng trong 6 bits của từ lệnh. n là đích hoặc
nguồn của thanh ghi địa chỉ.
DỮ LIỆU TRỰC TIẾP
70
Hình 2. 12. Địa chỉ dữ liệu trực tiếp
Một địa chỉ dữ liệu 16 bits được chứa đựng trong 16 LSBS của 2 từ
lệnh.Rd/Rr chỉ rõ đích hoặc nguồn của thanh ghi.
DỮ LIỆU GIÁN TIẾP VỚI SỰ THUYỆN CHUYỂN
Hình 2. 13. Dữ liệu gián tiếp với sự thuyên chuyển
Địa chỉ toán hạng là kết quả của thanh ghi Y- hoặc Z- nội dung thêm vào
những địa chỉ dược chứa đựng trong 6 bits của từ lệnh.
ĐỊA CHỈ GIÁN TIẾP
Hình 2. 14. Địa chỉ dữ liệu gián tiếp
Địa chỉ toán hạng là nội dung thanh ghi X-,Y- hoặc Z-.
DỮ LIỆU GIÁN TIẾP VỚI SỰ GIẢM BỚT
71
Hình 2. 15 Địa chỉ dữ liệu gián tiếp với sự giảm bót
Thanh ghi X-.Y- hoặc Z- được giảm bớt trước khi thao tác. Địa chỉ toán
hạng là nội dung giảm bớt của các thanh ghi X-.Y- hoặc Z-.
DỮ LIỆU GIÁN TIẾP VỚI SỰ TĂNG DẦN
Hình 2.16. Địa chỉ dữ liệu gián tiếp với sự tăng dần
Thanh ghi X-.Y- hoặc Z- được tăng lên sau khi thao tác. Địa chỉ toán hạng
là nội dung của thanh ghi X-.Y- hoặc Z- theo trật tự tăng dần.
ĐỊA CHỈ HẰNG SỐ SỬ DỤNG LỆNH LPM
Hình 2. 17 Mã bộ nhớ địa chỉ hằng số
Địa chỉ hằng số byte được chỉ rõ bởi nội dung của thanh ghi Z. MSB (bit
15) lựa chọn từ địa chỉ (0-4k), LSB lựa chọn byte thấp nếu xoá (LSB=0) hoặc
lựa chọn byte cho nêu thiết lập (LSB=1).
SỰ ĐỊNH VỊ CHƯƠNG TRÌNH GIÁN TIẾP IJMP VÀ ICALL
72
Hình 2.18. Sự định vị bộ nhớ chương trình gián tiếp
Sự thực hiện chương trình tiếp tục ở địa chỉ chứa đựng bởi thanh ghi Z-
(i.e., PC được nạp vào với nội dung của thanh ghi Z- )
SỰ ĐỊNH VỊ CHƯƠNG TRÌNH TƯƠNG ĐỐI RJMB VÀ RCALL
Hình 2. 19 Sự định vị bộ nhớ chương trình tương đối
Sự thực hiện chương trình tiếp tục ở địa chỉ PC + k + 1. Địa chỉ tương đối
k là từ 2048 tới 2047.
BỘ NHỚ DỮ LIỆU EEPROM
AT90S8535 chứa 512 bytes của bộ nhớ dữ liệu EEPROM. Nó được tổ
chức như là một không gian dữ liệu riêng biệt, trong đó không có một bits đơn
nào có thể được đọc và viết EEPROM có một sự chịu dựng của ít nhất 100.000
viết/xoá.
THỜI GIAN TRUY CẬP BỘ NHỚ VÀ CHỈ DẪN TÍNH TOÁN THỜI
GIAN THỰC HIỆN
Mục này mô tả những khái niệm tính toán thời gian truy nhập chung cho sự
thực hiện lệnh và truy cập bộ nhớ trong AVR CPU được điều khiển bởi đồng hồ
hệ thống. Hình 2.20 cho thấy chu kỳ tìm nạp lệnh và thực hiện lệnh song song
bởi cấu trúc 1 larvard và khái niệm truy nhập nhanh danh sách thanh ghi. Đây là
khái niệm cơ bản về việc thực hiện lệnh IMIPS cho mỗi MHZ với những kết quả
73
duy nhất tương ứng cho những hàm giá, hàm đồng hồ, hàm luỹ thừa đơn vị.
Hình 2.20 : Tìm nạp lệnh và thực hiện lệnh song song
Hình 2. 21 cho thấy khái niệm tính toán thời gian bên trong cho danh sách
thanh ghi. trong một chu kỳ máy một thao tác ALU sử dụng hai thanh ghi toán
hạng được thực hiện và kết quả được lưu trữ sau thanh ghi đích.
Hình 2. 21. Chu trình thao tác đơn ALU
Sự truy nhập dữ liệu bên trong SRAM dược thực hiện trong hai chu kỳ máy
được mô tả trong hình 2.22
Hình 2.22. Chu trình truy cập dữ liệu trên SRAM
BỘ NHỚ VÀO/RA
Định nghĩa không gian I/O của AT90S8035 được thể hiện ở bảng 2.1
Bảng 2.1. Không gian vào ra của AT90S8535
74
Địa chỉ
vào/ra (Địa
chỉ SRAM)
Tên CHỨC NĂNG
$3F ($5F) SREG Thanh ghi trạng thái
$3E ($5E) SPH Thanh ghi con trỏ ngăn xếp cao
$3D ($5D) SPL Thanh ghi con trỏ ngăn xếp thấp
$3B ($5B) GIMSK Thanh ghi mặt nạ ngắt tống quát
$3A ($5A) GIFR Thanh ghi cờ ngắt tông quát
$39 ($59) TIMSK Thanh ghi mặt nạ ngắt Timer/counter
$38 ($58) TIFR Thanh ghi cờ ngắt Timer/counter
$35 ($55) MCUCR Thanh ghi điều khiến tống quát MCU
$34 ($45) MCUSR Thanh ghi trạng thái tống quát MCU
$33 ($53) TCCRO Thanh ghi điêu khiên Timer/counter 0
$32 ($52) TCNTO Thanh ghi Timer/counter 0
$2F ($4F) TCCRIA Thanh ghi điều khiến A Timer/counter 1
$2E ($4E) TCCRI B Thanh ghi điêu khiên B Timer/counter 1
$2D ($4D) TCNTI H Thanh ghi Timer/counter 1 byte cao
$20 ($4c) TCNTI L Thanh ghi Timer/counter 1 byte thấp
$2B ($4B) OCRIAH Thanh ghi so sánh A byte cao đầu ra bộ
Timer/counter 1
$2A ($4A) OCR1AL Thanh ghi so sánh A byte thấp đầu ra bộ
Timer/counter 1
$29 ($49) OCR1BH Thanh ghi so sánh B byte cao đầu ra
$28 ($48) OCR1BL Thanh ghi so sánh B byte thấp đầu ra bộ
Timer/counter 1
$27 ($47) ICR1H T/C 1 nhập vào thanh ghi bắt giữ lại byte cao
$26 ($46) ICR1L T/C 1 nhập vào thanh ghi bắt giữ lại byte thấp
$25 ($45) TCCR2 Thanh ghi điều khiên bộ Timer/counter 2
$24 ($44) TCNT2 Thanh ghi bộ Timer/counter 2 (8-bit)
$23 ($43) OCR2 Thanh ghi so sánh đầu ra bộ Timer/counter 2
$22 ($42) ASSR Thanh ghi trạng thái kiếu không đông bộ
$21 ($4 1 ) VVDTCR Thanh ghi điều khiển Timer Watchdog
$1F ($3E) EEARH EEPROM thanh ghi địa chỉ byte cao
75
$1E ($3E) EEARL EEPROM thanh ghi địa chỉ byte thấp
$1D ($3D) EEDR EEPROM thanh ghi dữ liệu
$1C ($3C) EECR EEPRM thanh ghi điều khiển
$1B ($3B) PORTA Thanh ghi dữ liệu, cổng A
$1A ($3A) DDRA Hướng thanh ghi dữ liệu, cổng A
$19 ($39) PINA Nhập vào các chân cổng A
$18 ($38) PORTB Thanh ghi dữ liệu, cổng B
$17 ($37) DDRB Hướng thanh ghi dữ liệu, cổng B
$16 ($36) PINB Nhập vào các chân cổng B
$15 ($35) PORTC Thanh ghi dữ liệu, cổng C
$14 ($34) DDRC Hướng thanh ghi dữ liệu, cổng C
$13 ($33) PINC Nhập vào các chân cổng C
$12 ($32) PORTD Thanh ghi dữ liệu, cổng D
$11 ($31) DDRD Hướng thanh ghi dữ liệu, cổng D
$10 ($30) PIND Nhập vào các chân cổng D
$0F ($2F) SPDR Vào/ra thanh ghi dữ liệu SPI
$0E ($2E) SPSR Thanh ghi trạng thái SPI
$0D ($2D) SPCR Thanh ghi điều khiển SPI
$0C ($2C) UDR Vào/ra thanh ghi dữ liệu UART
$0B ($2B) USR Thanh ghi trạng thái UART
$0A ($2A) UCR Thanh ghi điều khiển UART
$09 ($29) UBRR UART Baud thanh ghi tốc độ
$08 ($28) ACSR So sánh thanh ghi điều khiển và thanh ghi trạng thái
$07 ($27) ADMUX ADC bộ đa hợp lựa chọn thanh ghi
$06 ($26) ADCSR ADC thanh ghi điều khiển và thanh ghi trạng thái
$05 ($25) ADCH Thanh ghi dữ liệu ADC
$04 ($24) ADCL Thanh ghi dữ liệu thấp ADC
Tất cả các chân vượng AT90S8535 và thiết bị ngoại vi được đặt trong
không gian vào/ra. Vị trí vào/ra được truy cập bởi lệnh IN và OUT. Việc chuyển
dữ liệu giữa 32 thanh ghi đa mục đích và không gian vào/ra. Thanh ghi vào/ra
trong phạm vi địa chỉ $00=$1F được trực tiếp tiếp cận bit sử dụng lệnh SBI và
CBI. Trong những thanh ghi này giá trị của bits đơn có thể được kiểm tra bằng
lệnh SBIS và SBIC, để cập lệnh lập hợp mục cho nhiều chi tiết hơn. Khi sử dụng
những lệnh đặc biệt vào/ra IN và OUT địa chỉ vào/ra $00-$3F phải được thực
76
hiện. Khi địa chỉ thanh ghi vuông như SRAM. S20 phải được thêm vào những
địa chỉ này. Tất cả những thanh ghi địa chỉ vào/ral tài liệu này cho thấy với địa
chỉ SRAM trong dấu ngoặc.
Để thích hợp với những thiết bị các bit dành riêng cần phải được viết 0 nếu
truy cập
Một số cờ trạng thái được xoá bằng cách viết một logic ‘1’ tới chúng. Ghi
chú rằng lệnh CBI và SBI sẽ có tác dụng trên tất cả các bits trong thanh ghi
vào/ra, viết ‘1’ vào sau bất kỳ cờ dọc nào như là tập hợp, như vậy làm xoá cờ.
Lệnh CBI và SBI chỉ làmviệc với thành ghi $00 tới $1F.
Thanh ghi điều khiển thiết bị ngoại vi được giải thích trong những mục sau:
THANH GHI TRẠNG THÁI - SREG
Thanh ghi trạng thái AVR (SREG) tại vị trí không gian I/O được định
nghĩa như sau:
BIT 7-l: Cho phép ngắt toàn cục
Cho phép ngắt toàn cục bit phải là tập hợp (một) cho ngắt để được cho
phép. Ngắt cho phép điều khiển riêng lẻ rồi được thực hiện trong những thanh
ghi điều khiển riêng biệt. Nếu thanh ghi cho phép ngắt toàn cục bị xoá, không có
ngắt thì có thể không phụ thuộc vào sự thiết đặt cho phép ngắt riêng lẻ. Bit -I bị
xoá bởi phần cứng sau khi một ngắt đã xuất hiện và được thiết lập bởi RETI để
cho phép ngắt kế tiếp.
BIT 6-T: Lưu trữ bản sao bit
Lệnh sao chép bit BLD (Bit LoaD) và BST (Bit Store) sử dụng T-Bit như
nguồn và đích cho hoạt động bit. Một bit từ một thanh ghi trong danh sách các
thanh ghi có thể sao chép vào trong T bởi lệnh BST và một bộ trong T có thể sao
chép cao trong một bộ trong một thanh ghi trong danh sách các thanh ghi bởi
lệnh BLD.
Bit 5-H: half-carry flag
Half-cary flag H cho biết một half-carry trong một vài thao tác số học.
Thấy sự mô tả thiết lập lệnh cho thông tin chi tiết.
Bit 4 -S: Kí hiệu bit, (S=N + V)
77
Bit-S luôn luôn được dành riêng hoặc ở trong cờ ngược N và bổ sung tràn
bộ nhớ cờ V. Thấy sự mô tả thiết lập lệnh cho thông tin chi tiết.
Bit 3 - V: hai lần bổ sung tràn bộ nhớ cờ V
Hai lần bổ sung tràn bộ nhớ cờ V hỗ trợ hai lần bổ sung số học. Thấy sự
mô tả thiết lập lệnh cho thông tin chi tiết.
Bit 2 -N: Cờ ngược
Cờ ngược cho biết một kết quả ngược từ thao tác số học hoặc logic. Thấy
sự mô lả thiết lập lệnh cho thông tin chi tiết.
Bit 1 -Z : cờ 0
Cờ 0 -Z cho biết một kết quả 0 từ một thao tác số học hoặc logic. Thấy sự
mô ta thiết lập lệnh cho thông tin chi tiết.
Bit 0 -C : cờ nhỏ
Cờ mang -C cho biết một carry (mang) từ một thao tác số học hoặc logic.
Thấy sự mô tả từ thiết lập lệnh cho thông tin chi tiết.
Chú ý rằng trong thanh ghi trạng thái không tự động cất giữ khi một việc
vào ngắl thường trình và được lưu trữ khi trở lại một ngắt thường trình. Cái này
phải được điều khiên bởi phần mềm.
CON TRỎ NGĂN XẾP - SP
Con trỏ ngăn xếp AT90S8535 được thực hiện như hai thanh ghi 8-bit trong
vị trí không gian do $3E ($5E) and $3D ($5D). Như bộ nhớ dữ liệu AT90S8535
có vị trí $25S, 10 bit được sử dụng.
Ngăn xếp con trỏ vào vùng ngăn xếp dữ liệu SRAM ở đầu chương trình
con và ngắt những ngăn xếp được định vị. Không gian ngăn xếp này phải được
định nghĩa bởi chương trình trước khi bất kỳ ngùng sự gọi chương trình con nào
được thực hiện hoặc ngắt được cho phép. Ngăn xếp con trỏ phải được thiết đặt
trỏ phía trên $60. Ngăn xếp con trỏ được giảm bớt bởi 1 khi dữ liệu được đẩy
lên trên ngăn xếp với lệnh PUSH và nó là sự giảm bớt bởi 2 khi một địa chỉ
78
được đẩy lên trên ngăn xếp với chương trình con gọi và ngắt. Con trỏ ngăn xếp
được tăng lên bởi 1 khi dữ liệu được bật ra khỏi ngăn xếp với lệnh POP và nó
được tăng lên bởi 2 khi một địa chỉ được bật ra từ ngăn xếp với sự gọi chương
trình con RET hoặc trở lại từ ngắt RET
XÁC LẬP LẠI VÀ NGẮT HANDLING
AT90S8535 cung cấp 16 nguồn ngắt khác nhau. Những ngắt và xác lập lại
vector riêng biệt từng cái có một vector chương trình riêng biệt trong không gian
bộ nhớ chương trình. Mọi ngắt được gán riêng lẻ làm cho bits phải được thiết
lập cùng nhau với I-BIT trên thanh ghi trạng thái trong thứ tự để cho phép ngắt.
Những địa chỉ thấp nhất trong không gian bộ nhớ chương trình tự động
được định nghĩa như xác lập lại và ngắt vector. Danh sách đầy đủ của những
vector được cho thấy trong bảng 2. Danh sách cũng xác định rằng những mức
quyền ưu tiên khác nhau của ngắt. Thấp hơn địa chi, mức ưu tiên cao hơn,
RESET có mức ưu tiên cao nhất và tiếp theo là INTO (the External lnterrupt
Request 0),
Bảng 2.2. Sự xác 1ập 1ại và các véc tơ ngắt
79
Số véctơ Địa chỉ chương trình Nguồn Định nghĩa ngắt
13 $00C UART, UDRE UART-Thanh ghi dữ liệu
trông
14 $00D UART, TX UART, tx hoàn thành
115 $00E ADC ADC, Quá trình chuyến
đối hoàn thành
16 $00F EE_RDY EEPROM săn sàng
17 $010 ANA_COMP Máv so mẫu tương tư
Để tìm hiểu kỹ hơn về AVR chúng ta có thể tham khảo một số tài liệu trên
Internet và một số quyển sách giới thiệu trong phần tài liệu.
80
CHƯƠNG 3. CÔNG NGHỆ CHIP PSoC
3. 1 Chíp PSoC CY8C29x66
3.1.1 Chức năng
Chíp PSoC có các chức năng chủ yếu sau:
Bộ xửi lý cấu trúc Harvard
• Bộ xử lý M8C với tốc độ 12M
• Hai bộ nhân 8x8, bộ tích luỹ 32 bit
• Công suất tiêu thụ thấp với tốc độ cao
• Dải điện áp hoạt động 4,75 – 5,25 V
• Dải nhiệt làm việc độ từ -40 dấn +120 0C
Nguyên lý hoạt động (Các khối trong PSoC)
12 khối tương tự PsoC Rail to Rail cung cấp
• Các bộ ADC 14 bit
• Các bộ ADC 9 bit
• Các bộ khuếch đại có thể lập trình được
• Các bộ so sánh và lọc lập trình được
16 khối số PsoC cung cấp
• Các bộ định thời, đếm 8 - 32 bit, bộ tạo độ rộng xung PWM
• Mô đun CRC và PRS
• 4 dường UART song công
• Nhiều SPI chủ và tớ
• Có thể kết nối với tất cá các chân GPIO
Khối dao động
• Bộ dao động thạch anh bên trong 24 M sai số +4%.
• Thạch anh 24 M với tuỳ chọn 32.768 kHz
• Tùy chọn bộ dao động ngoài cao nhất 24 MHZ
• Dao động trong cho chế độ Watchdog và Sleep
81
Bộ nhớ bên trong mềm dẻo
• Bộ nhớ chương trình 32K byte với khả năng xoá/ghi 100 lần
• 2 KByte lưu dữ liệu SRAM
• Hệ thống lập trình nối tiếp ISSP
• Cập nhật Flash cục bộ
• Chế độ bảo vệ mềm dẻo
Lập trình cấu hình các chân
• Dòng thấp 25 mA trên tất cả các chân GPIO
• Kẻo lên, kẻo xuống, trở kháng cao, dòng cao, hoặc chế độ điều khiển
cực máng mở trên tất cả các chân GPIO
• 12 tôi vào tương tự trên các chân GPIO
• 4 chân ra 30 ma trên GPIO
• Cấu hình ngắt trên tất cả các chân GPIO
Tài nguyên khác
• I2C chủ, tớ, nhiều chủ với 400 kHz
• Bộ định thời Watchdog và Sleep
• Điện áp dò cấu hình sử dụng thấp
• Tích hợp mạch giám sát
• Độ chính xác điện áp tham chiếu trên chíp
Công cụ phát triển
• Phần mềm phát triển miễn phí (bộ thiết kế PSoC)
• Đầy đủ chức năng, bộ nạp ICE và lập trình
• Cấu trúc điểm ngắt phức hợp
• Bộ nhớ Trace 1 28 Kbyte
• Phức hợp sự kiện
• Các bộ soạn thảo C, ASM, liên kết
3.2.1 Sơ lược chức năng của PSOC
82
Họ PsoC bao gồm một số dãy tín hiệu pha trộn với vi điều khiển tích hợp
trên chíp. Một số thiết bị được thiết kế để thay thế nhiều thành phần truyền
thống trên hệ thống cơ sở MCU với một thiết bị đơn chíp có thể lập trình được.
Thiết bị PsoC bao gồm các khối logic tương tự và số có thể lập trình kết nối
được. Cấu trúc này cho phép người sử dụng tạo ra cấu hình nguyên lý theo ý của
khách hàng, điều này đáp ứng yêu cầu của từng ứng dụng riêng lẻ. Ngoài ra, một
CPU tốc độ nhanh, bộ nhớ lập trình Flash, bộ nhớ dữ liệu SRAM, và cấu hình
lại cổng vào/ra bao gồm các chân ra tiện lợi và các khối.
Kiến trúc PSoC được minh hoạ trên hình 2.1 gồm có 4 vùng chính: lõi
PSoC, hệ thống số, hệ thống tương tự, tài nguyên hệ thống. Có thể cấu hình Bus
toàn cục cho phép tất cả các tài nguyên thiết bị phối hợp trong một hệ thống
hoàn thiện. PsoC CY8C29x66 có thể có 6 cổng IO để kết nối tới hệ thống số và
tương tự, cung cấp truy cập 16 khối số và 12 khối tương tự.
83
Phần lõi PSoC
Phần lõi PSoC là một mạnh hỗ trợ nhiều chức năng mạnh. Lõi bao gồm
một CPU bộ nhớ, xung nhịp, và có thế cấu hình vào/ra đa năng GPIO.
Lõi CPU M8C là một bộ xử lý mạnh với tốc độ lên đến 12 MHZ, cung cấp
2 M lệnh trong một giây với lệnh 8 bit cấu trúc theo vi xử lý Harvard. CPU tận
dụng một bộ điều khiển ngắt với 25 vectơ ngắt lập trình đơn giản với các sự kiện
thời gian thực. Thực hiện chương trình là theo thời gian và sử dụng chế độ bảo
vệ bao gồm bộ định thời Sleep và Watchdog (WDT).
Bộ nhớ bao gồm 32 KB bộ nhớ chương trình và 2 KB bộ nhớ SRAM. Bộ
nhớ chương trình Flash tận dụng 4 mức bảo vệ trên các khối 64 byte, cho phép
chế độ bảo c nhân mềm theo ý khách hàng.
Thiết bị PSoC hợp nhất bên trong một cách mềm dẻo tạo ra xung nhịp, bao
gồm 24 MHz IMO (bộ dao động chính bên trong) chính xác đến 4 % trong dải
nhiệt độ và điện áp. Một bộ dao động công suất thấp 32 kHz ILO (bộ dao động
84
bên trong với tốc độ thấp) được sử dụng cho bộ định thời Sleep và WDT. ECO
(bộ dao động thạch anh bên ngoài 32.768 KHz) được sử dụng cho đồng hồ thời
gian thực RTC và có thể chọn một bộ phát tuỳ chọn hệ thống xung nhịp thạch
anh chính xác 24 MHz sử dụng một PLL (vòng bám pha). Xung nhịp, cộng với
bộ chia tần (như một tài nguyên hệ thống), cung cấp một cách mềm dẻo những
yêu cầu về thời gian trong chíp PSoC.
Các chân đa năng GPIO của PSoC cung cấp việc kết nối tới CPU, tài
nguyên số và tương tự của thiết bị. Chế độ hoạt động từng chân của phần cứng
có thể chọn từ 8 tùy chọn. Cho phép sự mềm dẻo hơn trong giao diện bên ngoài.
Mỗi chân có khả năng tạo ra một ngắt hệ thống ở mức cao, mức thấp, và thay
đổi từ lần đọc cuối nhất.
Hệ thống số
Hệ thống số bao gồm 16 khối số PSoC. Mỗi một khối bao gồm 8 bit, chúng
có thể được sử dụng đơn hoặc kết hợp với các khối khác để tạo thành 8, 16, 24,
và 32 bit, đây gọi là sử dụng các mô đun tham chiếu. Cấu hình các ngoại vi số
bao gồm:
o Các PWM (8 đến 32 bit)
o Các PWM với thời gian trễ (8 đến 32 bit)
o Bộ đếm (8 đến 32 bit)
o Bộ định thời (8 đến 32 bit)
o UART 8 bit với chọn lựa chẵn lẻ (đến 4 bộ)
o SPI chủ và tớ (đến 4 cho mỗi bộ)
o I2C tớ và đa chủ (1 có sẵn nhu một nguồn tài nguyên hệ thống)
o Bộ kiểm tra lỗi CRC/ bộ tạo ra dữ liệu dư thừa để kiểm tra lỗi CRG
(8 đến 32 bit)
o Bộ tạo quá trình giả ngẫu nhiên (8 đến 32 bit)
Các khối số có thể kết nối tới bất kỳ chân GPIO thông qua một dãy của Bus
toàn cục để có thể hướng bất kỳ một tín hiệu tới một chân bất kỳ nào. Các Bus
cho phép hợp kênh tín hiệu và biểu diễn dưới sự hoạt động logic. Cấu hình này
là do người thiết kế tự rằng buộc của nguyên lý điều khiển cố định.
Các khối số được cung cấp trong 4 hàng. Số của các khối thay đổi bởi họ
thiết bị PsoC. Điều này cho phép người sử dụng chọn lựa một cách thuận lợi
nhất tài nguyện hệ thống cho từng ứng dụng.
85
Hệ thống tương tự
Hệ thống tương tự bao gồm 12 khối cấu hình, mỗi một khối bao gồm một
mạch thuật toán cho phép tạo ra sự phối hợp tín hiệu tương tự. Nguyên lý tương
tự rất mềm dẻo và có thể phù hợp với từng ứng dụng cụ thể theo yêu cầu của
khách hàng. Một số ngoại vi tương tự PSoC có thể được cấu thành như sau:
o Các bộ chuyển đổi tương tự sang số (lớn nhất là 4, với 6 đến 14 bit,
có thể chọn lựa phương pháp tăng ích, Delta Sigma, và SAR)
o Các bộ lọc (2, 4, 6, hoặc 8 cực thông dải, thông thấp, thông hẹp)
o Các bộ khuếch đại (lớn nhất là 4, với sự chọn hệ số khuếch đại 48x)
o Các bộ khuếch đại phối âm (lớn nhất 2, với sự chọn lựa hệ số khuếch
đại 93x)
o Các bộ so sánh (lớn nhất là 4, với 16 sự lựa chọn ngưỡng)
o Các bộ chuyên đổi số sang tương tự DAC (lớn nhất là 4, với 6 đến 9
bit)
o Các bộ biến đổi ADC
o Dòng điều khiển lối ra cao (4 với 40 mA như một tài nguyên lõi
PSoC)
o Tham chiếu 1.3V (như một tài nguyên hệ thống )
o Bộ quay số DTMF
o Các bộ điều chế
o Các bộ dò đỉnh
o Một số cấu hình khác có thể thực hiện được
Các khối tương tự được trình bày ở hình 3.3:
86
Hệ thống tài nguyên khác
Tài nguyên hệ thống, một sô cái đã có trong danh mục trước đây, cung cấp
thêm khả năng hoàn thiện hệ thống hơn. Tài nguyên cộng thêm bao gồm một bộ
nhân, bộ đo, công tắc nhấn, bộ dò điện áp thấp và reset nguồn điện. Khai báo
vắn tắt một số tài nguyên tiêu biểu được cung cấp ở dưới đây.
o Bộ chia xung nhịp số được cung cấp 3 sự lựa chọn tần số đồng hồ
cho các ứng dụng. Các đồng hồ có thể hướng đến cả hai hệ thống số
và tương tự. Các đồng hồ cộng thêm có thể được tạo ra bằng cách sử
dụng các khối PSoC số như là các bộ chia đồng hồ
o Hai bộ nhân cứng (MAC) cung cấp bộ nhân nhanh 8 bit với tích luỹ
32 bit để giúp cho cả hai bộ tính toán thông thường và bộ lọc số.
87
o Bộ đo cung cấp một phần cứng bộ lọc tuỳ thích cho tín hiệu số, các
ứng dụng xử lý bao gồm việc tạo ra bộ chuyển đổi tương tự số Delta
Sigma ADC.
o Mô đun I2C cung cấp truyền thông 100 và 400 kHz thông qua 2
đường dây. Tơ, chủ. và chế độ đa chủ được hỗ trợ tất cả.
Ngắt bộ dò điện áp thấp (LVDI có thể báo hiệu cho ứng dụng mức sụt điện
áp, trong mạch POR (Power On Reset) tiên tiến loại trừ cần thiết cho hệ thống
giám sát. Một điện áp tham chiếu bên trong cung cấp một tham chiếu tuyệt đối
cho hệ thống tương tự, bao gồm các bộ ADC, DAC
Các đặc tính của thiết bị PSoC
Phụ thuộc vào đặc tính thiết bị PSoC của người sử dụng, hệ thống số và
tương là có thể có 16, 8 hoặc 4 khôi số và 12, 6 hoặc 3 khối tương tự. Bảng ở
dưới cho biết tài nguyên của từng nhóm thiết bị PSoC.
Nhóm thiết bị
PsoC
Chân
vào/ra số
(lớn nhất)
Các
dòng
khối số
Khối số Lối vào
tương
tự
Lối ra
tương
tự
Cột
khối
tương
Khối
tương tự
RAM Bộ nhớ
Flash
bên
CY8C29x66 44 4 16 12 4 4 12 2 KB 32KB
CY8C27x43 44 2 8 2 4 4 12 256Byte 16KB
CY8C24x23 24 1 4 12 2 2 6 256Byte 4 KB
CY8C24x23A 24 1 4 12 2 2 6 256Byte 4 KB
CY8C22x13 16 1 4 8 1 1 3 256Byte 2 KB
CY8C21x34 28 1 4 28 0 2 4a 512Byte 8 KB
CY8C21x23 16 1 4 8 0 2 4a 256Byte 4KB
3.2. Ngôn ngữ lập trình cho PSoC
Sau khi thiết kế phần cứng của hệ thống sau bằng chương trình PSoC
Designer, chúng ta bắt dầu tiến hành lập trình cho hệ thống. Để lập trình cho
chíp PSoC, chúng ta cụ thể sử dụng 1 trong 2 ngôn ngữ là C và Assembly.
Nhưng trên thực tế để làm cho hệ thống linh hoạt và dễ kiểm soát hơn, người ta
thường kết hợp cả hai ngôn ngữ này.
Ngôn ngữ C cho PSoC cũng gần giống với ngôn ngữ C bình thường, nhưng
nó phải hỗ trợ lập trình cấu trúc cho PSoC. Vì vậy để viết được tốt ngôn ngữ này
chúng ta phai tìm hiểu kỹ phần: PSoC Designer C Langunge Compiler User
Guide
Còn Assembly giúp chúng ta viết chương trình đáp ứng các điều khiển thời
88
gian thực và điều khiển các ngắt. Để lập trình được ngôn ngữ này, chúng ta phải
am hiểu sâu về phần cứng của PSoC. Chúng ta có thể đọc phần hướng dẫn sử
dụng của nhà sản xuất dễ có thê hiếu và lập trình được: PSoC Designer
Assembly Langunge User Guide.
Trong đề tài này tôi không đi sâu vào miêu tả chi tiết từng loại ngôn ngữ
lập trình. Chúng ta có thể xem và được hỗ trợ trực tuyến trên trang Web của nhà
sản xuất:
Như vậy để thiết kế được một chíp chuyên dụng PSoC, chúng ta phải tiến
hành một số bước sau:
o Thiết kế phần cứng cho hệ thống bằng PSoC Designer IDE
o Viết chương trình điều khiển hệ thống bằng Assembly hay C
o Nạp chương trình điều khiển vào chíp chuyên dụng PSoC ICE
o Chạy thử và dò lỗi chương trình bằng chức năng Debug của PSoC
Designer
3.3 Giới thiệu những nét cơ bản về IDE
• Giới thiệu.
• Cài dặt PSoC Designer.
• Sử dụng IDE (Integrated Developmenl Environment).
• Tạo một project.
• Phần mềm PSoC Designer để lập trình hệ thống, cài chương trình
điều khiển cho loại chíp PSoC
• Phần mềm thiết kế được xây dựng trên cơ sở hướng đối tượng với
cấu trúc module hóa
• Hướng dẫn về môi trường phát triển của phần mềm sẽ giúp bạn trong
việc cấu hình, biên soạn mã nguồn, biên dịch, xây dựng và gỡ lỗi
trong hệ thống của bạn.
• Giới thiệu.
Cài đặt PSoC Designer.
• Sử dụng IDE (Integrated Development Environment).
• Tạo một project.
• Yêu cầu hệ thống.
89
• Phần mềm yêu cầu.
• Cài đặt.
• Cập nhật những project đã có
Yêu cầu hệ thống:
Dưới đây là những đặc điểm kỹ thuật của hệ thống máy tính cần được quan
tâm khi chạy PSoC Design
Yêu cầu hệ thống Tối thiểu Giới thiệu
Tốc độ xử lý 500MHz 1GHz
RAM 256MB 512MB
Độ phân giải đồ họa (16bit) 1024x768 1280x1024
Ổ CD-ROM Có Có
Cổng song song EPP hoặc LPT
Phần mềm yêu cầu
Danh sách các phần mềm được quan tâm để chạy PSoC Designer:
+ Window(R) NT4.x (SP6), 2000, or XP (SPI).
+ Microsott Intemet Explorer 6.x(SP1) với MSXML Parser V.3.0 hoặc cao
hơn.
+ Adobe Acrobat Reader.
+ Adobe SVG Viewer 3.0.
Cài Đặt
Để cài đặt PSoC Designer, bạn thực hiện qua các bước sau:
90
91
92
Sử dụng IDE
Kiểu file và đuôi mở rộng.
Quản lý dự án.
Thiết lập cho dự án.
Những tùy chọn cho dự án.
Kiểu file và Đuôi Mở Rộng
Khi bạn tạo một dự án mới. một thư mục gốc gốc với 3 thư mục con sẽ
được tạo với thư mục gốc có tên là lên của dự án. Thư mục còn lại là Lib(thư
viện), obj(đối tương), output(các tệp được tạo trong quá trình xây dựng dự án).
Một số định file được sử dụng với phần mềm PSoC Designer: .a, .asm, .c,
.cfg, .dbg, .h, .hex. .inc, .lis, .lst
Hệ thống file của dự án sẽ có dạng như sau:
93
Quản lý dự án
PSoC Designer bao gồm 3 hệ thống con như sau: Device Editor,
Application Editor và Debugger
Dcvice Editor
Bao gồm các menu và thanh công cụ chính, một khung các lựa chọn của
người dùng, một khung sơ đồ khối các module, khung Resource meter, khung
thông số và tính năng của các module đã lựu chọn.
94
Application Editor
Đê chuyển sang Application Editor bạn cách chuột vào
Trong Application Editor bạn có thể nhìn thấy các file của dự án thông qua
cây source, cửa sổ file nguồn đang được mở, cửa sổ trạng thái đầu ra.
95
Debugger
Nếu bạn trong hệ thống con Debugger, bạn sẽ nhìn thấy những cửa sổ hoạt
động như trong trình biên tập ứng dụng cộng với thanh ghi CPU(CPU register),
là RAM/Bank/Flash thanh ghi dữ liệu. và nhiều cửa số biến quan sát(watch
variable).
96
Thiết Lập Cho Dự Án
Trong hộp thoại Project Settings bạn có lhê thay dổi những đặc tính trình
biên dịch PSoC Designer C.
Thẻ Compiler.
Thẻ Device Editor.
Thẻ Linker.
Thẻ Debugger.
97
Thẻ Compiler
Trong thẻ này bạn có thể lựa chọn trình biên dịch C, định nghĩa Macro, tối
ưu hóa tốc độ cho những hàm toán học, tố ưu hóa luồng dữ liệu trình biên dịch ,
phân trang RAM, nén mã.
Cho phép diều chính các ngắt phát sinh của mỗi module.
Lựa chọn kiểu cấu hình khởi tạo (Loop/direct write).
98
Thẻ Linker
Với trình biên dịch C đã chọn ở thẻ Compiler bạn có thể xác định lại ví trí
vùng văn bản, liên kết mã nguồn từ các project khác, thêm các thư viện khác.
ICE Debugger
Thiết đặt cổng gỡ lỗi, những cổng nào đã được kết nối thì sẽ được liệt kê
trong trường.
ICE connêctd to
99
Bạn sẽ phải thay đổi cổng mặc định, LTP1, nếu ICE xung đột với một máy
in hay cổng khác của một thiết bị độc lập nào đó hoặc nếu bạn đã cài đặt một
card mở rộng PCI/PCMClA
Các Tùy Chọn
Builder
Compiler
Debugger
Device Editor
Editor
Toolbars
Desgin Rule Checker
Builder
Dấu kiểm Use verbose build message để nhận các thông điệp lỗi đã dự
báo trước, lịch chọn để kích hoạt khả năng này.
100
Compiler
Lựa chọn trình biên dịch.
Nhập thông tin bản quyền sử dụng của người dùng
Quy định sử dụng phần mềm.
101
Debugger
- Các thiết dặt dể tìm lỗi với 3 lựa chọn
+ PC
+ PC/ thanh ghi
+ PC/ Timestamp
Device Editor
Thiết đặt công gỡ lỗi .
Device Editor
Thiết đặt cho Design Rule Checker được thực thi tự động hay không.
Chọ phép điều hướng các thông tin.
Editor
Thiết đặt các tùy chọn về lưu trữ của project. Cho phép tự động load các
file nguồn, thư viện hay không.
Thiết đặt về cửa sổ làm việc khi project được load.
Toobars
Lựa chọn các cổng mà bạn muốn hiển thị hay ẩn đi.
Build MiniBar
Debug MiniBar
Device Editor Minibar
102
User Module Minibar
Download Minibar
Standard
SubSystem Minibar
Text Editor MiniBar
Design Rule Checker
Chỉ định cấp độ để thực thi Design Rule Checker
Mức thang từ 1 đến 5.
Cấp độ càng nhỏ thì càng có quy tắc nghiêm ngặt
Tạo Một Project
Tạo project.
103
Các phương thức để tạo projecl.
Thư mục sao lưu project.
PSoC Designer cung cấp một thuật sĩ để chỉ dẫn bạn tạo một project.
1. Click vào New project
2. Lựa chọn phương thức để tạo
1. Create New Project
2. Clone Project
3. Create Design-Based Project
3.Đặt tên cho project mới và xác định vùng lưu trữ
4.Cách Next.
5.Lựa chọn chíp để sử dụng.
6.Lựa chọn ngôn ngữ đế lập trình
Tạo Project theo cách thông thường.
Tạo project theo một project đã có sẵn
Tạo project với những thiết kế cơ sở
Thư Mục Sao Lưu Project
PsoC Designer luôn duy trì một thư mục sao lưu dự phòng cho project
trong thư mục của project với những file đã được chuyển đến bên trong cây
nguồn.
Lưu lại những file với phiên bản mới nhất, được lưu lần cuối cùng.
Để tìm hiểu kỹ hơn nữa về PSoC chúng ta có thể tham khảo một số tài liệu
trên Internet và một số quyển sách giới thiệu trong phần tài liệu.
104
TÀI LIỆU THAM KHẢO
[1] 8-bit Microcontroller with 8K Bytes In-system Programmable Flash
AT90S8535 AT90LS8535
[2] 8-bit Microcontroller with 2K Bytes Flash AT89C2051
[3] 8-bit Microcontroller with 4K Bytes Flash AT89C51
[4] 8-bit Microcontroller with 20K Bytes Flash AT89C55WD
[5] Automotive CY8C29466 and CY8C29666
[6] FlashFlex51 MCU SST89C54/ SST89C58
[7] PSoC Designer PSoC Programmer User Guide
[8] PSoC Designer C Language Compiler User Guide
[9] PSoC Designer Assembly Language User Guide
[10] PSoC Designer ICE User Guide
[11] Ngô Diên Tập, Họ vi điều khiển AVR
[12] Tống Văn On, Họ vi điều khiển 8051
105
Các file đính kèm theo tài liệu này:
- vixuly_2_5572.pdf