메뉴 English Ukrainian 러시아인 홈

애호가 및 전문가를 위한 무료 기술 라이브러리 무료 기술 라이브러리


라디오 전자 및 전기 공학의 백과사전
무료 도서관 / 무선 전자 및 전기 장치의 계획

MP3 및 Opus 오디오 플레이어. 무선 전자 및 전기 공학 백과사전

무료 기술 라이브러리

무선 전자 및 전기 공학 백과사전 / 오디오

기사에 대한 의견 기사에 대한 의견

이 문서에서는 microSD 메모리 카드에서 일반적인 형식의 음악 파일을 위한 수제 휴대용 플레이어에 대해 설명합니다. NOKIA 32 휴대폰 케이스의 STM407F6VGT1100 마이크로 컨트롤러에 조립됩니다.

플레이어 구성표는 그림에 나와 있습니다. 1. STM32F4DISCOVERY 개발 보드에서 사용할 수 있는 전자 부품을 최대한 활용합니다. 여기에는 STM32F407VGT6(DD1) 마이크로 컨트롤러, LD3985M25R(DA1) 및 LD3985M33R(DA3) 통합 전압 조정기, CS43L22(DD2) 코덱 및 필요한 수동 부품. 휴대 전화 NOKIA 1100에서 케이스와 배터리 외에도 XS3 헤드폰을 연결하기 위한 커넥터, LCD HG1이 있는 전면 패널, 인쇄 회로 기판의 동심원 접촉 패드로 형성된 버튼 SB1-SB17용 멤브레인 및 G1 배터리를 연결하기 위한 커넥터가 사용되었습니다. 또한 플레이어의 보드에는 microSD 메모리 카드 TFC-WPCE-08(XS1)용 홀더, Xp1 프로그래머를 연결하기 위한 접촉 패드 그룹, miniUSB-B 5075BMR-05-SM(XS2) 커넥터가 포함되어 있습니다.

MP3 및 Opus 오디오 플레이어
쌀. 1. 플레이어 레이아웃(확대하려면 클릭)

다이오드 어셈블리 VD1, VD4, VD5, VD6은 커넥터 XS2 및 XS3에 연결된 정전기 방전 회로를 보호하는 데 사용됩니다. 나머지 커넥터는 배터리 함 내부에 있으며 보호가 필요하지 않습니다. 칩(DA2)은 최대 전압이 1V인 G4,2 리튬 이온 배터리 충전 컨트롤러입니다. 저항 R9는 충전 중에 이 칩의 전압 강하를 줄여 칩을 가열합니다. 저항 R10은 최대 충전 전류 I를 설정합니다.살.맥스 공식 I에 따라ap.max 당 = 1000/R10. 킬로옴 단위로 설정된 저항 R10에서 충전 전류 값은 밀리암페어 단위로 구합니다.

1C 이하의 전류로 리튬 이온 배터리를 충전하는 것이 좋습니다. 여기서 C는 배터리 용량입니다. 사용한 BL-5C 배터리의 용량은 약 1000mAh이며, LTC4054ES5-4.2 칩의 최대 허용 충전 전류는 800mA입니다. 충전은 USB 버스에서 수행되므로 부하 용량(500mA)도 고려해야 합니다. 따라서 R10의 권장 값은 2kOhm입니다. 또한 R10 양단의 전압을 측정하면 공식 I를 사용하여 배터리 충전 전류의 전류 값을 결정할 수 있습니다.충전= 1000유R10/ R10 (전류 - 밀리암페어, 전압 - 볼트, 저항 - 킬로옴).

XS2 커넥터가 USB 버스에 연결되면 전계 효과 트랜지스터 VT1이 플레이어의 전원 회로에서 배터리 G1을 분리합니다. 커넥터 XS5의 핀 1에서 2V의 전압이 트랜지스터 VT5를 열고 트랜지스터 VT3의 게이트 전압은 소스에 대해 음수가 됩니다. 플레이어를 포함하여 트랜지스터 VT3가 열립니다.

커넥터 XS1의 핀 2에 전압이 없으면 트랜지스터 VT3의 게이트 전위가 소스 전위에 가까워지고 트랜지스터가 닫힙니다.

