2.3 LÝ THUYẾT XỬ LÝ TÍN HIỆU SỐ
2.4.2 Cấu trúc ARM (Advanced RISC Machine)
ARM là một loại cấu trúc vi xử lý 32 bit và 64 bit kiểu RISC đượ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.
Một nhánh nổi tiếng của họ ARM là các vi xử lý Xscale của Intel.
2.4.2.2 Một số dạng lõi ARM
Bảng 2.3 Một số dạng lõi ARM
Họ Lõi Đặc tính
Cache (I/D)/MM
U
MIPS điển hình @
MHz
Ứng dụng
ARM7T DMI
ARM7TD MI(-S)
3-tầng
pipeline không
15 MIPS
@ 16.8 MHz
Game Boy Advance, Nintendo
DS, iPod ARM710
T MMU
36 MIPS
@ 40 MHz
Psion 5 series
ARM9T DMI
ARM9TD MI
5-tầng
pipeline không
ARM920 T
16KB/16K B, MMU
200 MIPS
@ 180 MHz
GP32,GP2X (lõi đầu tiên), Tapwave Zodiac(Motorola i.
MX1)
ARM9E ARM946 thay đổi Nintendo
E-S
được, tightly coupled memories,
MPU
DS, Nokia N-Gage, Conexant 802.11
chips
ARM966 E-S
không có cache, TCMs
ST Micro STR91xF, includes Ethernet [1]
ARM926 EJ-S
Jazelle DBX
thay đổi được, TCMs,
MMU
220 MIPS
@ 200 MHz
Điện thoại di động: Sony Ericsson (K, W series),Siemens and
Benq (đời x65 và đời mới hơn)
Cortex Cortex- A8
Applicatio n profile,
NEON, Jazelle
RCT, Thumb-2
variable (L1+L2), MMU+Tr ustZone
lên đến 2000 (2.0 DMIPS/M
Hz in speed from 600 MHz to greater
than 1 GHz)
Texas
Instruments OMAP3
Cortex- R4
Embedded profile
variable cache,
600 DMIPS
Broadcom là một hãng sử dụng
profile 100 MHz roller family
Hình 2.17 Biểu đồ phát triển và lĩnh vực ứng dụng của ARM
Hình 2.18 Biểu đồ phát triển và thị phần ARM.
2.4.2.3 Đặc điểm ARM Cortex M4
Việc tìm hiểu kĩ về ARM cortex M4 sẽ cho ta cái nhìn sâu hơn về những tính năng vượt trội của nó, với tần số hoạt động lên tới 168 Mhz, nhiều cổng đa dụng thuận tiện cho việc cài đặt và sử dụng với nhiều mục đích khác nhau.
Giải pháp Soc (System-on-chip) dựa trên bộ vi xử lý nhúng ARM được ứng dụng vào rất nhiều thị trường khác nhau bao gồm các ứng dụng doanh nghiệp, các hệ thống ô tô, mạng gia đình và công nghệ mạng không dây...
Dòng vi xử lý ARM Cortex dựa trên một kiến trúc chuẩn đủ để đáp ứng hầu hết cá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 bao gồ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-M4 là bộ vi xử lý ARM dựa trê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ọn tốt cho ngay cả những ứng dụng đơn giản nhất.
Trung tâm của bộ vi xử lý Cortex-M4 là một lõi có cấu trúc đường ống tiên tiến 3 tầng, dựa trên kiến trúc Harvard, kết hợp nhiều tính năng mới mạnh mẽ như suy
ARM7TDMI-S thực thi với tập lệnh ARM.
Người lập trình không cần phả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ến trú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úc 32-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ác chươ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ới kiế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ồm việ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 chia phầ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ăng tố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ã được biê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 họ 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.
Chi phí luôn là rào cản lớn nhất cho sự lựa chọn một bộ vi xử lý hiệu suất cao. Bộ vi xử lý được thiết kế trên một diện tích nhỏ sẽ giảm chi phí đáng kể. Bộ vi xử lý Cortex-M4 thực hiện điều này bằng cách cài đặt các lõi ARM nhỏ nhất từ trước đến nay, chỉ với 33.000 cổng (cổng có thể là NAND hoặc NOR… tuỳ vào công nghệ sản xuất) trong lõi trung tâm (0.18um G) và bằng cách kết hợp hiệu quả, chặt chẽ các thành phần trong hệ thống vi xử lý. Bộ nhớ được tối giản bằng cách cài
đặt bộ nhớ không thẳng hàng (unaligned), thao tác bit dễ dàng với kĩ thuật bit banding. Tập lệnh Thumb-2 tiết kiệm bộ nhớ hơn 25% so với tập lệnh ARM.
Để đáp ứng nhu cầu ngày càng tăng trong việc tiết kiệm năng lượng ở các ứng dụng mạng không dây…, bộ vi xử lý Cortex-M3 hỗ trợ mở rộng xung nhịp cho các cổng (có thể ngừng cung cấp xung nhịp cho các cổng để tiết kiệm năng lượng) và tích hợp chế độ ngủ. Kết quả là bộ vi xử lý chỉ tiêu thụ 4.5mW điện năng và chiếm diện tích 0.3 mm2 (silicon footprint) khi triển khai ở tần số 50MHz trên quá trình công nghệ TSMC 0.13G, sử dụng tế bào tiêu chuẩn ARM Metro.
Trong gần một thập kỷ qua, dòng vi xử lý ARM7 đã được sử dụng rất rộng rãi. Bộ vi xử lý Cortex-M4 được xây dựng trên nền tảng này nên việc nâng cấp từ dòng ARM7 lên Cortex-M4 là hợp lý và dễ dàng. Lõi trung tâm làm việc hiệu quả hơn, mô hình lập trình đơn giản, cách xử lý ngắt tất định (deterministic interrupt behaviour), việc tích hợp các thiết bị ngoại vi giúp nâng cao hiệu năng làm việc mà vẫn giữ được chi phí thấp.
Bảng 2.4So sánh ARM7TDMI-S và các dòng Cortex-M.
Nhận xét: Qua những lần nâng cấp, vi điều khiển ARM không chỉ nâng cao khả năng, tốc độ xử lý mà còn mở rộng thêm nhiều tính năng mới, nâng cao sự chính xác và mở rộng thêm các cổng giao tiếp đồng thời co gọn về kích thước phần cứng giúp tiết kiệm diện tích và năng lượng.
nối giữa tín hiệu số và vi điều khiển. Sau đây là sơ đồ trình tự, mối tương quan giữa MATLAB và các phần lý thuyết trên:
Hình 2.19 Trình tự thực hiện cài đặt bộ lọc số
Là một công cụ toán học mạnh mẽ được dùng trong nhiều lĩnh vực nên trong phạm vi nghiên cứu, chúng ta chỉ cần nằm những khái niệm, đặc điểm của MATLAP về xử lí tín hiệu.