《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于單片機(jī)和TEA5767HN的FM收音機(jī)系統(tǒng)的設(shè)計[圖]
基于單片機(jī)和TEA5767HN的FM收音機(jī)系統(tǒng)的設(shè)計[圖]
摘要: 為了在電子產(chǎn)品中嵌入立體聲FM數(shù)字收音機(jī)功能。采用單片機(jī)AT89S52和TEA5767HN為硬件核心,運(yùn)用I2C總線通信方式進(jìn)行軟件設(shè)計,給出了實現(xiàn)手動搜臺、自動搜臺等功能的FM數(shù)字調(diào)頻收音機(jī)的設(shè)計方法。該方法采用PT2257對音頻進(jìn)行處理,以實現(xiàn)立體聲輸出,因而具有輕巧、方便、頻帶范圍寬、低功耗、高靈敏度等特點,并可以嵌入MP3、手機(jī)、便攜式播放器等小型電子產(chǎn)品中。
Abstract:
Key words :
摘要:為了在電子產(chǎn)品中嵌入立體聲FM數(shù)字收音機(jī)功能。采用單片機(jī)AT89S52TEA5767HN為硬件核心,運(yùn)用I2C總線通信方式進(jìn)行軟件設(shè)計,給出了實現(xiàn)手動搜臺、自動搜臺等功能的FM數(shù)字調(diào)頻收音機(jī)的設(shè)計方法。該方法采用PT2257對音頻進(jìn)行處理,以實現(xiàn)立體聲輸出,因而具有輕巧、方便、頻帶范圍寬、低功耗、高靈敏度等特點,并可以嵌入MP3、手機(jī)、便攜式播放器等小型電子產(chǎn)品中。

在當(dāng)前數(shù)字信息技術(shù)和網(wǎng)絡(luò)技術(shù)高速發(fā)展的PC時代。嵌入式技術(shù)越來越同人們的生活緊密相關(guān)。其中掌上嵌入式電子產(chǎn)品更是給人們的生活帶來了很大方便和很多快樂。盡管生活方式不斷發(fā)生變化,但無線電仍然很流行。因此,本文針對TEA5767HN數(shù)字收音機(jī)芯片的控制機(jī)理,闡述了通過該芯片和C51單片機(jī)來將FM數(shù)字收音機(jī)嵌入智能電子產(chǎn)品的設(shè)計方法。

1 系統(tǒng)整體設(shè)計思路

本立體聲FM數(shù)字收音機(jī)的設(shè)計目標(biāo)是通過單片機(jī)AT89S52來控制FM接收芯片TEA5767HN,從而實現(xiàn)可自動搜索并存儲10多個電臺節(jié)目(也可手動搜索并存儲電臺節(jié)目)。所收聽電臺的頻率和臺號及時鐘可在顯示模塊中的LCD上顯示,音量則可通過音量加、減按鍵自主控制,并能存儲關(guān)機(jī)時設(shè)定的數(shù)據(jù)以及鬧鐘功能。具體系統(tǒng)設(shè)計框圖如圖1所示。

基于單片機(jī)和TEA5767HN的<a class=FM收音機(jī)系統(tǒng)的設(shè)計" height="195" src="http://files.chinaaet.com/images/20110713/31f64e6a-964d-4508-bf95-53401d3be1bd.jpg" width="369" />

本系統(tǒng)主要由單片機(jī)AT89S52控制模塊、TEA5767HN收音模塊、音量控制模塊、ROM存儲模塊、顯示模塊、按鍵模塊和電源模塊七部分組成。本系統(tǒng)硬件設(shè)計的關(guān)鍵則在于FM接收、音頻處理等模擬部分;軟件設(shè)計的關(guān)鍵在于控制模塊與收音模塊之間的通信。

從圖1中可以看出,控制模塊僅僅通過I2C總線與收音模塊連接并控制收音機(jī)工作。本設(shè)計使用單片機(jī)P3口的兩個I/O腳來模擬I2C總線的SDA和SCL時序并與TEA5767HN通信;TEA5767HN輸出的左右聲道音頻信號可通過音量控制模塊進(jìn)行前級放大及音量控制,然后輸入到TDA7057進(jìn)行后級功率放大,最后輸出到揚(yáng)聲器。單片機(jī)可通過I2C總線進(jìn)行音量調(diào)節(jié);ROM存儲模塊主要用于存儲電臺數(shù)據(jù)、音量數(shù)據(jù)和時鐘數(shù)據(jù),為存儲和讀取數(shù)據(jù)帶來方便。系統(tǒng)可通過按鍵進(jìn)行操作,通過MCU檢測按鍵信號并經(jīng)單片機(jī)實現(xiàn)手動搜臺、自動搜臺、音量控制、時鐘調(diào)整等功能,各項操作提示和操作結(jié)果均可通過LCD顯示出來。穩(wěn)壓電源模塊產(chǎn)生的5V和3.3V電壓可分別為各個模塊器件供電。

