1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Máy phát nhạc sử dụng chip arm cortex m3 32 bit

75 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Máy Phát Nhạc Sử Dụng Chip Arm Cortex - M3 32 Bit
Tác giả Nguyễn Khắc Lợi, Duy Thao
Người hướng dẫn Ths. Nguyễn Duy Thao, TS. Nguyễn Thanh Hải
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Kỹ Thuật Điện - Điện Tử
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2014
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 75
Dung lượng 7,22 MB

Nội dung

Xuất phát từ nhú cầu phát triển trong lĩnh vực vi điều khiển đã dẫn đến điện tử tự động hóa ra đời và nó được xếp trong nhóm ngành khoa học công nghệ hàng đầu vì những ứng dụng rộng rã

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRUONG DAI HOC SU’ PHAM KY THUAT

THÀNH PHÓ HÒ CHÍ MINH

HGMUIIE

ĐỎ ÁN TÓT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN - ĐIỆN TỬ

MAY PHÁT NHẠC SU’ DUNG CHIP ARM CORTEX - M3 32 BIT

GVHD: NGUYEN DUY THAO

Trang 2

PHẢN A

GIỚI THIỆU

Trang 3

TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TP HO CHI MINH - ĐỘC LẬP - TỰ DO - HANH,PHUC

Chuyên ngành: _ Kỹ thuật Điện - Điệntử Mã ngành: 01

Hệ đào tạo: Đại học chính quy Mã hệ: 2

II NGÀY GIAO NHIỆM VỤ: 03/2014

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 07/2014

V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Ths;NGUYỄN DUY THẢO

CÁN BỘ HƯỚNG DẪN BM ĐIỆN- ĐIỆN TỬ

Trang 4

TRƯỜNG ĐẠI HỌC SPKT TPHCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Khoa Điện - Điện Tử Độclập - Tự do - Hạnhphúc

widen, Tuấn may | | Nội dụng " Xác nhận Chữ

Tuần 1,2 | Thấy trường bộ môn phân công giáo viên

Lhường dẫn, Gập giáo viên hướng dan dé

| thao luận một số đề tài thực hiện,

1 uần 3,4 4 Giáo viên hướng dẫn chính thức giao đề tải

Ị nghiền cứu

Ì_ Tuần§,6 | Báo cáo tiến độ nghiên cứu, giao nhiệm vụ

| tìm hiểu một số để tải trên thể giới

Tuan 7,8 | Nhan dé tai: MAY PHAT NHAC SU

DUNG CHIP ARM CORTEX-M3 32-BIT

Tuan 9,10 | Gặp giáo viên hướng dẫn trao dõi

Tuan 11, | Nhóm thực hiện báo cáo cách thức thực hiện

12 đề tài Giáo viên hướng dẫn yêu cầu thực

hiện mạch test trên kít

Tuân 13, | Báo cáo kết quả mạch test và chương trình

14 hoạt động

Tuần 15 | Báo cáo kết quả thi công và test thành công,

tiến hành việt báo cáo, làm file thuyết trình

GV HƯỚNG DẪN

(Ký và ghỉ rõ họ và tên)

Ths Nguyễn Duy Thao

Trang 5

Trường ĐH sư Phạm KỹThật Khoa Điện - Điện Tủ PHIẾU CHẤM DO AN TÓT NGHIỆP 5

BM Điện Tử Công Nghiệp (Dành cho cán bộ hướng dẫn)

