三防平板電腦有線通信接口電路設(shè)計(jì)(串行外圍設(shè)備接口)
時(shí)間:2024-07-09 作者:樂凡信息 瀏覽:247

三防平板電腦串行外圍設(shè)備接口(Serial Peripheral Interface,SPI)總線技術(shù)是Motorola公司推出的一種同步串行接口,目前許多公司生產(chǎn)的MCU和MPU都配有SPI總線接口。例如,基于ARM9的S3C2440微處理器配備了兩個(gè)SPI總線接口,既可以作為主SPI使用,也可以作為從SPI使用。SPI總線可用于CPU與各種外圍器件進(jìn)行全雙工、同步串行通信。SPI總線可以同時(shí)發(fā)出和接收串行數(shù)據(jù),它只需四條線就可以完成 MCU 與各種外圍器件的通信,這四條線分別是串行時(shí)鐘線(SCK)、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線(MISO)、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線(MOSI)、低電平有效的從機(jī)選擇線??膳cSPI通信的常用的外圍器件有LCD顯示驅(qū)動器、集成A/D和D/A芯片、智能傳感器等。SPI總線接口主要特點(diǎn)如下:

● 可以同時(shí)發(fā)送和接收串行數(shù)據(jù);

● 可以作為主機(jī)或從機(jī)工作;

● 提供頻率可編程時(shí)鐘;

● 發(fā)送結(jié)束中斷標(biāo)志;

● 寫沖突保護(hù);

● 總線競爭保護(hù)等。

2.工作原理與接口方式

三防平板電腦當(dāng)SPI工作時(shí),在移位寄存器中的數(shù)據(jù)逐位從輸出引腳(MOSI)輸出(高位在前),同時(shí)從輸入引腳(MISO)接收的數(shù)據(jù)逐位移到移位寄存器(高位在前)。發(fā)送一個(gè)字節(jié)后,從另一個(gè)外圍器件接收的字節(jié)數(shù)據(jù)進(jìn)入移位寄存器中。主SPI設(shè)備的時(shí)鐘信號(SCK)使傳輸同步,在時(shí)鐘信號的作用下,在發(fā)送數(shù)據(jù)的同時(shí)還可以接收對方發(fā)來的數(shù)據(jù),也可以采用只發(fā)送數(shù)據(jù)或者只接收數(shù)據(jù)的方式,其通信速率可以達(dá)到20 Mbps 以上。SPI 設(shè)備系統(tǒng)連接如圖1所示。



圖1 SPI設(shè)備系統(tǒng)連接圖

SPI總線有四種工作方式,其時(shí)序如圖6-24所示,其中使用最為廣泛的是SPI0和SPI3方式。



圖2 SPI總線四種工作方式時(shí)序圖

三防平板電腦為了與其他設(shè)備進(jìn)行數(shù)據(jù)交換,根據(jù)設(shè)備工作要求,可以對SPI模塊輸出的串行同步時(shí)鐘極性和相位進(jìn)行配置,時(shí)鐘極性(CPOL)對傳輸協(xié)議沒有太大的影響,如果CPOL=0,串行同步時(shí)鐘的空閑狀態(tài)為低電平;如果 CPOL=1,串行同步時(shí)鐘的空閑狀態(tài)為高電平。時(shí)鐘相位(CPHA)能夠配置,用于選擇兩種不同的傳輸協(xié)議之一進(jìn)行數(shù)據(jù)傳輸。如果CPHA=0,在串行同步時(shí)鐘的第一個(gè)跳變沿(上升或下降)數(shù)據(jù)被采樣;如果CPHA=1,在串行同步時(shí)鐘的第二個(gè)跳變沿(上升或下降)數(shù)據(jù)被采樣,SPI 主模塊和與之通信的外設(shè)的時(shí)鐘相位和時(shí)鐘極性應(yīng)該一致。SPI總線數(shù)據(jù)傳輸時(shí)序如圖6-25所示。



圖3 SPI總線數(shù)據(jù)傳輸時(shí)序



圖4 SPI總線數(shù)據(jù)傳輸時(shí)序(續(xù))

3.三防平板電腦基于SPI總線的串行A/D轉(zhuǎn)換器TLC2543及應(yīng)用

TLC2543是TI公司生產(chǎn)的12位串行開關(guān)電容型逐次逼近A/D轉(zhuǎn)換器,具有以下特點(diǎn)。

● 12位分辨率,在工作溫度范圍內(nèi)轉(zhuǎn)換時(shí)間為10 μs;

● 11個(gè)模擬輸入通道,3路內(nèi)置自測試方式;

● 采樣率為66 kbps,線性誤差為+1LSB;

● 轉(zhuǎn)換結(jié)束(EOC)輸出,具有單、雙極性輸出;

● 輸出數(shù)據(jù)長度可編程,內(nèi)部結(jié)構(gòu)采用CMOS技術(shù)。

TLC2543的引腳分布如圖6-26所示,引腳功能如下。



圖5 TLC2543的引腳排分布

● AIN0~AIN10:模擬輸入端,由內(nèi)部多路器選擇。對于大于4.1 MHz 的 I/O CLOCK,驅(qū)動源阻抗必須小于或等于50 Ω。

● :片選端,由高到低時(shí)將復(fù)位內(nèi)部計(jì)數(shù)器,并且控制DATA OUT、DATA INPUT和I/O CLOCK信號。由低到高的變化將在一個(gè)設(shè)置時(shí)間內(nèi)禁止 DATA INPUT 和I/O CLOCK信號。

