Chương 1: Tổng Quan. Chương 2: Cơ Sở Lý Thuyết. Chương 3: Thiết Kế và Tính Toán. Chương 4: Thi Công Hệ Thống.
Chương 5: Kết Quả, Nhận Xét, Đánh Giá. Chương 6: Kết Luận. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 3 do an CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ Chương 2.
VI ĐIỀU KHIỂN Vi điều khiển là một hệ thống bao gồm một vi xử lý có giá thành thấp (khác với bộ vi xử lý đa năng dùng trong máy vi tính) kết hợp với các khối ngoại vi như bộ nhớ, các module vào/ra, các module biến đổi số sang tương tự và tương tự sang số,. Còn ở máy tính thì các module thường được xây dựng bởi các chip và mạch ngoài. Vi điều khiển thường được dùng để xây dựng các hệ thống nhúng. Nó xuất hiện khá nhiều trong các thiết bị điện, điện tử, máy giặt, lò vi sóng, điện thoại, đầu đọc DVD, thiết bị đa phương tiện, dây chuyền tự động.
Hiện nay trên thị trường có rất nhiều hãng sản xuất vi điều khiển, mỗi hãng có những dòng sản phẩm danh tiếng của riêng mình. Những sản phẩm đang rất thông dụng trên thị trường là họ vi điều khiển PIC của hãng Microchip, vi điều khiển 8051 của Intel, vi điều khiển AVR của Atmel, Vi điều khiển ARM của Stmicroelectronics, hay kit Arduino được phát triển trên nền tảng chip AVR,. Mỗi dòng sản phẩm đều có những ưu và nhược điểm của riêng chúng. Tuy nhiên nổi bật hơn cả là dòng STM32 của hãng Stmicroelectronics.
Với lõi Cortex M4, nó mang trong mình sức mạnh đáng nể, mức tiêu thụ năng lượng thấp cùng giá thành rất phải chăng so với những vi điều khiển cùng giá của các hãng khác. Những thiết kế của đề tài này đòi hỏi sức mạnh của bộ vi điều khiển mang lại, cũng như mong muốn tối ưu kinh phí khi sử dụng với sức mạnh đó. Vì vậy, nhóm quyết định chọn dòng vi điều khiển này. Bộ xử lý arm Cortex-m4 Cấu trúc ARM (viết tắt từ tên gốc là Acorn RISC Machine) là một loại cấu trúc vi xử lý 32 bit kiểu RISC (viết tắt của Reduced Intruction Set Computer - Máy tính với tập lệnh đơn giản hóa) được sử dụng rộng rãi trong các thiết kế nhúng.
Do có đặc điểm tiết kiệm năng lượng, các bộ CPU ARM chiếm ưu thế trong các sản phẩm điện tử di động, mà với các sản phẩm này việc tiêu tán công suất thấp là một mục tiêu thiết kế quan trọng hàng đầu. Dòng ARM Cortex bao gồm ba cấu hình khác nhau: cấu hình A cho các ứng dụng tinh vi, yêu cầu cao chạy trên các hệ điều hành mở và phức tạp như Linux, Android BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 4 do an CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ được phát triển từ ARM 11. Cấu hình R dành cho các hệ thống thời gian thực,.
phát triển từ ARM 9. Cấu hình M được tối ưu cho các ứng dụng vi điều khiển, cần tiết kiệm chi phí. Bộ vi xử lý Cortex M4 là bộ vi xử lý ARM dựa trên cấu trúc ARM7, thế hệ tiếp theo của Cortex M3 và được thiết kế đặc biệt để đạt được hiệu suất cao trong các ứng dụng nhúng cần tiết kiệm năng lượng và chi phí, chẳng hạn như các vi điều khiển, hệ thống cơ ô tô, hệ thống kiểm soát công nghiệp và hệ thống mạng không dây. Không giống với ARM 7 được thiết kế theo kiến trúc Von Neuman (bộ nhớ chương trình và bộ nhớ dữ liệu chung với nhau), Cortex – M4 đượ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à tăng hiệu suất của chip.
Bộ xử lý Cortex – M4 là thế hệ tiếp theo của bộ xử lý Cortex – M3, sự khác nhau là không nhiều, vậy nên mọi thứ liên quan tới bộ xử lý Cortex M3 vẫn có thể áp dụng vào Cortex M4, cụ thể sự khác nhau đó là: Cortex M4 cung cấp một đơn vị xử lý dấu chấm động tùy chọn trong các tác vụ xử lý toán học và được ký hiệu là M4F. Ngoài ra Cortex M4 cung cấp thêm tùy chọn bộ xử lý tín hiệu DSP, việc này khiến lõi bộ xử lý Cortex M4 có cung cấp thêm khả năng xử lý tùy chọn DSP, và vì M4 có sẵn DSP nên công suất tiêu tán theo một số tài liệu cho thấy nó ít hơn gấp 3 lần so với Cortex M3 khi xử lý DSP không tích hợp.1 So sánh ARM Cortex M3 và M4. Vi điều khiển Cortex M3 & M4 được tiêu chuẩn hóa gồm một CPU 32 bit, 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 & M4 là NIVC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 5 do an CHƯƠNG 3.
TÍNH TOÁN VÀ THIẾT KẾ (Nested Vector Interupt Controller). 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 đó), NIVC 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ó sáu 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 & M4.
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. CPU 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ệ điều hành thời gian thực, lõi Cortex có hỗ trợ 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 bit 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. NVIC interface ARM core ETM interface 32 bit ALU Single cycle 32 bit Hardware divider multiplier NVIC interface NVIC interface Instruction interface Data interface Hình 2.2 Cấu trúc lõi ARM của các dòng ARM Cortex M3 & M4. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 6 do an CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ Configurable ARM core ETM NVIC Seria wire DAP Memory protection unit viewer Data Flash Patch watchpoints Bus matrix SRAM and Code interface peripheral I/F Hình 2.3 Cấu trúc vi điều khiển Cortex M3 & M4.
Stmicroelectronics đã đưa ra thị trường 4 dòng vi điều khiển dựa trên ARM7 và ARM9, nhưng STM32 được đánh giá là một bước tiến quan trọng về chi phí và hiệu suất, 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ỏ: 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 136 Mhz. 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 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. Vi điều khiển stm32f407vet6 và kit stm32f407 discovery a.
Vi điều khiển STM32F407VET6 Vi điều khiển STM32F407VET6 là một loại vi điều khiển lõi Cortex-M4 được tiêu chuẩn hóa gồm một CPU32 bit trên nền tảng ARM với cấu trúc RISC (viết tắt của Reduced Intruction Set Computer – máy tính với tập lệnh đơn giản hóa) được sử dụng rộng rãi trong thiết kế nhúng. Do có đặc điểm tiết kiệm năng lượng, các bộ cpu ARM chiếm ưu thế trong các sản phẩm điện tử di động, mà với các sản phẩm tiêu tán công suất thấp nhằm tiết kiệm pin là một mục tiêu thiết kế hàng đầu. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 7 do an CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ b.
Hệ thống chính bao gồm: Bộ xử lý: - Lõi: CPU ARM 32-bit Cortex – M4 & FPU(bộ xử lý dấu chấm động). - Tần số hoạt động lên tới 168 mhz. - Bộ nhớ được bảo vệ. - Bộ xử lý tín hiệu DSP.
Bộ nhớ: - Bộ nhớ flash lên đến 1Mbyte. - Bộ nhớ SRAM lên đến 192 + 4 Kbyte bao gồm 64 – Kbyte của dữ liệu CCM RAM. - Cung cấp giao diện điều khiển LCD song song với 2 chế độ 8080 /6800. - Xung đồng hồ, reset và nguồn hỗ trợ.
- Cung cấp cho các ứng dụng từ các ngõ I/O với điện áp từ 1.6V - Tần số dao động từ bộ dao động từ 3 đến 26 mhz. - Bộ dao động nội với tần số 16mhz. - Bộ dao động cung cấp 32khz cho real time clock với bộ hiệu chỉnh. - Bộ dao động nội RC với tần số 16khz đi cùng với bộ hiệu chỉnh.
- Chế độ tiết kiệm năng lượng. - Bao gồm chế độ ngủ, dừng và chờ. - Cung cấp pin V-BAT hỗ trợ cho bộ RTC, 20x32 Bit thanh ghi và 4KB SRAM. Timers: - Hỗ trợ lên đến 17 timers.
- Giao diện gỡ lỗi SWD và JTAG. Cổng GPIO: BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 8 do an CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ - Hỗ trợ lên đến 140 cổng I/O với khả năng ngắt. - Hỗ trợ 136 cổng I/O với tần số nhanh 84mhz.
- Hộ trợ 138 cổng I/O với mức cung cấp áp tối đa 5V. Giao tiếp: - Hỗ trợ 3 bộ giao tiếp I2C (smbus/pmbus). - Hỗ trợ tối đa 4 giao diện uarts/2 uarts. - Hỗ trợ 3 giao diện SPI.
- Giao diện 2 x CAN. - Giao diện SDIO.