Tài liệu tham khảo hỗ trợ môn vi xử lí các họ vi điều khiển thế hệ mới - Chương 2: Họ vi điều khiển AVR AT90S8535
Bạn đang xem 20 trang mẫu của tài liệu "Tài liệu tham khảo hỗ trợ môn vi xử lí các họ vi điều khiển thế hệ mới - Chương 2: Họ vi điều khiển AVR AT90S8535", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- tai_lieu_tham_khao_ho_tro_mon_vi_xu_li_cac_ho_vi_dieu_khien.pdf
Nội dung text: Tài liệu tham khảo hỗ trợ môn vi xử lí các họ vi điều khiển thế hệ mới - Chương 2: Họ vi điều khiển AVR AT90S8535
- 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ỉ Tên CHỨC NĂNG vào/ra (Địa chỉ SRAM) $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ị Chân Các Khối số Lối vào Lối ra Cột Khối RAM Bộ nhớ PsoC vào/ra số dòng tương tương khối tương tự Flash (lớn nhất) khối số tự tự tương 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
- 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