SB1 버튼을 누르면 트랜지스터 VT3도 열리고 마이크로 컨트롤러가 작동을 시작하고 10ms마다이 버튼의 상태를 확인합니다. 2초 이상 누르고 있으면 마이크로컨트롤러는 트랜지스터 VT2의 베이스에 높은 전압 레벨을 설정하여 트랜지스터 VT3을 열어 유지합니다. 그 후 플레이어가 작동 상태가 되고 버튼을 놓을 수 있습니다. SB1 버튼을 다시 길게 눌러 플레이어를 끕니다.

전원을 켠 후 마이크로컨트롤러는 HG1 LCD와 XS1 홀더에 삽입된 microSD 카드를 초기화하고 카드의 루트 디렉터리에 player.ini 구성 파일이 있는지 확인합니다(FAT12, FAT16, FAT32 파일 시스템 지원). 이것은 "key - value" 줄의 집합인 일반 ini 파일입니다. 플레이어가 마지막으로 꺼졌을 때 재생을 위해 선택된 오디오 파일, 파일의 위치 및 볼륨 설정에 대한 정보를 저장합니다. 프로그램은 이 상태를 복원하려고 시도합니다. 오류가 발생한 경우(예: 카드를 교체한 경우) 카드의 첫 번째 오디오 파일(확장자가 .mp3 또는 .opus임)이 검색됩니다. 검색은 루트 디렉터리부터 시작되며, 맵의 파일 할당 테이블에 나열된 순서대로 파일이 검색됩니다.

재생하는 동안 현재 디코더의 MainThread 함수가 주기적으로 호출되어 필요에 따라 카드에서 읽기를 수행하고(.opus 및 .mp3에 대한 오디오 패킷 컨테이너의 형식이 다르기 때문에 각 코덱은 자체 버퍼링을 담당함) 디코딩을 수행합니다. . 이러한 작업을 수행할 필요성은 오디오 코덱이 비동기적으로 정보를 읽는 순환 AudioBuffer 버퍼의 충만도에 따라 결정됩니다. 현재 오디오 파일의 디코딩이 완료되면 위에서 설명한 원칙에 따라 다음 오디오 파일을 검색합니다. 파일 시스템 순회가 완료되면 재생이 중지됩니다.

플레이어는 1x96px 해상도의 그래픽 단색 HG65 LCD와 SB 1 -SB 17 버튼을 사용하여 사용자와 상호 작용합니다. 텍스트 디스플레이 모드의 소프트웨어 시뮬레이션은 화면이 8px 높이의 1줄로 분할되어 사용됩니다. 화면 하단의 나머지 XNUMXpx 가로 막대는 재생 중 파일의 현재 위치를 시각적으로 표시하는 데 사용됩니다.

상단에서 첫 번째 줄은 왼쪽에서 오른쪽으로 배터리 전압, 플레이어 상태, 볼륨을 표시합니다. 상태는 파일 내에서 문자 "0" - 재생, "-" - 일시 중지, "<<" 또는 ">>" - 빨리 되감기 또는 빨리 감기로 특징지어집니다. 직사각형 형태의 기호는 I 인터페이스를 통한 DD1 및 DD2 마이크로 회로의 통신 오류를 의미합니다.2C.

2-6행은 재생 중인 오디오 파일의 전체 경로를 보여줍니다. 8행은 왼쪽에 현재 재생 시간을 표시하고 오른쪽에 오디오 파일의 길이를 표시합니다.

SB1 버튼은 재생과 일시정지 모드를 전환하고, SB3 버튼은 음량을 높이고, SB5 버튼은 음량을 낮추고, SB4 버튼은 켜고, SB15 버튼으로 키패드 잠금을 해제합니다. 키패드가 잠겨 있으면 디스플레이의 7행 중앙에 "Locked"가 표시됩니다. SB6 버튼을 누르면 이전 파일 재생으로 전환되고 SB8 버튼은 다음 파일로 전환됩니다. 이 버튼을 9초 이상 길게 누르면 플레이어가 각각 빨리 감기 모드, 되감기 또는 앞으로 감기 모드로 들어갑니다. SB11 또는 SBXNUMX 버튼을 누르면 각각 재생을 위해 현재 디렉터리의 첫 번째 파일과 마지막 파일을 로드합니다.

