메뉴 English Ukrainian 러시아인 홈

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


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

AVR의 DTMF(Dual Tone Multi-Frequency) 생성기. 무선 전자 및 전기 공학 백과사전

무료 기술 라이브러리

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

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

타자

  • 펄스 폭 변조(PWM)를 사용한 정현파 신호 생성
  • 다양한 정현파 신호를 하나의 DTMF 신호로 결합
  • 어셈블리 및 C 소스 코드
  • STK500과 함께 작동하도록 설계
  • 프로그램 코드 크기 260바이트 / 상수 테이블 크기 128바이트
  • 테이블 변환 방법 사용

소개

이 문서에서는 PWM(Pulse Width Modulation) 블록과 SRAM이 포함된 AVR 마이크로 컨트롤러를 사용하여 DTMF(Dual Tone Multi-Frequency) 신호를 생성하는 방법을 설명합니다. 이러한 신호는 전화기 세트의 다이얼링 버튼을 누를 때 재생되는 전화 통신에서 널리 사용됩니다. DTMF 신호를 올바르게 생성하려면 저주파(fb)와 고주파(fa)의 두 주파수가 함께 중첩되어야 합니다. 표 1은 서로 다른 키를 누를 때 서로 다른 주파수가 혼합되어 DTMF 톤을 생성하는 방법을 보여줍니다.

AVR의 DTMF(Dual Tone Multi-Frequency) 생성기. DTMF 신호 발생기의 개략도
그림 1. DTMF 신호 발생기 다이어그램

표 1. 톤 쉐이핑 매트릭스

페이스북/fa 1209 Hz 1336 Hz 1477 Hz 1633 Hz
697 Hz 1 2 3 A
770 Hz 4 5 6 B
852 Hz 7 8 9 C
941 Hz * 0 # D

표 1의 행은 낮은 빈도 값을 나타내고 열은 높은 빈도 값을 나타냅니다. 예를 들어 매트릭스는 버튼 "5"를 누르면 주파수 fb = 770Hz와 fa = 1336Hz가 혼합되어야 함을 보여줍니다. 주파수가 다른 두 정현파 신호를 더한 결과 DTMF 신호가 형성됩니다.

(1)

여기서 진폭 비율 K=Ab/Aa 소스 신호는 조건을 충족해야 합니다.

(2)

작동 원리

펄스 폭 변조 사용에 대한 일반 정보 외에도 다음은 펄스 폭 변조를 통해 사인파 신호를 생성하는 방법을 보여줍니다. 다음 단락에서는 기본 PWM 주파수를 사용하여 다른 주파수를 얻는 방법을 설명합니다. 이론적 토대를 고려한 후 DTMF 신호 발생기 자체에 대한 설명이 제공됩니다. 정현파 신호 생성

높은 VH 및 낮은 VL 전압 레벨의 지속 시간 비율에 따라 PWM 출력의 평균값이 변경됩니다. 두 레벨의 기간 사이의 비율이 일정하게 유지되면 결과적으로 일정한 전압 레벨 VAV가 생성됩니다. 그림 2는 펄스 폭 변조 신호를 보여줍니다.

AVR의 DTMF(Dual Tone Multi-Frequency) 생성기. DC 전압 레벨 생성
그림 2. DC 전압 레벨 생성

전압 레벨은 다음 식으로 결정됩니다.

(3)

펄스 폭 변조에 의해 생성된 전압의 평균값이 PWM 사이클마다 변경된다면 정현파 신호가 생성될 수 있습니다. 하이 레벨과 로우 레벨의 비율은 해당 시간의 정현파 신호의 전압 레벨에 따라 설정해야 합니다. 그림 3은 이 프로세스를 보여줍니다. PWM의 초기 데이터는 각 기간에 대해 계산되어 환산표(TP)에 기록됩니다.

그림 3은 또한 기본 사인파의 주파수와 샘플 수 사이의 관계를 보여줍니다. 샘플 수(Nc)가 높을수록 결과 신호의 모델링 정확도가 높아집니다.

(4)

어디에서 f는 정현파 신호의 주파수(1/T)
f1 - PWM 주파수(fCK/ 510)
T는 주 정현파 신호의 주기입니다.
fCK - 타이머의 클럭 주파수
NC - 샘플 수(도 12에서 =3)