2 硬件系統(tǒng)電路設(shè)計

由于本系統(tǒng)硬件設(shè)計的關(guān)鍵在于FM接收、音頻處理等模擬電路部分,其余電路均為常規(guī)電路,因而其硬件系統(tǒng)的設(shè)計著重分析收音模塊、音量控制模塊這兩部分電路。

2.1 收音模塊電路分析

FM接收電路是系統(tǒng)硬件電路中的核心部分之一,本硬件系統(tǒng)采用單芯片TEA5767HN作為FM接收電路的核心元器件。Philips公司提供的TE-A5767HN芯片為低電壓、低功耗和低價位的全集成單芯片立體聲無線電產(chǎn)品,它只需要極少的外圍元件,并且基本上不需要外部對高頻信號的手動調(diào)準(zhǔn)。另外,其頻帶范圍較寬,可以完全免費(fèi)調(diào)到歐洲、美國和日本的調(diào)頻波段。

基于單片機(jī)和TEA5767HN的FM收音機(jī)系統(tǒng)的設(shè)計

圖2所示為TEA5767HN的FM應(yīng)用電路連接圖。圖中,VCC接穩(wěn)壓電源模塊中的3.3V電源,并通過磁珠FB及電容器進(jìn)行干擾抑制。22μF的電容選用鉭電容,兩個0.1μF的電容可以選用介電常數(shù)高、高頻性能好的陶瓷電容,以保證整個收音模塊的電源系統(tǒng)更加穩(wěn)定。R_OUT、L_OUT為FM的音頻信號輸出。DATA和CLK為I2C通信的數(shù)據(jù)線和時鐘線,系統(tǒng)的MCU通過I2C接口來對FM Module進(jìn)行控制。芯片上的W/READ引腳在本系統(tǒng)中沒有使用,故空接。CLK、DATA用于與系統(tǒng)的MCU實現(xiàn)串行通信。BUS-ENABLE為總線使能信號,當(dāng)BUS-ENABLE為低時,芯片上的FM-Mod-ule引腳進(jìn)入省電模式,所以采取空接方式。RF為FM收音模塊的天線接口,即射頻信號輸入腳。

2.2 音量控制模塊

音量控制電路使用的單芯片PT2257是由CMOS技術(shù)制造而成的2聲道音量控制IC,可采用I2C控制,具有0~79dB的衰減范圍,而且噪音低、立體聲分離度高、使用外圍元件少,是較為流行的AV視頻產(chǎn)品音量控制元件。

音量控制電路采用I2C控制方式,其音量大小由MCU控制,因而省去了電位器,避免了電位器產(chǎn)生的雜音干擾音頻信號。但其不足之處是該IC過載能力較差,不能帶動功率稍大的喇叭,所以,本設(shè)計把音量控制電路放置在前置信號輸入端,然后再接入TDA7057進(jìn)行后級放大。

3 系統(tǒng)軟件設(shè)計

基于AT89S52單片機(jī)控制平臺的TEA5767HN數(shù)字收音機(jī)的軟件設(shè)計主要包括六個部分:I2C總線通信協(xié)議、TEA5767HN收音模塊控制、PT22 57音量控制、時鐘鬧鐘模塊的中斷服務(wù)、AT24C02存儲模塊控制、鍵盤掃描及狀態(tài)顯示。本文的軟件系統(tǒng)設(shè)計應(yīng)當(dāng)著重分析TEA5767HN收音模塊控制、PT2257音量模塊這兩部分的工作原理以及編程思路。

本系統(tǒng)程序使用C語言編寫,主程序由啟動、初始化、鍵盤掃描、按鍵處理、液晶顯示等5大模塊組成。其中系統(tǒng)初始化包括AT89S52的初始化、TEA5767HN的初始化和LCD的初始化;按鍵處理通過調(diào)用函數(shù)的方法實現(xiàn)按鍵復(fù)用功能,可實現(xiàn)手動搜臺、自動搜臺、音量控制、時間調(diào)整、鬧鐘調(diào)整等操作;顯示模塊可顯示系統(tǒng)的各個工作狀態(tài)。

3.1 TEA5767HN模塊的軟件設(shè)計

3.1.1 TEA5767HN讀寫寄存器

TEA5767HN有5個寫寄存器和5個讀寄存器,每個寄存器可存儲8位數(shù)據(jù)。