커넥터 XS3 - 헤드셋 연결에 사용되는 하우징에서 사용할 수 있습니다. 헤드셋 자체에는 헤드폰이 연결된 직경 3,5mm의 표준 오디오 플러그용 잭이 있습니다. 헤드셋은 또한 누를 때 BTN과 GND 회로를 연결하는 버튼을 제공하며 해제된 버튼의 접점 사이의 저항은 약 3,3킬로옴입니다. 플레이어에서 BTN 라인은 저항 R21을 통해 1V 회로에 연결되므로 이 라인의 전압을 측정하여 연결된 헤드셋의 존재와 버튼 상태를 모두 판단할 수 있습니다. 헤드셋 버튼의 기능은 SBXNUMX 플레이어 버튼의 기능과 유사합니다. 재생 모드에서 일시 정지 모드로 또는 그 반대로 전환할 수 있으며 끌 수도 있습니다. 그러나 그것을 사용하여 플레이어를 켤 수는 없습니다. 키보드가 잠겨 있으면 헤드셋 버튼이 활성 상태로 유지됩니다.

XS2 커넥터는 전화기의 LED 플래시라이트 렌즈를 대신합니다. 이 커넥터의 핀 1에 연결된 마이크로컨트롤러의 PA9 입력에서 높은 논리 수준이 감지되면 프로그램은 디스플레이 오른쪽 상단 모서리에 배터리 충전 전류를 암페어 단위로 표시하기 시작합니다. 또한 이 이벤트는 플레이어가 꺼져 있는 경우 자동으로 켜집니다. 기본적으로 그 이후에는 플레이어가 일반 재생 모드로 작동하므로 동시에 음악을 듣고 배터리를 충전할 수 있습니다.

SB13 버튼을 누르면 프로그램이 플레이어의 상태를 player.ini 파일에 저장하고 USB 마이크로컨트롤러 모듈이 MSC(Mass Storage Class) 모드에서 작동하도록 구성합니다. 이 모드에서 컴퓨터는 USB 커넥터에 연결된 플레이어를 이동식 저장 장치로 인식하고 그 내용은 플레이어에 삽입된 microSD 카드에 기록된 내용과 일치합니다. 정보는 대역폭이 12Mbps 이하인 최대 속도 모드에서만 컴퓨터와 교환됩니다. 디스플레이는 여전히 충전 전류의 현재 값을 3행에 표시합니다. "USB 디스크"라는 글자는 4행과 5행에 각각 읽기 및 쓰기 속도입니다. SB12 버튼을 누르면 장치는 플레이어 모드로 돌아갑니다.

플레이어의 인쇄 회로 기판 그림이 그림에 나와 있습니다. 2. 그 크기와 모양은 NOKIA 1100 휴대폰의 보드와 동일하며 이 경우에 배치됩니다(그림 3). 보드는 금속화 구멍이 있는 기술에 따라 제조되어야 합니다. 그렇지 않으면 양쪽의 주석 도금 와이어 조각을 모든 비아(보드 양쪽에 패드 포함)에 삽입하고 납땜하고 양쪽에서 납땜해야 합니다. 보드의 부품 위치는 그림에 나와 있습니다. 4:2 비율로 1개. 또한 인쇄된 전도체를 보호하기 위해 사용해야 하는 내열성 절연 바니시로 만든 마스크도 보여줍니다. 마스크를 적용하지 않은 경우 적어도 도체가 버튼의 인쇄된 접점에 접근하는 영역과 microSD XS1 카드 홀더의 금속 케이스 아래 영역을 격리해야 합니다.

MP3 및 Opus 오디오 플레이어
쌀. 2. 플레이어의 인쇄회로기판 도면

MP3 및 Opus 오디오 플레이어
쌀. 3. 휴대폰 NOKIA 1100

MP3 및 Opus 오디오 플레이어
쌀. 4. 기판 상의 부품 위치

기사에 첨부된 walkgeek-v1.2-n1100-with-mp3.hex 파일의 코드는 보드에 설치된 마이크로컨트롤러의 메모리에 입력되어야 합니다. 플레이어 프로그램의 소스 코드와 모든 구성 요소는 폐쇄된 상용 프로젝트에서 사용할 수 있는 New BSD 라이선스(및 기타 호환 라이선스)에 따라 배포됩니다. 예외는 Mp3dec 라이브러리이며 최종 제품에 추가하려면 모든 소스 코드를 공개해야 합니다. 프로젝트는 지속적으로 업데이트되며 업데이트된 버전은 [1]에 게시됩니다.