PWM 주파수는 PWM 해상도에 따라 다릅니다. 8비트 분해능에서 타이머의 최종 값(카운트 상단)은 0xFF(255)입니다. 왜냐하면 타이머는 위아래로 카운트하므로 이 값은 두 배가 되어야 합니다. 따라서 PWM 주파수는 타이머 클럭 f를 나누어 계산할 수 있습니다.CK 따라서 510MHz의 타이머 클록 주파수에서 결과 PWM 주파수는 8kHz가 됩니다.

AVR의 DTMF(듀얼 톤 다중 주파수) 생성기
그림 3. PWM을 사용한 정현파 신호 생성

정현파 신호의 주파수 변경

정현파 샘플이 순차가 아니라 한 번에 하나씩 룩업 테이블에서 읽혀진다고 가정합니다. 이 경우 동일한 샘플링 속도에서 이중 주파수의 신호가 생성됩니다(그림 4 참조).

AVR의 DTMF(듀얼 톤 다중 주파수) 생성기
그림 4. 결과 주파수를 두 배로 늘림(XSW = 2)

비유하자면 두 번째 값을 읽는 것이 아니라 세 번째, 네 번째, 다섯 번째(각각 단계 너비는 3, 4, 5 ...) 등을 읽는 경우입니다. [1/T Hz .. 0 Hz] 범위에서 Nc 주파수를 생성할 수 있습니다. 높은 주파수의 경우 결과 파형이 정현파가 아니라는 점에 유의하십시오. 변환표에 따른 스텝 폭은 X로 표시됩니다.SW어디에서

(5)

다음 PWM 주기(타이머가 오버플로된 경우)에 대한 TP의 현재 위치 계산은 식(6)을 사용하여 수행됩니다. X 위치의 새 값LUT 위치 X'의 이전 상태에 따라 다름LUT 스텝 폭 X 추가SW

(6)

어디에서 XLUT - 변환 테이블의 이전 위치
X'LUT - 조회 테이블의 현재 위치.

DTMF 신호를 얻기 위해 다른 주파수 추가

DTMF 신호는 식 (1)과 (2)를 사용하여 생성할 수 있습니다. 산술 연산의 단순화를 위해 계수 K의 값은 산술 연산을 논리 시프트로 대체하기 위해 0.75와 동일하게 취합니다. 식 (6)을 고려하여 PWM 제어의 현재 값은 다음 식으로 계산할 수 있습니다.

(7)

X를 고려하여루타=엑스'루타 + X스와,XLUTb=엑스'LUTb + XSWb, 우리는 마침내 씁니다

(8)

DTMF 생성기 구현

이 부록에서는 8비트 PWM 출력(OC1A)과 각각 128비트(n)로 지정된 7개의 사인 함수 샘플(Nc) 표를 사용하여 DTMF 톤 제너레이터를 구축하는 방법에 대해 설명합니다. 다음 표현식은 이러한 종속성을 보여주고 조회 테이블의 요소를 계산하는 방법도 보여줍니다.

(9)

7비트 사용의 장점은 고주파 신호 값과 저주파 신호 값의 합이 8바이트 크기라는 것입니다. 전체 DTMF 톤 세트를 지원하려면 표 1의 각 DTMF 주파수에 대해 XNUMX개의 값을 계산하여 변환표에 입력해야 합니다.

더 높은 정밀도를 달성하기 위해 다음과 같은 솔루션이 만들어졌습니다. 식 5로 계산된 값은 5바이트만 필요합니다. 반올림 오류를 줄이기 위해 8바이트를 모두 사용하려면 이 값에 8을 곱합니다. 변환 테이블에 대한 포인터도 같은 방식으로 작성됩니다. 하지만 이 경우 8배 값을 저장하려면 3바이트가 필요합니다. 이것은 1개의 오른쪽 시프트와 Nc 기반 모듈로 연산(Nc-XNUMX에 의한 논리적 곱셈)이 이 바이트를 정현파 값에 대한 포인터로 사용하기 전에 수행되어야 함을 의미합니다.

(10)

어디에서 X루타,b - 변환 테이블에서 요소의 현재 위치(실제 형식)
X루타,bExt - 변환 테이블에서 요소의 이전 위치(확장 형식)
ROUND - 반올림 함수.

