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