寫寄存器可以存儲控制信息,包括軟件靜音、模式選擇、PLL可編程計數(shù)器的設(shè)置、向上向下搜索模式選擇、靜左/右音頻、可編程端口的設(shè)置、待機(jī)節(jié)能模式、歐洲/日本頻段選擇、晶振頻率選擇、ADC門限設(shè)置、去加重設(shè)置等。

讀寄存器可檢測接收電路狀態(tài),反饋控制信息,包括搜索到有效電臺標(biāo)志位、搜索到有效電臺后PLL可編程計數(shù)器的狀態(tài)、4b ADC的輸出、以及7b IF中頻輸出等。

3.1.2 TEA5767HN的數(shù)據(jù)傳輸

TEA5767HN的數(shù)據(jù)順序是:地址、字節(jié)1、字節(jié)2、字節(jié)3、字節(jié)4、字節(jié)5,數(shù)據(jù)傳送必須按照這個順序。每個字節(jié)將控制不同的功能。

每個字節(jié)的第七位為最高位,并作為字節(jié)的第一位傳送。在時鐘的下降沿,數(shù)據(jù)變?yōu)橛行盘枴T诿恳蛔止?jié)后面加停止信號可以縮短傳送時間。在整個傳輸完成之前,發(fā)送一個停止條件,其保留的字節(jié)將包含以前的信息。如果一個字節(jié)沒有傳送完,新的字節(jié)將被使用,但新的調(diào)諧周期不會開始。

3.1.3 TEA5767HN的讀寫流程

根據(jù)TEA5767HN的讀寫協(xié)議,調(diào)用公用I2C驅(qū)動即可編寫出TEA5767HN的讀寫函數(shù):radio_write(),radio_read()。它們可為手動搜臺、自動搜臺等FM功能調(diào)用,以實現(xiàn)程序的模塊化,優(yōu)化程序結(jié)構(gòu)。TEA5767HN的讀寫流程如圖3所示。其中I2C_Start(FM)和I2C_Stop(FM)分別表示啟動和停止I2C總線,Check_(FM)為應(yīng)答信號。

基于單片機(jī)和TEA5767HN的FM收音機(jī)系統(tǒng)的設(shè)計

3.1.4 收音模塊的初始化

TEA5767HN在上電復(fù)位時,靜音位設(shè)置為“1”,其他所有位設(shè)置為“0”。為了初始化集成塊,所有位都必須重新設(shè)定。所以,上電后必須重新給TEA5767HN寫入數(shù)據(jù),以初始化收音模塊。

基于單片機(jī)和TEA5767HN的FM收音機(jī)系統(tǒng)的設(shè)計

TEA5767HN的初始化流程圖如圖4所示。圖中的radio_write_data[]分別為要寫入TEA5767HN的5個字節(jié)數(shù)據(jù)。本系統(tǒng)寫入數(shù)據(jù)讓TEA5767HN接收的頻率為88100kHz,選擇歐洲制式和32.768MHz晶振,同時采用立體聲輸出。函數(shù)get_pll()是根據(jù)當(dāng)前頻率計算出PLL值的函數(shù)。調(diào)用get_pll()函數(shù)計算出PLL值后,應(yīng)再把PLL高6位送給字節(jié)1的低6位,接著把PLL的低8位送給字節(jié)2。頻率顯示則可直接調(diào)用fm_disp()函數(shù)來完成。

3.1.5 手動搜臺

手動搜臺主要由按鍵掃描和調(diào)用radio_write()等函數(shù)來完成。操作兩個按鍵(down,up)可完成向下向上調(diào)臺。當(dāng)按下up鍵時,當(dāng)前的頻率將增加100kHz,然后調(diào)用函數(shù)get_pll()將十進(jìn)制的頻率值轉(zhuǎn)化為14位的PLL值,然后再將PLL值進(jìn)一步轉(zhuǎn)化為兩個二進(jìn)制分別寫入TEA5767HN的寫寄存器的第一和第二個字節(jié)。頻率顯示可直接調(diào)用fm_disp()函數(shù)來完成。

3.1.6 自動搜臺與讀臺

自動搜臺主要使系統(tǒng)從最低頻率87.5MHz開始全頻率搜索,每次步進(jìn)100kHz,如此不斷地寫入和讀出,同時調(diào)用頻率顯示函數(shù)不斷地刷新頻率。當(dāng)搜索到最高頻率108MHz時,自動退出搜臺模式。在自動搜臺過程中,可通過讀寄存器中的ADC與中頻IF來辨別是否搜到有效電臺。若ADC>3,同時中頻IF在0x30~0x3E范圍內(nèi),則說明搜到有效電臺,此時讀出TEA5767讀寄存器中的字節(jié)1和字節(jié)2,然后將這兩個字節(jié)的數(shù)據(jù)轉(zhuǎn)化為PLL,最后通過寫ROM把搜到的電臺信息即PLL值存儲到AT24C02的片地址中,以方便讀臺使用。