AVR의 DTMF(Dual Tone Multi-Frequency) 생성기. STK500에 연결하기 위한 모듈 다이어그램
그림 5. STK500에 연결하기 위한 모듈 구성

PWM 신호는 OC1A(PD5) 핀에서 생성됩니다. 추가 출력 필터는 정현파를 더 잘 일치시키는 데 도움이 됩니다. PWM 주파수가 감소함에 따라 좋은 결과를 얻기 위해 더 가파른 주파수 응답을 가진 필터를 사용해야 할 수도 있습니다.

키보드의 연결은 그림 1에 나와 있습니다. 키보드의 작동은 눌린 키를 결정할 수 있는 방식으로 구성되어야 합니다. 이는 다음 알고리즘을 사용하여 수행할 수 있습니다.

  1. 누른 키의 문자열 결정
    • 포트 B의 하위 사분면을 출력으로 설정하고 로그를 설정합니다. "0"
    • 풀업 저항을 연결하여 포트 B의 하이 테트라드를 입력에 구성
    • 눌린 버튼이 있는 라인은 로그가 있는 가장 높은 테트라드의 숫자로 정의됩니다. "0"
  2. 키 누름 열 결정
    • 포트 B의 시니어 테트라드를 출력으로 구성하고 로그를 설정합니다. "0"
    • 풀업 저항을 연결하여 포트 B의 하위 테트라드를 입력으로 설정합니다.
    • 눌려진 버튼이 있는 열은 로그가 있는 가장 낮은 테트라드의 숫자로 정의됩니다. "0"

참고: STK200에는 PORTB 커넥터 핀과 마이크로컨트롤러 핀 BP5, PB6 및 PB7 사이에 저항이 직렬로 연결되어 있습니다(STK200 회로도 참조). 키보드가 PORTB 커넥터에 연결되어 있으면 문제가 발생합니다.

도 6은 눌린 키를 결정하기 위한 서브루틴의 동작을 예시한다. 누른 키에 따라 간격이 결정됩니다. 인터럽트 루틴은 이 값을 사용하여 7개의 DTM 톤 사인파에 대한 PWM 설정을 계산합니다. 인터럽트 처리 절차는 그림 8과 XNUMX에 나와 있습니다.

이 루틴은 다음 PWM 기간 동안 타이머 출력과 비교할 값을 계산합니다. 인터럽트 루틴은 먼저 조회 테이블에서 다음 샘플 값의 위치를 ​​계산하고 거기에 저장된 값을 읽습니다.

룩업 테이블에서 샘플의 위치는 펄스 지속 시간에 의해 결정되고 실제 펄스 지속 시간은 생성된 주파수에 의해 결정됩니다.

타이머 비교 레지스터에 기록되는 최종 값은 두 DTMF 주파수의 샘플 값을 고려한 공식 (7)을 사용하여 결정됩니다.

AVR의 DTMF(Dual Tone Multi-Frequency) 생성기. 메인 프로그램 흐름도
그림 6. 메인 프로그램의 블록 다이어그램

AVR의 DTMF(Dual Tone Multi-Frequency) 생성기. 타이머 오버플로 인터럽트 처리 흐름도
그림 7. 타이머 오버플로 인터럽트 처리 흐름도

AVR의 DTMF(Dual Tone Multi-Frequency) 생성기. "GetSample" 샘플 판독 절차의 흐름도
그림 8. "GetSample" 샘플 판독 절차의 순서도

간행물: cxem.net

다른 기사 보기 섹션 전화.

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

<< 뒤로

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

정원의 꽃을 솎아내는 기계 02.05.2024

현대 농업에서는 식물 관리 과정의 효율성을 높이는 것을 목표로 기술 진보가 발전하고 있습니다. 수확 단계를 최적화하도록 설계된 혁신적인 Florix 꽃 솎기 기계가 이탈리아에서 선보였습니다. 이 도구에는 이동식 암이 장착되어 있어 정원의 필요에 맞게 쉽게 조정할 수 있습니다. 운전자는 조이스틱을 사용하여 트랙터 운전실에서 얇은 와이어를 제어하여 얇은 와이어의 속도를 조정할 수 있습니다. 이 접근 방식은 꽃을 솎아내는 과정의 효율성을 크게 높여 정원의 특정 조건은 물론 그 안에 자라는 과일의 종류와 종류에 대한 개별 조정 가능성을 제공합니다. 다양한 유형의 과일에 대해 2년 동안 Florix 기계를 테스트한 후 결과는 매우 고무적이었습니다. 몇 년 동안 Florix 기계를 사용해 온 Filiberto Montanari와 같은 농부들은 꽃을 솎아내는 데 필요한 시간과 노동력이 크게 감소했다고 보고했습니다. ...>>