● DATA INPUT:串行數(shù)據(jù)輸入端,串行數(shù)據(jù)以MSB為前導(dǎo)并在I/O CLOCK的前4個(gè)上升沿移入4位地址,用來選擇下一個(gè)要轉(zhuǎn)換的模擬輸入信號或測試電壓。之后,I/O CLOCK將余下的幾位依次輸入。

● DATA OUT:A/D 轉(zhuǎn)換結(jié)果三態(tài)輸出端,在為高電平時(shí),該引腳處于高阻狀態(tài);當(dāng)為低電平時(shí),該引腳由前一次轉(zhuǎn)換結(jié)果的MSB值置換成相應(yīng)的邏輯電平。

● EOC:轉(zhuǎn)換結(jié)束信號,在最后的I/O CLOCK下降沿之后,EOC由高電平變?yōu)榈碗娖讲⒈3值睫D(zhuǎn)換完成及數(shù)據(jù)準(zhǔn)備傳輸。

● VCC、GND:電源正端、地。

● REF+、REF-:正、負(fù)基準(zhǔn)電壓端,通常REF+接VCC,REF-接GND,最大輸入電壓范圍取決于兩端電壓差。

● I/O CLOCK:時(shí)鐘輸入/輸出端。

(1)三防平板電腦TLC2543的工作原理。每次轉(zhuǎn)換和數(shù)據(jù)傳輸可以使用12或16個(gè)時(shí)鐘周期得到全12位分辨率,也可以選擇使用8個(gè)時(shí)鐘周期得到8位分辨率。

一個(gè)片選脈沖要插到每次轉(zhuǎn)換的開始處,或者在轉(zhuǎn)換時(shí)序的開始時(shí)變化一次后保持為低,直到時(shí)序結(jié)束。圖6所示為使用16個(gè)時(shí)鐘周期轉(zhuǎn)換和傳輸數(shù)據(jù),在每次傳遞周期之間插入的時(shí)序,即進(jìn)行一次轉(zhuǎn)換就操作一次。




圖6 在每次傳遞周期之間插入時(shí)序



圖7所示為使用16個(gè)時(shí)鐘周期轉(zhuǎn)換和傳遞數(shù)據(jù),僅在每次轉(zhuǎn)換序列開始處插入一次時(shí)序,即連續(xù)進(jìn)行多次轉(zhuǎn)換才操作一次。


從圖7中可以看出,三防平板電腦在TLC2543的變低時(shí)開始轉(zhuǎn)換和傳送數(shù)據(jù),CPU將通道選擇、數(shù)據(jù)長度選擇、前導(dǎo)選擇、單雙極性選擇的控制信息送入 DATA INPUT 引腳的同時(shí),還從DATA OUT引腳讀出A/D轉(zhuǎn)換的結(jié)果。因此,本次讀出的A/D轉(zhuǎn)換結(jié)果是上一次操作TLC2543所選擇的通道對應(yīng)的數(shù)據(jù)。通道選擇、數(shù)據(jù)長度選擇、前導(dǎo)選擇、單雙極性選擇這四項(xiàng)的設(shè)置數(shù)據(jù)共8位,I/O CLOCK的前8個(gè)上升沿將這8位的工作模式設(shè)置數(shù)據(jù)從DATA INPUT輸入數(shù)據(jù)寄存器。三防平板電腦如果工作在12或16個(gè)時(shí)鐘周期模式,則后4位或8位的DATA INPUT數(shù)據(jù)沒意義,可為任意值,這4或8位只是為了補(bǔ)齊12或16個(gè)時(shí)鐘,使12位的A/D轉(zhuǎn)換結(jié)果同步輸出。使用16個(gè)時(shí)鐘時(shí),讀出的A/D數(shù)據(jù)為16位,因?yàn)橛行?shù)據(jù)只有12位,所以應(yīng)根據(jù)程序屏蔽高或低4位。

三防平板電腦在I/O CLOCK上升沿時(shí),數(shù)據(jù)發(fā)生變化,即I/O CLOCK低電平時(shí)將要寫入DATA INPUT的數(shù)據(jù)準(zhǔn)備好;當(dāng)I/O CLOCK高電平時(shí),讀出DATA OUT的數(shù)據(jù)。

當(dāng)為高時(shí)I/O CLOCK和DATA INPUT被禁止,DATA OUT為高阻狀態(tài)不能操作。

(2)三防平板電腦TLC2543電路連接圖。AT89S52單片機(jī)使用I/O口模擬SPI的方式連接TLC2543,其中TLC2543的片選接到P1.7引腳,串行時(shí)鐘輸入端I/O CLOCK接到P1.4引腳,串行數(shù)據(jù)輸入端DATA INPUT接到P1.5引腳,串行數(shù)據(jù)輸出端DATA OUT接到P1.6引腳,轉(zhuǎn)換結(jié)束端EOC接到P1.3引腳,TLC2543與單片機(jī)的接口電路如圖6-29所示,TLC2543的電壓基準(zhǔn)為5 V,因此TLC2543的量程最大為5 V。

圖8 TLC2543與單片機(jī)的接口電路

(3)C語言應(yīng)用程序。用C語言編寫的TLC2543應(yīng)用程序如下。