80C32E單片機(jī)與TLV2548串行A/D的接口設(shè)計(jì)
O 引言
TLV2548是TI公司生產(chǎn)的12位、多通道、小尺寸、低功耗、高速串行A/D轉(zhuǎn)換芯片,它有一個(gè)專與DSP連接的幀同步(FS)信號(hào),故可廣泛用于DSP高速數(shù)據(jù)采集系統(tǒng)中。
MCS-51系列單片機(jī)歷經(jīng)了多年的發(fā)展,其應(yīng)用技術(shù)已十分穩(wěn)定可靠。TLV2548尺寸小、接口簡(jiǎn)單。且這兩種芯片都有過上天飛行的經(jīng)歷,因此,可以適用低成本、控制簡(jiǎn)單、數(shù)據(jù)處理量不大、可靠性要求較高的航天產(chǎn)品中。
為此,本文將介紹80C32E單片機(jī)與TLV2548的接口電路及其控制程序的設(shè)計(jì)方法。
1 接口電路設(shè)計(jì)
80C32E與TLV2548的接口電路如圖1所示。
TLV2548提供了一個(gè)SPI串口。80C32E則采用通用I/O口(P1),并通過軟件編程產(chǎn)生SPI串行接口信號(hào),從而實(shí)現(xiàn)對(duì)TLV2548的控制與數(shù)據(jù)的讀寫。
TLV2548有5個(gè)控制引腳、FS、SCLK、和。其中FS為DSP專用幀同步信號(hào),在微控制器控制方式時(shí),可將其接高電平;為低電平時(shí),片內(nèi)的模擬電路與參考電路進(jìn)入節(jié)電狀態(tài)。由于本文不使用節(jié)電方式,因此將其接高電平。另外,引腳為轉(zhuǎn)換結(jié)束及向處理器請(qǐng)求中斷信號(hào),的下降沿表示轉(zhuǎn)換后的數(shù)據(jù)可以輸出,本電路中,此信號(hào)沒有連接,因?yàn)門LV2548的轉(zhuǎn)換速度很快(3.6μs),而單片機(jī)中斷與查尋方式不能提高時(shí)間效率,故采用軟件延時(shí)等待轉(zhuǎn)換結(jié)束,這樣編程比較簡(jiǎn)單,同時(shí)也可節(jié)省80C32E的硬件資源。數(shù)據(jù)線SDI與SDO為80C32E與TLV2548之間的數(shù)據(jù)傳輸線。
TLV2548有單次(00)、重復(fù)(01)、掃描(10)及重復(fù)掃描(11)模式四種轉(zhuǎn)換模式,各模式的用法略有區(qū)別;有普通與擴(kuò)展兩種采樣方式。擴(kuò)展采樣方式的優(yōu)點(diǎn)在于A/D的采樣與轉(zhuǎn)換時(shí)間不受時(shí)鐘信號(hào)SCLK的限制,其采樣、轉(zhuǎn)換由電平控制。時(shí)間短、速度快。本文選用11重復(fù)掃描模式與擴(kuò)展采樣方式,來對(duì)TLV2548中的6個(gè)通道(A0~A5)進(jìn)行轉(zhuǎn)換。
圖l中的MAX706為看門狗復(fù)位電路,OSCIC為16 MHz晶振。
2 控制程序設(shè)計(jì)
80C32E與TLV2548之間的數(shù)據(jù)與命令是以16位二進(jìn)制形式傳輸?shù)?。其命令格式為:?位命令+低12配置字。配置寄存器(CFR)讀出格式為:高4位忽略+低12位寄存器內(nèi)容。A/D轉(zhuǎn)換值(FIFO)讀出格式為:高12位轉(zhuǎn)換值+低4位忽略。
80C32E接口控制程序的任務(wù)是產(chǎn)生A/D采樣和轉(zhuǎn)換信號(hào),以及SPI串口時(shí)序,同時(shí)完成TLV2548的轉(zhuǎn)換啟動(dòng)、轉(zhuǎn)換方式的設(shè)定及轉(zhuǎn)換結(jié)果值的讀取。其程序流程如圖2所示。
下面結(jié)合圖1和圖2對(duì)TLV2548的接口控制程序進(jìn)行介紹。
首先是初始化,即上電后由80C32E對(duì)TLV2548進(jìn)行配置。配置時(shí),首先置SCLK(P1.3)為低電平。其次,置低(P1.6),使信號(hào)產(chǎn)生一個(gè)下降沿。此時(shí)由于FS為高電平。這樣,當(dāng)的下降沿來臨時(shí),TLV2548默認(rèn)為微控制器(μP)系統(tǒng),它將復(fù)位內(nèi)部計(jì)數(shù)器并使能SDI與SD-O。最后,80C32E向TLV2548(CFR)寫入命令字A000H,從而完成對(duì)TLV2548的初始化,其程序代碼為:
配置時(shí)??蛇x用TLV2548外部參考電壓和內(nèi)部振蕩器,并選mode 11重復(fù)掃描模式,掃描序列為0一l一2—3—4—5,掃描序列長(zhǎng)度3/4。其具體代碼為:
3 實(shí)驗(yàn)結(jié)果
當(dāng)80C32成功執(zhí)行初始化配置后,通過清、置可向TLV2548發(fā)送6個(gè)脈沖,以啟動(dòng)A/D采樣和轉(zhuǎn)換。A/D輸出下降沿表示轉(zhuǎn)換完成,其結(jié)果數(shù)據(jù)可以輸出。隨后的下降沿將使信號(hào)變?yōu)楦唠娖?,同時(shí)選中TLV2548并使SDI與SDO有效。最后,由80C32發(fā)出串行時(shí)鐘信號(hào)SCLK(P1.3)并通過SDI、SDO移出命令和讀入數(shù)據(jù)。圖3所示為運(yùn)行上述程序后的TLV2548控制時(shí)序圖。
4 結(jié)束語
目前,該方案已應(yīng)用于某航天任務(wù)中,實(shí)踐證明,本系統(tǒng)性能良好,并已通過電性、鑒定、正樣等產(chǎn)品驗(yàn)收。鑒于單片機(jī)的兼容性,本文所介紹的接口電路與程序也可應(yīng)用于其它型號(hào)的MCS-51系列單片機(jī)中。
評(píng)論