Luận văn Thiết kế, thi công hộp điều khiển các thiết bị điện trong nhà (Phần 1)
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Thiết kế, thi công hộp điều khiển các thiết bị điện trong nhà (Phần 1)", để 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:
luan_van_thiet_ke_thi_cong_hop_dieu_khien_cac_thiet_bi_dien.pdf
Nội dung text: Luận văn Thiết kế, thi công hộp điều khiển các thiết bị điện trong nhà (Phần 1)
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN - ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG THIẾT KẾ, THI CÔNG HỘP ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ GVHD: ThS. PHAN VÂN HOÀN SVTH: PHẠM VĂN NHẨN MSSV: 11141151 SVTH: BÙI QUANG THỌ MSSV: 11141423 S K L 0 0 4 2 0 7 Tp. Hồ Chí Minh, tháng 1/2016
- BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP ĐỒ ÁN TỐT NGHIỆP NGÀNH ĐIỆN TỬ CÔNG NGHỆP ĐỀ TÀI: THIẾT KẾ, THI CÔNG HỘP ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ GVHD: ThS. Phan Vân Hoàn SVTH: Phạm Văn Nhẩn MSSV: 11141151 SVTH: BÙI QUANG THỌ MSSV: 11141423 Tp. Hồ Chí Minh – 1/2016
- LỜI CAM ĐOAN Chúng tôi cam đoan đây là công trình nghiên cứu của chúng tôi. Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ công trình nào khác. Tp. Hồ Chí Minh, ngày 22 tháng 01 năm 2016 (Ký tên và ghi rõ họ tên) i
- LỜI CẢM ƠN Xin gửi lời cảm ơn chân thành đến quý thầy cô khoa Điện – Điện tử đã giảng dạy em trong suốt bốn năm học và tạo điều kiện thuận lợi để em thực hiện tốt đề tài. Cảm ơn gia đình, cha mẹ đã là nguồn động viên to lớn về vật chất và tinh thần trong suốt thời gian học hành, để em có đƣợc tƣơng lai, theo đuổi ƣớc mơ và sự nghiệp. Đặc biệt cảm ơn thầy Phan Vân Hoàn đã tạo điều kiện và hƣớng dẫn em cách học tập cũng nhƣ nghiên cứu để hoàn thành tốt đồ án tốt nghiệp. Cuối cùng xin chúc gia đình, bạn bè và quý thầy, cô nhiều sức khỏe và thành công trong công việc. Xin chân thành cảm ơn! Nhóm thực hiện đề tài ii
- TÓM TẮT Ngày nay, dƣới sự phát triển mạnh mẽ của khoa học kỹ thuật đã làm cho cuộc sống con ngƣời ngày cảng tốt hơn, tiện nghi hơn, trong đó phải kể đến vai trò của các bộ điều khiển thông minh, chúng đƣợc ứng dụng rộng rãi trong nhiều lĩnh vực của đời sống và trong công nghiệp. Đã có nhiều dự án về ngôi nhà thông minh ứng dụng các bộ điều khiển loại này. Tuy nhiên, chúng khó đƣợc triển khai do mắc phải một số nhƣợc điểm chính nhƣ chi phí lắp đặt cao, chƣa tiết kiệm kinh phí điều khiển và giao diện điều khiển chƣa thân thiện với ngƣời dùng. Do đó, để khắc phục những nhƣợc điểm trên mà vẫn đảm bảo hạ giá thành sản phẩm nhóm quyết định thiết kế, thi công hộp điều khiển các thiết bị điện trong nhà, trong đó sử dụng vi xử lý trung tâm là ARM STM32F103VET6, ngoài ra còn có thể điều khiển thiết bị bằng điện thoại sử dụng hệ điều hành Android, phát nhạc mp3 phục vụ nhu cầu giải trí. Sản phẩm là một hộp điều khiển các thiết bị điện dân dụng, bên trong gồm mạch điều khiển, mạch công suất và màn hình LCD 7” cảm ứng điện dung. iii
- ABSTRACT The rapid development of science and technology has a great positive impact on the people‟s lives nowadays. As a matter of fact, we experience this effect in our daily lives. It makes our living standards getting much higher and lead us to a more comfortable living conditions. One of the advancements ofscience and technology is intelligent controller. They are widely applied in many aspects of life and industry. There are many plans of intelligent houses used this kind of intelligent controll. However, they are difficult to be implemented because of three main disadvantages: high cost of installation, uneconomical running cost, and not a user-friendly interface. Therefore, in order to fix these disadvantages as well as decreasing the cost, we decided to desin, construct a control box for home appliances by using ARM STM32F103VET6 central microprocessors. Besides, we can manipulate the equipment by using the cell phone with Android operating system to play mp3 music in the demand for entertainment. The product is an electrical appliances control box including control board, capacity board and 7” LCD capacitive touch screen. iv
- MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii TÓM TẮT iii ABSTRACT iv MỤC LỤC v DANH SÁCH HÌNH vii DANH SÁ CH BẢ NG x Chƣơng 1: TỔNG QUAN 2 1.1 TỔ NG QUAN VỀ LIÑ H VƢ̣C NGHIÊN CƢ́ U 3 1.2MỤC ĐÍCH VÀ GIỚI HẠN CỦA ĐỀ TÀI 3 1.2.1 Mục Đích Của Đề Tài 3 1.2.2Giới Haṇ Đề Tài 4 1.3 NÔỊ DUNG THƢ̣C HIÊṆ 4 Chƣơng 2: CƠ SỞ LÝ THUYẾ T 5 2.1 VI ĐIỀ U KHIỂ N 6 2.1.1 Bô ̣vi xƣ̉ lý ARM CORTEX – M3 6 2.1.2 Vi điều khiển STM32F103 9 2.2 MODULE LCD TFT 23 2.3 GIAO TIẾ P SDCARD 24 2.5 PHƢƠNG PHÁP ĐIỀU CHỈNH ĐIỆN ÁP XOAY CHIỀU MỘT PHA. 29 2.6 TÌM HIỂU VỀ HỆ ĐIỀU HÀNH ANDROID 30 2.6.1 Khái niệm Android 30 2.6.2 Kiến trúc hệ điều hành Android 31 2.6.3 Sơ lƣợc về lập trình ứng dụng cho android 33 v
- 2.6.4 Các thành phần cơ bản của một ứng dụng android 34 Chƣơng 3: THIẾT KẾ HỆ THỐNG 36 3.1THIẾT KẾ HỆ THỐNG 37 3.1.1 Sơ đồ khối hệ thống 37 3.1.2 Thiết kế khối mạch công suất. 38 3.2.3 Khối Điều Khiển 43 3.2.4 Hiển Thị Giao Tiếp Với Ngƣời Dùng 44 3.2.5 Khối giao tiếp giải mã âm thanh. 45 3.2.6 Khối giao tiếp SDcard. 48 3.2.7 Module bluetooth HC-05. 49 3.2.8 Cảm biến nhiệt độ - độ ẩm DHT11. 50 3.2 LƢU ĐỒ GIẢI THUẬT CHƢƠNG TRÌNH. 54 3.2.1 Lƣu đồ giải thuật trên mạch điều khiển. 54 3.2.2 Lƣu đồ thuật toán chƣơng trình trên Android 59 Chƣơng 4: KẾT QUẢ 62 4.1 KẾT QUẢ ĐẠT ĐƢỢC PHẦN LÝ THUYẾT. 63 4.2 KẾT QUẢ ĐẠT ĐƢỢC PHẦN THỰC HÀNH. 63 4.2.1 Thiết kế mạch in. 63 4.2.2 Thi công mạch thực tế. 65 4.2.3 Giao diện giao tiếp ngƣời dùng 67 4.2.4 Giao diện điều khiển trên điện thoại 72 Chƣơng 5: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 74 5.1 KẾT LUẬN. 75 5.2 HƢỚNG PHÁT TRIỂN. 75 TÀI LIỆU THAM KHẢO 76 vi
- DANH SÁ CH HÌNH Hình 2.1. Cấu trúc vi điều khiển Cortex- M3 8 Hình 2.2. Cấu trúc hệ thống. 10 Hình 2.3. Mạch reset. 11 Hình 2.4. Nguồn xung từ bên ngoài. 12 Hình 2.5. Sơ đồ khối của TIMER. 16 Hình 2.6. Chế đô ̣capture/compare kênh 1 17 Hình 2.7. Dạng sóng Edge-alibned PWM. 18 Hình 2.8. Dạng sóng Center-aligned PWM . 18 Hình 2.9. Sơ đồ khối SPI. 20 Hình 2.10. Phƣơng thƣ́ c truyền I2C. 21 Hình 2.11. Sơ đồ khối I2C. 22 Hình 2.12. Bộ ADC STM32 23 Hình 2.13. Màn hình LCD TFT. 24 Hình 2.14. Thẻ SD,mini SD, micro SD. 24 Hình 2.15. Dạng sóng truyền dữ liều khi giao tiếp Sdcard. 26 Hình 2.16. Đọc một khối dữ liệu trên Sdcard. 28 Hình 2.17. Đọc nhiều khối dữ liệu trên Sdcard. 28 Hình 2.18. Dạng sóng điện áp trong phƣơng pháp điều chỉnh điện áp xoay chiều. 29 Hình 2.19. Mạch điều chỉnh độ sáng cơ bản dùng vi xử lý 30 Hình 2.20. Kiến trúc hệ điều hành Android 31 Hình 2.21. Vòng đời của activity 35 Hình 2.22. Sử dụng Intent để trao đổi thông tin giữa hai chƣơng trình 35 Hình 2.23. Vòng đời của service 36 Hình 3.1. Sơ đồ khối của hệ thống 37 Hình 3.2. Module nguồn xung 12V-2A. 39 Hình 3.3. Mạch nguồn 5V sử dụng LM2576. 39 Hình 3.4. Mạch phát hiện điểm 0. 41 Hình 3.5. Mạch opto triac. 41 vii
- Hình 3.6. Mạch PWM 0-12VDC. 42 Hình 3.7. Sơ đồ kết nối vi điều khiển 44 Hình 3.8. Sơ đồ kết nối chân GLCD và Touch với vi điều khiển. 45 Hình 3.9. Sơ đồ khối VS1003B 46 Hình 3.10. Biểu đồ hiệu suất của ngõ ra LEFT, RIGHT của VS1003B. 46 Hình 3.11. Phổ ngõ ra tại chân LEFT hoặc RIGHT với trở ngõ ra là 30 Ω 47 Hình 3.12. Cấu hình để đọc dữu liệu từ VS1003B. 47 Hình 3.13. Cấu hình chân để ghi dữ liệu vào VS1003B. 48 Hình 3.14. Sơ đồ thứ tự giải mã dữ liệu của VS1003B. 48 Hình 3.15. Sơ đồ nguyên lý giao tiếp Sdcard. 49 Hình 3.16.Sơ đồ chân HC-05 49 Hình 3.17. Cảm biến nhiệt độ - độ ẩm DHT11. 50 Hình 3.18. Sơ đồ kết nối DHT11 với vi xử lý. 51 Hình 3.19. Quá trình giao tiếp tổng quát. 51 Hình 3.20. Tín hiệu mức 0. 53 Hình 3.21. Tín hiệu mức 1. 53 Hình 3.22. Lƣu đồ chƣơng trình chính. 55 Hình 3.23. Lƣu đồ tab Home. 56 Hình 3.24. Lƣu đồ tab Timer. 56 Hình 3.25. Lƣu đố tab Setup. 57 Hình 3.26. Lƣu đồ tab Music. 58 Hình 3.27. Lƣu đồ Activity Main 59 Hình 3.28. Lƣu đồ hàm Run. 60 Hình 3.29. Lƣu đồ hàm onOptionsItemSelected. 61 Hình 4.1. Lớp Top PCB mạch điều khiển. 63 Hình 4.2. Lớp Bottom PCB mạch điều khiển 64 Hình 4.3. Lớp Top PCB mạch công suất. 64 Hình 4.4. Lớp Bottom PCB mạch công suất. 65 Hình 4.5. Mạch điều khiển thực tế. 65 Hình 4.6. Mạch công suất thực tế. 66 viii
- Hình 4.7. Thi công hộp. 66 Hình 4.8. Giao diện điều khiển chính. 67 Hình 4.9. Tab Setup. 68 Hình 4.10. Thêm một thiết bị 68 Hình 4.11. Đặt tên thiết bị 69 Hình 4.12. Chỉnh độ sáng đèn. 69 Hình 4.13. Tab Music. 69 Hình 4.14. Chức năng hẹn giờ. 70 Hình 4.15. Điều khiển đèn sợi tóc. 71 Hình 4.16. Điều khiển đèn huỳnh quang. 71 Hình 4.17. Giao diện chính 69Hình 4.18. Bảng tùy chọn 72 Hình 4.19. Thêm thiết bị 69Hình 4.20. Hẹn giờ . 72 ix
- DANH SÁ CH BẢ NG Bảng 2.1. Cấu hình GPIO. 13 Bảng 2.2. Chƣ́ c năng chân SDcard 25 Bảng 2.3. Mô tả các bít truyền dữ liệu SDcard. 26 Bảng 2.4. Bảng mã lệnh khi giao tiếp SDcard. 26 Bảng 2.5. Thông số MOSFET IRF640 42 x
- ĐỒ ÁN TỐT NGHỆP Chƣơng 1 TỔNG QUAN Chƣơng 1: Tổng quan 2
- ĐỒ ÁN TỐT NGHỆP 1.1 TỔ NG QUAN VỀ LIÑ H VƢC̣ NGHIÊN CƢ́ U Hiện nay trên thế giới vấn đề nghiên cứu các bộ điều khiển thông minh đang phát triển rất mạnh mẽ, chúng không chỉ đƣợc ứng dụng trong công nghiệp mà còn đƣợc ứng dụng rộng rãi trong đời sống. Nó góp phần không nhỏ vào việc nâng cao tính tiện nghi và chất lƣợng cuộc sống cho con ngƣời. Do đó, việc phát triển các bộ điều khiển thông minh là vô cùng quan trọng và cấp thiết. Ở Việt Nam, trong những năm gần đây thì các bộ điều khiển các thiết bị điện dân dụng trong nhà đang dần đƣợc chú ý, đã có những dự án về “ngôi nhà thông minh” (smart house) hay các đề tài về điều khiển thiết bị điện trong nhà. Tuy nhiên, chúng khó đƣợc triển khai do mắc phải một số nhƣợc điểm chính là giá cả cao, chƣa tiết kiệm kinh phí điều khiển và giao diện điều khiển chƣa thân thiện với ngƣời dùng. Nhìn chung các năm trƣớc, đề tài về điều khiển thông minh đƣợc các sinh viên thực hiện xoay quanh các nội dung nhƣ: điều khiển qua tin nhắn điện thoại và điều khiển bằng tần số vô tuyến, sử dụng chủ yếu các loại cảm biến thông dụng nhƣ cảm biến nhiệt độ, cảm biến khói, cảm biến khí gas, ứng dụng công nghệ RFID, lập trình trên hệ điều hành android và sử dụng vi điều khiển PIC, ARM Với sƣ ̣ phát triển không ngƣ̀ ng của ngành công nghiêp̣ điêṇ tƣ̉ với sƣ ̣ ra đời nhiều dòng vi xử lý của nhiều hãng điện tử nổi tiếng nhƣ STMicroelectronics , Microchip, Atmel, Intel ra đời nhiều dòng vi xƣ̉ 8 bit, 16 bit, 32 bit đƣơc̣ ƣ́ ng duṇ g rôṇ g raĩ trong công nghiêp̣ và đời sống . Hãng STMicroelectronics đƣa ra thi ̣trƣờng nhiều vi điều khiể n 32 bit trên nền bô ̣xƣ̉ lý cortex -M3 hiêụ suất cao dê ̃ dàng sƣ̉ duṇ g và phát triển ƣ́ ng duṇ g môṭ cách nhanh chóng, giảm chi phí phát triển và năng lƣơṇ g tiêu thu.̣ Thấy đƣơc̣ nhƣ̃ng ƣu điểm của dòng vi xƣ̉ lý arm cortex -M3 nên nhóm choṇ đề tài “THIẾ T KẾ VÀ THI CÔNG HỘP ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ ” sƣ̉ duṇ g vi điều khiển ARM STM32F103VET6. 1.2 MỤC ĐÍCH VÀ GIỚI HẠN CỦA ĐỀ TÀI 1.2.1 Mục đích của đề tài Nhóm sinh viên thiết kế và thi công hộp điều khiển trong đó bao gồm mạch điều khiển và mạch công suất kèm theo một màn hình cảm ứng điện dung 7”. Mạch điều khiển nhận, xử lý tín hiệu từ các cảm biến nhiệt độ, độ ẩm, màn hình cảm ứng và điện thoại, Chƣơng 1: Tổng quan 3
- ĐỒ ÁN TỐT NGHỆP điều khiển màn hình GLCD. Mạch công suất gồm các ngõ ra AC, DC và các ngõ vào cho phép ngƣời dùng tự cấu hình đóng cắt, điều chỉnh độ sáng đèn, hẹn giờ bật tắt, ngoài ra có thể lắp thêm các cảm biến khác vào khi có nhu cầu. Ngƣời dùng có thể điều khiển các thiết bị điện bằng điện thoại chạy hệ diều hành android thông qua bluetooth. Ngoài ra hộp điều khiển còn có thể phát nhạc mp3 phục vụ nhu cầu giải trí. 1.2.2 Giớ i Haṇ Đề Tài - Sử dụng cho tải công suất nhỏ nhƣ quạt, đèn, TV, DVD - Hiển thị nhiệt độ, độ ẩm, ngày giờ và trạng thái các thiết bị trên màn hình cảm ứng. - Điều khiển qua bluetooth: bán kính 10m. 1.3 NÔỊ DUNG THƢC̣ HIÊṆ - Tìm hiểu hoạt động các bộ điều khiển thông minh trên thị trƣờng. - Nghiên cứu đƣa ra các giải pháp hoạt động của mạch, thiết kế các khối. - Thiết kế và thi công mạch điều khiển giao tiếp giữa vi xử lý ARM STM32 với màn hình GLCD, IC phát nhạc mp3 VS1003B, thẻ nhớ SD và module bluetooth HC-05. - Thiết kế, thi công mạch công suất. - Lắp các cảm biến (cảm biến nhiệt độ, độ ẩm, cƣờng độ sáng). - Thiết kế giao diện điều khiển qua bluetooth trên điện thoại and roid bằng phần mềm Eclipse. - Lắp ráp các khối vào hộp điều khiển. - Viết chƣơng trình cho hộp điều khiển trên phần mềm Keil µVision 5. - Điều khiển thử nghiệm các thiết bị. - Chỉnh sửa các lỗi điều khiển, lỗi lập trình và lỗi của các thiết bị. - Viết báo cáo luận văn. - Báo cáo đề tài tốt nghiệp. Chƣơng 1: Tổng quan 4
- ĐỒ ÁN TỐT NGHỆP Chƣơng 2CƠ SỞ LÝ THUYẾ T Chƣơng 2: Cơ sở lý thuyết 5
- ĐỒ ÁN TỐT NGHỆP 2.1 VI ĐIỀ U KHIỂ N 2.1.1 Bô ̣vi xƣ̉ lý ARM CORTEX – M3 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 Instructions 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. [1] 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 đƣơ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-M3 là bộ vi xử lý ARM đầu tiên dựa trên kiến trúc ARM7 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 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. 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). 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- Chƣơng 2: Cơ sở lý thuyết 6
- ĐỒ ÁN TỐT NGHỆP 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. 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ệ diều 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à 32bit, 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. [2] Chƣơng 2: Cơ sở lý thuyết 7
- ĐỒ ÁN TỐT NGHỆP Hình 2.1.Cấu trúc vi điều khiển Cortex- M3 STmicroelectronics đã đƣa ra thị trƣờng 4 dòng vi điều khiển dựa trên ARM 7 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ó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íchhoà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. Chƣơng 2: Cơ sở lý thuyết 8
- ĐỒ ÁN TỐT NGHỆP 2.1.2 Vi điều khiển STM32F103 2.1.2.1 Cấ u trú c hê ̣thống và bô ̣nhớ . a. Hệ thống chính bao gồm: - Bốn chủ: + Cortex ™-M3 lõi DCode bus (D-bus) và hệ thống bus (S-bus). + GP-DMA1 & 2. - Bốn tớ: + SRAM nội + Bộ nhớ flash - FSMC - AHB đến cầu APB (AHB2APBx), kết nối tất cả các thiết bị ngoại vi APB Chƣơng 2: Cơ sở lý thuyết 9
- ĐỒ ÁN TỐT NGHỆP Hình 2.2.Cấu trúc hệ thống. - ICode bus : kết nối bus lêṇ h của cortex- M3 tới bô ̣nhớ FLASH - DCode bus và system bus : kết nối hê ̣thống bus của nhân cortex -M3 tới ma trâṇ bus (BusMatrix) - DMA bus : bus này kết nối giao diêṇ AHP của DMA tới các ma trâṇ bus để điều khiển ICode bus, DCode bus ,SRam và các thiết bi ̣ngoaị vi . - AHB/APB bridges : kết nối đồng bô ̣giƣ̃a AHB tới 2 bus APB1 và APB2. Trong đó tốc đô ̣lớn nhất của bus APB1 là 36 Mhz còn APB2 là 72 Mhz. - Cả nhân Cortex và DMA đều đóng vai trò là bus chủ. Khi có các tác vụ xử lý song song thì bộ phân xử sẽ quyết định nhân Cortex hay bộ DMA sẽ đƣợc quyền truy cập vào SRAM, APB1 và APB2. Tuy nhiên bộ phận phân xử luôn đảm bảo 2/3 thời gian truy cập sẽ dành cho bộ điều khiển DMA và 1/3 dành cho nhân Cortex. b. Cấ u trú c bô ̣nhớ : Bộ nhớ chƣơng trình, bộ nhớ dữ liệu, thanh ghi và cổng I /O đƣợc tổ chức trong phạm vi 4 GB. Bộ nhớ bắt đầu từ địa chỉ 0x00000000. SRAM bắt đầu từ địa chỉ 0x20000000 và tất cả SRAM nội đều đƣợc bố trí ở điểm bắt đầu vùng bit band. Vùng nhớ thiết bị ngoại vi bắt đầu từ địa chỉ 0x400000000 và ở vùng nhớ bit band. Các thanh ghi điều khiển của nhân Cortex bắt đầu từ địa chỉ 0xE0000000. Vùng nhớ dành cho FLASH đƣợc chia nhỏ thành ba vùng. Vùng thứ nhất gọi là Uesr Flash bắt đầu từ địa chỉ 0x00000000. Kế tiếp là System Memory hay còn gọi là vùng nhớ lớn. Vùng này có độ lớn 4Kbytes thông thƣờng sẽ đƣợc nhà sản xuất cài đặt bootloader. Cuối cùng là vùng nhớ nhỏ bắt đầu từ địa chỉ 0x1FFFFF80 chứa thông tin cấu hình dành cho STM32. Bootloader thƣờng đƣợc dùng để tải chƣơng trình thông qua cổng USART1 và chứa ở vùng User Flash. Để kích hoạt bootloader của STM32 ngƣời dùng phải thiết lập các chân BOOT0 và BOOT1 ở mức điện áp thấp và cao tƣơng ứng. Khi đó, sau khi STM32 đƣợc khởi động chƣơng trình sẽ đặt bootloader vào đia chỉ 0x00000000 và thực thi nó thay thực thi Chƣơng 2: Cơ sở lý thuyết 10



