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