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 1BỘ 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 2PHẢN A
GIỚI THIỆU
Trang 3TRƯỜ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 4TRƯỜ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 5Trườ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 6Trườ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 7LỜ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 8LỜ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 92.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 103.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 11CHUONG 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 12LIỆ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 13Hì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 14Bang 3.2: Thông tin của một vùng nhớ
Đăng 3.3: Thông tin chita trong Boot Sector
Trang 15PHẢ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 17Ngà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 32Hì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 333.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 34ican 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 36Hì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