虛擬SPI時序在TC77與S3C2410通信中的應(yīng)用
1 引言
串行外圍設(shè)備接口SPI(serial peripheral interface)總線技術(shù)是Motorola公司推出的一種通用串行接口。它是一種三線同步總線,硬件功能很強(qiáng)。但是在數(shù)字溫度傳感器TC77與三星S3C2410處理器的通信中,由于受到數(shù)據(jù)寬度的限制,采用S3C2410現(xiàn)有SPI接口難以實(shí)現(xiàn),為滿足嵌入式溫度采集系統(tǒng)的實(shí)際功能需求,設(shè)計了一種新的實(shí)現(xiàn)方法―嵌入式系統(tǒng)虛擬SPI時序技術(shù),與外圍設(shè)備進(jìn)行SPI通信。實(shí)踐證明,虛擬SPI時序技術(shù)實(shí)現(xiàn)的通信具有穩(wěn)定、正確、健壯、易用的特點(diǎn).其系統(tǒng)功能實(shí)現(xiàn)的可靠性以及成本、功耗等方面都符合了實(shí)際要求。
2 數(shù)字溫度傳感器TC77
TC77是Microchip公司生產(chǎn)的串聯(lián)可訪問數(shù)字溫度傳感器,特別適合于廉價、小尺寸應(yīng)用中。溫度數(shù)據(jù)從內(nèi)部溫度敏感元件轉(zhuǎn)換而來,隨時都可以轉(zhuǎn)化成13位有效數(shù)字。TC77在+25℃到+65℃范圍內(nèi),可以精確到±1.0℃。工作電流僅250 uA。如采用外部配置電阻,可以進(jìn)入低功耗的關(guān)機(jī)(Shutdown)模式,電流僅0.1uA。TC77作為從設(shè)備、運(yùn)行在持續(xù)轉(zhuǎn)換溫度模式下時,通過其SPI接口可與微處理器進(jìn)行實(shí)時通信。其引腳如圖1,各引腳的功能見表1。
引腳 | 引腳功能 |
SI/O | 串行數(shù)據(jù)輸入/輸出 |
SCK | 串行時鐘信號 |
Vss | 地 |
/CS | 片選(低電平有效) |
VDD | 電源輸入(2.7V至5.5V有效) |
由于采用虛擬SPI時序進(jìn)行通信,在實(shí)現(xiàn)通信過程中,必須了解TC77傳感器數(shù)據(jù)輸入輸出的時序參數(shù),否則無法實(shí)現(xiàn)正常通信,也就不能實(shí)現(xiàn)TC77與S3C2410的正確數(shù)據(jù)收發(fā)。TC77數(shù)據(jù)輸出時序見圖2,數(shù)據(jù)輸出時序參數(shù)見表2
參數(shù) | 最小值 | 最大值 | 單位 |
fCLK (時鐘頻率) | - | 7.0 | MHz |
tcs-sck(片選信號下跳沿到第一個SCK上升沿) | 100 | - | ns |
tCS-SI/O(片選信號低到數(shù)據(jù)輸出延遲) | - | 70 | ns |
tDO(SCK下跳沿到數(shù)據(jù)輸出的延遲) | - | 100 | ns |
tDS(片選信號高電平到數(shù)據(jù) | - | 200 | ns |
3 基于S3C2410嵌入式硬件平臺簡介
S3C2410處理器是三星公司基于ARM 公司的ARM920T處理器核,采用0.18微米制造工藝的微處理器。具有16KB指令和16KB數(shù)據(jù)Cache、MMU、支持TFT的LCD控制器、NAND閃存控制器、3路UART、4路DMA、4路帶PWM的Timer、I/O口、RTC、8路10位ADC、Touch Screen接口、IIC-BUS接口、IIS-BUS接口、2個USB主機(jī)、1個USB設(shè)備、SD和MMC接口和2路SPI S3C2410處理器最高可運(yùn)新在268MHz。
4 虛擬SPI時序在通信接口中的設(shè)計與實(shí)現(xiàn)
雖然S3C2410本身具有SPI接口。但它與外部設(shè)備通信一次只能收發(fā)8位數(shù)據(jù)。而TC77輸出與溫度相關(guān)的數(shù)據(jù)有16位,數(shù)據(jù)寬度不一致。本系統(tǒng)采用虛擬SPI時序的方法,將S3C2410中的通用接口的某些引腳與TC77相連.如圖3所示,TC77中的電源線和地線直接與開發(fā)板的電源線與地線連接,片選信號/CS、SC、SI/O分別與通用端口中的E13、E12、E11連接。
圖3 采用SPI虛擬時序法、TC77與S3C2410的連接圖
評論