이미 언급했듯이 플레이어는 Opus 파일을 재생할 수 있는 기능을 제공합니다. 이것은 Vorbis, FLAC(Free Lossless Audio Codec - 무손실 오디오 압축 코덱) 및 Speex(음성 압축 코덱)와 같은 솔루션으로 알려진 Xiph.org 프로젝트에서 개발한 손실 오디오 압축용 소프트웨어 코덱[2]의 최근 출시된 안정 버전입니다. 코덱). Opus 파일에 압축된 스트림을 압축하는 데 기본적으로 사용되는 범용 미디어 컨테이너인 Ogg라고 부를 수도 있습니다.

Opus 코덱은 매우 새롭기 때문에 적은 양의 RAM이 있는 시스템에서 이를 구현하는 경우가 많지 않습니다. 그 중 하나가 락박스입니다. 코덱으로 작업하는 과정에서 Ogg 라이브러리는 전체 페이지 캐싱(이론적 최대 크기는 65KB, 실제 크기는 약 26KB)과 모든 그래뉼포 캐싱을 위해 동적으로 메모리를 할당하는 것으로 나타났습니다. 페이지 패킷(약 16KB), 192KB RAM이 있는 장치의 경우 많이 있습니다. 또한 라이브러리는 기본적으로 페이지 버퍼에 작은 메모리 영역을 할당하여 작동 중에 확장하고 매번 메모리를 "여백으로" 할당합니다.

레이싱 값에 대한 버퍼(페이지의 패키지 배포에 대한 정보)에서도 마찬가지입니다. 따라서 동적 메모리 풀이 작으면 곧 상당한 조각화가 발생하고 필요한 양의 메모리를 추가로 할당할 수 없습니다.

라이브러리에 대한 변경 결과 캐싱은 패킷 수준에서 수행됩니다(512Kbps의 속도로 전송되는 스테레오 정보 패킷의 최대 크기는 실제로 1276바이트입니다). 레이싱 값의 최대 버퍼 크기는 256개의 더블바이트 셀이며 싱글바이트로 만들 수도 있습니다. 따라서 Ogg 컨테이너와 관련된 모든 구조는 수정 후 2KB 미만의 RAM을 차지합니다.

수정 시 다음과 같은 몇 가지 가정이 이루어졌습니다. 패킷은 페이지 경계를 넘을 수 없으며 페이지 체크섬이 확인되지 않습니다(이 중 어떤 것도 Opus 파일에서 발견되지 않음). 둘 이상의 스트림을 포함하는 파일과 XNUMX개가 아닌 채널 수로 작업하는 것은 테스트되지 않았습니다.

Opus 코덱이 사용하는 총 메모리 양은 65088바이트이며 이 중 3856바이트는 출력 버퍼가 차지합니다. 서로 다른 정보 흐름 속도에서 코덱 프로파일링 결과는 표에 나와 있습니다. 1.

표 1

코덱 MP3
속도, Kbps 48 196 320 512 320
복잡성, MIPS 43 50 74 80 21

"복잡성"의 개념은 성공적인 디코딩에 필요한 프로세서 성능을 나타냅니다. 각 프레임의 디코딩 절차에 진입하는 순간과 빠져나가는 순간의 차이를 하드웨어 타이머를 사용하여 간단한 계산으로 추정했습니다(선점형 멀티태스킹 비활성화 및 인터럽트 비활성화). 이 테스트는 MP3 코덱이 더 적은 계산 노력을 필요로 한다는 것을 보여주었습니다. 하지만 Opus는 로열티가 없으며 MP3와 동일한 비트 전송률을 사용할 때보다 사용할 때 음질이 더 좋습니다.

STM32F4DISCOVERY 디버그 보드용 플레이어 프로그램 버전이 있으며, 설치된 마이크로 컨트롤러의 메모리에 입력해야 하는 코드는 파일 walkgeek-v1에 있습니다. 1 -stm32f4discovery-with-mp3.hex(기사에도 첨부됨). 이 경우 오디오 파일은 어댑터를 통해 보드의 CN5 커넥터에 연결된 USB 플래시 드라이브에서 재생됩니다. 플레이어는 다음과 같이 행동합니다. 

