라디오 전자 및 전기 공학의 백과사전 MP3 플레이어 - PC용 셋톱박스. 무선 전자 및 전기 공학 백과사전 우리는 독자들에게 MP3 플레이어(컴퓨터의 병렬(LPT) 포트에 연결된 MP3 디코더 장치)에 주목합니다. 고정된 음악 센터나 자동차(모든 유형의 컴퓨터 또는 마이크로 컨트롤러의 장치에 대한 정보를 제어하고 저장하는 데 사용되는 경우)에서 "느린" 컴퓨터 등의 기능을 확장하는 데 사용할 수 있습니다. MP3, MPEG-1* Layer 3, MPEG Audio는 디지털화된 오디오 스트림 또는 파일에 대한 압축 기술의 이름입니다. MPEG 인코딩의 기본 기능은 손실 압축입니다. MP3 방식을 사용하여 오디오 파일을 압축하고 압축을 푼 후 결과는 원래의 "비트 단위"와 동일하지 않습니다. 반대로 패키징은 패키징된 신호에서 불필요한 구성 요소를 의도적으로 제외하므로 압축률이 극단적으로 높아집니다. MP3 방식은 요구되는 음질에 따라 디지털 오디오 신호를 60배 이상 압축할 수 있습니다. 덕분에 허용 가능한 음질을 갖춘 압축 형식의 오디오 CD 70개의 음악 구성은 XNUMX...XNUMXMB만 차지합니다. 오늘날 이 형식은 점점 더 대중화되고 있습니다. 메모리 카드, CD, 하드 드라이브 등 다양한 저장 매체를 사용하여 다양한 회사의 수십 가지 장치가 대량 생산됩니다. 예를 들어 소프트웨어 데이터 디코딩 기능이 있는 컴퓨터부터 하드웨어 디코딩 기능이 있고 여러 가지 다른 저장 매체를 동시에 사용할 수 있는 기능에 이르기까지 인터넷에서 설명을 찾을 수 있는 많은 아마추어 장치가 있습니다. 그러나 MP3 플레이어를 노트북형 컴퓨터와 함께 사용하는 것은 라디오 시장에서 적은 비용으로 구입할 수 있는 저성능 프로세서(286, 386, 486)에도 불구하고 다른 모든 기기에 비해 유리합니다. 첫째, 가격 측면에서 마이크로 컨트롤러, LCD 디스플레이 및 기타 부품의 비용은 기존 노트북보다 높습니다. 둘째, 기능 측면에서 그레이스케일(또는 컬러)이 포함된 고해상도 화면, 대규모 제어 키 세트, 컴퓨터를 다른 목적으로 동시에 사용할 수 있는 기능(예: 시계, 다양한 장치 제어) . 셋째, 유연성 측면에서 소프트웨어는 고급 프로그래밍 언어로 작성되었으며 컴퓨터 자체를 사용하여 프로그래머를 사용하지 않고도 쉽고 빠르게 변경할 수 있습니다. MP3 플레이어의 블록 다이어그램은 그림 1에 나와 있습니다. 1. 보시다시피 컴퓨터의 병렬 포트에 연결되며 신호 레벨 변환기 U3, 하드웨어 MP2 디코더 U1 및 전원 공급 장치 AXNUMX로 구성됩니다. 장치의 병목 현상은 컴퓨터 병렬 포트의 낮은 대역폭 때문입니다. Intel 486DX-33 프로세서 기반 SPP 포트(표준 병렬 포트)가 있는 컴퓨터에서 테스트했을 때 음악 작품이 끊김 없이 재생되는 최대 데이터 흐름은 128Kbps였습니다. 교환 속도가 0,5..2MB/s에 도달하는 병렬 포트 EPP(향상된 병렬 포트)가 있는 컴퓨터에서(데이터 교환은 신호 라인 중 하나만을 통해서만 발생하므로 장치와의 교환 속도는 훨씬 낮습니다. 데이터 게이팅은 소프트웨어에 의해 수행됩니다. ) 192Kbps 이상의 스트림은 일반적으로 재생됩니다. 원하는 경우 장치를 컴퓨터와 인터페이스하기 위해 소프트웨어를 약간 수정하여 [2]에 설명된 ISA 버스 연결용 인터페이스를 사용할 수 있습니다. 그러나 이 경우 장치의 적용 범위가 좁아집니다. 랩톱에는 일반적으로 그러한 버스가 없기 때문에 데스크톱 컴퓨터에만 연결할 수 있습니다. 장치의 개략도가 그림 2에 나와 있습니다. 1. 논리 레벨 변환기는 오픈 컬렉터(칩 DD2, DD3)가 있는 NOT 요소에 구현되며 TTL 레벨을 XNUMXV의 높은 레벨을 갖는 논리 레벨로 변환하거나 그 반대로 변환합니다. DD3 칩(핀란드 회사 VLSI Oy의 VS1001k)은 MPEG 레이어 1, 2, 3의 하드웨어 디코딩을 위한 디지털 신호 프로세서(디지털 신호 프로세서 - DSP)입니다[3, 4]. 그 블록 다이어그램은 그림 3에 나와 있습니다. 4. 이 칩에는 저전력 소모(VS_DSP), 작업 메모리, 사용자 애플리케이션용 프로그램 RAM(0,5KB) 및 데이터 RAM(3KB), 직렬 제어 및 데이터 인터페이스, 고품질 DAC를 갖춘 고성능 DSP 코어가 포함되어 있습니다. 헤드폰용 XNUMXH 앰프도 있습니다. VS1001k는 시스템의 슬레이브로 연결된 직렬 버스를 통해 입력 데이터를 수신합니다. 입력 스트림은 디코딩되어 하이브리드 아날로그/디지털 볼륨 컨트롤을 통해 18비트 델타-시그마 DAC로 전달됩니다. 디코딩은 직렬 제어 버스를 통해 제어됩니다. 간단한 디코딩 외에도 사용자 RAM에 있는 특수 애플리케이션인 DSP 효과를 추가할 수 있습니다. 칩을 제어하고 MP3 데이터 스트림을 전송하기 위해 두 개의 버스가 사용됩니다. 제어용 SCI(직렬 제어 인터페이스)와 데이터 전송용 SDI(직렬 데이터 인터페이스)입니다. 이 버스 노선의 목적은 표 1에 나와 있습니다. VS1001k에는 15개의 SCI 레지스터가 포함되어 있습니다(표 2). 하드웨어 재설정 후에는 모두 0으로 설정됩니다. MODE 레지스터는 VS1001의 동작을 제어하는데 사용됩니다. 해당 비트의 이름, 기능 및 설명은 표에 나와 있습니다. 삼. STATUS 레지스터에는 칩의 현재 상태에 대한 정보가 포함되어 있습니다. 비트 1과 0은 아날로그 출력 레벨 (0 - 0 dB, 1 = -6 dB, 3 - -12 dB)을 제어하는 데 사용되며, 비트 2는 마이크로 회로의 아날로그 부분에 대한 전원을 끄는 데 사용됩니다 ( 값이 XNUMX이면 꺼집니다.) VOL 레지스터(아래 참조)에 쓰면 사용자가 상태에 대해 걱정할 필요 없이 아날로그 출력 레벨이 자동으로 설정됩니다. CLOCKF 레지스터는 클록 주파수가 24,576MHz가 아닌 경우(2kHz의 배수여야 함)에 사용됩니다. 이 레지스터의 값은 CLOCKF = ХТ1/2000(ХТ1 - 헤르츠 단위의 클록 주파수) 공식을 사용하여 계산됩니다. 레지스터는 0에서 32767까지의 값을 가질 수 있지만 더 큰 값은 칩의 최대 클록 주파수(32MHz)에 의해 제한됩니다. 레지스터의 최상위 비트를 1로 설정하면 내부 주파수 더블러가 활성화됩니다. 클록 생성기 주파수는 최대 15MHz까지 두 배로 늘릴 수 있습니다. MP3 데이터를 디코딩하기 전에 CLOCKF 레지스터를 설정해야 합니다. 그렇지 않으면 올바르게 재생되지 않습니다. 오디오 데이터의 최대 샘플링 속도와 입력 MP3 데이터 스트림의 속도는 클럭 주파수에 따라 다릅니다. 예를 들어, 12,288MHz의 클럭 생성기 주파수를 사용하면 마이크로 회로는 샘플링 주파수 24kHz와 최대 96kbit/s의 흐름 속도, 22,580MHz의 주파수에서 샘플링 주파수 44,1kHz로 오디오 데이터를 디코딩합니다. 최대 160kbit/s의 유량, 가변 스트림은 256Kbit/s를 초과하지 않는 속도로 오류 없이 처리됩니다. 클록 주파수가 24,576MHz인 경우 모든 오디오 데이터는 최대 48kHz의 샘플링 주파수와 최대 192Kbps의 속도로 디코딩되며, 28MHz의 경우 최대 속도가 320Kbps인 스트림은 DECODEJTIME 레지스터는 올바른 스트림을 처리할 때 현재 디코딩 시간을 초 단위로 포함합니다. AUDATA 레지스터의 비트 8-0에는 초당 킬로비트 단위의 데이터 흐름 속도 값이 포함되며(변수인 경우 현재 흐름 속도가 포함됨), 비트 12-9에는 샘플링 주파수 인덱스가 포함됩니다(표 4). 비트 14와 13은 사용되지 않으며 항상 0으로 설정됩니다. 비트 15는 오디오 데이터 유형(0 - 모노, 1 - 스테레오)을 나타냅니다. WRAM WRAMADDR AIADDR 레지스터를 사용하면 채널 믹싱, 모노 신호 재생 시 스테레오 효과 생성, 디지털 이퀄라이저 도입과 같은 사용자 작성 애플리케이션을 칩에 로드하고 실행할 수 있습니다. 개발을 위한 이러한 응용 프로그램 및 도구의 예는 칩 제조업체의 웹 사이트에서 찾을 수 있습니다. 그러나 이 모든 것이 디지털 신호 프로세서의 부하를 증가시키고 성능이 제한된다는 점을 기억해야 합니다. 예를 들어, 24,576MHz의 클럭 속도와 128kHz의 샘플링 속도로 44,1Kbps 데이터 스트림을 디코딩하는 경우 사용 가능한 프로세서 시간은 약 28%에 불과합니다. 주파수 응답 확장기가 켜지면(MODE 레지스터의 SM_BASS 비트에 의해) 디지털 신호 프로세서 성능의 6,5%가 추가로 낭비됩니다. HDAT0 및 HDAT1 레지스터에는 현재 MPEG 데이터 스트림에서 추출된 음악 제목에 대한 정보가 포함되어 있습니다. VOL 레지스터는 볼륨 조절을 위한 레지스터입니다. 각 채널에서 값은 0에서 255까지 다양할 수 있습니다(0,5dB 단위로 최대 레벨에서 256까지의 신호 감쇠에 해당). 왼쪽 채널의 경우 값에 0을 곱하고 오른쪽 채널의 값에 더합니다. 따라서 최대 볼륨을 얻으려면 레지스터에 65535이 포함되고 완전한 무음 - XNUMX가 포함되어야 합니다. 하드웨어 "재설정" 후에는 최대 볼륨이 설정되고, 소프트웨어 "재설정"은 설정된 볼륨을 변경하지 않습니다. 볼륨을 최소(두 채널 모두 255)로 설정하면 딸깍 소리와 함께 아날로그 부분의 전원이 꺼집니다. 사운드를 끄기 위해 두 채널(254xFEFE) 모두 최대값 0를 사용하면 제외할 수 있습니다. 이 장치는 SHARP의 PQ3VZ1 마이크로 회로를 20V 공급 전압 안정기(DA51)로 사용합니다. 출력 전압 Uout(부하 전류 최대 1,5A에서 20...0,5V 이내)은 Uout = Urev(1 + R3/R4) 공식을 사용하여 계산됩니다. 여기서 R4 = 1kOhm이고 기준 전압 Urev = 1,25, 3V. 이 경우 R1,5 = 1,25kOhm이고 Uout = 1(1,5 + 1/3,125) = XNUMXV입니다. 아날로그 부품과 디지털 부품의 전원 공급 회로를 분리하기 위해 필터 초크 L1-L3과 커패시터 C3-C6이 사용됩니다. 칩에는 전원 켜기/끄기 기능이 내장되어 있어 휴대용 장치 버전에서 사용할 수 있습니다. 장치를 제어하는 소프트웨어는 C로 작성되었으며 컴파일되어 컴퓨터에 위치해야 합니다. 저자는 Borland C 컴파일러를 사용했습니다. 다음 함수는 제어에 사용되며 vs1001.h 파일에 정의되어 있습니다. 무효 SCIWrite(int aress, int 데이터) - SCI에 쓰기; int SCIRead(int aress) - SCI 읽기; 무효 SDIWrite(int 데이터) - SDI에 쓰기; void xReset(void) - 하드웨어 "재설정"; int DREQ(void) - DREQ 신호의 값을 읽습니다. 프로그램은 다음과 같이 작동합니다.
원하는 경우 나머지 레지스터(예: VOL, MODE 등)를 설정합니다. 그런 다음 DREQ 출력 상태는 DREQQ 기능으로 확인됩니다. 0으로 설정되면(DREQQ 함수는 0을 반환함) MP3 파일의 데이터를 보낼 수 있습니다. * 약어 MPEG는 동영상 및 오디오 데이터 인코딩 및 압축 표준을 개발하는 ISO(국제 표준화 기구) 전문가 그룹의 이름인 Moving Picture Expert Group의 약어입니다. MPEG라는 약어는 이 그룹이 개발한 표준을 가리키는 데 사용되는 경우가 많습니다. 가장 간단한 경우 프로그램은 다음과 같습니다(mp3play.cpp). 다음 파일을 재생할 때 VS1001k 칩의 소프트웨어 "리셋"을 수행해야 합니다(SCI MODE 레지스터의 SMRESET 비트를 1로 설정). 장치의 기능 확인은 DD3 칩의 아날로그 부분부터 시작됩니다. 모든 핀 UDDA, UDDD에서. xRESET 및 TEST0뿐만 아니라 약 +3V의 전압이 있어야 하며 RCAP 핀에는 약 +1,3V가 있어야 합니다. 후자에서 0 또는 UD DA이면 VS1001의 아날로그 부분에 결함이 있는 것입니다. 디코더의 하드웨어 "리셋"이 xRESET 핀 로우에 적용되면 다음과 같은 일이 발생해야 합니다. xRESET의 전압이 4096로 돌아온 후 6000 클록 사이클 후에 DREQ 핀에 로우 레벨이 나타나야 하며 이 레벨은 하이로 변경되어야 합니다. XNUMX 클록 사이클 이후. 이 핀의 신호 레벨이 지정된 순서대로 변경되지 않으면 칩의 내부 소프트웨어에 결함이 있는 것입니다. 그런 다음 SCI 버스의 작동을 확인합니다. 이렇게 하려면 VOL 레지스터에 최대 볼륨 값을 쓴 다음 VSl001k 칩의 아날로그 부분을 끄는 OxFFFF 값을 씁니다. 결과적으로 XS2 소켓에 연결된 헤드폰에서 딸깍하는 소리가 들려야 합니다. 다음 프로그램 조각(scitest.cpp)은 이를 보여줍니다. 출력은 0,5초 동안 XNUMX번의 클릭을 생성합니다. 이제 SCI 레지스터 읽기를 확인해야 합니다. 이렇게 하려면 VOL 레지스터에 값(예: 12345)을 쓴 다음 이 레지스터에서 정보를 읽고 결과를 비교하십시오. 테스트가 성공하면 컴퓨터 디스플레이에 "SCI 읽기 테스트 통과"라는 메시지가 표시되고, 그렇지 않으면 "SCI 읽기 오류"(sciread.cpp)가 표시됩니다. 다음으로 SDI에 녹화된 내용을 확인합니다. 아날로그 출력에서 정현파 신호를 생성하는 마이크로 회로에 내장된 특수 테스트를 사용하는 것이 편리합니다. 테스트를 활성화하려면 SDI를 통해 0바이트 시퀀스 53x6 OxEF Ox0E n 0 0 0 48을 전송해야 합니다. 여기서 n = 119...5(사용자가 선택)입니다. 신호 매개변수는 표에서 결정됩니다. 여기서 샘플링 레이트 인덱스 Fsldx = (n - 48)mod9이고, 샘플 수 인덱스 FSin = (n - 48)/9입니다. 예를 들어 n = 62(이 경우 n - 48 = 14)인 경우 Fsldx = 5 및 FSin = 1입니다. Fsldx = 5 값은 샘플링 주파수 16000Hz에 해당하고 FSin 값 = 1-16 샘플에 해당합니다. 따라서 출력에서 16000/16 = 1000Hz의 주파수를 갖는 정현파 신호를 수신하게 됩니다. 테스트 모드를 종료하려면 바이트 시퀀스 0x45 0x78 0x69 0x74 0 0 0 0이 SDI를 통해 전송됩니다. 다음 프로그램 조각(sinetest.cpp)은 이 테스트를 보여줍니다. 아날로그 출력에서 1초 동안 5kHz 주파수의 신호를 들을 수 있습니다. VS1001k 칩의 메모리를 확인하기 위해 0바이트 시퀀스 4x0D OxEA 6x0D 54x0 0 0 0 500이 SDI로 전송됩니다. 이 명령 후에는 000 클럭 생성기 사이클을 기다려야 합니다. 테스트 결과는 SCI 레지스터 HDAT0에서 읽을 수 있습니다. 수신된 데이터는 다음과 같이 해석됩니다. 비트가 1로 설정되면 메모리 테스트가 통과됩니다(표 6). 테스트가 성공하면 컴퓨터 디스플레이에 "메모리 테스트가 성공적으로 완료되었습니다."라는 메시지가 표시되고, 그렇지 않으면 "메모리 오류 xxxxx"가 표시됩니다. 여기서 xxxxx는 HDATO 레지스터에서 읽은 값입니다. 다음은 메모리 테스트 프로그램(memtest.cpp)의 일부입니다. SCI 레지스터를 테스트하려면 0바이트 시퀀스 53x0 70x0 0xEE n 0 0 0 0을 SDI로 보내야 합니다. 여기서 n은 테스트용 레지스터 번호입니다. 지정된 레지스터의 내용을 읽고 HDAT0 레지스터에 복사합니다. HDAT1 레지스터를 확인해야 하는 경우 해당 값은 HDATXNUMX 레지스터에 복사됩니다. 장치는 그림 4에 표시된 그림에 따라 만들어진 인쇄 회로 기판에 장착됩니다. 20. 설치하는 동안 주석 도금 와이어 조각이 최소 직경의 접촉 패드로 둘러싸인 구멍에 삽입되고 보드 양쪽의 인쇄 도체에 납땜됩니다. PQ51VZ3 대신 317V 출력을 얻을 수 있는 모든 미세 회로 전압 안정기를 사용할 수 있습니다(예: LM1). 인덕턴스가 3μH인 모든 초크 L10-L1.1. 오픈 콜렉터 출력 DD1.6-DD2.1, DD2.3-DD155을 갖춘 인버터는 K531, KR555, K1533, KR1001 시리즈일 수 있습니다. VSXNUMXk 마이크로 회로를 다른 문자 색인(이전 버전)이 있는 장치로 교체하는 것은 여러 가지 단점이 있으므로 권장하지 않습니다. 문학
저자: V. Kardapolov, 마을 Tbilisskaya, Krasnodar Territory 다른 기사 보기 섹션 컴퓨터. 읽고 쓰기 유용한 이 기사에 대한 의견. 과학 기술의 최신 뉴스, 새로운 전자 제품: 양자 얽힘에 대한 엔트로피 규칙의 존재가 입증되었습니다.
09.05.2024 미니 에어컨 소니 레온 포켓 5
09.05.2024 우주선을 위한 우주 에너지
08.05.2024
다른 흥미로운 소식:
무료 기술 라이브러리의 흥미로운 자료: ▪ 기사 비상 사태가 발생한 방사선 위험 시설에서의 사고. 안전한 생활의 기본 ▪ 기사 인간이 만든 것 중 가장 큰 물체는 무엇입니까? 자세한 답변 ▪ 기사 증폭기 칩 TDA1701, 4W. 무선 전자 및 전기 공학 백과사전 ▪ 기사 TV 현대화의 어려움에 대해. 무선 전자 및 전기 공학 백과사전 이 페이지의 모든 언어 홈페이지 | 도서관 | 조항 | 사이트 맵 | 사이트 리뷰 www.diagram.com.ua |