고급 적외선 현미경 02.05.2024

현미경은 과학자들이 눈에 보이지 않는 구조와 과정을 탐구할 수 있도록 함으로써 과학 연구에서 중요한 역할을 합니다. 그러나 다양한 현미경 방법에는 한계가 있으며, 그 중 적외선 범위를 사용할 때 해상도의 한계가 있습니다. 그러나 도쿄 대학의 일본 연구자들의 최근 성과는 미시세계 연구에 새로운 가능성을 열어주었습니다. 도쿄 대학의 과학자들은 적외선 현미경의 기능에 혁명을 일으킬 새로운 현미경을 공개했습니다. 이 첨단 장비를 사용하면 살아있는 박테리아의 내부 구조를 나노미터 규모의 놀라운 선명도로 볼 수 있습니다. 일반적으로 중적외선 현미경은 해상도가 낮다는 한계가 있지만 일본 연구진의 최신 개발은 이러한 한계를 극복했습니다. 과학자들에 따르면 개발된 현미경은 기존 현미경의 해상도보다 120배 높은 최대 30나노미터 해상도의 이미지를 생성할 수 있다고 한다. ...>>

곤충용 에어트랩 01.05.2024

농업은 경제의 핵심 부문 중 하나이며 해충 방제는 이 과정에서 필수적인 부분입니다. 심라(Shimla)의 인도 농업 연구 위원회-중앙 감자 연구소(ICAR-CPRI)의 과학자 팀은 이 문제에 대한 혁신적인 해결책, 즉 풍력으로 작동되는 곤충 공기 트랩을 생각해냈습니다. 이 장치는 실시간 곤충 개체수 데이터를 제공하여 기존 해충 방제 방법의 단점을 해결합니다. 트랩은 전적으로 풍력 에너지로 구동되므로 전력이 필요하지 않은 환경 친화적인 솔루션입니다. 독특한 디자인으로 해충과 익충을 모두 모니터링할 수 있어 모든 농업 지역의 개체군에 대한 완전한 개요를 제공합니다. "적시에 대상 해충을 평가함으로써 우리는 해충과 질병을 모두 통제하는 데 필요한 조치를 취할 수 있습니다"라고 Kapil은 말합니다. ...>>

아카이브의 무작위 뉴스

수중 음악 01.01.2004

프랑스 회사 "Amficom"은 라디오 수신기가 내장된 다이빙 튜브 생산을 시작했습니다.

안테나의 가는 선은 튜브를 통해 나오고 수신기는 마우스피스에 있습니다. 라디오 전송은 치아를 통해 들립니다. 진동은 두개골의 뼈와 뼈를 통해 내이로 전달됩니다(이것이 귀머거리인 베토벤이 음악을 듣는 방식입니다 - 피아노 본체의 치아 사이에 나무 폴더를 놓고 있음).

물론 음악의 음색은 상당히 독특합니다.

다른 흥미로운 소식:

▪ 후추 대 소금

▪ Logitech G604 Lightspeed 게임용 마우스

▪ 어른과 아이는 시간을 다르게 인식한다

▪ 항공기에 지구 온난화의 위험

▪ SHARP의 초대형 LCD TV

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

 

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

▪ 사이트 전기 안전, 화재 안전 섹션. 기사 선택

▪ 기사 두 가지 악 중에서 항상 작은 것을 선택하십시오. 대중적인 표현

▪ 기사 금붕어의 기원은 무엇입니까? 자세한 답변

▪ 기사 무료 치료 및 예방 영양 제공 규칙

▪ 기사 연사의 소생술. 무선 전자 및 전기 공학 백과사전

▪ 기사 공 조작. 초점 비밀

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

이름 :


이메일(선택사항):


댓글 :





이 페이지의 모든 언어

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

www.diagram.com.ua

www.diagram.com.ua
2000-2024