1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Kiến trúc cơ bản của STM32 ARM Cortex m3

112 2,6K 17

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 112
Dung lượng 2,78 MB

Nội dung

Kiến trúc cơ bản của STM32 ARM cortex m3 1.1 Cortex là gì?1.2 Một vài đặt điểm nổi bật của STM32 1.2.1 Sự tinh vi 1.2.2 Sự an toàn1.2.3 Tính bảo mật 1.2.4 Phát triển phần mềm .1.2.5 Dòng Performance và Access của STM322.Tổng quan về Cortex2.1 Các phiên bản kiến trúc ARM2.2 Bộ xử lý Core và đơn vị xử lý trung tâm2.3 Đơn vị xử lý trung tâ Cortex2.4 Bộ xử lý Cortex2.5 Các chế dộ năng lượng3. Phần cứng cơ bản cho một thiết kế thực tế4. Kiến trúc hệ thống của ARM Cortex5. Ngoại vi6. Chế độ tiêu thụ năng lượng thấp7. Tính an toàn8. Flash9. Công cụ phát triển

Kiến trúc cơ bản của SMT32 - ARM Cortex M3 www.arm.vn Trang 1 Author: ARMVN Kiến trúc cơ bản của STM32_ARM Cortex M3 ARM Vietnam 3/18/2010 Kiến trúc cơ bản của SMT32 - ARM Cortex M3 www.arm.vn Trang 2 Author: ARMVN Mục Lục Mục Lục 1 Chương 1 6 GIỚI THIỆU 6 1.1 Cortex là gì? 6 1.2 Một vài ñặc ñiểm nổi bật của STM32 9 1.2.1 Sự tinh vi 10 1.2.2 Sự an toàn 11 1.2.3 Tính bảo mật 11 1.2.4 Phát triển phần mềm 12 1.2.5 Dòng Performance và Access của STM32 12 Chương 2 14 TỔNG QUAN VỀ CORTEX 14 2.1 Các phiên bản kiến trúc ARM 14 2.2 Bộ xử lí Cortex và ñơn vị xử lí trung tâm Cortex 15 2.3 Đơn vị xử lí trung tâm Cortex (Cortex CPU) 15 2.3.1 Kiến trúc ñường ống (Pipline) 15 2.3.2 Mô hình lập trình (Programmer’s model) 16 2.3.2.1 Thanh ghi XPSR 18 2.3.3 Các chế ñộ hoạt ñộng của CPU 19 2.3.4 Tập lệnh Thumb-2 21 2.3.5 Bản ñồ bộ nhớ (Memory Map) 22 2.3.6 Truy cập bộ nhớ không xếp hàng (Unaligned Memory Accesses) 24 2.3.7 Dải Bit (Bit Banding) 25 2.4 Bộ xử lí Cortex 28 2.4.1 Bus 28 2.4.2 Ma trận Bus 29 2.4.3 Timer hệ thống (System timer) 29 2.4.4 Xử lí ngắt (Interrupt Handling) 30 2.4.5 Bộ ñiều khiển vector ngắt lồng nhau (Nested Vector Interrupt Controller) 30 2.4.5.1 Phương pháp nhập và thoát khỏi một ngoại lệ của NVIC (NVIC Operation Exception Entry And Exit) 32 2.4.5.2 Các chế ñộ xử lí ngắt cao cấp (Advanced Interrupt Handling Modes) 33 2.4.5.2.1 Quyền ưu tiên ngắt (Interrupt Pre-emption) 33 2.4.5.2.2 Kỹ thuật Tail Chaining trong NVIC 34 2.4.5.3 Cấu hình và sử dụng NVIC 35 2.4.5.3.1 Bảng vector ngắt (Exception Vector Table) 35 2.5 Các chế ñộ năng lượng 40 2.5.1 Cách ñi vào chế ñộ năng lượng thấp của CPU Cortex 40 Kiến trúc cơ bản của SMT32 - ARM Cortex M3 www.arm.vn Trang 3 Author: ARMVN 2.5.2 Khối hỗ trợ gỡ lỗi CoreSight 42 Chương 3 45 PHẦN CỨNG CƠ BẢN CHO MỘT THIẾT KẾ THỰC TẾ 45 3.1 Kiểu ñóng gói chip và kiểu chân linh kiện 45 3.3.1 Sơ ñồ mạch phần cứng cơ bản 47 Chương 4 48 KIẾN TRÚC HỆ THỐNG CỦA ARM CORTEX 48 4.1 Cấu trúc bộ nhớ 49 4.2 Tối ña hiệu năng 50 4.2.1 Vòng Khóa Pha(Phase Lock Loop) 51 4.2.1.1 Cấu hình cho bus 53 4.2.2 Flash Buffer 54 4.2.3 Direct Memory Access 55 Chương 5 61 NGOẠI VI 61 5.1 Ngoại vi ña dụng 61 5.1.1 Các cổng I/O ña dụng 61 5.1.1.1 Chức năng thay thế(Alternate Function) 63 5.1.1.2 Event Out 64 5.1.2. Ngắt ngoại(EXTI) 64 5.1.3 ADC 66 5.1.3.1 Thời gian chuyển ñổi và nhóm chuyển ñổi 66 5.1.3.2 Analogue WatchDog 69 5.1.3.3 Cấu hình ADC 69 5.1.3.4. Dual mode 71 5.3.1.4.1. Cả hai khối ADC cùng hoạt ñộng ở cùng chế ñộ Regular hoặc Injected 71 5.3.1.4.2. Cả hai khối cùng hoạt ñộng ở 2 chế ñộ Regular và Injected xen kẽ 72 5.3.1.4.3. Hoạt ñộng xen kẽ nhanh và chậm Regular 72 5.3.1.4.4. Chế ñộ kích hoạt thay thế 73 5.3.1.4.5. Kết hợp ñồng bộ hóa Regular và kích hoạt thay thế 73 5.3.1.4.6. Kết hợp ñồng bộ hóa Injected và xen kẽ Regular 73 5.1.4. Bộ ñịnh thời ña nhiệm và nâng cao 74 5.1.4.1. Bộ ñịnh thời ña nhiệm 74 5.1.4.1.1 Khối Capture/Compare 75 5.1.4.1.2 Khối Capture 75 5.1.4.1.3 Chế ñộ PWM Input 76 5.1.4.1.5 Chế ñộ One Pulse 78 5.1.4.3 Đồng bộ hoá các bộ ñịnh thời 78 5.1.5 RTC và các thanh ghi Backup 79 5.2 Kết nối với các giao tiếp khác 80 Kiến trúc cơ bản của SMT32 - ARM Cortex M3 www.arm.vn Trang 4 Author: ARMVN 5.2.1 SPI 80 5.2.2 I2C 82 5.2.3 USART 83 5.2.4 CAN 85 5.2.5 USB 88 Chương 6 89 CHẾ ĐỘ TIÊU THỤ NĂNG LƯỢNG THẤP 89 6.1 Chế ñộ bình thường - RUN mode 89 6.1.1 Chế ñộ Half-cycle và Prefetch-buffer 90 6.2. Các chế ñộ sử dụng công suất tiêu thụ thấp 91 6.2.1. SLEEP 91 6.2.2 STOP Mode 92 6.3 Standby 94 6.4. Sự tiêu thụ công suất của nguồn dự phòng (Backup Region Power Consumption) 96 6.5 Hỗ trợ Debug (Debug Support) 96 Chương 7 97 TÍNH AN TOÀN 97 7.1 Reset Control 97 7.2 Kiểm tra ñiện áp nguồn 99 7.3 Hệ thống an toàn xung nhịp (Clock Security System - CSS) 99 7.4 Watchdogs 100 7.4.1 Windowed Watchdog 101 7.4.2 Independent Watchdog 102 7.5 Tính năng ngoại vi 104 7.5.1 GPIO Port Locking (khóa port GPIO) 104 7.5.2 Analog Watchdog 104 7.5.3 Break Input 104 Chương 8: 105 FLASH 105 8.1 Lập trình và ñảm bảo an toàn cho FLASH nội 105 8.2 Hoạt ñộng xóa và ghi 106 8.3 Các byte Option (Option Bytes) 107 8.3.1 Bảo vệ ghi 107 8.3.2 Bảo vệ ñọc 107 8.3.3 Byte Cấu hình 108 Chương 9: 109 CÔNG CỤ PHÁT TRIỂN 109 9.1 Evaluation Tools 110 Kiến trúc cơ bản của SMT32 - ARM Cortex M3 www.arm.vn Trang 5 Author: ARMVN 9.2 Các thư viện và giao thức 110 9.3 Hệ ñiều hành thời gian thực 111 Kiến trúc cơ bản của SMT32 - ARM Cortex M3 www.arm.vn Trang 6 Author: ARMVN Chương 1 GIỚI THIỆU Trong vài năm trở lại ñây, một trong những xu hướng chủ yếu trong các thiết kế với vi ñiều khiển là sử dụng các chip ARM7 và ARM9 như một vi ñiều khiển ña dụng. Ngày nay các nhà sản xuất IC ñựa ra thị trường hơn 240 dòng vi ñiều khiển sử dụng lõi ARM. Tập ñoàn ST Microelectronic vừa cho ra mắt dòng STM32, vi ñiều khiển ñầu tiên dựa trên nền lõi ARM Cortex-M3 thế hệ mới do hãng ARM thiết kế, lõi ARM Cortex-M3 là sự cải tiến của lõi ARM7 truyền thống, từng mang lại sự thành công vang dội cho công ty ARM. Dòng STM32 thiết lập các tiêu chuẩn mới về hiệu suất, chi phí, cũng như khả năng ñáp ứng các ứng dụng tiêu thụ năng lượng thấp và tính ñiều khiển thời gian thực khắc khe. 1.1 Cortex là gì? Dòng ARM Cortex là một bộ xử lí thế hệ mới ñưa ra một kiến trúc chuẩn cho nhu cầu ña dạng về công nghệ. Không giống như các chip ARM khác, dòng Cortexk là một lõi xử lí hoàn thiện, ñưa ra một chuẩn CPU và kiến trúc hệ thống chung. Dòng Cortex gồm có 3 phân nhánh chính: dòng A dành cho các ứng dụng cao cấp, dòng R dành cho các ứng dụng thời gian thực như các ñầu ñọc và dòng M dành cho các ứng dụng vi ñiều khiển và chi phí thấp. STM32 ñược thiết kế dựa trên dòng Cortex-M3, dòng Cortex-M3 ñược thiết kế ñặc biệt ñể nâng cao hiệu suất hệ thống, kết hợp với tiêu thụ năng lượng thấp, Cortex- M3 ñược thiết kế trên nền kiến trúc mới, do ñó chi phí sản xuất ñủ thấp ñể cạnh tranh với các dòng vi ñiều khiển 8 và 16-bit truyền thống. Các chip ARM7 và ARM9 ñược các nhà sản xuất bán dẫn thiết kế với giải pháp riêng của mình, ñặc biệt là phần xử lí các các ngắt ñặc biệt (exception) và các ngắt thông thường (interrupt). Cortex-M3 ñưa ra một lõi vi ñiều khiển chuẩn nhằm cung cấp phần tổng quát, quan trọng nhất của một vi ñiều khiển, Kiến trúc cơ bản của SMT32 - ARM Cortex M3 www.arm.vn Trang 7 Author: ARMVN bao gồm hệ thống ngắt (interrupt system), SysTick timer (ñược thiết kế cho hệ ñiều hành thời gian thực), hệ thống kiểm lỗi (debug system) và memory map. Không gian ñịa chỉ 4Gbyte của Cortex-M3 ñược chia thành các vùng cho mã chương trình, SRAM, ngoại vi và ngoại vi hệ thống. Không giống với ARM7 ñược thiết kế theo kiến trúc Von Neumann (bộ nhớ chương trình và bộ nhớ dữ liệu chung với nhau), Cortex-M3 ñược thiết kế dựa theo kiến trúc Harvard (bộ nhớ chương trình và bộ nhớ dữ liệu tách biệt với nhau), và có nhiều bus cho phép thực hiện các thao tác song song với nhau, do ñó làm tăng hiệu suất của chip. Không giống với các kiến trúc ARM trước ñó, dòng Cortex cho phép truy cập dữ liệu không xếp hàng (unaligned data, vì chip ARM là kiến trúc 32bit, do ñó tất cả các dữ liệu hoặc mã chương trình ñều ñược sắp sếp khít với vùng bộ nhớ là bội số của 4byte). Đặc ñiểm này cho phép sử dụng hiệu quả SRAM nội. Dòng Cortex còn hỗ trợ việc ñặt và xoá các bit bên trong hai vùng 1Mbyte của bộ nhớ bằng phương pháp gọi là bit banding. Đặc ñiểm này cho phép truy cập hiệu quả tới các thanh ghi ngoại vi và các cờ ñược dùng trên bộ nhớ SRAM mà không cần một bộ xử lí luận lí (Boolean processor). Hình 1.1. Kiến trúc vi xử lí ARM Cortex-M3 Kiến trúc cơ bản của SMT32 - ARM Cortex M3 www.arm.vn Trang 8 Author: ARMVN Khối trung tâm của STM32 là bộ xử lí Cortex-M3. Bộ xử lí Cortex-M3 là một vi ñiều khiển ñược tiêu chuẩn hoá gồm một CPU 32bit, cấu trúc bus (bus structure), ñơn vị xử lí ngắt có hỗ trợ tính năng lồng ngắt vào nhau (nested interrupt unit), hệ thống kiểm lỗi (debug system) và tiêu chuẩn bố trí bộ nhớ (standard memory layout). Một trong những thành phần chính của lõi Cortex-M3 là NVIC (Nested Vector Interrupt Controller). NVIC cung cấp một cấu trúc ngắt chuẩn cho tất cả các vi ñiều khiển ñược thiết kế dựa trên lõi Cortex và cách xử lí các ngắt ñặc biệt (exceptional interrupt). NVIC cung cấp các vector ngắt chuyên dụng lên tới 240 nguồn ngắt từ ngoại vi, mỗi nguồn ngắt ñó có thể ñược ưu tiên hoá với các mức riêng biệt. NVIC ñược thiết kế ñể xử lí các ngắt ñòi hỏi thời gian ñáp ứng cực kì nhanh (extremely fast interrupt). Thời gian từ lúc nhận một tín hiệu ngắt cho tới khi thực thi dòng lệnh ñầu tiên trong trình phục vụ ngắt chỉ là 12 chu kì xung nhịp. Công việc này ñược thực hiện tự ñộng bởi một vi chuong trình (microcode) ñược cài sẵn trong CPU. Trong trường hợp xuất hiện các interrupt lồng nhau (tức là xảy ra ngắt khi ñang xử lí ngắt trước ñó), NVIC sử dụng một phương thức gọi là “tail chain” cho phép ngắt liên tiếp ñược phục vụ với ñộ trễ chỉ có 6 chu kì xung nhịp. Trong suốt giai ñoạn lưu trữ dữ liệu lên vùng nhớ stack ñể bắt ñầu thực thi chương trình phục vụ ngắt, một ngắt có mức ưu tiên cao hơn ngắt hiện tại có thể cạnh tranh với (pre-empt) ngắt hiện tại mà không chịu bất kì trì hoãn nào. Cấu trúc ngắt cũng ñi kèm với chế ñộ tiết kiệm năng lượng của trong lõi Cortex-M3. CPU có thể ñược cấu hình tự ñộng vào chế ñộ tiết kiệm năng lượng sau khi thoát khỏi ngắt. Sau ñó lõi tiếp tục ngủ cho ñến khi một exception (ngắt ñặc biệt) xuất hiện. Mặc dù Cortex-M3 ñược thiết kế như là một lõi chi phí thấp (low cost core), nhưng nó vẫn là một CPU 32-bit và vẫn hỗ trợ hai chế ñộ hoạt ñộng: Thread và Handler, mỗi chế ñộ có thể ñược cấu hình với mỗi vùng stack riêng biệt của nó, ñiều này cho phép thiết kế các phần mềm phức tạp và hỗ trợ các hệ diều Kiến trúc cơ bản của SMT32 - ARM Cortex M3 www.arm.vn Trang 9 Author: ARMVN hành thời gian thực. Lõi Cortex có hỗ trợ một timer 24-bit tự ñộng nạp lại giá trị, nó sẽ cung cấp một ngắt timer ñều ñặn cho một nhận RTOS (Real Time Operating System). Các chip ARM7 vả ARM9 có hai tập lệnh (tập lệnh ARM 32-bit và tập lệnh Thumb 16-bit), trong khi ñó dòng Cortex ñược thiết kế hỗ trợ tập lệnh ARM Thumb-2, tập lệnh này ñược pha trộn giữa tập lệnh 16 và 32- bit, nhằm ñạt ñược hiệu suất cao của của tập lệnh ARM 32-bit với mật ñộ mã chương trình tối ưu của tập lệnh Thumb 16-bit. Tập lệnh Thumb-2 ñược thiết kế ñặc biệt dành cho trình biên dịch C/C++, tức là các ứng dụng dựa trên nền Cortex hoàn toàn có thể ñược viết bằng ngôn ngữ C mà không cần ñến chương trình khởi ñộng viết bằng assembler như ARM7 và ARM9. 1.2 Một vài ñặc ñiểm nổi bật của STM32 ST ñã ñưa ra thị trường 4 dòng vi ñiều khiển dựa trên ARM7 và ARM9, nhưng STM32 là một bước tiến quan trọng trên ñường cong chi phí và hiệu suất (price/performance), giá chỉ gần 1 Euro với số lượng lớn, STM32 là sự thách thức thật sự với các vi ñiều khiển 8 và 16-bit truyền thống. STM32 ñầu tiên gồm 14 biến thể khác nhau, ñược phân thành hai nhóm: dòng Performance có tần số hoạt ñộng của CPU lên tới 72Mhz và dòng Access có tần số hoạt ñộng lên tới 36Mhz. Các biến thể STM32 trong hai nhóm này tương thích hoàn toàn về cách bố trí chân (pin) và phần mềm, ñồng thời kích thước bộ nhớ FLASH ROM có thể lên tới 128K và 20K SRAM. Hình 1.2. Kiến trúc của STM32 nhánh Performance và Access Kiến trúc cơ bản của SMT32 - ARM Cortex M3 www.arm.vn Trang 10 Author: ARMVN Dòng STM32 có hai nhành, nhánh Performance hoạt ñộng với xung nhịp lên ñến 72Mhz và có ñầy ñủ các ngoại vi, nhánh Access hoạt ñộng với xung nhịp tối ña 36Mhz và có ít ngoại vi hơn so với nhánh Performance. 1.2.1 Sự tinh vi Thoạt nhìn thì các ngoại vi của STM32 cũng giống như những vi ñiều khiển khác, như hai bộ chuyển ñổi ADC, timer, I2C, SPI, CAN, USB và RTC. Tuy nhiên mỗi ngoại vi trên ñều có rất nhiều ñặc ñiểm thú vị. Ví dụ như bộ ADC 12-bit có tích hợp một cảm biến nhiệt ñộ ñể tự ñộng hiệu chỉnh khi nhiệt ñộ thay ñổi và hỗ trợ nhiều mode chuyển ñổi. Mỗi bộ timer có 4 khối capture compare, mỗi khối timer có thể liên kết với các khối timer khác ñể tạo ra một mảng các timer tinh vi. Một timer cao cấp chuyên hỗ trợ ñiều khiển ñộng cơ, với 6 ñầu ra PWM với dead time lập trình ñược và một ñường break input sẽ buộc tín hiệu PWM sang một trạng thái an toàn ñã ñược cài sẵn. Ngoại vi nối tiếp SPI có một khối kiểm tổng CRC bằng phần cứng cho 8 và 16 word hỗ trợ tích cực cho giao tiếp thẻ nhớ SD hoặc MMC. STM32 có hỗ trợ thêm 7 kênh DMA (Direct Memory Access). Mỗi kênh có thể ñược dùng ñể truyền dữ liệu ñến các thanh ghi ngoại vi hoặc từ các thanh ghi ngoại vi ñi với kích thước từ (word) dữ liệu truyền ñi có thể là 8/16 hoặc 32-bit. Mỗi ngoại vi có thể có một bộ ñiều khiển DMA (DMA controller) ñi kèm dùng ñể gửi hoặc ñòi hỏi dữ liệu như yêu cầu. Một bộ phân xử bus nội (bus arbiter) và ma trận bus (bus matrix) tối thiểu hoá sự tranh chấp bus giữa truy cập dữ liệu thông qua CPU (CPU data access) và các kênh DMA. Điều ñó cho phép các ñơn vị DMA hoạt ñộng linh hoạt, dễ dùng và tự ñộng ñiều khiển các luồng dữ liệu bên trong vi ñiều khiển. STM32 là một vi ñiều khiển tiêu thụ năng lượng thấp và ñạt hiệu suất cao. Nó có thể hoạt ñộng ở ñiện áp 2V, chạy ở tần số 72MHz và dòng tiêu thụ chỉ có 36mA với tất cả các khối bên trong vi ñiều khiển ñều ñược hoạt ñộng. Kết hợp với các chế ñộ tiết kiệm năng lượng của Cortex, STM32 chỉ tiêu thụ 2µA khi ở [...]... Author: ARMVN Ki n trúc cơ b n c a SMT32 - ARM Cortex M3 www .arm. vn Hình 2.1 Các phiên b n ki n trúc c a lõi ARM Các tài li u hư ng d n k thu t cho Cortex- M3 và ki n trúc ARMv7-M có th ư c t i v t website c a ARM t i www .arm. com 2.2 B x lí Cortex và ơn v x lí trung tâm Cortex Trong su t ph n còn l i c a tài li u này, các thu t ng b x lí Cortex (Cortex processor) và ơn v x lí trung tâm Cortex (Cortex. .. nh Thumb-2 Con s n m cu i tên Cortex cho bi t m c hi u su t tương i, v i 1 là th p nh t và 8 là cao nh t Hi n nay dòng Cortex- M có m c hi u su t cao nh t là m c 3 STM32 d a trên b x lý Cortex- M3 2.1 Các phiên b n ki n trúc ARM Tính n th i i m hi n t i thì phiên b n ki n trúc m i nh t c a lõi ARM là ARMv7 (Trư c ó có ARMv4, ARMv5, ARMv6) B x lý Cortex- M3 d a trên ki n trúc ARMv7 M và có kh năng th c hi... hơn 2.3.1 Ki n trúc ư ng ng (Pipline) Trang 15 Author: ARMVN Ki n trúc cơ b n c a SMT32 - ARM Cortex M3 www .arm. vn CPU Cortex có th th c thi h u h t các l nh trong m t chu kì ơn Gi ng như CPU c a ARM7 và ARM9 , vi c th c thi này t ng Tuy nhiên Cortex- M3 kh năng d t ư c v i m t ư ng ng ba oán vi c r nhánh gi m thi u s l n làm r ng (flush) ư ng ng Hình 2.2 Ki n trúc ư ng ng c a ARM Cortex- M3 Trong khi m... trong h STM32 Trang 13 Author: ARMVN Ki n trúc cơ b n c a SMT32 - ARM Cortex M3 www .arm. vn Chương 2 T NG QUAN V CORTEX Như chúng ta ã th y trong ph n gi i thi u, b x lý Cortex là th h lõi nhúng k ti p t ARM Cortex th a k các ưu i m t các b x lí ARM trư c ó, nó là m t lõi x lý hoàn ch nh, bao g m b x lí trung tâm Cortex và m t h th ng các thi t b ngo i vi xung quanh, Cortex cung c p ph n x lí trung... các bi n ư c s d ng) Hình 2.7 Kh năng truy c p b nh không x p hàng c a b x lí Cortex- M3 so v i các phiên b n CPU ARM trư c ó B x lí Cortex- M3 có th truy c p b nh không x p hàng, vi c ó mb o r ng SRAM ư c s d ng m t cách hi u qu Trang 24 Author: ARMVN Ki n trúc cơ b n c a SMT32 - ARM Cortex M3 CPU Cortex có các ch nh www .arm. vn a ch cho word, half word và byte, nhưng có th truy c p b nh không x p hàng... B x lý Cortex- M3 là m t lõi vi i u khi n ư c tiêu chu n hóa, như v y nó có m t b n b nh cũng ư c xác nh này là m t không gian nh M c dù có nhi u bus n i, b n a ch 4 Gbyte tuy n tính B n b b nh này là chung cho t t c các thi t b d a trên lõi Cortex Trang 22 Author: ARMVN Ki n trúc cơ b n c a SMT32 - ARM Cortex M3 Hình 2.6 B n M t Gbyte b nh www .arm. vn b nh tuy n tính 4Gbyte c a b x lí Cortex- M3 u tiên... (Exception Vector Table) B ng vector ng t c a Cortex b t b ng vector b t ut i u dư i cùng c a b ng a ch Tuy nhiên a ch 0x00000004 thay vì là 0x00000000 như ARM7 Trang 35 Author: ARMVN Ki n trúc cơ b n c a SMT32 - ARM Cortex M3 u tiên ư c s d ng và ARM9 , b n byte www .arm. vn lưu tr a ch b t u c a con tr ngăn x p (stack pointer) Hình 2.17 B ng vector ng t c a Cortex- M3 M i vector ng t có r ng là b n byte và... thi t b ngo i a ch theo bit, s d ng m t k vi ngư i dùng (user peripherals) trên STM32 ư c các v trí b nh c a nh ng vùng này trên STM32 theo word-wide ho c bitwise Không gian Trang 23 t t i vùng này, và t t c u có th ư c thao tác a ch 2 Gbyte ti p theo ư c phân Author: ARMVN Ki n trúc cơ b n c a SMT32 - ARM Cortex M3 www .arm. vn cho b nh ngoài - ánh x SRAM và thi t b ngo i vi (external RAM và external... mã so v i t p l nh ARM 32-bit và 25% hi u su t so v i t p l nh Thumb 16-bit T p l nh Thumb2 có m t s l nh nhân ư c c i ti n, có th th c hi n trong m t chu kì ơn và kh năng th c hi n phép chia b ng ph n c ng và ch m t t 2-7 chu kỳ Trang 21 Author: ARMVN Ki n trúc cơ b n c a SMT32 - ARM Cortex M3 Hình 2.6 www .arm. vn th bi u di n hi u năng c a b x lí Cortex i m chu n b x lý Cortex (Cortex processor benchmark)... 240 ư ng tín hi u ng t bên ngoài và có th ư c k t n i v i ngo i vi ngư i dùng Ngoài ra còn có thêm 15 ngu n ng t bên trong lõi Cortex, ư c s d ng x lý các ng t n i ngo i l trong lõi Cortex B Trang 31 Author: ARMVN Ki n trúc cơ b n c a SMT32 - ARM Cortex M3 www .arm. vn NVIC c a STM32 ư c t ng h p v i t i a là 43 ư ng ng t che m t n (maskable interrupt lines) 2.4.5.1 Phương pháp nh p và thoát kh i m t ngo . Kiến trúc cơ bản của SMT32 - ARM Cortex M3 www.arm.vn Trang 1 Author: ARMVN Kiến trúc cơ bản của STM32_ARM Cortex M3 ARM Vietnam 3/18/2010 Kiến trúc. như hình bên dưới. Kiến trúc cơ bản của SMT32 - ARM Cortex M3 www.arm.vn Trang 13 Author: ARMVN Hình 1.3. Đặc ñiểm của bốn nhánh trong họ STM32 Kiến trúc cơ bản của SMT32 - ARM Cortex. Thumb-2. Kiến trúc cơ bản của SMT32 - ARM Cortex M3 www.arm.vn Trang 15 Author: ARMVN Hình 2.1. Các phiên bản kiến trúc của lõi ARM Các tài liệu hướng dẫn kỹ thuật cho Cortex-M3 và kiến trúc

Ngày đăng: 11/07/2014, 22:33

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Kiến trúc vi xử lí ARM Cortex-M3 - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 1.1. Kiến trúc vi xử lí ARM Cortex-M3 (Trang 7)
Hình 1.2. Kiến trúc của STM32 nhánh Performance và Access - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 1.2. Kiến trúc của STM32 nhánh Performance và Access (Trang 9)
Hỡnh 1.3. Đặc ủiểm của bốn nhỏnh trong họ STM32 - Kiến trúc cơ bản của STM32 ARM Cortex m3
nh 1.3. Đặc ủiểm của bốn nhỏnh trong họ STM32 (Trang 13)
Hỡnh 2.1. Cỏc phiờn bản kiến trỳc của lừi ARM - Kiến trúc cơ bản của STM32 ARM Cortex m3
nh 2.1. Cỏc phiờn bản kiến trỳc của lừi ARM (Trang 15)
Hỡnh 2.2. Kiến trỳc ủường ống của ARM Cortex-M3 - Kiến trúc cơ bản của STM32 ARM Cortex m3
nh 2.2. Kiến trỳc ủường ống của ARM Cortex-M3 (Trang 16)
Hình 2.3. Kiến trúc load và store của ARM Cortex-M3 - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 2.3. Kiến trúc load và store của ARM Cortex-M3 (Trang 17)
Hình 2.3. Mô hình lập trình của ARM Cortex-M3 - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 2.3. Mô hình lập trình của ARM Cortex-M3 (Trang 18)
Hỡnh 2.5. Mụ hỡnh hoạt ủộng của chế ủộ Thread và Handler - Kiến trúc cơ bản của STM32 ARM Cortex m3
nh 2.5. Mụ hỡnh hoạt ủộng của chế ủộ Thread và Handler (Trang 20)
Hình 2.6. Đồ thị biểu diễn hiệu năng của bộ xử lí Cortex - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 2.6. Đồ thị biểu diễn hiệu năng của bộ xử lí Cortex (Trang 22)
Hỡnh 2.6. Bản ủồ bộ nhớ tuyến tớnh 4Gbyte của bộ xử lớ Cortex-M3 - Kiến trúc cơ bản của STM32 ARM Cortex m3
nh 2.6. Bản ủồ bộ nhớ tuyến tớnh 4Gbyte của bộ xử lớ Cortex-M3 (Trang 23)
Hình 2.7. Khả năng truy cập bộ nhớ không xếp hàng của bộ xử lí Cortex-M3 so với các phiên  bản CPU ARM trước ủú - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 2.7. Khả năng truy cập bộ nhớ không xếp hàng của bộ xử lí Cortex-M3 so với các phiên bản CPU ARM trước ủú (Trang 24)
Hỡnh 2.8. Thao tỏc ủọc sửa ủổi ghi của CPU ARM7 và ARM9 và kĩ thuật dải Bit của bộ xử lớ  Cortex-M3 - Kiến trúc cơ bản của STM32 ARM Cortex m3
nh 2.8. Thao tỏc ủọc sửa ủổi ghi của CPU ARM7 và ARM9 và kĩ thuật dải Bit của bộ xử lớ Cortex-M3 (Trang 25)
Hình 2.9. Dải Bit của vùng bộ nhớ SRAM và các ngoại vi - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 2.9. Dải Bit của vùng bộ nhớ SRAM và các ngoại vi (Trang 26)
Hỡnh 2.10. Cỏc thanh ghi trạng thỏi và ủiều khiển của SysTick - Kiến trúc cơ bản của STM32 ARM Cortex m3
nh 2.10. Cỏc thanh ghi trạng thỏi và ủiều khiển của SysTick (Trang 29)
Hình 2.11. Cấu trúc của NVIC trong bộ xử lí Cortex - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 2.11. Cấu trúc của NVIC trong bộ xử lí Cortex (Trang 31)
Hỡnh 2.12. Stack frame trong chế ủộ ngắt - Kiến trúc cơ bản của STM32 ARM Cortex m3
nh 2.12. Stack frame trong chế ủộ ngắt (Trang 32)
Hình 2.13. Đáp ứng thời gian khi một ngắt bất kì xảy ra của Cortex-M3 - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 2.13. Đáp ứng thời gian khi một ngắt bất kì xảy ra của Cortex-M3 (Trang 33)
Hỡnh 2.14. Đỏp ứng thời gian khi hai ngắt xảy ra ủồng thời của Cortex-M3 - Kiến trúc cơ bản của STM32 ARM Cortex m3
nh 2.14. Đỏp ứng thời gian khi hai ngắt xảy ra ủồng thời của Cortex-M3 (Trang 34)
Hình 2.15. Đáp ứng thời gian khi hai ngắt xảy ra lần lượt của Cortex-M3 - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 2.15. Đáp ứng thời gian khi hai ngắt xảy ra lần lượt của Cortex-M3 (Trang 35)
Hỡnh 2.16. Đỏp ứng thời gian khi ngắt ưu tiờn cao ủến sau của Cortex-M3 - Kiến trúc cơ bản của STM32 ARM Cortex m3
nh 2.16. Đỏp ứng thời gian khi ngắt ưu tiờn cao ủến sau của Cortex-M3 (Trang 35)
Hình 2.17. Bảng vector ngắt của Cortex-M3 - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 2.17. Bảng vector ngắt của Cortex-M3 (Trang 36)
Hình 2.19. Cấu hình ngắt cho thiết bị ngoại vi - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 2.19. Cấu hình ngắt cho thiết bị ngoại vi (Trang 38)
Hình 2.21. Cấu hình mức ưu tiên thành các group và subgroup - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 2.21. Cấu hình mức ưu tiên thành các group và subgroup (Trang 39)
Hỡnh 2.20. Thanh ghi ủiều khiển reset và ngắt ở mức ứng dụng - Kiến trúc cơ bản của STM32 ARM Cortex m3
nh 2.20. Thanh ghi ủiều khiển reset và ngắt ở mức ứng dụng (Trang 39)
Hình 2.23. Hệ thống gỡ lỗi CoreSight bên trong Cortex - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 2.23. Hệ thống gỡ lỗi CoreSight bên trong Cortex (Trang 43)
Hình 3.1. Các miền năng lượng bên trong STM32 - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 3.1. Các miền năng lượng bên trong STM32 (Trang 46)
Hình 3.2. Cách bố trí tụ chống nhiễu cho STM32 - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 3.2. Cách bố trí tụ chống nhiễu cho STM32 (Trang 46)
Hình 3.4. Phần cứng tối thiểu cho một thiết kế thực tế dựa trên STM32 - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 3.4. Phần cứng tối thiểu cho một thiết kế thực tế dựa trên STM32 (Trang 47)
Hình 3.3. Đặc tính của mạch reset bên trong STM32 - Kiến trúc cơ bản của STM32 ARM Cortex m3
Hình 3.3. Đặc tính của mạch reset bên trong STM32 (Trang 47)
Hỡnh 4.1 STM32 bao gồm 2 bộ tạo xung nhịp nội và 2 bộ tạo xung nhịp ngoại thờm vào ủú là bộ  vòng khóa pha( Phase Lock Loop-PLL) - Kiến trúc cơ bản của STM32 ARM Cortex m3
nh 4.1 STM32 bao gồm 2 bộ tạo xung nhịp nội và 2 bộ tạo xung nhịp ngoại thờm vào ủú là bộ vòng khóa pha( Phase Lock Loop-PLL) (Trang 50)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w