4 Đề nghị : Được bảo vệ: [1 Bỗ sung để được bảo vệ: [] Không được bão vệ:

Trang 6

Trường ĐH Sư Phạm Kỹ Thuật Khoa Dién - Dign Ta PHIEU CHAM DO AN TOT NGHIEP `

BỤ Điện Từ Công Nghiệp (Dành cho cán bộ hướng dẫn)

lược bảo vệ: F1 Không được bảo vệ:

13 Đánh giá chung (bằng chữ: giỏi, khá, TB, yế

Trang 7

LỜI MỞ ĐẦU

RSS 2⁄2

Thế giới ngày nay với khoa học kỹ thuật phát triển mạnh mẽ cuộc sống,

con người ngày càng được phát triển tốt hơn,khoa học kỹ thuật đem lại nhiều

tiện ích thiết thực hơn cho cuộc sống, góp phần không thể thiếu để mang lại

những thành tựu to lớn là sự nghiệp phát triển không ngừng của vỉ xử lý

Xuất phát từ nhú cầu phát triển trong lĩnh vực vi điều khiển đã dẫn đến

điện tử tự động hóa ra đời và nó được xếp trong nhóm ngành khoa học công

nghệ hàng đầu vì những ứng dụng rộng rãi của nó, sự ra đời của côg nghệ CH/P

ARMCORTEX-M3 32-BIT da lam thay đổi hoàn toàn suy nghĩ cũng như phạm vỉ

ứng dụng rộng rải trong vì diéu khién, Kit ste dung CHIP ARM STM F103RC

dùng, mang lại nhiều thuận lợi cho xã hội loài người.Phát triển từ những nhu

cầu trên nhóm đã thực hiện đề tải: MÁY PHÁT NHẠC SỬ DỤNG CHIP ARM

CORTEX-M3 32-BIT nhằm mục đích thay thế cho những con vi điều khiển

khác trong lĩnh vực về âm thanh

Với những kiến thức đã học được trong quá trình học tập ở trường mặc

dù người thực hiện đề tài đã cố gắng hoàn thành nhiệm vụ của đề tài đặt ra và

đúng thời gian quy định nhưng chắc chắn sẽ không tránh khỏi những thiếu sót

mong quý Thầy/Cô và các bạn thông cảm Người thực hiện đề tài mong nhận

được những ý kiến đóng góp của quý Thầy/Cô và các bạn sinh viên

Xin chân thành cảm ơn!

Nhóm thực hiện

1 Nguyễn Khắc Lợi

2 Võ Tấn Nẵm

Trang 8

LỜI CẢM ƠN

Sĩ <2⁄2

Lời đầu tiên chúng em xin chân thành cảm ơn thầy cô Khoa Điện - Điện

Tử trường Đại học Sư Phạm Kỹ Thuật TP.Hồ Chí Minh cũng như các thầy cô

trong trường đã giảng dạy truyền đạt cho chúng em những kiến thức quý báo

trong thời gian học tập tại trường,khối kiến thức này là cơ sở để chúng em có

thể hoàn thành luận văn tốt nghiệp

Chúng em xin chân thành cảm ơn sâu sắc đến thầy Nguyễn Duy Thảo đã

đánh nhiều thời gian.quan tâm theo dõi tận tình hướng dẫn chúng em trong suốt

quá trình thực hiện tốt đề tai nay

Cuối cùng chúng em xin bay tỏ lòng biết ơn sâu sắc đến gia đình và bạn

bề đã quan thm đồng viên trong suốt quá trình học tập

Nhóm thực hiện đề tai

1 Nguyễn Khắc Lợi

2 Võ Tấn Năm

Trang 9

2.2 NGUYEN LY HOAT DONG CO BAN

2.3 TONG QUAN VE CPU STM32F103RC

2.3.1 GIỚI THIEU CHUNG VE DONG CHIP ARM CORTEX

2.3.2 ARM CORTEX M3 - STM32 VA CPU STM32F103RC

CHUONG 3: MO HINH PHAN CUNG

3.3.2.1.1 CAU TRUC FILE CHUNG CUA SD CARD

3.3.2.1.2 CAU TRUC FILE CUA MOI PHAN VUN

3.3.2.2 GIAO TIEP VOI MICRO SD CARD

Trang 10

3.3.2.2.1 LENH VA DAP UNG CUA MICRO SD CARD 13 3.3.2.2 KHOI TAO SD CARD ,

3.3:2.2.3 QUA TRINH TRUYEN DỮ LIỆU GIỮA HOST VA SD CARD

3.3.3 GIAO DIEN SPI

3.3.3.1 GIGI THIEU GIAO DIEN SPI

3.3.3.2 DAC DIIiM CUA GIAO DIEN SPI

3.3.3.3 SPL HOAT DONG Gi Clif! DO MASTER

3.3.3.4 CÂU HINH GIAO DIEN SPI GIAO TIRP VOI SD CARD

3.3.4 GIAO DIEN DAC

3.3.4 DAC DIEM CHINH

3.3.4.5 NGUON XUNG KICH NGOAL

3.3.4.6 DMA DANH CHO DAC

3.3.4.7 CAU HINH DAC CHO SAN PHAM

3.3.4.8 HOAT DONG CUA BO DAC

3.3.5 DMA ( Direct Memory Access)

3.3.5.1GIỚI THIỆU DMA

3.3.5.2 ĐẶC ĐIÊM CHÍNH

3.3.5.3 HOẠT ĐỌNG VẬN CHUYÊN DỮ LIỆU CỦA DMA

3.3.5.4 BỘ PHÂN XỬ

3.3.5.5 NGAT DMA

3.3.5.6 DMA DANH CHO 2 KENH DAC

33.5.7 CAU HINH DMA CHO SAN PHAM

3.3.6 GIAO DIEN EXTI (External event/ interrupt controller)

Trang 11

CHUONG 4: MO HINH PHAN MEM

4.1 DINH DANG FILE WAVE

4.2 CONG CU HO TRO LAP TRINH

4.2.1 TRINH BIÊN DỊCH KEIL uVERION4

4.2.2 TRINH SOAN THAO SOURCE INSIGHT

4.2.3 CHUGNG TRINH NAP FLASH LOADER DEMONSTRATOR

4.3 GIỚI THIỆU CÁC BỘ THU VIEN HO TRO LAP TRÌNH

4.3.1 BO THU’ VIEN CHUAN CMS!

43.2 BO THU VIEN DOSFS

44 SỐ ĐÔ GIẢI THUẬT

CHUONG Š: KẾT LUẬN VÀ HƯỚNG PHÁT TRIÊN

SL SAN PHAM DAL DUOC

§,2 NHUNG HAN CHE CUA SAN PHAM

5.3 HUONG PHAT TRIEN TIEP THEO,

PHU! LUC VA MA NGUON

PHU LUC I: MA NGUON CHUONG

PHU LUC I: TAI LIEU THAM KHAO

Trang 12

LIỆT KÊ HÌNH VẼ

Hình

Hình 2.1: Sơ đồ hoạt động tổng quan của hệ thống

Hình 2.2: Kiến trúc chung của đòng STM32

áu trúc của ổ đĩa

1]ình 3.5: Câu trúc chung của mỗi phân vùng

Hình 36 Giáo tiếp giữa SD Card và SP]

Hình 3.7: Cấu trúc đáp ứng của RI và R3

Hình 3,8: Dọc một khỏi dự liệu

Hình 3.9: Đọc nhiều khói đữ liệu

Ninh 3.10: Sơ đồ khối giao điện SPI

Hình 3.11: Sơ đồ kết nối Micro SD Card với giao điện SPI

Hình 3.12: Trạng thái clock tinh cia SPI

Hình 3.13: Sơ đồ khối của bộ chuyển đổi ADC

Hình 3.14: Ngõ ra không đệm (có tải và không tải )

Hình 3.15: Ngõ ra có đệm (có tải và không tải)

Hình 3.16: Thanh ghi dữ liệu tương ứng với 3 trường hợp Single Mode

Hình 3.17: Thanh ghi dữ liệu tương ứng với 3 trường hợp Dual Mode

Hình 3.18: Quá trình chuyển đổi không cần xung

Hình 3.19: Sơ đồ khối của bộ điều khiển DMA

Hình 3.20: Bộ điều khiển DMA2 và ánh xạ ngoại vi của nó

Hình 3.21: Sơ đồ khối của EXTI

Hình 3.22: Các nguồn ngắt của EXTI0

Hình 3.23: Các nguồn ngắt của EXTI15

Hình 3.24: Sơ đồ khối của Module điều khiển

Hình 3.25: Sơ đồ nguyên lý các nút nhấn

Hình 3.26: Sơ đồ nguyên lý khối LCD

Hình 3.27: Sơ đồ nguyên lý mạch khuếch đại công suất

Hinh 4.1; Dinh dang file WAVE

Trang 13

Hình 4.2: Minh họa dạng của file WAVE

Hình 4.3: Trang cài đặt kết nối

Hình 4.4: Trang báo trạng thái Flash

Hình 4.5: Trang thông tỉn về thiết bị

Hình 4.6: Trang chọn tác vụ

Hình 4.7: Quá trình nạp

Hình 4.8:

‘6 chức thư viện CMSIS

Ninh 4.9: Sơ đồ giải thuật chương trình chính

Hinh 4.10: So d6 giải thuật của EXTII_IRQHandler

Hình 4.11: Sơ đồ giải thuật của EXTI9_5 IRQHandler

Hinh 4 12: Sơ dỗ giải thuật của EXTII5 10 1RQOHandle

Hình4 13:Sơ đố giải thuat hamWAV_STEREO_PLAYER()

Hình 4.14: Số dò giải thuật ham WAV_MONO_PLAYERO

Trang 14

Bang 3.2: Thông tin của một vùng nhớ

Đăng 3.3: Thông tin chita trong Boot Sector

Trang 15

PHẢN B NỘI DUNG

Trang 16

ĐỒ ÁN TỐT NGHIỆP

“——————

'_ CHƯƠNG 1: DẪN NHẬP

Thời đại của chúng ta hiện nay có thể nói là thời đại của Kỹ Thuật Số Tốc

độ phát triển của các ứng dụng số tăng nhanh và sự phát triển của công nghệ mạch tích hợp nhất là từ sự ra đời của vi xử lý

Mọi lĩnh vực trong đời sống dẫn dần xuất hiện ngày càng nhiều hơn các

thiết bị số, từ những sản phẩm đơn giản nhất cho đến sản phẩm phức tạp tỉnh vi

Bên cạnh đó là những vi mạch số với những ứng dụng tuy đơn giản nhưng thiết

thực trong đi

Thực hiện đề tài nảy giúp em cũng cố lại kiến thức trong quá trình học lý thuyết và cách ứng dụng vào thực hành, đồng thời giúp em tăng cường thêm khả

nắng giải quyết vấn đẻ trước một yêu cau cy thé nao dé Cuối cùng em đã chọn làm

mot mach img dung vi xtrly ARM Cortex M3 STM32F103RC dé lam máy phát

nhạc

12 TÁM QUẦN TRỌNG CỦA ĐỀ TÀI

Hiện này, đất nước đáng tiến hành công nghiệp hỏa hiện đại hóa đất nước Đứng trược hỏi cảnh bung nô khoa học công nghệ hiện nay, nước ta đã thực hiện chủ

trường "đi tác đoán ê khoa học công nghệ, tạo tiễn đẻ cho các lĩnh vực khác phát triển Và nước ta đang trở thảnh nơi đây tiểm năng về phát triển khoa học

công nghệ Đặc biệt là nơi phát triển nhanh chóng trong các lĩnh vực Công nghệ thông tin, điện tử viễn thông vá tự động hóa

Trong lĩnh vực điện tử ngoải ứng dụng đề san xuất thì việc giải quyết nhu cầu giải trí cũng là một phân quang trọng trong cuộc sống hiện đại

Do đó, đề tài này không những là một yêu cầu khách quan mà có vài trò đặc

biệt quan trọng trong hiện tại và tương lai Ưu điểm rất dé nhận thấy của đề tài

khắc phục được nhược điểm của nhạc mp3 là âm thanh không bị nén nên nhạc

phát ra rất hay Déng thời qua quá trình lam dé tài cũng có tiếp cận với một dòng

vi xử lý mới

Vì vậy, việc thực hiện để tài là một nhu cầu hết sức cần thiết và do cũng là

lý do nhóm thực hiện quyết định chọn đề tải này,

Trang 17

Ngày 26/4/1985, mẫu sản phẩm ARM đầu tiên sản xuất tại công ty kĩ thuật

VLSI, Sanlose, bang Califonia được chuyển tới trung tâm máy tính Acorn ở Cambridge, Anh Quốc Một vài giờ sau, chương trình thử nghiệm đầu tiên thành công và họ đã khui sâm banh ăn mừng!

Nửa thập niên sau đó, ARM được phát triển rắt nhanh chóng để làm nhân

may tinh dé ban cua Acorn, nẻn tảng cho các máy tính hỗ trợ giáo dục ở Anh Trong thập niên 1990, dưới sự phát triển của Acorn Limited, ARM đã thành một

thương hiệu đứng đầu thế giới về các ứng dụng sản phẩm nhúng đòi hỏi tính

nắng cao, sử dụng năng lượng ít và giá thành thá

Chính nhờ sự nỗi trội vẻ thị phán đã thúc đây ARM liên tục được phát

triên và cho ra nhiều phiên bản mới Những thánh công quan trọng trong việc

phat tien ARM o thap niên sau này:

- Giới thiệu ý tưởng vẽ định dạng các chỉ lệnh được nén lại (thumb) cho phép tiết kiệm năng lượng và giá thành ở những hệ thống nhỏ

~ Giới thiệu họ điều khiến ARM9, ARM10 và 'Strong ARM”

- Phát triển môi trường làm việc ảo của ARM trên PC

- Các ứng dụng cho hệ thống nhúng dựa trên nhân xử lý ARM ngày càng, trở nên rộng rãi

Hầu hết các nguyên lý của hệ thống trên chip (Systems on chip-SoC) và

cách thiết kế bộ xử lý hiện đại được sử dụng trong ARM, ARM còn đưa ra một

số khái niệm mới <như giải nén động các dòng lệnh> Việc sử dụng 3 trạng thái nhận lệnh-giải mã-thực thỉ trong mỗi chu kì máy mang tính quy phạm để thiết kế các hệ thống xử lý thực Do đó, nhân xử lý ARM được sử dụng rộng rãi trong các

Do điều kiện về kinh nghiệm cũng như là kiến thức còn hạn chế nên phạm

vi đề tài của nhóm thực hiện gồm các nội dung như sau:

+ Sử dụng bộ KIT OPENCMX-STM3210D đề giải mã file WAVE từ SD

Card

+⁄ Hiển thị tên bài hát đang hát lên LCD _ -

*⁄ Giao tiếp nút nhấn dùng ngất ngoài để điều khiển: Pause, Play, Next,

Pre

Đồ án được nghiên cứu và thực hiện với mục đích áp dụng những kiến

thức đã học trong nhà trường đẻ thiết kế, tạo ra một máy đọc file nhạc “.wav” từ

thẻ SD

—_—_—_Ẻ_—_—_——

Trang 18

ĐÔ ÁN TÓT NGHIỆP

“——”—”

1.6 PHƯƠNG PHÁP NGHIÊN CỨU

> Phương pháp đọc và nghiên cứu tài liệu: chủ yếu là các tài liệu có kiến

thức liên hệ đến kỹ thuật điện tử, ngoại vi và vi xử lý, các phương pháp giao tiếp

> Phân tích công trình lien quan

> Phương pháp thực nghiệm:

COM, SPI

17 RẺ HOẠCH NGHIÊN CỨU

~_ Tìm hiểu về một dòng vi xử lý mới là ARM

~_ Thực bành những ứng dụng cơ bản trên dòng ARM

~_ Phát triển dựa trên những ứng dụng cơ bản tạo thành một sản phẩm

c sir dung chip ARM

n thue hién, lựa chọn phương án phủ hợp

Mach phan cin

Trang 19

‘> Trung tâm chính là CPU ARM Cortex M3 STM32F103RC cia hang

STMicroeletronics như được giới thiệu ở phần sau

Doc file nhac tir Micro SD Card

Chơi nhạc tir file WAV 8 bit, mono, stereo, tin s6 lay mẫu bất kỷ

Hién thj bai hat dang chay trén LCD 16x2

Điều khiển: Pause, Play, Next, Previous

2.2 NGUYÊN LÝ HOẠT ĐỘNG CƠ BẢN

$# Đọc File nhạc WAV tir Micro SD Card qua giao điện SPI2 bằng bộ thư viện DOSFS

+ Dữ liệu sau khi đọc được lưu vào RAM

+ Dùng DMA để chuyên dữ liệu tới DAC

+ Chương trình sẽ tìm thông tin cần thiết của file nhạc như tần số lấy mẫu, số kênh

(mono hay stereo), kích thước

+ Tuy thuộc vào tần số lầy mẫu mà TIM6 và TIM7 sẽ được nạp giá trị thích hợp

+ Tùy vào số kênh của file nhạc WAV mà kênh DAC tương ứng sẽ được kích hoạt

Trang 20

ĐÔ ÁN TỐT NGHIỆP

——— ễ ẮẮẦ

% Stereo: DAC channel I, DAC channel 2 cùng được kích hoạt

* Mono: DAC channel 2 sé durge kich hoat :

Khi file ở dạng MONO: TIM7 tgo xung kich cho DAC channel 2 theo ding tin

số lấy mẫu, mỗi khi có xung kích từ TIM7 DAC channel 2 yêu cầu DMA2

chuyên dữ liệu 8 bit tir RAM t6i DAC channel 2, ding thoi DAC channel 2 sẽ chuyển giá trị lưu ở thanh ghỉ DATA trudc dé vao thanh ghi DAC_DOR, ngay lập tức tín hiệu audio sẽ xuất hiện ở ngõ ra

#- Khi file ở dang STEREO: turong tự như ở dạng MONO, TIM7 tạo xung cho kích DAC channel 2 theo tan s6 lay mau, tạo tín hiệu audio của kênh 2, TIM6 tạo xung kich cho DAC channel I tio tin higu audio của kênh 1

Tín hiệu điều khiển được tạo ra bảng các ngắt ngoài Có 3 tín hiệu điều khiển

$% Play/Pause: mdi khi có tín hiệu ngất từ chân này chương trình phục vụ ngất sẽ enable hay disable 7IM6, TIM7, DAC channell, DAC channel2, DMA2 Channel3, DMA2_Channeld tity vao trạng thái trước đỏ

% Next khi có ngắt ở chân này chương trình phục vụ ngất sẽ tìm và đọc file nhạc

trấp theo

4 Pre khi có ngất ở chân này chương trình phục vụ ngất sẽ chạy lại file nhạc vừa

chạy xong

3⁄3 TÔNG QUAN VỀ CPU STM32F103RC

2.3.1 GIOL THIEU CHUNG VE DONG CHiP ARM CORTEX

+ Cortex là bộ xử lý thế hệ mới đưa ra một kiến trúc chuân cho nhu cầu đa dạng về

công nghệ, Không giống như các dòng ARM khác, dòng Cortex là một lõi xử lý hoàn thiện đưa ra một chuẩn CPU và kiến trúc hệ thống chung Dòng Cortex gồm

3 nhánh: Dòng A dành cho các ứng dụng cao cáp, dòng R dành cho các ứng dụng thời gian thực và đòng M dành cho các ứng dụng điều khiền và chỉ phí thấp

“Lai ARM Cortex M3 là sự cải tiến của ARM7, từng mang lại thành công vang đội cho công ty ARM So ae

+*ˆ Cortex-M3 đưa ra một lõi vĩ điều khiển chuẩn nhằm cung cấp phần tổng quát quan

trọng nhất của vi điều khiển bao gồm hệ thống ngất( Interrupt system), SysTick

timer (duge thiết kế cho hệ điều hành thời gian thực), hệ thống kiểm lỗi ( Debug

system), memory map và nhiêu tính năng cải tiền khác - ¬ s+ Các chịp ARM7 và ARM9 có hai tập lệnh ( tập lệnh ARM 32-bit va 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, là sự phối hợp giữa 2 tập lệnh trên để đạt được sự tương nhượng giữa

dung lượng code và thời gian xử lý

2.3.2 ARM CORTEX M3 - STM32 VÀ CPU STM32F103RC

+ STM32: Dòng STM32 do ST sản suất, vi điều khiển dựa trên loi ARM Cortex

M3 Dòng STM32 thiết lập các tiêu chuẩn mới vẻ hiệu suất, chỉ phí cũng như các

ứng dụng đòi hỏi tiêu thụ năng lượng thấp và đòi hỏi khất khe về điều khiển thời gian thực

Trang 21

L-Bus va D Hus dé kết nói với FLASH cũng như các ngoại vi Ngoài ra thành

phần quan trọng khác là DMA Các ngoại vi được chia làm 2 nhóm kết nói đến

hút giáo điện khác nhan AHB - APBI và AHB-APBSV có tốc độ tối đa lớn hơn

AHB-APBI)

+ CPU STM32F103RC: Lá dòng "high density" của STM32 với các đặc điểm sau: ARM 32-bit Cortex-M3 Microcontroller, 72MHz, 256kB Flash, 48kB SRAM, PLL, Embedded Internal RC 8MHz and 32kHz, Real-Time Clock, Nested Interrupt Controller, Power Saving Modes, JTAG and SWD, 4 Synch 16-bit Timers with Input Capture, Output Compare and PWM, 2 16-bit Advanced Timer, 2 16-bit Basic Timer, 2 16-bit Watchdog Timers, SysTick Timer, 3 SPLI2S, 2 I2C, 5 USART, USB 2.0 Full Speed Interface, CAN 2.0B Active, 3 12-bit 16-ch A/D Converter, 2 12-bit D/A Converter, SDIO, Fast /O Ports

Trang 23

+ BỘ KIT OPENCMX-STM3210D được phát triển bởi nhóm ARM Việt Nam,

cung cấp một số Module đủ để phát triển các ứng dụng cho bước đầu làm quen

với ARM Cortex-M3

+ Đặc điểm: CPU ARM Cortex-M3 OPENCMX-STM3210D như giới thiệu ở phần

trước Module giao tiếp Micro SD Card qua giao diện SPT Khối nút nhắn gắn với

các ngất ngoài Cung cáp các jumnp để nồi đến các ngoại vỉ khi cần thiết Nạp thông

qua công COM

GVHD: Ths NGUYEN DUY THẢO

Trang 24

3.3 CHI TIẾT CÁC MODULES ĐƯỢC SỦ

2-3 usp 1-2 ADAPTER

Hình 3.3: Sơ đồ nguyên lý khối nguồn

Nguồn có the lay từ công L/SB hoặc từ Adapter Khói nguồn cung cấp nguồn 3,3V cho CPU và nguồn SV cho ngoại vỉ

AAISD CARD,

.121 CÁU TRÚC EU TRỮ FILE SD CARD

1 CẤU TRÚC FILE CHUNG CỦA SD CARD

+ Hầu như tất cả các 6 đĩa cứng đều có tạo tương tự nhau: mỗi ỗ đĩa được

chia thành các phân vung ( partition lượng phân vùng tùy vào dung lượng

của ổ đĩa, tối đa là 4 phản vùng Mỗi phân vùng chứa nhiều Cluster, mỗi Cluster chứa nhiều Sector

s# Khi một file được lưu vào ỗ đĩa thì nó sẽ được lưu vào các Cluster, nếu một Cluster da ding để lưu một file náo đó thì nó không thể đùng đề lưu 1 file khác

mặc dù có thể file đó vẫn chưa chiếm hét Cluster đó, điều này gây ra lãng phí bộ

Hình 3.4: Cấu trúc của ỗ đĩa

+ Sector dau tiên của 6 dia a MBR, né chita Executable Code va thông tin của

4 phan ving (partition) nhu bén dui:

‘GVHD: Ths NGUYEN DUY THAO Trang 9

Trang 25

OfRet Deerption Tm

00h Executable Code (Boots Computer) 446 Bytes

ICEh 2nd Paniion Entry Te Bytes

IEEh 4th Partition Entry 16 Bytes

IFEh Executable Marker (55h AAh) 2 Bytes

Bang 3.1: Mark Boot Recor

+ Thon tin cua moi phan ving duoc chia rong 16 bytes , bao gồm các trường:

| 00h | Current State of Partition (00h=Inactive, 80h=Active) | 1 Byte

[Oth [Beginning of Partition - Head 1Byte

02h Beginning of Partition - Cylinder/Sector (See Below) | 2 Bytes

Oh Type of Partition (See List Below) 1 Byte

06h End of Partition - Cylinder/Sector 2 Bytes

08h Starting sector of the partition 4 Bytes

§Ch ‘Number of Sectors in the Partition 4 Bytes

Bang 3.2: Thông tin của một vùng nhớ

+* Thông tin quan trọng ở đây là Starting sector of the partition, nó cũng chính

1a địa chỉ của Boof.Sector của mỗi phân vùng

+3 Muến giao tiếp được với SD Card cân tim va đọc được Sector nay

3.3.2.1.2 CAU TRUC FILE CUA MOI PHAN VUNG

Phan ving là nơi mà ta cần tìm ra đề có thể giao tiếp doe-ghi file lén SD card

Mỗi phân vùng có cấu trúc lưu trữ thông tin chung như bên dưới:

Hình 3.5: Cấu trúc chung của mỗi phân vùng

Trang 26

ĐÔ ÁN TỐT NGHIỆP

——————— s* Cấu trúc file của phan vin;

Table) Bao gồm 4 phần:

Reserved sectors: nam 6 vùng đầu tiên của một phân vùng Sector đầu tiên của

Reserved sectors là Boot Sector, nó chứa tắt cả các thông tin về phân vùng

FAT Region: nó gồm hai bản copy ciia File Allocation Table, bản thứ hai rất

hiếm khi dùng đến, Nó được định vị tới vùng dữ liệu.( Data Region) , sé 48 cập ở

phần sau

3 Root Directory Region: nó là một băng thự mục( directory table) chứa thông

tin về các files và các thư mục trong thư mục gôc

4 Data Region: đây là vùng thật sự chứa các files dữ liệu và các thư mục con + Chỉ tiết về các vùng quan trọng cần nắm rõ

% Boot sector: Cé kích thude | sector, nam dau tién cia mỗi phân vung ( không phai la sector đầu tiên của ô đĩa), chứa các thông tin quan trọng về phân vùng

ao gồm các trường như bang dưới

ig duge td chite theo dang FAT ( File Allocation

Tie Maximum Root Ducciry Exines 2 Byes

13h Number of Secions m Partinos Smaller than 32MB z

13h ‘Media Descriptor (Fb Soe Flard Disks) T Bye

1Gh | Number of Hidden Sectors im Panition an

20p Number of Sectors in Partition T By

2h Logical Drive Number of Partition 2 Byes

Bảng 3.3: Thông tin chứa trong Boot Sector

++ Như nói ở trên Boot sector này, chứa tất cả các thông tin ta cần phải biết để giao

tip với SD card như: số sector dự trữ, sô byte trong Ì sector, số lal) sector trong 1

luster, số bảng FAT copy ( thường,

& File Allocation Table Là một danh sách các mục ánh xạ đến mỗi Cluster

Trang 27

ĐÔ ÁN TÓT NGHIỆP

ề — _———————————

trong vùng dữ liệu Khi ghỉ một file vao SD Card, trường hợp dung lượng file

lớn hơn 1 cluster thi file sẽ được lưu trong nhiều cluster và chú ý là các cluster

này có thê không liên tiếp nhau; do đó bảng FAT này giúp ta tìm ra cluster tiếp

theo chứa file Nó gồm các mục nhập mỗi mục nhập chứa một trong 5 thông tin

sau:

Số của Cluster tiếp theo trong dãy Cluster của file dữ liệu

Kết thúc chuỗi các Cluster trong file dữ liệu

Mục nhập đánh dấu một Cluster xấu

Mục nhập đánh dau mot Cluster dy trit,

Một giá trị 0 chỉ ra một Cluster chưa sử dụng

Hai mục nhập đầu tiên chứa hai giá trị đặc biệt

Mục nhập thứ nhất chứa bản copy của Media Decriptor

Mục nhập thứ hai chứa end-of-eluster-chain marker

Bai vi hai Cluster đầu tiên chứa giá trị đặc biệt thành ra không có Cluster 0 và

1 Cluster dau tign theo sau Root directory la Cluster 2

hho 0x0 [x00 Cluster chua ding

OxFFO- OxFFFO- OxOFFFFFFO- Gad 7 dự rữ

OxFFT OxFFFT OKOFFFFFFT Cluster xdu bay dự trừ

OxFFS— 0xFFFR- OxOFFFFFFS— Cluster cubi của file

Bang 3.4: Giá trị của các mục nhập trong FAT

i ion: Là i iệt của file dùng để trình bày một thư

Root Directory Region: La dic biét cua fil ig để 6

mục, có cấu tạo theo dạng bảng, Mỗi thư mục hay file lưu trữ trong nó được tạo

thành bởi một mục nhập 32 bytes chứa các thông tin như tên, phần mỡ rộng,

Bảng 3.5: Cấu trúc của Directory Table

GVHD: Ths NGUYEN DUY THẢO ‘Trang 12

Trang 28

ĐÔ ÁN TÓT NGHIỆP

my

eieesiiasieei eS

Thông tin cần thiết 6 day 1a cluster

“ Data Region: Chita di ligu cita fil chỉ chứa dữ liệu của một file,

nhiều file khác nhau,

3.3.2.2 GIAO TIEP VOI MICRO SD CARD

3.3.2.2.1 LENH VA DAP UNG CUA MICRO SD CARD

#* Trong SPI mode, hướng của dữ liệu trên đường tín hiệu được cố định, dữ liệu

truyền đồng bộ nói tiếp theo timg byte

#_ Lệnh từ SPL đến Card có độ dài có định ( 6 bytes) như bên dưới:

bat đầu của file hay thư mục con

le, bao gồm nhiều cluster Chú ý là mỗi cluster không có trường hợp một cluster chứa dữ liệu của

NCR: thời gian đáp ứng của lệnh (tùy vào từng loại Card mà có thời gian khác

fe «ag lệnh được truyền đến Card, một đáp ứng tương ứng cho lột

tH eae R3) sú thể được đọc từ Card Vì việc chuyển dữ liệu được lái bằng

xung clock của SPI do đó sau khi truyền xong khung lệnh SPI edn tiép tục cấp

xung clock cho Card thì mới có thể nhận được đáp ứng từ Card ( bằng cách gửi Tại lẻ giá trị 0xFF và đọc giá tị trả về cho tới khi nhận được đáp ứng đúng)

Cấu trúc lệnh của SD Card: „ oo

“ Mot khung lệnh có độ dai 6 bytes g6m các trường như bên dưới:

Vị trí bit 1 4 % 5-49] T 69-8 [ữ-I] ồ

1 Kích thước 1 1 6 32 z

Bảng 3.6: Cấu trúc lệnh của SD Card

———— GVHD: The NGUYÊN DUY THẢO Trang 13

Trang 29

CMD0 [GO-IDLE STATE Reset the về trạng thái ide

CMDI [SEND OP CODE Yêu cầu thé git afi dung thông Go cia Operating

Condition Regiters CMDS” | SEND_EXT_CSD Yêu cầu the iri thing ún các thanh ghi CSDXCand

Specific Data) dud dang block để liệu

CMD9” | SEND_CSD ‘You chu the gui thong tin oy the của thanh ghi CSD

CMDIO | SEND_LOD You cấu gửi các thông ua C1D(Card Informanon

Data)

OMDIT | STOP_TRANSMBSSION Nang trao đội dã liệu

CMDIE TST-M KIEN Tine lập độ ki tinh theo byte cua mie block da liga,

rá trị mộc này được lưu trong CSD

CMDI7 | READ SINGLE BLOCK ‘Doc mis block da how

CADIS | READ,MULTIPLE_BLOCK [Doe aimcw block da ihe SO lượng block được thige

ứng dụng chữ không phải là lệnh chuẳn

sỊ TT) Tin Idle State ———

| = fitget Command Same ee Rt

Trang 30

ĐÔ ÁN TỐT NGHIỆP

# Đắp ứng RI: có độ dai 8 bit, gồm 7 bit trạng thái Khi một lỗi xuất hiện thì bit „ tương ứng sẽ được đặt lên 1 Giá trị 0x00 nghĩa là thành công

© Đáp ứng R3: gồm R1 cộng với 32 bit OCR, chi dành cho lệnh CMD58

%*_ Ngoài ra còn có một số dạng đáp ứng khác nhưng img ít gặp

Ở trạng thái Idle, SD Card chỉ chấp nhận CMD0, CMD1, ACMD4Ivà CMDS8, mọi lệnh khác sỡ bị từ chối

Các bước khới tạo SD Card;

v Bước L: Gửi lệnh CMIDI đưa Cadr rời trạng Idle (gửi lệnh CMDI và đợi nhận Response thích hợp, Response thay đổi từ 0x01 sang 0x00)

Bước 2: Nếu muốn thay đói độ dài của khối dữ liệu thì gửi lệnh CMD16 (mặc dinh 1a 512 bytes)

3 QUA TRINH TRUYEN DU LIEU GIỮA HOST VA SD CARD

rong quá trình trao đổi dữ liệu, một hoặc nhiễu khối dữ liệu sẽ được gửi hoặc nhận sau đáp ng của lệnh

Một khỏi dử liệu được vận chuyển giống như một gói dữ liệu bao gồm 3

trường D)ate Loken, Data Bloc!

Data Token cho CHDI7/18/14

Data token cho CMD25

Dota Token cho CMD25( ngimg chuyén dit lifu)

© Khi ca Ge D7 duge chip nha, hoat dong doc di liệu bắt đầu diễn ra, đữ liệu

khiển sẽ bắt đầu

Trang 31

ĐÔ ÁN TÓT NGHIỆP

+ Host phải nhận 2 bytes CRC mặc đù có thể không đùng đề

& Nếu có ỗi xuất hiện thì Emortoken sẽ được nụ nề dùng đến nó,

Hình 3.9: Đọc nhiều khối dữ liệu

% Tham số trong lệnh CMDI8 xác định địa chỉ bắt đầu của một đãy khối dữ liệu liên tiếp

% Khi lệnh CMDIE được được gửi đến Host

s* Sau khí Hoat phản được Response thích hợp, bộ điều khiển sẽ bắt đầu nhận dữ

hiệu

4® Hoạt động nhận dữ liệu chí kết thúc khi gửi lệnh CMDI2, dữ liệu nhận được theo sau lệnh CMI212 không có ý nghĩa, do đó nó cản được bỏ qua trước khi nhận Respose cho lệnh CMD12

GIAO DIEN SPL

.L GIỚI THIỆU GIÁO DIỆN SPI -

# Trong ARM Cortex M3 dong” high density", giao diện SPI có thể thực hiện chức năng như là một giao thức SPI hay là giao thức âm thanh I2S Chức năng

% Giao dién SPI ( serial peripheral interface) phép truyén dit li

ở cả hai chế độ : haƒƑ duplex va full duplex voi thiết bị ngoài

Ngoài ra nó còn được sử dụng cho nhiều mục đích khác nhu Simplex transfer hay reliable communication sử dụng mã kiềm traCRC

Khi SPI cấu hình ở giao thức I2S, nó cung cấp một giao diện truyền đữ

tiếp đồng bộ, có thể cầu hình ở các tiêu chuẩn âm thanh khác nhau bao g¢

Philips standard, MSB-justified standard, LSB- justified standard va PCM

+ 12S chỉ có thể hoạt động ở chế độ half duplex

3.3.3.2 DAC DIEM CUA GIAO DIEN SPL

$ Truyền đồng bộ Ful duplex wen 3 ae

oo an déng b6 Simplex trén 2 duong

eek at dang khung & bit hay 16 bit

+ Có thể cấu hình ở Jasfer hoặc Slave Tim

+ Có thể lập trình cực tính và pha của Xung, clock

* lang cập bại cờ chuyên dụng cho việc truyền và nhận dữ liệu kèm với ngắt

Trang 32

Hình 3.10: Sơ đỗ khói giao diện SPI

3.3.3.3 SPI HOẠT ĐỌNG Ở CHÉ ĐỘ MASTER

+ Khi cấu hình SPI hoạt động ở Master, giao điện SPI cung cấp xung Clock cho thiết bị Slaver gắn với nó ( Ở đây la Micro SD Card)

+ Thứ tự truyền dữ liệu

+ Vide truyền dữ liệu được thực hiện khi dữ liệu được ghỉ vào thanh ghi bộ đệm gửi

+ Dữ liệu sau đó được chuyển song song vào thanh ghỉ dịch trong khi truyền bit

đầu tiên và sau đó được dịch nôi tiếp đến chân MOSI có thê MSB hay LSB

trước tùy vào cấu hình Cờ TXE được đặt lên 1 khi dữ liệu được chuyển từ Tx

|

bộ đệm nhận Rx buffer, co RXNE được đặt lên 1 và một ngắt được tạo ra

GVHD: Ths NGUYEN DUY THẢO

‘Trang 17

Trang 33

3.3.3.4 CAU HINH GIAO DIEN SPI DE GIAO TIẾP VOI MICRO SD CARD

Hình 3.11: Sơ đổ kết nói Micro S Card với giao diện SPI

Micro SĐ Card kết nói với giao diện SPI2 qua 3 chân:

1)SPI2 SCK ( PB13): xung cloek SPI2 cấp cho SD Card

2) SPI2_MOSI ( PB15): dữ liệu từ SPI2 đến SD Card

3) SPI2_MISO (PB14): dữ liệu tr SD Card dén SPI2

Ngoài ra còn có chân SD_ SC ( PA3): cho phép SD Card hoạt động

Cấu hình giao diện SPI

s* Sử dụng giao diện SPI2

+ SPII hoạt động ở Master Mode

+ Trạng thái clock tĩnh nhì

cạnh đầu tiên của xung clock, CPOL

còn gọi là SPI Mode 0)

ư bên đưới ( CPHA =0 : việc truyền và nhận xây ra ở

=0: trạng thái tĩnh của clock là âm) ( hay

GVHD: Ths NGUYÊN DUY THẢO

Trang 34

ican obo —EtLlit | it ft

Note: These timings are shown with the LSSFAST bi resat in the SPI_CAY register

Hinh 3.12; Trang thai clock tinh cua SPI

3.3.4 GIÁO ĐIỆN ĐẶC,

4,ĐẠC ĐIỂM CHÍNH CỦA BỘ CHUYÊN ĐÓI ĐÁC:

‘$ Hai bộ chuyén doi DAC moi kênh có một ngõ ra riêng,

& Chuyên đôi đữ liệu §-bit hay 12-bit

anh lễ trái hay phái trơng chuy' đổi 12-biL

+ Khả năng cập nhật đồng bộ

s* Có thẻ tạo dạng sóng sin, tam giác hoặc nhiều ở ngõ ra

+ Hoặt động ở Dual với chuyền đổi độc lập bay đông thời

+ Hỗ trợ DMA cho mỗi kênh, yếu câu được tạo ra khi có xung kích bên ngoài

xuất

‹$ Có thể tạo ra một chuyển đổi bằng xung kích bên ngoài hay kích bằng phần mềm

$ Điện áp yêu cầu: 24 V- 3 6V

điện có thể chuyển đổi: 0V -3.6V

‹$ Tầm điện áp ngõ ra: 0 <DAC_OUTxs VREF+

Độ lớn của điện áp ngõ r4: DACoutpt = Vaerx SOE

DOR: gid tri của thanh ghi dữ liệu

“ Khi DAC Channelx (x =1 or 2) được kích hoặt chân tương ứng của

Trang 35

ĐÔ ÁN TÓT NGHIỆP

2U

wn CF

Hình 3.13: Sơ đỗ khối của bộ chuyến đối ADC

Varer+ Input, dign ap tham chiếu 2.4.V< Vrer+< Vooa (3.3 V)

VppA Input, digm áp cung cap Vppa=33V

Vssa Input, mass cia nguon

DAC_OUx _| Tit biguanolog ngé ra o<DAC_OUTx< Vrer+

Bang 3.8: Cac chan ctia bộ ADC

* BO chuyện đổi DAC tích hợp sẵn hai bộ đệm See as ace can rr ích đại ngõ ra dé giảm tổng trở ngõ ra và

đề lái tải tiếp mà không cần một mạch khuếc) a

Méi kênh DAO có thể kích hoạt hay không kích hoạt bộ đệm này

Trang 36

Hình 3.15: Ngõ ra có đệm (có tải và không tái)

3.3.4.3 ĐỊNH DẠNG DỮ LIEU CHO BO ADC

Tương tự như trên

sau đó dữ liệu được

ở Dual mode thì ghi dữ liệu vào cùng một thanh thi, Thư vật thanh ghỉ DHRx tương ứng của mỗi kênh như ở

Trang 37

ĐÔ ÁN TỐT NGHIỆP

3.3.4.4 QUA TRINH CHUYEN bOI ^

ree oe fe oD dữ liệu vào thanh ghi DORx, mọi dữ liệu muốn chuyển

TH Di: Höệb Phải thực hiện bằng cách chuyển dữ liệu vào thanh ghỉ

ADC_DHRx(t ông qua việc ghỉ dữ liệu vào DAC_DHR8Rx, DAC_DHR12Lx,

Dac Du x, DAC_DHR8RD, DAC _DHRI2LD or DAC DHRI2LD) —

Bg Jd, fa trong DAC DHRx sẽ được tự động chuyển đến thanh ghi

_DORx khi có xung kích đến, điện áp analog ngõ ra sẽ xuất hiện sau khoảng thời gian L tùy vào điện áp nguồn cùng cấp và tải ngõ ra, _

Mai kênh DAC có 8 nguôn xung kích bên ngoài, dùng 3 bits TSEL(2:0] để lựa

s#ˆ Bộ DAC có thể chuyển đổi ở chế độ không cán xung kích

s* Xung kích từ TIM6 và TIM? được đặc biệt dành riêng cho 2 kênh DAC

Source Type TSEL{2:0)

Timer 8 TAGO evert 001

Timer 7 TRQO event Internal signal from on-chip 010

oe on Timer 5 TRGO evert =

Timer 2 TAGO event =a

Time 4 TAGO event a

33.4.6 DMA DANH CHO DAC

++ Mỗi kênh DAC có một inh DMA TH ¡ số một xung kích ngoài ( không phải

Vi yéu cau DAC DMA Khon!

Trang 22

GVHD: Ths NGUYEN DUY THAO

Ngày đăng: 19/11/2024, 11:59

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w