讀臺是一個讀ROM和寫TEA5767的操作。將ROM中的電臺信息讀取出來,然后將信息再一次寫入TEA5767即可。在自動搜臺中,由于存儲的信息是14位的PPL值,所以還必須調(diào)用函數(shù)將PLL轉(zhuǎn)化為十進(jìn)制的頻率frequency,然后再送進(jìn)LCD顯示。

3.2 PT2257的音量控制設(shè)計

本系統(tǒng)使用PT2257來控制收音機(jī)輸出的音量,以實現(xiàn)數(shù)字化音量控制。PT2257的地址為88H。單片機(jī)可與PT2257通過I2C進(jìn)行通信。PT2257的寫操作先由單片機(jī)發(fā)出啟動信號寫入PT2257的片地址0x88,然后,由PT2257送回應(yīng)答信號,單片機(jī)收到應(yīng)答信號后,即向PT2257發(fā)送音量衰減量數(shù)據(jù),單片機(jī)再次收到應(yīng)答信號后,即發(fā)出停止信號,如此即可完成一次控制過程。

PT2257衰減量數(shù)據(jù)Vol由十位和個位兩部分組成。數(shù)據(jù)的傳輸順序是先發(fā)送十位數(shù)據(jù),再發(fā)送個位數(shù)據(jù)。寫入的十位數(shù)據(jù)為(Vol/10)|TenDB,個位數(shù)據(jù)為(Vol%10)|OneDB。其中TenDB=0xe0,OneDB=0xd0。衰減量的大小為十位和個位值的合并,圖5給出了PT2257的寫流程和音量控制流程。

基于單片機(jī)和TEA5767HN的FM收音機(jī)系統(tǒng)的設(shè)計

4 電路設(shè)計說明

本設(shè)計在硬件方面以經(jīng)典電路為主,所以在常規(guī)電路設(shè)計方面不難。但是,由于本設(shè)計涉及到高頻與低頻信號的處理,所以要特別注重抗干擾電路的設(shè)計。在設(shè)計樣品的調(diào)試過程中,為提高抗干擾能力,作者得出以下經(jīng)驗:

(1)I2C總線的布線技巧

在TEA5767HN收音模塊設(shè)計時,由于I2C總線與32.768kHz的布線靠得太近,信噪比和靈敏度都可能很差。因此,筆者在做PCB板時,把I2C總線通過跳線的方式走到下層。

(2)磁珠的應(yīng)用

磁珠一般專門用于抑制信號線、電源線上的高頻噪聲和尖峰干擾,同時還具有吸收靜電脈沖的能力。本設(shè)計中的磁珠用來吸收超高頻信號(如一些RF電路、PLL、振蕩電路、含超高頻存儲器電路等)。為了盡量減少電源對收音模塊的干擾,本設(shè)計使用了特征頻率為100MHz的磁珠串接入3.3V電路中。

(3)電路中“電流聲”的處理

電路中經(jīng)常會有“電流聲”。這是因為電路產(chǎn)生了一定的振蕩,電流只要有變化,就會有噪音,這樣,根據(jù)電流聲的頻率就可以有針對性的進(jìn)行處理。具體抑制措施有兩個:一是用電感或電阻把干擾隔離在敏感區(qū)域外;另一方面,也可以用電容把噪音泄放到地。

因此,筆者根據(jù)設(shè)計實踐和相關(guān)資料,歸納出提高電路抗干擾能力的三字訣,那就是“避”、“堵”、“疏”。其中的避,就是指合理布局,躲開敏感區(qū),如設(shè)跳線或屏蔽敏感區(qū)等方式;堵,就是用電感/電阻把干擾隔離在敏感區(qū)域之外;疏,就是用電容把噪音釋放到地。另外,還要遵循兩大原則,分別是:“高頻信號點觸接地;低頻信號處處接地。”

5 結(jié)語

以TEA5767HN和單片機(jī)為硬件核心的立體聲FM數(shù)字收音機(jī)與傳統(tǒng)收音機(jī)相比,其PCB板布局小,硬件調(diào)試較為簡單,在音效處理和性能方面都更加可靠。通過軟硬件的結(jié)合,本系統(tǒng)可實現(xiàn)手動搜臺、自動搜臺、數(shù)控音量和鬧鐘等功能。在軟件設(shè)計上也可通過公用I2C使單片機(jī)與多個IC進(jìn)行通信,并可通過軟件實現(xiàn)按鍵復(fù)用功能,因而大大降低了產(chǎn)品體積。

作者:藍(lán)土慶 黃春貴 重慶大學(xué)   來源:現(xiàn)代電子技術(shù)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。