基于CAN總線的溫度檢測節(jié)點(diǎn)設(shè)計(jì)
3 SPI接口通信
PIC16F87x通過SPI接口和MCP2510進(jìn)行數(shù)據(jù)交換。
MCP2510 設(shè)計(jì)可與許多微控制器的串行外設(shè)接口(SPI)直接相連。外部數(shù)據(jù)和命令通過SI引腳傳送到器件中,而數(shù)據(jù)在SCK時(shí)鐘信號(hào)的上升沿傳送進(jìn)去。
MCP2510在SCK下降沿通過SO 引腳發(fā)送表1列出了所有操作的指令字節(jié)。
以PIC16F87x向MCP2510發(fā)送讀指令為例,來說明SPI接口通信過程。
在讀操作開始時(shí),CS 引腳將被置為低電平。隨后讀指令和8位地址碼(A7~A0)將被依次送入MCP2510。在接收到讀指令和地址碼之后,MCP2510指定地址寄存器中的數(shù)據(jù)將被移出通過SO引腳進(jìn)行發(fā)送。每一數(shù)據(jù)字節(jié)移出后,器件內(nèi)部的地址指針將自動(dòng)加一以指向下一地址。因此可以對(duì)下一個(gè)連續(xù)地址寄存器進(jìn)行讀操作。通過該方法可以順序讀取任意一個(gè)連續(xù)地址寄存器中的數(shù)據(jù)。通過拉高 CS 引腳電平可以結(jié)束讀操作,如圖6所示。
圖6 SPI 接口通信時(shí)序
結(jié)束語
基于LM35開發(fā)的溫控節(jié)點(diǎn)工作穩(wěn)定性強(qiáng)、可靠性高、且具有體積小、靈敏度高、響應(yīng)時(shí)間短、抗干擾能力強(qiáng)等特點(diǎn)。該節(jié)點(diǎn)成本低廉,器件均為常規(guī)元件,有較高的工程價(jià)值。本節(jié)點(diǎn)擁有CAN接口,既可以作為一個(gè)獨(dú)立的檢測系統(tǒng),也可以作為分布式測試系統(tǒng)的一個(gè)關(guān)鍵部分。CAN的上層協(xié)議都可以在軟件中實(shí)現(xiàn),使得本節(jié)點(diǎn)接口靈活,不受上層協(xié)議的限制。
評(píng)論