ENCYCLOPEDIA VỀ ĐIỆN TỬ TRUYỀN THANH VÀ KỸ THUẬT ĐIỆN Máy nghe nhạc MP3 - set-top box cho PC. Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện / Máy tính Chúng tôi xin giới thiệu tới bạn đọc một máy nghe nhạc MP3 - một thiết bị là bộ giải mã MP3 được kết nối với cổng song song (LPT) của máy tính. Nó có thể được sử dụng trong trung tâm âm nhạc cố định hoặc trong ô tô (khi được sử dụng để điều khiển và lưu trữ thông tin trên bất kỳ loại máy tính hoặc thiết bị nào trên bộ vi điều khiển), để mở rộng chức năng của máy tính “chậm”, v.v. MP3, MPEG-1* Lớp 3, Âm thanh MPEG là tên của kỹ thuật nén cho tệp hoặc luồng âm thanh số hóa. Tính năng cơ bản của mã hóa MPEG là nén có tổn hao. Sau khi đóng gói và giải nén một tệp âm thanh bằng phương pháp MP3, kết quả không giống với “bit for bit” ban đầu. Ngược lại, việc đóng gói cố tình loại trừ các thành phần không thiết yếu khỏi tín hiệu được đóng gói, dẫn đến tỷ lệ nén tăng lên rất nhiều. Tùy thuộc vào chất lượng âm thanh được yêu cầu, phương pháp MP3 có thể nén tín hiệu âm thanh kỹ thuật số từ mười lần trở lên. Nhờ đó, các tác phẩm âm nhạc của một CD âm thanh ở dạng nén với chất lượng âm thanh chấp nhận được chỉ chiếm 60...70 MB. Ngày nay hình thức này ngày càng trở nên phổ biến. Hàng chục thiết bị từ nhiều công ty khác nhau được sản xuất hàng loạt bằng nhiều loại phương tiện lưu trữ: thẻ nhớ, đĩa CD, ổ cứng. Có rất nhiều thiết bị nghiệp dư, chẳng hạn, có thể tìm thấy mô tả về chúng trên Internet [1], - từ máy tính có giải mã dữ liệu phần mềm đến thiết bị có giải mã phần cứng và khả năng hoạt động đồng thời với nhiều phương tiện lưu trữ khác nhau. Tuy nhiên, việc sử dụng máy nghe nhạc MP3 cùng với máy tính xách tay, ngay cả với bộ xử lý hiệu suất thấp (286, 386, 486), có thể mua được với một khoản phí nhỏ trên thị trường radio, vẫn có lợi hơn so với tất cả các thiết bị khác. Thứ nhất, về mặt giá cả - giá của một bộ vi điều khiển, màn hình LCD và các bộ phận khác còn cao hơn một chiếc máy tính xách tay cũ. Thứ hai, về mặt chức năng - màn hình độ phân giải cao với thang độ xám (hoặc thậm chí là màu), một bộ phím điều khiển lớn, khả năng sử dụng đồng thời máy tính cho các mục đích khác (ví dụ: làm đồng hồ, để điều khiển nhiều thiết bị khác nhau) . Thứ ba, về tính linh hoạt - phần mềm được viết bằng ngôn ngữ lập trình cấp cao và có thể thay đổi dễ dàng, nhanh chóng mà không cần sử dụng lập trình viên bằng chính máy tính Sơ đồ khối của máy nghe nhạc MP3 được hiển thị trong Hình 1. 1. Như bạn có thể thấy, nó kết nối với cổng song song của máy tính và bao gồm bộ chuyển đổi mức tín hiệu U3, bộ giải mã MP2 phần cứng U1 và bộ nguồn AXNUMX. Điểm nghẽn của thiết bị là băng thông cổng song song của máy tính thấp. Khi thử nghiệm nó trên máy tính có cổng SPP (Cổng song song tiêu chuẩn) dựa trên bộ xử lý Intel 486DX-33, luồng dữ liệu tối đa mà tại đó các tác phẩm âm nhạc được phát lại mà không bị giật hình là 128 Kbps. Trên máy tính có cổng song song EPP (cổng song song nâng cao), trong đó tốc độ trao đổi đạt 0,5.. 2 MB/s (tốc độ trao đổi với thiết bị thấp hơn nhiều vì việc trao đổi dữ liệu chỉ xảy ra dọc theo một trong các đường tín hiệu và việc kiểm soát dữ liệu được thực hiện bằng phần mềm) các luồng 192 Kbps trở lên thường được sao chép. Nếu muốn, để giao tiếp thiết bị với máy tính, bạn có thể sử dụng giao diện kết nối với bus ISA, được mô tả trong [2], với một chút sửa đổi về phần mềm. Tuy nhiên, trong trường hợp này, phạm vi ứng dụng của thiết bị sẽ bị thu hẹp - nó chỉ có thể được kết nối với máy tính để bàn, vì máy tính xách tay thường không có bus như vậy. Sơ đồ nguyên lý của thiết bị được hiển thị trong Hình. 2. Bộ chuyển đổi mức logic được triển khai trên các phần tử NOT có bộ thu mở (chip DD1, DD2) và chuyển đổi các mức TTL thành các mức logic với mức cao 3 V và ngược lại. Chip DD3 (VS1001k của công ty VLSI Oy của Phần Lan) là bộ xử lý tín hiệu số (Digital Signal Controller - DSP) để giải mã phần cứng MPEG lớp 1, 2 và 3 [3, 4]. Sơ đồ khối của nó được hiển thị trong Hình. 3. Chip chứa lõi DSP hiệu suất cao với mức tiêu thụ điện năng thấp (VS_DSP), bộ nhớ làm việc, RAM chương trình (4 KB) và RAM dữ liệu (0,5 KB) cho các ứng dụng người dùng, giao diện điều khiển nối tiếp và dữ liệu, DAC chất lượng cao và bộ khuếch đại 3H cho tai nghe. VS1001k nhận dữ liệu đầu vào qua bus nối tiếp, được kết nối dưới dạng phụ trong hệ thống. Luồng đầu vào được giải mã và chuyển qua bộ điều khiển âm lượng analog/kỹ thuật số kết hợp tới DAC delta-sigma 18 bit. Giải mã được điều khiển thông qua bus điều khiển nối tiếp. Ngoài việc giải mã đơn giản, bạn có thể thêm các ứng dụng đặc biệt - hiệu ứng DSP, nằm trong RAM của người dùng. Để điều khiển chip và truyền luồng dữ liệu MP3, hai bus được sử dụng: SCI (Giao diện điều khiển nối tiếp) để điều khiển và SDI (Giao diện dữ liệu nối tiếp) để truyền dữ liệu. Mục đích của các tuyến xe buýt này được nêu trong Bảng 1. VS1001k chứa 15 thanh ghi SCI (Bảng 2). Sau khi thiết lập lại phần cứng, tất cả đều được đặt thành 0. Thanh ghi MODE được sử dụng để điều khiển hoạt động của VS1001. Tên các bit, chức năng và mô tả của chúng được đưa ra trong bảng. 3. Thanh ghi STATUS chứa thông tin về trạng thái hiện tại của chip. Bit 1 và 0 dùng để điều khiển mức đầu ra analog (0 - 0 dB, 1 = -6 dB, 3 - -12 dB), bit 2 dùng để tắt nguồn cho phần analog của vi mạch ( nếu giá trị của nó là một, nó sẽ tắt). Việc ghi vào thanh ghi VOL (xem bên dưới) sẽ tự động đặt mức đầu ra analog mà người dùng không phải lo lắng về trạng thái của nó. Thanh ghi CLOCKF được sử dụng nếu tần số xung nhịp khác 24,576 MHz (và nó phải là bội số của 2 kHz). Giá trị của thanh ghi này được tính bằng công thức CLOCKF = ХТ1/2000 (ХТ1 - tần số đồng hồ tính bằng hertz). Thanh ghi có thể lấy các giá trị từ 0 đến 32767, nhưng các giá trị lớn hơn bị giới hạn bởi tần số xung nhịp tối đa của chip (32 MHz). Đặt bit quan trọng nhất của thanh ghi thành 1 sẽ kích hoạt bộ nhân tần số bên trong. Tần số của bộ tạo xung nhịp có thể tăng gấp đôi lên tới 15 MHz. Thanh ghi CLOCKF phải được đặt trước khi giải mã dữ liệu MP3, nếu không nó sẽ không phát lại chính xác. Tốc độ lấy mẫu tối đa của dữ liệu âm thanh và tốc độ của luồng dữ liệu MP3 đầu vào phụ thuộc vào tần số xung nhịp. Ví dụ: với tần số bộ tạo xung nhịp là 12,288 MHz, vi mạch sẽ giải mã dữ liệu âm thanh với tần số lấy mẫu là 24 kHz và tốc độ dòng lên tới 96 kbit/s; ở tần số 22,580 MHz - với tần số lấy mẫu là 44,1 kHz và tốc độ luồng lên tới 160 kbit/s; một luồng biến đổi được xử lý mà không có tốc độ lỗi không vượt quá 256 Kbit/s. Nếu tần số xung nhịp là 24,576 MHz, tất cả dữ liệu âm thanh sẽ được giải mã với tần số lấy mẫu lên tới 48 kHz và tốc độ lên tới 192 Kbps; ở tần số 28 MHz, một luồng có tốc độ tối đa lên tới 320 Kbps là Thanh ghi DECODEJTIME, khi xử lý luồng chính xác, chứa thời gian giải mã hiện tại tính bằng giây. Các bit 8-0 của thanh ghi ADATA chứa giá trị tốc độ luồng dữ liệu tính bằng kilobit trên giây (nếu là biến, chúng chứa tốc độ dòng hiện tại), các bit 12-9 chứa chỉ số tần số lấy mẫu (Bảng 4). Bit 14 và 13 không được sử dụng và luôn được đặt thành 0. Bit 15 đặc trưng cho loại dữ liệu âm thanh (0 - mono, 1 - stereo). Sử dụng thanh ghi WRAM WRAMADDR AIADDR, bạn có thể tải và chạy các ứng dụng do người dùng viết trên chip, chẳng hạn như trộn các kênh, tạo hiệu ứng âm thanh nổi khi phát tín hiệu đơn âm, giới thiệu bộ cân bằng kỹ thuật số. Bạn có thể tìm thấy ví dụ về các ứng dụng và công cụ như vậy để phát triển chúng trên trang web của nhà sản xuất chip. Tuy nhiên, cần nhớ rằng tất cả điều này làm tăng tải cho bộ xử lý tín hiệu số và hiệu suất của nó bị hạn chế. Ví dụ: với tốc độ xung nhịp 24,576 MHz và giải mã luồng dữ liệu 128 Kbps ở tốc độ lấy mẫu 44,1 kHz, bộ xử lý chỉ có khoảng 28% thời gian rảnh. Khi bộ mở rộng đáp ứng tần số được bật (bởi bit SM_BASS của thanh ghi MODE), thêm 6,5% hiệu suất của bộ xử lý tín hiệu số sẽ bị lãng phí. Các thanh ghi HDAT0 và HDAT1 chứa thông tin về tiêu đề nhạc được trích xuất từ luồng dữ liệu MPEG hiện tại. Thanh ghi VOL dùng để điều khiển âm lượng. Trong mỗi kênh, giá trị có thể thay đổi từ 0 đến 255 (tương ứng với mức suy giảm tín hiệu từ mức tối đa đến 0,5 theo bước 256 dB). Đối với kênh bên trái, giá trị được nhân với 0 và cộng vào giá trị của kênh bên phải. Do đó, để đạt được âm lượng tối đa, thanh ghi phải chứa 65535 và hoàn toàn im lặng - XNUMX. Sau khi “đặt lại” phần cứng, âm lượng tối đa được đặt, “đặt lại” phần mềm không làm thay đổi âm lượng đã đặt. Khi âm lượng được đặt ở mức tối thiểu (255 ở cả hai kênh), nguồn của phần analog sẽ bị tắt, kèm theo tiếng click. Bạn có thể loại trừ nó nếu bạn sử dụng giá trị tối đa là 254 ở cả hai kênh (0xFEFE) để tắt âm thanh. Thiết bị sử dụng vi mạch PQ3VZ1 của SHARP làm bộ ổn áp nguồn 20 V (DA51). Điện áp đầu ra Uout (trong khoảng 1,5...20 V ở dòng tải lên tới 0,5 A) được tính bằng công thức Uout = Urev(1 + R3/R4), trong đó R4 = 1 kOhm và điện áp tham chiếu Urev = 1,25, 3 V. Trong trường hợp này, R1,5 = 1,25 kOhm và Uout = 1 (1,5 + 1/3,125) = XNUMX V. Để tách các mạch cấp nguồn của phần analog và phần kỹ thuật số, người ta sử dụng cuộn cảm lọc L1-L3 và tụ điện C3-C6. Con chip này được tích hợp sẵn chức năng bật/tắt nguồn, có thể sử dụng được trong phiên bản di động của thiết bị. Phần mềm điều khiển thiết bị được viết bằng C và phải được biên dịch và lưu trữ trên máy tính. Tác giả đã sử dụng trình biên dịch Borland C. Các hàm sau được sử dụng để điều khiển, được xác định trong tệp vs1001.h: void SCIWrite(int aress, int data) - ghi vào SCI; int SCIRead(int aress) - đọc SCI; void SDIWrite(int data) - ghi vào SDI; void xReset(void) - thiết lập lại phần cứng; int DREQ(void) - đọc giá trị của tín hiệu DREQ. Chương trình hoạt động như sau:
Nếu muốn, hãy đặt các thanh ghi còn lại, ví dụ: VOL, MODE, v.v. Sau đó, trạng thái của đầu ra DREQ được kiểm tra bằng chức năng DREQQ. Nếu nó được đặt thành 0 (hàm DREQQ trả về 0), thì dữ liệu từ tệp MP3 có thể được gửi. * Từ viết tắt MPEG là viết tắt của Moving Picture Expert Group, tên của nhóm chuyên gia ISO (Tổ chức tiêu chuẩn hóa quốc tế) có nhiệm vụ phát triển các tiêu chuẩn về mã hóa và nén dữ liệu video, âm thanh. Thông thường từ viết tắt MPEG được sử dụng để chỉ các tiêu chuẩn do nhóm này phát triển. Trong trường hợp đơn giản nhất, chương trình trông như thế này (mp3play.cpp): Khi phát tệp tiếp theo, cần thực hiện “đặt lại” phần mềm của chip VS1001k (bằng cách đặt bit SMRESET của thanh ghi SCI MODE thành 1). Việc kiểm tra chức năng của thiết bị bắt đầu bằng phần analog của chip DD3. Trên tất cả các chân UDDA, UDDD. cũng như xRESET và TEST0 phải có điện áp khoảng +3 V và ở chân RCAP - khoảng +1,3 V. Nếu ở chân sau là 0 hoặc UD DA thì phần tương tự của VS1001 bị lỗi. Khi "đặt lại" phần cứng của bộ giải mã được áp dụng cho chân xRESET ở mức thấp, điều sau sẽ xảy ra: sau 4096 chu kỳ xung nhịp sau khi điện áp tại xRESET trở về mức thống nhất, mức thấp sẽ xuất hiện ở chân DREQ, mức này sẽ thay đổi thành mức cao sau 6000 chu kỳ đồng hồ. Nếu mức tín hiệu trên chân này không thay đổi theo thứ tự xác định thì phần mềm bên trong của chip bị lỗi. Sau đó hoạt động của bus SCI được kiểm tra. Để thực hiện việc này, hãy ghi giá trị âm lượng tối đa vào thanh ghi VOL, sau đó là giá trị OxFFFF, giá trị này sẽ tắt phần tương tự của chip VSl001k. Do đó, bạn sẽ nghe thấy tiếng tách từ tai nghe được kết nối với ổ cắm XS2. Đoạn chương trình sau (scitest.cpp) chứng minh điều này: đầu ra sẽ tạo ra năm lần nhấp chuột với khoảng thời gian 0,5 giây: Bây giờ bạn cần kiểm tra việc đọc các thanh ghi SCI. Để thực hiện việc này, hãy ghi một giá trị vào thanh ghi VOL, ví dụ 12345, sau đó đọc thông tin từ thanh ghi này và so sánh kết quả. Nếu kiểm tra thành công, màn hình máy tính sẽ hiển thị thông báo “SCI Read Test Passed”; nếu không, “SCI Read Error” (sciread.cpp). Tiếp theo, việc ghi trong SDI được kiểm tra. Thật thuận tiện khi sử dụng một thử nghiệm đặc biệt được tích hợp trong vi mạch tạo ra tín hiệu hình sin ở đầu ra analog. Để kích hoạt thử nghiệm, cần truyền chuỗi tám byte 0x53 OxEF Ox6E n 0 0 0 0 qua SDI, trong đó n = 48... 119 (do người dùng chọn). Các thông số tín hiệu được xác định từ bảng. 5, trong đó chỉ số tốc độ lấy mẫu Fsldx = (n - 48)mod9 và số lượng chỉ số mẫu FSin = (n - 48)/9. Ví dụ: với n = 62 (trong trường hợp này là n - 48 = 14) Fsldx = 5 và FSin = 1. Giá trị Fsldx = 5 tương ứng với tần số lấy mẫu là 16000 Hz và giá trị FSin = 1-16 mẫu. Như vậy, ở đầu ra chúng ta sẽ nhận được tín hiệu hình sin có tần số 16000/16 = 1000 Hz. Để thoát khỏi chế độ thử nghiệm, chuỗi byte 0x45 0x78 0x69 0x74 0 0 0 0 được truyền qua SDI. Đoạn chương trình sau (sinetest.cpp) minh họa thử nghiệm này: trên đầu ra analog, bạn có thể nghe tín hiệu có tần số 1 kHz trong 5 giây: Để kiểm tra bộ nhớ của chip VS1001k, chuỗi 0 byte 4x0D OxEA 6x0D 54x0 0 0 0 500 được gửi tới SDI. Sau lệnh này, bạn phải đợi 000 chu kỳ tạo xung nhịp. Kết quả kiểm tra có thể được đọc từ thanh ghi SCI HDAT0. Dữ liệu nhận được được hiểu như sau: nếu bit được đặt thành 1 thì bài kiểm tra bộ nhớ đã vượt qua (Bảng 6). Nếu kiểm tra thành công, màn hình máy tính sẽ hiển thị thông báo “Kiểm tra bộ nhớ đã hoàn thành thành công”, nếu không, “Lỗi bộ nhớ xxxxx,” trong đó xxxxx là giá trị được đọc từ thanh ghi HDATO. Đây là một đoạn của chương trình kiểm tra bộ nhớ (memtest.cpp): Để kiểm tra các thanh ghi SCI, bạn cần gửi chuỗi 0 byte 53x0 70x0 0xEE n 0 0 0 0 tới SDI, trong đó n là số thanh ghi để kiểm tra. Nội dung của thanh ghi đã chỉ định được đọc và sao chép vào thanh ghi HDAT0. Nếu cần kiểm tra thanh ghi HDAT1 thì giá trị của nó sẽ được sao chép vào thanh ghi HDATXNUMX. Thiết bị được gắn trên một bảng mạch in được làm theo bản vẽ trong Hình. 4. Trong quá trình lắp đặt, các đoạn dây thiếc được luồn vào các lỗ được đóng khung bằng các miếng tiếp xúc có đường kính tối thiểu và được hàn vào các dây dẫn được in ở cả hai mặt của bảng. Thay vì PQ20VZ51, bạn có thể sử dụng bất kỳ bộ ổn áp vi mạch nào cho phép bạn nhận được đầu ra 3 V (ví dụ: LM317). Bất kỳ cuộn cảm L1-L3 nào có độ tự cảm 10 μH. Biến tần có đầu ra cực thu hở DD1.1-DD1.6, DD2.1-DD2.3 có thể thuộc dòng K155, KR531, K555, KR1533. Không nên thay thế vi mạch VS1001k bằng các thiết bị có chỉ số chữ cái khác (phiên bản trước) vì chúng có một số thiếu sót. Văn chương
Tác giả: V. Kardapolov, làng Tbilisskaya, vùng Krasnodar Xem các bài viết khác razdela Máy tính. Đọc và viết hữu ích bình luận về bài viết này. Tin tức khoa học công nghệ, điện tử mới nhất: Một cách mới để kiểm soát và điều khiển tín hiệu quang
05.05.2024 Bàn phím Primium Seneca
05.05.2024 Khai trương đài quan sát thiên văn cao nhất thế giới
04.05.2024
Tin tức thú vị khác: ▪ Bộ xử lý tám nhân Kirin 8 hỗ trợ màn hình VoLTE và QHD ▪ Apple sẽ tăng dung lượng pin cho phiên bản iPad mới mạnh mẽ Nguồn cấp tin tức khoa học và công nghệ, điện tử mới
Tài liệu thú vị của Thư viện kỹ thuật miễn phí: ▪ phần trang web Bộ tổng hợp tần số. Lựa chọn bài viết ▪ bài Quái vật nhiều đầu. biểu hiện phổ biến ▪ bài báo Tại sao có rất nhiều kênh ở Venice? đáp án chi tiết ▪ bài Tarragon. Truyền thuyết, canh tác, phương pháp áp dụng ▪ bài viết Bộ lọc thông dải kết hợp. Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện
Để lại bình luận của bạn về bài viết này: Tất cả các ngôn ngữ của trang này Trang chủ | Thư viện | bài viết | Sơ đồ trang web | Đánh giá trang web www.diagram.com.ua |