DẪN NHẬP
ĐẶT VẤN ĐỀ
Với sự nâng cao chất lượng cuộc sống hiện nay, âm nhạc trở thành một phần thiết yếu trong đời sống con người Sự phát triển nhanh chóng của công nghệ đã dẫn đến việc chế tạo các thiết bị giải trí tinh vi và nhỏ gọn, như iPod và iPod Nano, tạo ra bước đột phá mới trong ngành công nghiệp máy nghe nhạc.
Mặc dù vi xử lý và vi điều khiển đã tồn tại nhiều thập kỷ, chúng vẫn tiếp tục phát triển với nhiều tính năng mới Trong quá trình học tại trường, sinh viên được trang bị kiến thức cơ bản về các thiết bị này Tuy nhiên, để áp dụng kiến thức vào thực tế, sinh viên cần chủ động tìm tòi và nghiên cứu Việc sử dụng những kiến thức đã học để tạo ra sản phẩm thiết thực, như máy nghe nhạc, luôn là mong muốn của sinh viên chuyên ngành điện tử.
LÝ DO CHỌN ĐỀ TÀI
Đối với sinh viên, việc tạo ra một sản phẩm đơn giản để đáp ứng nhu cầu cá nhân là một mong muốn quan trọng, mang lại ý nghĩa sâu sắc Sau những giờ học tập và làm việc căng thẳng, việc thư giãn là cần thiết để cân bằng cuộc sống, và âm nhạc luôn là sự lựa chọn không thể thiếu cho những khoảnh khắc thư giãn đó.
Vi điều khiển ARM, với nhiều tính năng nổi bật và giá thành hợp lý, hứa hẹn sẽ trở thành lựa chọn phổ biến trong tương lai Việc phát triển sản phẩm sử dụng chip ARM không chỉ đáp ứng nhu cầu hiện tại mà còn phù hợp với xu hướng phát triển của ngành điện tử.
Nhóm thực hiện đồ án đã áp dụng kiến thức về vi điều khiển ARM cùng với quá trình nghiên cứu và tìm tòi để quyết định thực hiện đề tài "MÁY NGHE NHẠC MP3".
ĐỐI TƢỢNG NGHIÊN CỨU
Trong giới hạn của đề tài, nhóm thực hiện chỉ tập trung vào nghiên cứu các nội dung cơ bản :
Đặc điểm họ vi điều khiển STM32F103xxx
Cấu trúc thẻ nhớ,USB và việc truyền dữ liệu giữa vi điều khiển với thẻ nhớ,USB thông qua giao tiếp SPI
Giao tiếp với IC giải mã VS1013B
Các phần mềm hỗ trợ:Altium Designed, KeilC 5.
GIỚI HẠN ĐỀ TÀI
Thiết kế máy nghe nhạc mp3 dùng vi điều khiển ARM
Giao diện điều khiển hiển thị trên màn hình cảm ứng TFT 3.2 inch
Xử lí các flie nhạc định dạng mp3 đọc từ SD Card và USB
Âm thanh đƣợc xử lí qua mạch khuếch đại công suất ampli 2.1 phát ra loa.
BỐ CỤC CỦA ĐỀ TÀI
Đồ án thực hiện bao gồm những nội dung chính nhƣ sau:
Trong bài viết này, chúng tôi sẽ trình bày vấn đề cần giải quyết và xây dựng ý tưởng để giải quyết đề tài Đồng thời, chúng tôi sẽ cung cấp cái nhìn tổng quan về tình hình nghiên cứu hiện nay, từ đó làm nổi bật ý nghĩa thực tiễn của nghiên cứu này.
Khám phá và phân tích các khái niệm cơ bản về vi điều khiển ARM và chuẩn giao tiếp SPI, cùng với việc phân tích cấu trúc của module Các vấn đề liên quan đến vi điều khiển ARM sẽ được làm rõ để hiểu rõ hơn về ứng dụng và hiệu suất của chúng trong các hệ thống nhúng Đồng thời, việc tìm hiểu chuẩn giao tiếp SPI sẽ giúp nắm bắt cách thức truyền dữ liệu hiệu quả giữa các thiết bị.
3 giải mã VS1003B, ngôn ngữ KeilC và các kiến thức liên quan đến thực hiện đề tài đƣợc trình bày trong phần cơ sở lý thuyết
Thiết kế và thi công hệ thống bao gồm việc trình bày sơ đồ khối hệ thống, thiết kế khối nguồn cung cấp cho mạch hoạt động, khối xử lý dữ liệu và khối hiển thị Bên cạnh đó, cần tính toán và phân tích các khó khăn có thể gặp phải, đồng thời đưa ra các giải pháp chi tiết để khắc phục cho từng khối thiết kế.
Thiết kế phần mềm: Giới thiệu cơ sở lý thuyết về lập trình: Ngôn ngữ lập trình C cho ARM STM32F103VET6
Kết quả nghiên cứu thực hiện: Trình bày những kết quả của đồ án đã thực hiện đƣợc, đánh giá và so sánh kết quả với thực nghiệm
Kết luận về đề tài này nêu rõ những ưu điểm và nhược điểm đã được xác định trong quá trình nghiên cứu Những kiến thức và kinh nghiệm quý giá đã thu được sẽ là nền tảng cho các hướng phát triển tiếp theo, giúp cải thiện và tối ưu hóa các khía cạnh của đề tài.
Ý NGHĨA THỰC TIỄN
Máy nghe nhạc MP3 hiện nay rất phổ biến và có giá thành phải chăng, nhưng việc phát triển sản phẩm này mang nhiều ý nghĩa thực tiễn Nó không chỉ đáp ứng nhu cầu thưởng thức âm nhạc của con người mà còn thể hiện sự giao tiếp hiệu quả giữa vi điều khiển và thẻ nhớ, USB Điều này đã mở ra nhiều ứng dụng mới, yêu cầu sử dụng bộ nhớ ngoài để lưu trữ dữ liệu.
CƠ SỞ LÝ THUYẾT
ĐỊNH DẠNG MP3
Tín hiệu âm thanh số chất lượng CD có dung lượng lớn, gây khó khăn trong lưu trữ và truyền dẫn Để giảm lượng dữ liệu mà vẫn giữ được chất lượng gần như nguyên bản, vào những năm 80, nhóm MPEG (Moving Picture Expert Group) thuộc tổ chức ISO đã phát triển tiêu chuẩn nén âm thanh và hình ảnh Phương pháp nén MPEG, giống như ADPCM, là phương pháp nén có suy hao, nhưng lại mang lại chất lượng âm thanh khá tốt.
MP3 là cách gọi ngắn của nén MPEG-1 lớp III
MP3 hỗ trợ nhiều tần số lấy mẫu như 32kHz, 44.1kHz và 48kHz, với tốc độ bit linh hoạt từ 32 đến 448 kbps Ngoài ra, định dạng này cho phép các chế độ mã hóa khác nhau, bao gồm mono, dual mono, stereo và joint stereo.
2.1.2 Cấu trúc dữ liệu mp3
Lớp thứ 3 nén file âm thanh PCM gốc với tỷ lệ 12:1 mà không làm giảm chất lượng đáng kể Nén MPEG-1 lớp III có tốc độ bit từ 8 kbit/s đến 320 kbit/s, với tốc độ mặc định là 128 kbit/s Tốc độ bit (Bitrate) bao gồm hai loại khác nhau.
Tốc độ bit không đổi CBR (Constant Bit Rate)
Tốc độ bit thay đổi VBR (Variable Bit Rate)
Tốc độ bit trung bình ABR (Average Bit Rate)
Khi sử dụng mã hóa CBR, mỗi phần của bài hát được mã hóa với cùng một số bit, nhưng thực tế, các bài hát thường có sự thay đổi phức tạp Một số đoạn có thể sử dụng nhiều nhạc cụ và hiệu ứng âm thanh khác nhau, trong khi những đoạn khác lại đơn giản hơn.
Phương pháp VBR (Variable Bit Rate) cho phép thay đổi tốc độ mã hóa tùy thuộc vào dải động của tín hiệu, giúp tối ưu hóa việc sử dụng băng thông Dữ liệu mã hóa được chia thành nhiều khung, cho phép mã hóa với tốc độ bit khác nhau Tuy nhiên, nhược điểm của VBR là có thể gây ra sai lệch thời gian cho bộ mã hóa, do đó phương pháp CBR (Constant Bit Rate) thường được ưa chuộng trong phát thanh truyền hình Tốc độ bit cao mang lại độ chính xác cao cho giá trị lấy mẫu, trong khi tần số lấy mẫu cao giúp lưu trữ nhiều giá trị hơn.
ABR (Average Bit Rate) tương tự như VBR nhưng có kích thước file được xác định trước, giúp điều chỉnh sự thay đổi xung quanh bitrate trung bình đã thiết lập Tất cả các file MP3 được chia thành các khung nhỏ, mỗi khung chứa 1.152 mẫu âm thanh và kéo dài 62ms, tương đương với khoảng 38 khung mỗi giây Mỗi khung lại được chia thành hai khung nhỏ (Granule) với 576 mẫu Tốc độ bit phụ thuộc vào kích thước của mỗi mẫu, do đó, khi tăng tốc độ bit, kích thước của khung cũng sẽ tăng theo, và kích thước này còn phụ thuộc vào tần số lấy mẫu.
144*Tốc độ bit + Phần đệm / Tần số lấy mẫu
Phần đệm là một bit đặc biệt đặt ở đầu khung, (trong một số khung) để đảm bảo tốc độ bit
Một khung bao gồm 5 phần gồm: Tiêu đề, mã sửa sai CRC, thông tin phụ, số liệu chính, số liệu phụ
Tiêu đề dài 32 bit chứa từ mã đồng bộ, được đặt ở đầu mỗi khung, giúp các phần nhận MP3 đồng bộ với tín hiệu ở bất kỳ vị trí nào trong dòng số liệu.
Trường này chỉ hoạt động khi bit bảo vệ trong tiêu đề có giá trị 1, nhằm kiểm tra và phát hiện lỗi trong quá trình truyền dẫn dữ liệu.
Số liệu từ bit 11 đến bit 31 trong tiêu đề và thông tin phụ rất quan trọng; nếu không chính xác, chúng sẽ làm sai lệch toàn bộ khung Ngược lại, lỗi trong số liệu chính chỉ ảnh hưởng đến một phần khung Khi khung bị sai lệch, nó sẽ bị tắt tiếng hoặc được thay thế bằng khung trước đó.
Thông tin phụ của khung, bao gồm dữ liệu cần thiết để giải mã thông tin chính, có kích thước thay đổi tùy thuộc vào loại mã hóa kênh Cụ thể, nếu là dòng dữ liệu kênh đơn, kích thước sẽ là 17 Byte, trong khi đó, nếu không phải kênh đơn, kích thước sẽ là 32 Byte.
Phần số liệu chính của khung gồm các hệ số tỉ lệ, các bit mã hóa Huffman và các số liệu phụ
Các hệ số tỉ lệ (Scale factors) được sử dụng để giảm nhiễu lƣợng tử, giúp phát hiện nhiễu lƣợng tử nếu các mẫu trong dải hệ số tỉ lệ được quét đúng cách Quá trình chia nhỏ tần phổ trong các dải hệ số tỉ lệ được giữ cố định cho mỗi cửa sổ và tần số lấy mẫu, đồng thời lưu trữ trong các bảng của bộ mã hóa và giải mã.
- Các bit mã Huffman: Phần này của khung chứa các bit mã Huffman
Thông tin về cách giải mã các bit có thể được tìm thấy trong phần thông tin phụ Các giá trị lớn luôn được mã hóa theo từng cặp, và trật tự số liệu Huffman sẽ khác nhau tùy thuộc vào việc sử dụng các khối ngắn hay dài Nếu sử dụng khối dài, số liệu Huffman sẽ được sắp xếp theo thứ tự tần số tăng dần.
Số liệu phụ trong mã hóa Huffman có thể thay đổi và không có số bit cố định Chúng được đặt ngay sau các bit mã Huffman, gần với điểm bắt đầu của số liệu chính trong khung tiếp theo.
GIỚI THIỆU VỀ VI ĐIỀU KHIỂN ARM
Cấu trúc ARM (Acorn RISC Machine) là một kiến trúc vi xử lý 32 bit kiểu RISC, thuộc kiến trúc Harvard với tập lệnh rút gọn, được sử dụng phổ biến trong thiết kế nhúng Với ưu điểm tiết kiệm năng lượng, các bộ CPU ARM trở thành lựa chọn hàng đầu cho các sản phẩm điện tử di động, nơi việc giảm thiểu tiêu tán công suất là mục tiêu thiết kế quan trọng.
Ngày nay ARM đƣợc ứng dụng và rộng rãi trên mọi lĩnh vực của đời sống: Robot, máy tinh, điện thoại, xe hơi, máy giặt…
Hình 2 1Một số ứng dụng của vi điều khiển ARM
2.2.1Tổng quan về vi điều khiển ARM
Việc thiết kế ARM bắt đầu vào năm 1983 trong dự án của công ty Acorn, và nhóm thiết kế đã hoàn thành mẫu ARM1 vào năm 1985 Năm sau, họ giới thiệu sản phẩm thực tế ARM2, với thiết kế đơn giản chỉ gồm 30.000 transistor và tuyến dữ liệu.
Kiến trúc 32 bit với không gian địa chỉ 26 bit cho phép quản lý tối đa 64 Mbyte và 16 thanh ghi 32 bit Thế hệ tiếp theo, ARM3, được phát triển với bộ nhớ cache 4KB và có nhiều cải tiến trong chức năng.
Cuối thập niên 80, Apple Computer và VLSI Technology đã hợp tác với Acorn để phát triển các thế hệ lõi ARM mới, dẫn đến sự ra đời của ARM6 Mẫu đầu tiên được công bố vào năm 1992, và Apple đã sử dụng vi xử lý ARM 610 dựa trên ARM6 cho PDA Apple Newton Năm 1994, Acorn đã tích hợp ARM 610 làm CPU cho máy vi tính RiscPC của họ.
Lõi ARM đã giữ nguyên kích thước qua nhiều thế hệ, với ARM2 chỉ có 30.000 transistor và ARM6 chỉ tăng lên 35.000 Mục tiêu của nhà sản xuất lõi ARM là cho phép người dùng kết hợp lõi ARM với các thành phần tùy chọn để tạo ra một CPU hoàn chỉnh Điều này giúp sản xuất CPU trên các nhà máy bán dẫn cũ, đồng thời vẫn cung cấp nhiều tính năng với chi phí thấp.
Kiến trúc Số bit Tên lõi
ARM8 ARM7TDMI, ARM9TDMI
ARMv5 32 ARM7EJ, ARM9E, ARM10E
ARM11 ARM-Cortex-M0, ARM-Cortex-M0+, ARM-Cortex- M1
ARM-Cortex-M4 ARM-Cortex-R4, ARM-Cortex-R5, ARM-Cortex- R7
ARM-Cortex-A5, ARM-Cortex-A7, ARM-Cortex- A8, ARM-Cortex-A9, ARM-Cortex-A12, ARM- Cortex-A15, ARM-Cortex-A17
ARMv8A 64/32 ARM-Cortex-A53, ARM-Cortex-A57
Bảng 2 1Các dòng phát triển của ARM 2.2.1.3 ARM Cortex
Lõi Cortex là thế hệ lõi nhúng kế thừa những ưu điểm nổi bật từ các thế hệ lõi ARM11 trước đó Để đáp ứng nhu cầu sử dụng đa dạng, ARM Cortex được phân chia thành ba dòng khác nhau.
Cortex-A: Bộ xử lý dành cho hệ điều hành và các ứng dụng phức tạp Hỗ trợ tập lệnh ARM, thumb, và thumb-2
Cortex-R: Bộ xử lý dành cho hệ thống đòi hỏi khắc khe về đáp ứng thời gian thực Hỗ trợ tập lệnh ARM, thumb, và thumb-2
Cortex-M là bộ xử lý được thiết kế cho dòng vi điều khiển, tối ưu về chi phí và hỗ trợ tập lệnh Thumb-2 Dòng ARM STM32 sử dụng lõi Cortex-M, mang lại hiệu suất cao cho các ứng dụng nhúng.
Giá trị số cuối cùng trong tên của một dòng ARM, chẳng hạn như ARM Cortex-M3, thể hiện mức độ hiệu suất tương đối của dòng sản phẩm đó Cụ thể, các dòng ARM có số 0 sẽ có hiệu suất thấp nhất.
ARM Cortex-M3 được tối ưu hóa để cải thiện hiệu suất hệ thống đồng thời giảm thiểu tiêu thụ năng lượng Với kiến trúc mới, ARM Cortex-M3 mang lại chi phí sản xuất thấp, giúp cạnh tranh hiệu quả với các dòng vi điều khiển khác.
8 và 16 bit truyền thống Sơ đồ khối của ARM Cortex-M3
Một số đặc điểm của ARM Cotex-M3 nhƣ sau:
ARM Cortex – M3 đƣợc xây dựng dựa trên kiến trúc ARMv7-M 32 bit
Kiến trúc Harvard tách biệt Bus dữ liệu và lệnh
Đơn vị bảo vệ bộ nhớ (MPUMemory Protection Unit): hỗ trợ bảo vệ bộ nhớ thông qua việc phân quyền thực thi và truy xuất
Bộ vi xử lý Cortex-M3 hỗ trợ kiến trúc tập lệnh Thumb-2
Hỗ trợ kỹ thuật Bit Band giúp cho phép truy xuất dữ liệu theo bit đồng thời giảm thời gian truy xuất
Cho phép truy cập dữ liệu không xếp hàng (unaligned data accesses) đặc điểm này cho phép sử dụng hiệu quả SRAM nội
SysTick timer 24 bit hỗ trợ cho việc chạy hệ điều hành thời gian thực
Hỗ trợ lập trình và gỡ rối qua cổng JTAG truyền thống cũng nhƣ chuẩn 2 dây nhỏ gọn SWD (Serial Wire Debug)
Khối quản lý vector ngắt lồng nhau (NVIC- Nested Vectored Interrupt Controller) cho phép rút ngắt thời gian đáp ứng yêu cầu ngắt
Hình 2 2Sơ đồ khối của ARM Cortex-M3
2.2.1.4 Truy xuất dữ liệu không xếp hàng (unaligned data accesses)
Tập lệnh ARM7 và ARM9 cho phép truy cập các biến có dấu và không dấu với kích thước byte, half word (2 byte) và word (4 byte), giúp CPU hỗ trợ các số nguyên mà không cần thư viện phần mềm như các vi điều khiển 8 và 16 bit Tuy nhiên, các CPU ARM trước đó chỉ có thể truy cập dữ liệu kích thước word hoặc hardword, dẫn đến hạn chế trong khả năng đóng gói dữ liệu của trình biên dịch, gây lãng phí SRAM lên đến 25% tùy thuộc vào sự kết hợp của các biến sử dụng Bộ xử lý Cortex-M3 đã cải thiện tình trạng này.
12 cập bộ nhớ không xếp hàng, việc đó đảm bảo rằng SRAM đƣợc sử dụng một cách hiệu quả
CPU Cortex hỗ trợ nhiều chế độ định địa chỉ cho word, half-word và byte, đồng thời cho phép truy cập bộ nhớ không xếp hàng (unaligned memory) Điều này giúp trình biên dịch tự do xếp dữ liệu chương trình trong bộ nhớ Thêm vào đó, tính năng dải bit (bit banding) được bổ sung vào CPU Cortex cho phép đóng gói các cờ chương trình vào một biến word hoặc half-word, thay vì sử dụng một byte cho mỗi cờ.
Hình 2 3Truy xuất dữ liệu không xếp hàng của ARM Cortex-M3 so với thế hệ trước
ARM Cortex-M3 là vi điều khiển dựa trên kiến trúc ARMV7, nổi bật với việc chỉ hỗ trợ tập lệnh Thumb-2 Tập lệnh này kết hợp giữa 16 và 32 bit, mang lại hiệu suất tương đương với lệnh ARM 32 bit, đồng thời tiết kiệm bộ nhớ và tương thích ngược với tập lệnh Thumb 16 bit.
Tập lệnh Thumb-2 được cải tiến với nhiều lệnh nhân, cho phép thực hiện trong một chu kỳ đơn Ngoài ra, khả năng thực hiện phép chia bằng phần cứng chỉ mất từ 2 đến 7 chu kỳ.
Hình ảnh so sánh hiệu năng và mức độ tổn hao bộ nhớ của ba tập lệnh ARM, Thumb-2 và Thumb cho thấy rõ ràng hiệu quả vượt trội của tập lệnh Thumb-2 Cụ thể, Thumb-2 mang lại hiệu năng cao hơn 25% so với Thumb, đồng thời tiết kiệm bộ nhớ hơn 26% so với ARM.
Hình 2 4 So sánh hiệu năng và mức độ tổn hao bộ nhớ của 3 tập lệnh ARM,
2.2.1.6 Cấu trúc đường ống 3 tầng
Lõi Cortex có cấu trúc đường ống 3 tầng gồm: Instruction Fetch (nhận lệnh), Instruction Decode (giải mã) và Instruction Excute (thực thi)
Cấu trúc đường ống ba tầng của ARM Cortex-M3 tương tự như ARM7, nhưng M3 hoạt động hiệu quả hơn, giúp tăng tốc độ xử lý và tối ưu hóa hiệu suất ở tần số thấp.
Hình 2 5Cấu trúc đường ống 3 tầng của ARM Cortex-M3
Khối nhận lệnh có thể chứa đến 3 lệnh 32 bit và 6 lệnh 16 bit hoặc là kết hợp cả hai
IC GIẢI MÃ ÂM THANH VS1003B
Hình 2 9 Ảnh thực tế VS1003B
Chip VS1003 là một giải pháp hoàn hảo cho việc giải mã âm thanh MP3, WMA, MIDI và mã hóa ADPCM Nó được trang bị bộ xử lý DSP hiệu suất cao, RAM 5 KiB cùng 0.5 KiB RAM cho ứng dụng người dùng Chip này cũng hỗ trợ giao diện điều khiển, dữ liệu nối tiếp, 4 chân I/O, UART, mono ADC và DAC stereo chất lượng cao với tốc độ lấy mẫu linh hoạt, đi kèm với bộ khuếch đại tai nghe và đệm đất.
VS1003 nhận dữ liệu đầu vào qua bus nối tiếp và coi đây là hệ thống phụ Dữ liệu này được giải mã và truyền đến bộ điều khiển âm lượng số, sau đó được chuyển đổi qua DAC sigma-delta 18bit Quá trình giải mã được điều khiển thông qua bus điều khiển nối tiếp, cho phép thêm các ứng dụng đặc trưng như hiệu ứng DSP vào bộ nhớ RAM người dùng.
Giải mã âm thanh MPEG 1 và 2 lớp III (CBR + VBR + ABR); âm thanh WMA 4.0/4.1/7/8/9 (tất cả tƣ̀ 5-384kbps); âm WAV (PCM + IMA ADPCM);
Các file MIDI/ SP-MIDI thông du ̣ng
Mã hóa IMA ADPCM từ micro hoặc đường tín hiệu vào
Hỗ trợ liên tục cho MP3 và WAV
Điều chỉnh đƣợc bass và treb
Hoạt động với xung clock từ 12 đến 13MHz
Công suất hoạt động thấp
Stereo DAC trên chíp chất lƣợng cao và không có lỗi pha giữa hai kênh
Driver stereo tai nghe có thể chạy với tải 30 ohm
Điện áp hoạt động riêng cho analog, digital và I/O
RAM 5.5 KiB trên chip cho code/ data
Giao diện điều khiển và dữ liệu nối tiếp
Có thể dùng nhƣ là bộ đồng xử lý phụ
Khởi động SPI nhanh cho những ứng dụng đặc biệt
UART cho mục đích sửa lỗi
Chức năng mới có thể đƣợc thêm vào với phần mềm và 4 chân GPIO
2.3.2 Sơ đồ khối và chức năng từng khối của chip VS1003
Hình 2 10 Sơ đồ khối VS1003
Hình 2 11 Sơ đồ chân VS1003
Khối MIC AMP: khối này nhận tín hiệu âm thanh từ mic rồi khuếch đại tín hiệu rồi đƣa đến khối MUX
Khối MUX: đa hợp 2 tín hiệu (nếu có): tín hiệu âm thanh từ mic qua khối khuếch đại và tín hiệu line audio
Khối GPIO: nhận 4 tín đường dữ liệu đi vào theo chuẩn GPIO rồi đưa đến khối xử lý trung tâm
Khối Serial Data/Control Interface: khối có chức năng điều khiển luồng dữ liệu nối tiếp
Khối UART: giao tiếp UART
Khối Clock multiplier: bộ nhân xung
Khối instruction RAM và khối instruction ROM: giao tiếp và quản lý RAM và ROM
Mono ADC: chuyển đổi tín hiệu âm thanh mono từ sau khối MUX thành tín hiệu số đƣa đến khổi xử lý trung tâm
Khối xử lý trung tâm VSDSP: xử lý tín hiệu âm thanh đầu vào hoặc các dữ liệu qua các chuẩn giao tiếp rồi đƣa đến khối stereo DAC
Khối stereo DAC: chuyển đổi tín hiệu số thành tín hiệu âm thanh stereo
Khối stereo Ear-phone driver: chứa các giao thức giao tiếp với Ear-phone
2.3.3 Khối xử lý trung tâm VSDSP
Khối xử lý trung tâm VSDSP thực hiện việc xử lý dữ liệu và lệnh thông qua hai giao diện chính: Giao diện dữ liệu nối tiếp SDI (Serial Data Interface) và Giao diện điều khiển nối tiếp SCI (Serial Control Interface).
Các giao diện dữ liệu nối tiếp đƣợc sử dụng để chuyển nén MP3 hoặc WMA dữ liệu, WAV PCM và dữ liệu ADPCM cũng nhƣ dữ liệu MIDI
Nếu đầu vào của bộ giải mã là không hợp lệ hoặc không đƣợc nhận đủ nhanh, kết quả đầu ra analog sẽ tự động tắt
Các giao diện điều khiển nối tiếp tuân thủ các đặc điểm kỹ thuật bus SPI, với việc chuyển dữ liệu luôn ở định dạng 16 bit VS1003 hoạt động thông qua việc ghi và đọc các thanh ghi của giao diện.
Các điều khiển chính của giao diện điều khiển là:
- Kiểm soát các chế độ hoạt động, xung clock, và dựng sẵn các hiệu ứng
- Tiếp cận thông tin trạng thái và tiêu đề dữ liệu
- Truy cập vào mã hóa tín hiệu số
- Tải lên các chương trình người dùng
Các thanh ghi trong khối VSDSP
Sau đây là thanh ghi SCI chứa các giao thức điều khiển các lệnh dữ liệu nối tiếp Reg Type Reset Time Viết tắt[bits] Mô tả
0x0 rw 0x800 70 CLKI MODE Điều khiển chế độ
0x1 rw 0x3C 40 CLKI STATUS Status của VS1003
0x2 rw 0 2100 CLKI BASS Điều chỉnh bass/treble
CLOCKF Xung tần số và xung đa hợp
0x4 rw 0 40 CLKI DECODE_TIME Thời gian giải mã trong vài giây
0x5 rw 0 3200 CLKI AUDATA Dữ liệu âm thanh từ
0x6 rw 0 80 CLKI WRAM Đọc/Viết trên RAM
0x7 rw 0 80 CLKI WRAMADDR Địa chỉ cơ sở cho
0x8 r 0 - HDAT0 Dòng tiêu tề dữ liệu 0
0x9 r 0 - HDAT1 Dòng tiêu đề dữ liệu 1
0xA rw 0 3200 CLKI AIADDR Địa chỉ bắt đầu của ứng dụng
0xB rw 0 2100 CLKI VOL Điều khiển âm lƣợng
0xC rw 0 50 CLKI AICTRL0 Thanh ghi điều khiển ứng dụng 0
0xD rw 0 50 CLKI AICTRL1 Thanh ghi điều khiển ứng dụng 1
0xE rw 0 50 CLKI AICTRL2 Thanh ghi điều khiển ứng dụng 2
0xF rw 0 50 CLKI AICTRL3 Thanh ghi điều khiển ứng dụng 3
SD CARD
2.4.1 Sơ lƣợt về SD Card
Thẻ SD (Secure Digital) được phát triển vào năm 2000 bởi Matsushita, SanDisk và Toshiba Hiện nay, thẻ SD được sử dụng phổ biến trong nhiều thiết bị cầm tay như máy ảnh kỹ thuật số, điện thoại di động, PDA, máy tính cầm tay, máy ghi video và máy thu GPS.
Thẻ SD đƣợc phát triển dựa trên thẻ MMC (MultiMediaCard)
Thẻ nhớ sử dụng công nghệ flash để ghi dữ liệu
Standard-Capacity (SDSC) dung lƣợng từ 4MB đến 4GB
High-Capacity (SDHC) dung lƣợng từ 4GB đến 32GB
eXtended-Capacity (SDXC) dung lƣợng từ 32GB đến 2TB
Hình 2 12 Các loại SD Card
Hình 2 13 Cấu trúc SD Card
I/O/PP Phát hiện thẻ CS I Chọn chip
2 CMD PP Lệnh DI I Dữ liệu vào
3 VSS1 S Nối đất VSS1 S Nối đất
4 VDD S Nguồn cung cấp VDD S Nguồn cung cấp
6 VSS2 S Nối đất VSS2 S Nối đất
7 DAT0 I/O/PP Dòng dữ liệu[Bit0]
8 DAT1 I/O/PP Dòng dữ liệu[Bit1]
9 DAT2 I/O/PP Dòng dữ liệu[Bit2]
Bảng 2 3 Sơ đồ chân SD Card
Các thanh ghi bên trong
CID 128 Card Identification Mã số duy nhất cho mỗi card
RCA 16 Relative Card Address Địa chỉ cục bộ cho card đế phân biệt với các thiết bị khác, đƣợc card đề nghị và host xác nhận trong giai đoạn đầu thiết lập giao tiếp ban đầu Có thế ghi đƣợc
DSR 16 Driver Stage Registor, thiết lập ngõ ra của card Tùy chọn CSD 128 Card Specific Data Chứa các thông tin về quá trình hoạt động của card SCR 64 SD Configuration Registor Chứa thông tin về các chức năng đặc biệt của card đƣợc chỉ định bởi nhà sản xuất OCR 32 Poeration Condition Registor Thông tin điện áp hoạt động cùng với bộ nhớ dung lƣợng lớn(>=4GB) hay thường(