USB 버스 마스터. 상태는 보드의 주황색, 빨간색, 파란색 및 녹색 LED로 표시됩니다. 빨간색은 아니요, 녹색은 연결된 FLASH 드라이브가 있음을 나타내고 주황색은 오디오 파일이 로드 중이거나 재생이 중지되었거나 프로그램 오류가 있음을 나타내고 파란색 깜박임은 재생 모드를 나타냅니다. 그림의 다이어그램에서 사용할 수 있는 대부분의 버튼은 1, 표에 따라 디버그 보드에 연결. 2(각 버튼의 두 번째 접점은 공통 와이어에 연결됨). SB8 버튼의 역할은 보드의 "User" 버튼에 의해 수행됩니다. NOKIA 1100 전화기의 디스플레이는 표에 따라 디버그 보드에 연결됩니다. 삼.

표 2

단추 라인 접촉
SB1 레즈 R2.16
SB3 PE5 R2.14
SB4 PE4 R2.13
SB5 PE6 R2.11
SB6 PE7 R1.25
SB7 PE8 R1.26
SB9 PE9 R1.27
SB10 레이 R1.28
SB11 PE11 R1.29
SB12 레이 R1.30
SB13 레이 R1.31
SB14 레이 R1.32
SB15 레이 R1.33

표 3

출력 체인 라인 접촉
1 RES RA2 R1.14
2 CS RA1 R1.11
3 VSS GND R1.5
4 SDIN RA7 P1 17
5 SCLK RA5 P1 15
6 VDD1 3 B R2.5
7 VDD2

플레이어 프로그램

문학

  1. Walkgeek ARM Cortex-M4 뮤직 플레이어. - URL: code.google.eom/p/walkgeek/.
  2. Opus 인터랙티브 오디오 코덱. - URL: opus-codec.org/.

저자: O. Tsaregorodtsev

다른 기사 보기 섹션 오디오.

읽고 쓰기 유용한 이 기사에 대한 의견.

<< 뒤로

과학 기술의 최신 뉴스, 새로운 전자 제품:

교통 소음으로 인해 병아리의 성장이 지연됩니다 06.05.2024

현대 도시에서 우리를 둘러싼 소리는 점점 더 날카로워지고 있습니다. 그러나 이 소음이 동물계, 특히 아직 알에서 부화하지 않은 병아리와 같은 섬세한 생물에 어떤 영향을 미치는지 생각하는 사람은 거의 없습니다. 최근 연구에서는 이 문제에 대해 조명하고 있으며, 이는 발달과 생존에 심각한 결과를 초래함을 나타냅니다. 과학자들은 얼룩말 다이아몬드백 병아리가 교통 소음에 노출되면 발달에 심각한 지장을 초래할 수 있다는 사실을 발견했습니다. 실험에 따르면 소음 공해로 인해 부화가 크게 지연될 수 있으며, 실제로 나온 병아리는 여러 가지 건강 증진 문제에 직면하게 됩니다. 연구원들은 또한 소음 공해의 부정적인 영향이 성체에게도까지 미친다는 사실을 발견했습니다. 번식 가능성 감소와 번식력 감소는 교통 소음이 야생 동물에 미치는 장기적인 영향을 나타냅니다. 연구 결과는 필요성을 강조합니다. ...>>

무선 스피커 삼성 뮤직 프레임 HW-LS60D 06.05.2024

현대 오디오 기술의 세계에서 제조업체는 완벽한 음질뿐만 아니라 기능성과 미학을 결합하기 위해 노력합니다. 이 방향의 최신 혁신적인 단계 중 하나는 60 World of Samsung 이벤트에서 선보인 새로운 Samsung Music Frame HW-LS2024D 무선 스피커 시스템입니다. Samsung HW-LS60D는 단순한 스피커 그 이상입니다. 프레임 스타일 사운드의 예술입니다. Dolby Atmos를 지원하는 6개 스피커 시스템과 스타일리시한 포토 프레임 디자인이 결합되어 어떤 인테리어에도 완벽하게 어울리는 제품입니다. 새로운 삼성 뮤직 프레임은 어떤 볼륨 레벨에서도 선명한 대화를 전달하는 적응형 오디오(Adaptive Audio)와 풍부한 오디오 재생을 위한 자동 공간 최적화 등의 고급 기술을 갖추고 있습니다. Spotify, Tidal Hi-Fi 및 Bluetooth 5.2 연결과 스마트 어시스턴트 통합을 지원하는 이 스피커는 귀하의 요구를 만족시킬 준비가 되어 있습니다. ...>>

