Những côngtrình nghiên cứu khoa học hàng năm của các sinh viên, các thạc sỹ, tiến sỹ, giáo sư cũngtừng bước đóng góp nên bức tranh toàn cảnh về sự phát triển của khoa học nước nhà.Hiện n
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA:KỸ THUẬT ĐIỆN – ĐIỆN TỬ
CHUYÊN ĐỀ XỬ LÍ TÍN HIỆU TRUYỀN THÔNG
ĐỀ TÀI:THIẾT KẾ MÔ HÌNH XE ĐIỀU KHIỂN BẰNG BLUETOOTH VÀ TỰ ĐỘNG TRÁNH VẬT CẢN
Trang 22
Trang 3MỤC LỤC
MỤC LỤC 1
DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT 3
DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH 5
CHƯƠNG I: GIỚI THIỆU VỀ ĐỀ TÀI 7
1.1 Mục đích chọn đề tài 7
1.2 Ý tưởng thiết kế 7
1.2.1 Thiết bị điều khiển 7
1.2.2 Thiết bị ngoại vi 7
CHƯƠNG II: CƠ SỞ LÝ THUYẾT 8
2.1 Công nghệ Bluetooth 8
2.1.1 Giới thiệu công nghệ bluetooth 8
2.1.2 Phương thức hoạt động của Bluetooth 8
2.1.2.1 Cơ chế truyền và sửa lỗi 8
2.1.2.2 Ưu nhược điểm của công nghệ Bluetooth 9
2.2 Cảm biến siêu âm 10
2.2.1 Đặc điểm và nguyên lý của cảm biến siêu âm 10
2.2.1.1 Khái niệm cơ bản 10
2.2.1.2 Đặc điểm của cảm biến siêu âm 10
2.3 Bộ xử lý ARM – Cortex M3 11
2.3.1 Kiến trúc 12
2.3.2 Tính năng 13
2.3.3 Kiến trúc tập lệnh Thumb-2 14
CHƯƠNG III: THIẾT KẾ MÔ HÌNH XE ĐIỀU KHIỂN 16
3.1 Sơ đồ khối 16
3.2 Khối xử lý 17
3.2.1 Giới thiệu dòng vi điều khiển STM32 17
3.2.1.1 Kiến trúc STM32 17
3.2.1.2 Ưu điểm của STM32 18
Trang 43.2.2.1 Đặc điểm kỹ thuật 20
3.2.2.2 Tập lệnh AT cho module bluetooth HC-05 21
3.2.2.3 Thuật toán 23
3.2.3 Cảm biến siêu âm SRF04 23
3.2.3.1 Thông số kỹ thuật 23
3.2.3.2 Nguyên lý hoạt động 24
3.2.3.3 Thuật toán đọc giá trị cảm biến 25
3.3 Khối nguồn 27
3.3.1 Module LM317 27
3.4 Khối động cơ 27
3.4.1 Động cơ một chiều 27
3.4.2 Mạch điều khiển động cơ một chiều (IC cầu H L298) 29
CHƯƠNG IV: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 32
4.1 Đánh giá kết quả thực hiện đề tài 32
4.2 Hướng phát triển của đề tài 32
KẾT LUẬN 33
Trang 5DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT
AMA : Active member address
ACL : Asynchronous connectionless : Phi kết nối không đồng bộ
ARM : Advanced RISC machine : Cấu trúc ARM
CPU : Central processing unit : Bộ xử lý trung tâm
CSR : Cambridge silicon radio : Tên công ty công nghệ của Anh.CES : Consumer electronics show : Nơi triển lãm các sản phẩm điện
tử tiêu dùng
CRC : Cyclic redundancy check : Tên một loại hàm băm
DMA : Direct memory access : Truy cập bộ nhớ trực tiếp
ERD : Enhanced data rate : Cải thiện kết nối truyền tải.FEC : Forward error correction : Sửa lỗi ở phía trước
ISM : Industrial, scientific, medical : Băng tần ISM
IEEE : Institute of electrical and electronics engineers : Viện kỹ nghệ Điện và Điển tử.IrDA : Infrared data association : Hiệp hội dữ liệu hồng ngoại.ISR : Interrupt service routine : Chương trình phục vụ ngắt.JTAG : Joint test action group : Công nghệ kiểm tra PCB kết hợp
công nghệ Boundary scan
MAC : Media access control : Là một định danh duy nhất được
gán cho thiết bị mạng
Trang 6LMP : Link management protocol : Giao thức quản lý tuyến.
PMA : Packed member address : Là số 8 bit để phân biệt các
Packed slave với nhau
UART : Universal asynchronous receiver/ Transmitter : Bộ truyền / nhận dữ liệu
không đồng bộ
USART : Universal synchronous & asynchronous receiver/ Transmitter :
Bộ truyền / Nhận dữ liệu đồng bộ và không đồng bộ
STM : Stmicroelectronics : Tên hãng, viết tắt là STM
SIG : Special interest group : Nhóm quan tâm đặc biệt
SCO : Synchronous connection – oriented : Các dịch vụ truyền thông có liên
kết
WPAN : Wireless personal area network : Các mạng cá nhân không dây
Trang 7DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌ
Hình 2.1 Logo Bluetooth 8
Hình 2 2 Bộ vi xử lý Cortex-M3 12
Hình 2 3 Bản đồ bộ nhớ 14
Hình 2 4 Kiến trúc tập lệnh Thumb-2 15
Hình 3 1 Sơ đồ khối hệ thống 16
Hình 3 2 Kit STM32F103C8T6 17
Hình 3 3 Kiến trúc của STM32 nhánh Performance và Access 17
Hình 3 4 Module Bluetooth HC-05 21
Hình 3 5 Phần mềm “Hercules Setup Untility” 22
Hình 3 6 Sóng siêu âm 23
Hình 3 7 Cảm biến siêu âm SRF04 24
Hình 3 8 Giản đổ thời gian module SRF04 24
Hình 3 9 IC LM317 27
Hình 3 10 Động cơ DC 28
Hình 3 11 Cách điều khiển động cơ 1 chiều 28
Hình 3 12 IC cầu H L298 29
Hình 3 13 Sơ đồ ½ L298 và bảng trạng thái 30
Hình 3 14 Module điều khiển động cơ L298 31
Y Bảng 3 1 So sánh ARM7TDMI-S và Cortex-M3 (100MHz - TSMC 0.18G) 19
Bảng 3 2 So sánh hiệu suất giữa ARM7TDMI-S (ARM) và Cortex-M3 (Thumb-2) 19
Bảng 3 3 So sánh kích thước mã lệnh giữa ARM7TDMI-S (ARM) và Cortex-M3 Y
Trang 8LỜI MỞ ĐẨU
Theo dự đoán trong tương lai, robot sẽ là tâm điểm của một cuộc cách mạng lớnsau Internet Con người sẽ có nhu cầu sở hữu một robot cá nhân như nhu cầu một máytính PC bây giờ Với xu hướng này, cùng các ứng dụng truyền thống khác của robot trongcông nghiệp, y tế, giáo dục đào tạo, giải trí và đặc biệt là trong an ninh quốc phòng thì thịtrường robot sẽ vô cùng to lớn Trong công cuộc công nghiệp hóa – hiện đại hóa của đấtnước ta hiện nay, ngành kỹ thuật điện tử là một trong những ngành mũi nhọn giúp choViệt Nam có nhiều cơ hội hòa nhập với nền công nghệ trên toàn thế giới Những côngtrình nghiên cứu khoa học hàng năm của các sinh viên, các thạc sỹ, tiến sỹ, giáo sư cũngtừng bước đóng góp nên bức tranh toàn cảnh về sự phát triển của khoa học nước nhà.Hiện nay, dòng chip xử lý lõi ARM (Acorn RISC Machine) ngày càng được ứng dụngrộng rãi trong các hệ thống nhúng mà đơn cử là các thiết bị di động do ưu thế tuyệt vời vềtiết kiệm năng lượng, tốc độ xử lý cao và luôn sẵn có các công cụ hỗ trợ phần cứng, phầnmềm Sự kết hợp chip ARM vào điều khiển Robot ở Việt Nam còn khá mới mẻ, do đóviệc tìm hiểu và nghiên cứu lĩnh vực này là một việc cần thiết Vì vậy, chúng em quyếtđịnh chọn đề tài của mình là:
“ THIẾT KẾ MÔ HÌNH XE ĐIỀU KHIỂN BẰNG BLUETOOTH VÀ
TỰ ĐỘNG TRÁNH VẬT CẢN ”
Đồ án tập trung vào việc thiết kế mô hình điều khiển với hai chức năng đó là:
- Điều khiển từ xa bằng Bluetooth thông qua PC.
- Chức năng tự chạy tránh vật cản bằng sòng siêu âm.
Tuy đã có nhiều cố gắng, nhưng do vốn kiến thức và thời gian còn hạn chế nênkhông tránh khỏi được những sai sót và khuyết điểm, chúng em rất mong nhận đượcnhững nhận xét, góp ý của cô để đề tài được hoàn thiện
Trang 9CHƯƠNG I: GIỚI THIỆU VỀ ĐỀ TÀI
1.1 Mục đích chọn đề tài
Sau quãng thời gian học tập, tích lũy kiến thức ở giảng đường đại học,chúng emmuốn vận dụng những kiến thức được học để xây dựng một hệ thống hoàn chỉnh, vì vậychúng em đã chọn đề tài “Thiết kế mô hình xe điều khiển bằng bluetooth” với nhiệm vụxây dựng mô hình xe điều khiển có khả năng điều khiển bằng Bluetooth thông qua PC,ngoài ra xe có thể tự chạy tránh vật cản bằng sóng siêu âm, sản phẩm có thể sử dụng đểphục vụ con người thực hiện một số công việc đơn giản như mang café, hút bụi, hoặc cóthể dùng trong công nghiệp như: thám hiểm, đến do thám được những nơi độc hại mà conngười không thể tự đặt chân đến…
1.2 Ý tưởng thiết kế
1.2.1 Thiết bị điều khiển
- Để thực hiện chức năng điều khiển bằng Bluetooth, hệ thống được xây dựng với bộ
công cụ điều khiển trên máy tính bao gồm những phím: Tiến, Lùi, Trái, Phải, Dừng lại,Connect, Disconnect Bộ công cụ này có tác dụng điều khiển thiết bị ngoại vi thông quasóng Bluetooth trên PC
- Để thực hiện chức năng tự chạy tránh vật cản bằng sóng siêu âm, hệ thống được
thiết kế với một công tắc đặt trên thân xe
1.2.2 Thiết bị ngoại vi
- Hệ thống sử dụng một module Bluetooth để truyền nhận dữ liệu với PC và đượcđiều khiển bởi một vi điều khiển Vi điều khiển có nhiệm vụ chính là xử lý tín hiệu nhậnđược từ module Bluetooth và điều khiển hai động cơ DC của xe
- Hệ thống sử dụng ba cảm biến siêu âm, lắp ở ba vị trí: trái, phải, trước của thân xe.
Các cảm biến này có nhiệm vu đo khoảng cách đến vật cản và truyền dữ liệu về vi điềukhiển Để đơn giản trong việc lập trình, em chọn dùng vi điều khiển STM32, đâylà dòng
vi điều khiển quen thuộc, đáp ứng được các yêu cầu của đề tài
Trang 10CHƯƠNG II: CƠ SỞ LÝ THUYẾT
2.1 Công nghệ Bluetooth
2.1.1 Giới thiệu công nghệ bluetooth
Tên gọi Bluetooth (có nghĩa là "răng xanh") là tên của nhà vua Đan Mạch – Harald
I Bluetooth (Danish Harald Blaatand người đã thống nhất Thụy Điển và Nauy), ngườiViking nổi tiếng về khả năng giúp mọi người có thể giao tiếp, thương lượng vớinhau Thời điểm ban đầu của kỉ nguyên công nghệ không dây Bluetooth, Bluetooth có ýnghĩa là thống nhất công nghiệp máy tính và viễn thông Có lẽ những nhà nghiên cứu đãdùng tên này để nhấn mạnh việc các thiết bị có thể trao đổi, kết nối với nhau mà khôngphụ thuộc vào loại máy hay nhà sản xuất
Hình 2.1 Logo Bluetooth
Bluetooth là công nghệ không dây cho phép các thiết bị điện, điện tử giao tiếp vớinhau trong khoảng cách ngắn, bằng sóng vô tuyến qua băng tần chung ISM (Industrial,Scientific, Medical) trong dãy tầng 2.40 – 2.48 GHz Và có khả năng truyền tải giọng nói
và dữ liệu Phạm vi hoạt động của thiết bị Bluetooth là khoảng 10m Bluetooth truyền dữliệu với tốc độ 1 Mbps, nhanh gấp 3 và 8 lần tốc độ trung bình của cổng song song vàcổng serial tương ứng Đây là dãy băng tần không cần đăng ký được dành riêng để dùngcho các thiết bị không dây trong công nghiệp, khoa học, y tế Bluetooth được thiết kếnhằm mục đích thay thế dây cable giữa máy tính và các thiết bị truyền thông cá nhân, kếtnối vô tuyến giữa các thiết bị điện tử lại với nhau một cách thuận lợi với giá thành rẻ Khiđược kích hoạt Bluetooth có thể tự động định vị những thiết bị khác có chung công nghệtrong vùng xung quanh và bắt đầu kết nối với chúng
2.1.2 Phương thức hoạt động của Bluetooth
2.1.2.1 Cơ chế truyền và sửa lỗi
Trang 11- Kỹ thuật Bluetooth rất phức tạp Nó dùng kỹ thuật nhảy tần số trong các timeslot
(TS), được thiết kế để làm việc trong môi trường nhiễu tần số radio, Bluetooth dùng chiếnlược nhảy tần để tạo nên sức mạnh liên kết truyền thông và truyền thông thông minh Cứmỗi lần gửi hay nhận một packet xong, Bluetooth lại nhảy sang một tần số mới, như thế
sẽ tránh được nhiễu từ các tín hiệu khác
- So sánh với các hệ thống khác làm việc trong cùng băng tần, sóng radio của
Bluetooth nhảy tần nhanh và dùng packet ngắn hơn Vì nhảy nhanh và packet ngắn sẽ làmgiảm va chạm với sóng từ lò vi sóng và các phương tiện gây nhiễu khác trong khí quyển
- Có 3 phương pháp được sử dụng trong việc kiểm tra tính đúng đắn của dữ liệu
truyền đi là:
+ Forwad Error Corrrection
+ Automatic Repeat Request
+ Cyclic Redundancy Check
- Bluetooth dùng kỹ thuật sửa lỗi tiến FEC (Forward Error Correction) để sửa sai do
nhiễu tự nhiên khi truyền khoảng cách xa FEC cho phép phát hiện lỗi, biết sửa sai vàtruyền đi tiếp (khác với kỹ thuật BEC-Backward Error Control chỉ phát hiện, không biếtsửa, yêu cầu truyền lại)
- Giao thức băng tần cơ sở (Baseband) của Bluetooth là sự kết hợp giữa chuyển
mạch và chuyển đổi packet Các khe thời gian có thể được dành riêng cho các packetphục vụ đồng bộ Thực hiện bước nhảy tần cho mỗi packet được truyền đi Một packettrên danh nghĩa sẽ chiếm 1 timeslot, nhưng nó có thể mở rộng chiếm đến 3 hay 5 timeslot
- Bluetooth hỗ trợ 1 kênh dữ liệu bất đồng bộ, hay 3 kênh tín hiệu thoại đồng bộ
nhau cùng một lúc, hay 1 kênh hỗ trợ cùng lúc dữ liệu bất đồng bộ và tín hiệu đồng bộ
2.1.2.2 Ưu nhược điểm của công nghệ Bluetooth
+ Bluetooth sử dụng băng tần 2,4GHz trên dãy băng tần ISM Tốc độ truyền
dữ liệu có thể đạt mức tối đa 1Mbps (do sử dụng tần số cao) mà các thiết bị không cầnphải thấy trực tiếp nhau (light-of-sight requirements)
Trang 12+ Dễ dàng trong việc phát triển ứng dụng: Bluetooth kết nối một ứng dụng nàyvới một ứng dụng khác thông qua các chuẩn “Bluetooth profiles”, do đó có thể độc lập vềphần cứng cũng như hệ điều hành sử dụng.
+ An toàn và bảo mật: được tích hợp với sự xác nhận và mã hoá
+ Tính tương thích cao, được nhiều nhà sản xuất phần cứng cũng như phầnmềm hỗ trợ
- NHƯỢC ĐIỂM:
+ Sử dụng mô hình adhoc nên không thể thiếp lập các ứng dụng thời gian thực.+ Khoảng cách kết nối còn ngắn so với các công nghệ mạng không dây khác.+ Số thiết bị Active, pack trong cùng một piconet còn hạn chế
+ Tốc độ truyền không cao
2.2 Cảm biến siêu âm
2.2.1 Đặc điểm và nguyên lý của cảm biến siêu âm
2.2.1.1 Khái niệm cơ bản
Cảm biến siêu âm được phát triển từ việc sử dụng các đặc điểm cảm biến siêu âm
Là tần số trên 20kHz sóng cơ học siêu âm từ các kích thích bộ chuyển đổi điện áp waferrung động xảy ra, và nó có tần số cao, chiều dài sóng, sự nhiễu xạ nhỏ, đặc biệt là địnhhướng tốt, để được hướng dẫn, phổ biến tia tính năng Siêu âm cho chất lỏng, khả năngthâm nhập các chất rắn cao, đặc biệt là trong ánh nắng mặt trời đục vững chắc, trong đóthâm nhập vào sâu hàng chục mét Tạp chất cuộc gặp gỡ siêu âm hoặc phụ giao diện sẽtạo ra phản xạ phản xạ quan trọng hình thành nên tiếng vang, đánh đối tượng chuyển động
có thể tạo ra hiệu ứng Doppler Vì vậy, kiểm tra siêu âm được sử dụng rộng rãi trong côngnghiệp, quốc phòng, y sinh học và các khía cạnh khác
Đầu dò siêu âm bao gồm chủ yếu là các wafer áp điện, cả sóng siêu âm, và có thểnhận được siêu âm Đầu dò siêu âm công suất thấp để phát hiện nhiều vai trò Nó có nhiềucấu trúc khác nhau, được chia thành thăm dò thẳng (sóng dọc), góc đầu dò (sóng), lànsóng thăm dò bề mặt (sóng), Chiên thăm dò (Chiên), đầu dò kép (một thăm dò phản ánh,một thăm dò nhận)
Đầu dò siêu âm là cốt lõi của áo khoác hoặc áo nhựa của nó trong một áp lực kimloại cảm biến siêu âm Chip điện Vật liệu cấu thành wafer có thể có nhiều Kích thướcchip, chẳng hạn như đường kính và độ dày khác nhau, vì vậy hiệu suất của từng thăm dò
là khác nhau, chúng ta phải biết trước trước khi sử dụng hiệu quả của nó
2.2.1.2 Đặc điểm của cảm biến siêu âm
Trang 13- Tần số hoạt động: Tần số hoạt động là tần số cộng hưởng của wafer áp điện Khi
điện áp AC áp dụng cho tần số của nó trên wafer bằng với tần số cộng hưởng, sản lượngnăng lượng tối đa, độ nhạy cao nhất
- Nhiệt độ hoạt động: Điểm Curie của vật liệu áp điện nói chung là cao, đặc biệt là
trong việc chẩn đoán siêu âm sử dụng một đầu dò cảm biến siêu âm Điện là nhỏ, do đónhiệt độ làm việc là tương đối thấp, ta có thể làm việc nhiều giờ mà không thất bại Siêu
âm đầu dò nhiệt độ y tế là tương đối cao, nhu cầu về một thiết bị làm lạnh riêng biệt
- Độ nhạy: Phụ thuộc chủ yếu vào sản xuất chip của mình Hệ số điện khớp nối, độ
nhạy cao; Ngược lại, độ nhạy thấp
2.3 Bộ xử lý ARM – Cortex M3
Dòng vi xử lý ARM Cortex dựa trên một kiến trúc chuẩn đủ để đáp ứng hầu hếtcác yêu cầu về hiệu năng làm việc trong tất cả các lĩnh vực trên Dòng ARM Cortex baogồm ba cấu hình khác nhau của kiến trúc ARMv7: 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ấu hình
R dành cho các hệ thống thời gian thực và 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ựatrên kiến trúc ARMv7-M 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 Thêm vào đó
là việc lập trình được đơn giản hóa đáng kể giúp kiến trúc ARM trở thành một lựa chọntốt cho ngay cả những ứng dụng đơn giản nhất
Tiêu chí quan trọng trong việc lựa chọn bộ vi xử lý là giảm thời gian và chi phíphát triển, đặc biệt là khả năng phát triển ứng dụng phải thật nhanh chóng và đơn giản Bộ
vi xử lý Cortex-M3 được thiết kế để đáp ứng mục tiêu trên Người lập trình không cầnphải viết bất kì mã hợp ngữ nào (assembler code) hoặc cần phải có kiến thức sâu về kiếntrúc để tạo ra một ứng dụng đơn giản Bộ vi xử lý có mô hình lập trình dựa trên ngăn xếp
đã được đơn giản hoá để tương thích với kiến trúc ARM truyền thống nhưng tương tự với
hệ thống đã được triển khai trên kiến trúc 8 và 16-bit, giúp việc chuyển tiếp đến kiến trúc32-bit dễ dàng hơn Ngoài ra một mô hình ngắt dựa trên phần cứng sẽ giúp việc viết cácchương trình xử lý ngắt trở nên đơn giản hơn bao giờ hết, chương trình khởi động có thểđược viết trực tiếp bằng ngôn ngữ C mà không cần bất kì một lệnh assembly nào so vớikiến trúc ARM truyền thống Các tính năng chính mới trong tập lệnh Thumb-2 bao gồmviệc thực hiện mã lệnh C một cách tự nhiên hơn, thao tác trực tiếp trên các bit, phép chiaphần cứng và lệnh If/Then Hơn nữa, nhìn từ góc độ phát triển ứng dụng, Thumb-2 tăngtốc độ phát triển, đơn giản hóa việc bảo trì, hỗ trợ các đối tượng biên dịch thông qua tối
ưu hóa tự động cho cả hiệu suất và mật độ mã mà không cần quan tâm đến việc mã đượcbiên dịch cho chế độ ARM hoặc Thumb Kết quả là lập trình viên có thể để mã nguồn của
Trang 14họ trong ngôn ngữ C mà không cần tạo ra các thư viện đối tượng biên dịch sẵn, có nghĩa
là khả năng tái sử dụng mã nguồn lớn hơn nhiều
2.3.1 Kiến trúc
Bộ vi xử lý Cortex-M3 dựa trên kiến trúc ARMv7-M có cấu trúc thứ bậc Nó tíchhợp lõi xử lý trung tâm, gọi là CM3Core, với các thiết bị ngoại vi hệ thống tiên tiến để tạo
ra các khả năng như kiểm soát ngắt, bảo vệ bộ nhớ, gỡ lỗi và theo vết hệ thống
Các thiết bị ngoại vi có thể được cấu hình một cách thích hợp, cho phép bộ vi xử lýCortex-M3 đáp ứng được rất nhiều ứng dụng và yêu cầu khắt khe của hệ thống Lõi của
bộ vi xử lý Cortex-M3 và các thành phần tích hợp (hình 3) đã được thiết kế đặc biệt đểđáp ứng yêu cầu bộ nhớ tối thiểu, năng lượng tiêu thụ thấp và thiết kế nhỏ gọn
Lõi Cortex-M3
Lõi trung tâm Cortex-M3 dựa trên kiến trúc Harvard, được đặc trưng bằng sự táchbiệt giữa vùng nhớ chứa dữ liệu và chương trình do đó có các bus riêng để truy cập (hình3) Đặc tính này khác với dòng ARM7 dựa trên kiến trúc Von Neumann sử dụng chungvùng nhớ để chứa dữ liệu và chương trình, do đó dùng chung bus cho việc truy xuất Vì
có thể đọc cùng lúc lệnh và dữ liệu từ bộ nhớ, bộ vi xử lý Cortex-M3 có thể thực hiệnnhiều hoạt động song song, tăng tốc thực thi ứng dụng
Hình 2 2 Bộ vi xử lý Cortex-M3
Trang 15Lõi Cortex có cấu trúc đường ống gồm 3 tầng: Instruction Fetch, InstructionDecode và Instruction Execute Khi gặp một lệnh nhánh, tầng decode chứa một chỉ thịnạp lệnh suy đoán có thể dẫn đến việc thực thi nhanh hơn Bộ xử lý nạp lệnh dự định rẽnhánh trong giai đoạn giải mã Sau đó, trong giai đoạn thực thi, việc rẽ nhánh được giảiquyết và bộ vi xử lý sẽ phân tích xem đâu là lệnh thực thi kế tiếp Nếu việc rẽ nhánhkhông được chọn thì lệnh tiếp theo đã sẵn sàng Còn nếu việc rẽ nhánh được chọn thì lệnh
rẽ nhánh đó cũng đã sẵn sàng ngay lập tức, hạn chế thời gian rỗi chỉ còn một chu kỳ
Lõi Cortex-M3 chứa một bộ giải mã cho tập lệnh Thumb truyền thống và Thumb-2mới, một ALU tiên tiến hỗ trợ nhân chia phần cứng, điều khiển logic, và các giao tiếp vớicác thành phần khác của bộ xử lý
2.3.2 Tính năng
Bộ vi xử lý Cortex-M3 là một bộ vi xử lý 32-bit, với độ rộng của đường dẫn dữliệu 32 bit, các dải thanh ghi và giao tiếp bộ nhớ Có 13 thanh ghi đa dụng, hai con trỏngăn xếp, một thanh ghi liên kết, một bộ đếm chương trình và một số thanh ghi đặc biệttrong đó có một thanh ghi trạng thái chương trình
Bộ vi xử lý Cortex-M3 hỗ trợ hai chế độ hoạt động (Thread và Handler) và haimức truy cập tài nguyên của lõi xử lí (đặc quyền và không đặc quyền), tạo điều kiện choviệc cài đặt các hệ thống mở và phức tạp nhưng vẫn bảo mật Những dòng mã không đặcquyền bị giới hạn hoặc không cho phép truy cập vào một số tài nguyên quan trọng (một
số lệnh đặc biệt và các vùng nhớ nhất định) Chế độ Thread là chế độ hoạt động tiêu biểu
hỗ trợ cả mã đặc quyền và không đặc quyền Bộ vi xử lý sẽ vào chế độ Handler khi mộtngoại lệ (exception) xảy ra và tất cả các mã là đặc quyền trong chế độ này Ngoài ra, tất
cả các hoạt động trong bộ vi xử lý đều thuộc một trong hai trạng thái hoạt động: Thumbcho chế độ thực thi bình thường và Debug cho việc gỡ lỗi
Bộ vi xử lý Cortex-M3 là một hệ thống ánh xạ bộ nhớ đơn giản, quản lí vùng nhớ
cố định lên tới 4 gigabyte với các địa chỉ định nghĩa sẵn, dành riêng cho mã lệnh (vùng
mã lệnh), SRAM (vùng nhớ), bộ nhớ/thiết bị bên ngoài, thiết bị ngoại vi bên trong và bênngoài Ngoài ra còn có một vùng nhớ đặc biệt dành riêng cho nhà cung cấp
Trang 16Hình 2 3 Bản đồ bộ nhớ
Bộ vi xử lý Cortex-M3 cho phép truy cập trực tiếp đến từng bit dữ liệu trong các
hệ thống đơn giản bằng cách thực thi một kỹ thuật được gọi là bit-banding (hình 5) Bộnhớ bao gồm hai vùng bit-band (mỗi vùng 1MB) trong SRAM và vùng bí danh 32MB củavùng không gian ngoại vi (Mỗi byte trong vùng bí danh sẽ tương ứng với một bit trongvùng bit-band) Mỗi hoạt động nạp/lưu tại một địa chỉ trong khu vực bí danh (aliasregion) sẽ trực tiếp tương ứng với hoạt động trên bit được đại diện bởi bí danh đó Cụ thể,khi ghi giá trị 0x01 vào một địa chỉ trên vùng bí danh thì có nghĩa là xác định bit tươngứng sẽ có giá trị là 1, tương tự giá trị 0x00 sẽ xác định bit tương ứng có giá trị 0 Còn đọcgiá trị tại một địa chỉ vùng bí danh có nghĩa là đọc được giá trị của bit tương ứng Mộtvấn đề cần chú ý nữa là hoạt động này mang tính nguyên tử (không chia nhỏ được nữa),không thể bị gián đoạn bởi các hoạt động khác trên bus
2.3.3 Kiến trúc tập lệnh Thumb-2
ARMv7-M là cấu hình vi điều khiển của kiến trúc ARMV7 và khác với các kiếntrúc ARM trước đó ở chỗ nó chỉ hỗ trợ tập lệnh Thumb-2 Tập lệnh Thumb-2 là sự phatrộn giữa tập lệnh 16 và 32 bit, đạt được hiệu suất của các lệnh ARM 32 bit, đồng thờiphù hợp với mật độ mã cũng như tương thích ngược với tập lệnh gốc Thumb 16 bit
Trang 17Hình 2 4 Kiến trúc tập lệnh Thumb-2
Trong một hệ thống dựa trên bộ vi xử lý ARM7, việc chuyển đổi nhân xử lý giữachế độ Thumb (có lợi về mật độ mã) và ARM (có lợi về mặt hiệu suất) là cần thiết chomột số ứng dụng Còn bộ vi xử lý Cortex-M3 có các lệnh 16 bit và 32 bit tồn tại trongcùng một chế độ, cho phép mật độ mã cũng như hiệu suất đều cao hơn mà không cần phảichuyển đổi phức tạp Vì tập lệnh Thumb-2 là tập bao hàm của tập lệnh Thumb 16 bit nên
bộ vi xử lý Cortex-M3 có thể thực thi các đoạn mã trước đây viết cho Thumb 16 bit Dođược cài đặt tập lệnh Thumb-2 nên bộ vi xử lý Cortex-M3 có khả năng tương thích vớicác thành viên khác của dòng ARM Cortex