Sử dụng một bộ xử lý chuẩn trong thiết kế cho phép các đối tác ARM tạo ra các thiết bị với một cơ sở phù hợp, cho phép họ tập trung vào việc triển khai và tạo ra các thiết bị cao cấp.. 1
Trang 1BÀI BÁO CÁO MKL46Z4 MICROCONTROLLER
(VI ĐIỀU KHIỂN MKL46Z4)
BỘ MÔN KỸ THUẬT MÁY TÍNH – VIỄN THÔNG
HỆ THỐNG NHÚNG MMH:EMSY435664
Tuần:10 Ngày……2….tháng……11…năm 2016
Họ và tên
Trần Mạch Thanh Tú 14119063
Trang 2Kit FRDM-KL46Z là một kit được xây dựng dựa trên vi xữ lý ARM Cortex-M0+
Freescale sản xuất Sơ lượt về chức năng chính của Kit
: Chip ARM MKL46Z256VLL4MU, core clock 48MHz, bộ nhớ flash 256KB, 32KB sram, tích hợp bộ điều khiển segment LCD, USB otg
Cảm ứng điện dung (capactivie touch slider), trên chip ARM đã tích hợp controller cho touch sensing
Cảm biến Accelerometer MMA8451Q
Cảm biến từ trường magnetometer MAG3110
Linh hoạt trong lựa chọn nguồn, có thể sử dụng 5V từ cổng USB máy tính,hoặc từ pin 3V3
Form factor compatible with Arduino tmR3 pin layout
Tích hợp bộ debug Open SDA trên kit, có thể sử dụng Open SDA để debug và giao tiếp RS232
Các khối của KL4x bao gồm:
1 MPU
2.System module
3 Memories
4 Clock
5 Analog
6 Timer
7.HMI
8.Communication interface
1 MPU
Bộ vi xử lý điện Cortex có kích thước nhỏ nhất và giá thành thấp - tối ưu hóa cho thời gian và không gian thiết kế hệ thống và vi điều khiển ứng dụng xác định
Dòng ARM Cortex xử lý một loạt các khả năng mở rộng, năng lượng hiệu quả và dễ sử dụng bộ xử lý đáp ứng nhu cầu của các ứng dụng nhúng thông minh và kết nối của ngày nay Cortex-M giúp các nhà phát triển cung cấp nhiều tính năng hơn, trong thời gian ít hơn, với chi phí thấp hơn, với kết nối đa năng, tái sử dụng mã toàn diện, bảo đảm tiêu
Trang 3chuẩn và nhà nước về hiệu quả năng lượng Các bộ vi xử lý ARM Cortex-M sử dụng ARM Thumb ® -2 - công nghệ nhằm cung cấp mật độ mã vượt trội hơn so với 8-bit, 16- bit Công nghệ Thumb-2 hỗ trợ các tính năng cơ bản củaThumb 16-bit, đồng thời mở rộng thêm các tính để Thumb 32-bit mạnh mẽ hơn Trong nhiều trường hợp, một trình biên dịch C sẽ sử dụng phiên bản 16-bit nếu các công việc được thực hiện hiệu quả hơn
so với sử dụng một phiên bản 32- bit Bộ vi xử lý ARM Cortex-M là sự lựa chọn phổ biến nhất cho các ứng dụng nhúng, vì nó được cấp phép cho hơn 350 đối tác của ARM và được hỗ trợ rộng rãi của nhiều công ty nhúng thế giới với các công cụ của bên thứ ba rộng nhất, RTOS và hỗ trợ trung gian của bất kỳ kiến trúc nào Sử dụng một bộ xử lý chuẩn trong thiết kế cho phép các đối tác ARM tạo ra các thiết bị với một cơ sở phù hợp, cho phép họ tập trung vào việc triển khai và tạo ra các thiết bị cao cấp Cortex-M0+ có hiệu quả năng lượng cao nhất trong các dòng Nó được xây dựng trên bộ vi xử lý Cortex-M0 rất thành công, giữ lại đầy đủ những tính đặc tính cơ bản và khả năng tương thích công cụ, đồng thời giảm hơn nữa mức tiêu thụ năng lượng và tăng hiệu suất Lợi ích
chính: hiệu quả năng lượng cao nhất Cortex-M0 + xử lý đạt được mức tiêu thụ điện
1.1 Debug interface (giao diện gỡ lỗi):
Cho phép gỡ rối chương trình của một mạch ứng dụng, bằng việc cho chip chạy chương trình theo ý của người dùng, từng lệnh một (stepping) hay đến một điểm dừng (break point) đã định Trong quá trình debug, người dùng có thể khảo sát giá trị của các thanh ghi, biến bên trong chip, cũng như thao tác các giá trị của các thanh ghi, hay biến, nhằm đặt chip đến các trạng thái mong muốn
1.2 Interrupt controller( bộ điều khiển ngắt):
Chức năng Một hệ thống thời gian thực được gọi là “điều khiển sự kiện” có nghĩa là hệ thống đó phải có chức năng chính là phản ứng lại các sự kiện xảy ra trong môi trường của
hệ thống Vậy thì hệ thống phản ứng lại các sự kiện như thế nào? Hiện nay có hai
phương pháp tiếp cận vấn đề này Phương pháp đầu tiên là Polling hay Vòng lặp Polling
và phương pháp thứ 2 là xử lý ngắt (Interrup)
1.3 micro trace butter:
- Được phát triển bởi ARM
- 32-bit ARM Cortex-M0+ core (up to 48MHz CPU Clock)
- Nested vectored interrupt contr (NVIC)
- Async wake-up interrupt contr (AWIC)
- The Cortex-M0 core is optimized for small silicon die size and use in the lowest price chips
Trang 4- Tiêu thụ năng lượng ít
2 System module
2.1 Internal Watchdog:
Là bộ timer có chức năng reset lại processor
2.2 DMA Direct memory access (DMA) là một phương pháp cho phép các thiết bị
Input/Output(I/O) gửi hoặc nhận dữ liệu trực tiếp tới hoặc từ bộ nhớ chính mà không cần
thông qua CPU Quá trình này được quản lý bởi một vi xử lý gọi là DMA
controller(DMAC) Trong các máy tính trước đây, có 4 kênh DMA được đánh số từ 0
đến 4
Cơ chế hoạt động:
Chế độ DMA: thường thì hoạt động chuyển thông tin giữa thiết bị I/O với bộ nhớ máy tính được thực hiện thông qua CPU theo cơ chế tuần tự: CPU ra lệnh "import" để nhập 1 đơn vị thông tin (byte/word) từ thiết bị I/O vào thanh ghi CPU rồi ra lệnh ghi thông tin từ thanh ghi CPU vào ô nhớ RAM nào đó Quy trình này rất chậm vì CPU phải tốn nhiều chu kỳ máy để thực hiện các lệnh di chuyển thông tin, hơn nữa thông tin còn phải đi vòng qua CPU trước khi đến được vị trí cuối cùng Để tăng tốc độ chuyển dữ liệu giữa I/O và RAM, người ta đã thiết kế mạch cứng DMA (Direct Memory Access) cho phép chuyển
dữ liệu trực tiếp giữa I/O và RAM mà không cần đi ngang qua CPU nữa Như vậy, nếu driver thiết bị I/O hỗ trợ tốt chế độ hoạt động DMA thì bạn nên cho phép chế độ này hoạt động
Khi sử dụng, CPU gửi cho bộ điều khiển một số các thông số như địa chỉ trên đĩa của khối, địa chỉ trong bộ nhớ nơi định vị khối, số lượng byte dữ liệu để chuyển
Sau khi bộ điều khiển đã đọc toàn bộ dữ liệu từ thiết bị vào buffer của nó và kiểm tra checksum, bộ điều khiển chuyển byte đầu tiên vào bộ nhớ chính tại địa chỉ được mô tả bởi địa chỉ bộ nhớ DMA Sau đó nó tăng địa chỉ DMA và giảm số bytes phải chuyển Quá trình này lập cho tới khi số bytes phải chuyển bằng 0, và bộ điều khiển tạo một ngắt Như vậy không cần phải copy khối vào trong bộ nhớ, nó đã hiện hữu trong bộ nhớ
Điểm lợi của DMA: Với những chức năng giao tiếp ngoài có tính liên tục như xử lý âm thanh, kết nối mạng với bên ngoài thì rất cần thiết CPU không thể xử lý đa nhiệm cùng lúc nhiều chức năng nên buộc phải sử dụng DMA Nếu gói dữ liệu chưa thể ghi hết vào DMA thì CPU có thể đợi(do CPU có tốc độ lớn hơn nhiều với giao tiếp ngoài) cho đến khi nào cờ ngắt báo đã ghi xong
2.3 Low-leakage wake-up unit (LLWU):
Trang 5Cho phép bộ vi xử lý để thoát ra từ một trong đó chế độ năng lượng thấp bằng cách hoặc
là một sự kiện bên ngoài (pin thay đổi trạng thái) hoặc một thiết bị ngoại vi được hỗ trợ hoặc là vẫn đang hoạt động hoặc có một chức năng sự kiện không đồng bộ trong trạng thái năng lượng thấp của riêng mình Module configure các ngắt nào được sử dụng để wakeup khi core đang ở trạng thái sleep mode
2.4 Bit Manipulation Engine (thao tác bit):
Các BME là một khối phần cứng mà nằm giữa các nền tảng và L-Series Core phép hoạt động đọc-chỉnh sửa-ghi được thực hiện trên thanh ghi ngoại vi sử dụng dữ liệu được lưu trữ tại địa chỉ mục tiêu
2.5 Unique ID:
Thiết bị số ID duy nhất, là một phần của giấy chứng nhận sử dụng để đăng nhập của một ứng dụng cho một hoắc nhiều thiết bị
3 Memories
Trong máy tính, bộ nhớ đề cập đến các thiết bị phần cứng máy tính sử dụng để lưu trữ thông tin để sử dụng ngay lập tức trong một máy tính Bộ nhớ máy tính được chia làm 2 loại là bộ nhớ bay hơi (Volatile Memory) và bộ nhớ không bay hơi(Non-Volatile
Memory) Bộ nhớ bay hơi là bộ nhớ máy tính đòi hỏi nguồn điện để duy trì các thông tin được lưu trữ Hầu hết bộ nhớ bán dẫn dễ bay hơi là RAM tĩnh (SRAM) hoặc RAM động (DRAM) SRAM giữ lại nội dung của nó miễn là điện được kết nối và rất dễ dàng để giao
tiếp, nó sử dụng sáu transistor trên cho một bit
3.1 Bộ nhớ Flash :
Bộ nhớ flash là một loại bộ nhớ không khả biến có thể xóa và ghi lại bằng điện Về kỹ thuật thì Bộ nhớ flash là một loại EEPROM là bộ nhớ đọc/ghi bằng điện và không mất dữ liệu khi ngừng cung cấp điện
a
Hình 1: Một ổ USB flash Chip bên trái là bộ nhớ flash Bên phải là bộ vi điều khiển
Trang 6Lên đến 256 KB bộ nhớ Flash vàvới 64 KB bộ nhớ flash cache ( Bộ nhớ đệm truy xuất nhanh)
3.2 Bộ nhớ SRAM : là một loại bộ nhớ sử dụng công nghệ bán dẫn Từ "tĩnh" nghĩa là bộ nhớ vẫn lưu dữ liệu nếu có điện, không như RAM động cần được nạp lại thường xuyên Không nên nhầm RAM tĩnh với bộ nhớ chỉ đọc và bộ nhớ flash vì RAM tĩnh chỉ lưu được dữ liệu khi có điện
-Chứa 16 KB ROM về chương trình khởi động và lên đến 32 KB RAM
3.3 Chức năng
-Lưu trũ dữ liệu
-Là mạch bảo mật để ngăn chặn truy cập trái phép vào RAM và bộ nhớ FLASH
4 Clock
4.1 Phase Locked Loop :
Cơ bản là một hệ thống kiểm soát tần số khép kín Trong đó, tín hiệu hồi tiếp dùng để khóa tần số và pha của tín hiệu ra theo tần số và pha của tín hiệu vào PLL ngày nay có công nghệ tích hợp cao làm cho PLL nhỏ, tin cậy, giá rẻ, dễ sử dụng, đa năng, ứng dụng phổ thông như lọc, tổng hợp tần số, giải điều chề, điều chế, điều khiển tự động
Có hàng chục kiểu vi mạch PLL khác nhau, một số chế tạo phổ thông đa dạng, một số ứng dụng đặc biệt như tách tone, giải mã stereo, tổng hợp tần số Trước đây đa phần PLL bao gồm cả mạch số lẫn tương tự Hiện nay PLL trở nên phổ biến
Trang 7Khi không có tín hiệu vào vi thì điện áp ngõ ra Vout = 0 bộ dao động VCO hoạt động ở tần số Fn ( tần số này được cài đặt bằng điện trở tụ điện ngoài )
4.2 Frequency- locked loop:
Một tần số khóa, hoặc vòng lặp tần bị khóa (FLL), là một hệ thống điều khiển điện tử để tạo ra một tín hiệu đó là bị khóa với tần số của một đầu vào hoặc "tham chiếu" tín hiệu mạch này so sánh tần số của một bộ dao động kiểm soát để tham khảo, tự động tăng hoặc giảm tần số của bộ dao động cho đến khi tần số của nó (nhưng không nhất thiết phải pha
của nó) là phù hợp với các tài liệu tham khảo
Một vòng lặp tần số khóa là một ví dụ về một hệ thống điều khiển sử dụng thông tin phản hồi tiêu cực vòng tần số khóa được sử dụng trong phát thanh, viễn thông, máy tính và các ứng dụng điện tử khác để tạo ra tần số ổn định, hoặc để phục hồi một tín hiệu từ một kênh truyền thông ồn ào
Khi có tín hiệu vào vi, bộ tách sóng pha so sánh pha và tần số của tín hiệu vào với tín
hiệu VCO Ngõ ra bộ tách sóng pha là điện áp sai lệch Vd(t), chỉ sự sai lệch về tần số và
pha của tín hiệu Điện áp Vd(t) được lọc lấy thành phần biến đổi chầm nhờ LPF, khuếch đại đưa đến ngõ vào VCO, điều khiển tần số VCO bám theo tần số tín hiệu vào Đến khi tần số fo của VCO gần bằng tần số fi, hệ thống hồi tiếp làm cho VCO đồng bộ ( khóa ) theo tần số tín hiệu vào Ở trang thái (lock) tần số fo của VCO đồng nhất ( bằng ) tần số vào fi, ngoài trừ sự sai biệt pha
4.3 Low/High- Frequency Oscillators:
Tần số dao động (LFO) là một tín hiệu điện tử mà thường là dưới 20 Hz và tạo ra một xung nhịp điệu hoặc quét Xung này hoặc quét thường được sử dụng để điều chỉnh tổng hợp, đường chậm và thiết bị âm thanh khác để tạo ra hiệu ứng được sử dụng trong việc sản xuất nhạc điện tử Hiệu ứng âm thanh như tiếng rung, tremolo và phân kỳ là những ví
dụ Các LFO viết tắt cũng là rất thường được sử dụng để chỉ dao động tần số thấp bản thân
Tần số cao (HFO) là tín hiệu điện tử có tần số cao
4.4 Internal reference clocks (đồng hồ tham khảo nội bộ):
5 Analog:
Trang 8Đây là tín hiệu liên tục theo thời gian Biên đô, pha hoặc tần số dòng điện thay đổi liên
tục theo thời gian
5.1 16-bit ADC (analog to digital converter):
Mạch chuyển đổi tương tự ra số 16 bit
5.2 Analog comparator (so sánh tương tự):
BỘ SO SÁNH TƯƠNG TỰ (ALALOG COMPARATOR) TRONG HỆ THỐNG BĂNG TẢI CON LĂN
Để điều khiển và qua sát trạng thái của bộ so sánh tương tự ta có một thanh ghi đó là thanh ghi ACSR.Trước khi tìm hiểu về nguyên tắc hoạt động của nó ta sẽ giới thiệu về thanh ghi này Thanh ghi ACSR là một thanh ghi 8 bit trong hệ thống băng tải con lăn có địa chỉ trong các thanh ghi I/O là 0x08 và có địa chỉ trong không gian bộ nhớ SRAM là 0x28.Trong
8 bit thì có 7 bit được định nghĩa và bit 6 không được định nghĩa.Nó chỉ có thể đọc và luôn có giá trị logic là 0
Bit 7-ACD:Analog comparator disable –Đây là bit điều khiển
Bit này ttrực tiếp điều khiển hoạt động của AC(bộ so sánh tương tự) Nếu như bit này được set lên 1 thì nguồn cung cấp cho AC hoạt động bị tắt (turn off) và đồng nghĩa với việc nó không hoạt động.Và nếu nó được xóa thì AC trong hệ thống băng tải con lăn được cấp nguồn và hoạt động bình thường.Chú ý :Ta có thể thay đổi giá trị logic của bit này lúc nào cũng được để ngưng hoạt động của chúng hoặc cho chúng hoạt đông trở lại nhưng khi thay đổi ghía trị logic của nó thì ngắt (ngắt của AC)cần bị cấm nếu không nó sẽ sinh ra một ngắt (Cụ thể là bit ACIE cần bị xóa)
Bit 5-ACO:Analog comparator output –Đây là bit trạng thái
Bit này được nối trức tiếp với đầu ra của bộ so sánh tương tự
Bit 4-ACI:Analog comparator interrupt flag –Đây là bit trạng thái
Cờ báo ngắt của bộ so sanh tương tự.Nếu như cờ này được set và các ngắt được phép thì một chương trình phục vụ ngắt được gọi và chúng đước xóa bằng phần cứng khi chương trinh báo ngắt được phục vụ Các trường hợp làm thay đổi trạng thái cờ này ngoài việc thay đổi bit ACD trong hệ thống băng tải con lăn sẽ được nói tới trong các bít o và 1
Bit 3-ACIE:AC interrupt enable –Đây là bit điều khiển
Nếu bit này được set thì ngắt này được phép và ngược lại
Bit 2ACIC:Analog comparator input Capture Enable –Đây là bit điều khiển
Khi bit này được set lên 1 thì đầu ra của AC được nối trực tiếp vào đầu vào của chức năng bắt sự kiện của Timer/counter 1.( Đọc thêm timer/counter1)
Trang 9Bit ACIS1 và ACIS0 :Ac interrupt mode select –Đây là hai bit điều khiển
ACIS1 ACIS0 Chế độ ngắt 0 0 Theo mức 0 1 Dành riêng(chưa dùng đến)
5.3 12-Bit DAC
DAC (hay còn gọi là D/A, D2A hay D-to-A) là viết tắt của cụm từ Digital Analog
Converter)
Bộ chuyển đổi tín hiệu điện tử thành analog 12 bit
6 Timer
6.1 PWM( Pulse Width Modulation):
Phương pháp điều xung PWM (Pulse Width Modulation) là phương pháp điều chỉnh điện
áp ra tải, hay nói cách khác, là phương pháp điều chế dựa trên sự thay đổi độ rộng của
chuỗi xung vuông, dẫn đến sự thay đổi điện áp ra
Các PWM khi biến đổi thì có cùng 1 tần số và khác nhau về độ rộng của sườn dương hay sườn âm
Ứng dụng của PWM trong điều khiển
Trang 10PWM được ứng dụng nhiều trong điều khiển Điển hình nhất mà chúng ta thường hay gặp là điều khiển động cơ và các bộ xung áp, điều áp Sử dụng PWM điều khiển độ nhanh chậm của động cơ hay cao hơn nữa, nó còn được dùng để điều khiển sự ổn định tốc độ động cơ
Ngoài lĩnh vực điều khiển hay ổn định tải thì PWM còn tham gia và điều chế các mạch nguồn như : boot, buck, nghịch lưu 1 pha và 3 pha
PWM còn gặp nhiều trong thực tế ở các mạch điện điều khiển Điều đặc biệt là PWM chuyên dùng để điều khiển các phần tử điện tử công suất có đường đặc tính là tuyến tính khi có sẵn 1 nguồn 1 chiều cố định Như vậy PWM được ứng dụng rất nhiều trong các thiết bị điện- điện tử PWM cũng chính là nhân tố mà các đội Robocon sử dụng để điều khiển động cơ hay ổn định tốc độ động cơ
6.2 Periodic interrupt timers(hẹn giờ ngắt định kỳ):
Ngắt (Interrupt) – như tên của nó, là một số sự kiện khẩn cấp bên trong hoặc bên ngoài
bộ vi điều khiển xảy ra, buộc vi điều khiển tạm dừng thực hiện chương trình hiện tại, phục vụ ngay lập tức nhiệm vụ mà ngắt yêu cầu – nhiệm vụ này gọi là trình phục vụ ngắt
(ISR: Interrupt Service Routine)
Periodic interrupt timers Có chức năng ngắc trong một thời gian nhất định, trong một
chu kỳ
6.3 Low power timer(hẹn giờ điện năng thấp):
Chức năng tắt ngắt khi điện năng không còn đủ hay thấp
6.4 Secure real time clock (đảm bảo đồng hồ thời gian thực):
Chức năng đảm bảo thời gian thực chính xác
Giao diện người dùng (User interface) hay còn gọi là giao diện người-máy ( HMI )
là một phần của máy tính nó đảm nhận sự tương tác giữa người với máy tính Bàn phím máy tính, màn hình cảm ứng là một số ví dụ điển hình cho HMI nơi mà ta có thể tương tác với máy tính
7.1 GPIO (General Purpose Input Output )
Cổng đầu vào và ra với mục đích cơ bản thực tế nó là các chân đầu ra, đầu vào đa chức
năng