광신호를 제어하고 조작하는 새로운 방법 05.05.2024

현대 과학 기술 세계는 빠르게 발전하고 있으며 매일 다양한 분야에서 우리에게 새로운 전망을 열어주는 새로운 방법과 기술이 등장하고 있습니다. 그러한 혁신 중 하나는 독일 과학자들이 광학 신호를 제어하는 ​​새로운 방법을 개발한 것이며, 이는 포토닉스 분야에서 상당한 발전을 가져올 수 있습니다. 최근 연구를 통해 독일 과학자들은 용융 실리카 도파관 내부에 조정 가능한 파장판을 만들 수 있었습니다. 이 방법은 액정층을 이용하여 도파관을 통과하는 빛의 편광을 효과적으로 변화시킬 수 있는 방법이다. 이 기술적 혁신은 대용량 데이터를 처리할 수 있는 작고 효율적인 광소자 개발에 대한 새로운 전망을 열어줍니다. 새로운 방법에 의해 제공되는 전기광학적인 편광 제어는 새로운 종류의 통합 광소자에 대한 기초를 제공할 수 있습니다. 이는 다음과 같은 사람들에게 큰 기회를 열어줍니다. ...>>

아카이브의 무작위 뉴스

미국 국경을 넘을 수 있는 iPad용 여권 07.01.2012

캐나다 시민인 Martin Reisch는 법에 따라 여권이 아니라 Apple iPad 태블릿 컴퓨터에 저장된 스캔 버전을 검문소에 제시하면서 미국 국경을 넘었습니다. 어째서인지 여행을 갔을 ​​때 서류를 집에 두고 친구들의 아이들에게 크리스마스 선물을 전달하기 위해 미국으로 갔다.

문서를 확인하기 위해 국경에 들른 Martin은 국경 경비대원에게 운전 면허증을 보여줬고, 집에 가는 데 XNUMX시간이 걸렸을 것이기 때문에 실제 여권 대신 스캔으로 운을 시험해 보았습니다. 운은 여행자의 편이었다. 국경 수비대는 상황을 고려한 후 국경을 넘을 수 있도록 선점했다.

그건 그렇고, Reisch는 같은 날 캐나다로 돌아와 다시 iPad에서 여권 스캔을 보여주었습니다. 그리고 다시 그는 방해 없이 국경을 넘었다. 이후 국경 수비대가 징계를 받았을 가능성도 있지만, 가장 중요한 것은 아이들이 정당한 선물을 받았다는 점이다. 그리고 나머지는 세부 사항입니다.

다른 흥미로운 소식:

▪ 비둘기에 대한 비행기

▪ 인조 돼지고기 소시지

▪ 노트북 Acer Extensa EX2510 및 EX2509

▪ 전화는 뜨거운 커피 한 잔으로 충전됩니다.

▪ 근무 시간 중 수면의 이점

과학 기술 뉴스 피드, 새로운 전자 제품

 

무료 기술 라이브러리의 흥미로운 자료:

▪ 사이트 전원 공급 장치 섹션. 기사 선택

▪ 제레미 벤담의 기사. 유명한 격언

▪ 기사 지구의 깊이에 잠기면 온도가 어떻게 변합니까? 자세한 답변

▪ 쓰나미 기사. 어린이과학실

▪ 밝기가 부드럽게 변하는 기사 Garland. 무선 전자 및 전기 공학 백과사전

▪ 기사 PWM 안정 장치가 있는 전원 공급 장치. 무선 전자 및 전기 공학 백과사전

이 기사에 대한 의견을 남겨주세요:

이름 :


이메일(선택사항):


댓글 :





이 페이지의 모든 언어

홈페이지 | 도서관 | 조항 | 사이트 맵 | 사이트 리뷰

www.diagram.com.ua

www.diagram.com.ua
2000-2024