現(xiàn)如今,隨著汽車電子的發(fā)展,串行通信在ECU上也被廣泛應(yīng)用,我們常見的串行通信有:RS485、RS232、PSI5、SPI等,每一種串行通信都有其自身的特點(diǎn)。本文主要就基于VT2710實(shí)現(xiàn)SPI仿真進(jìn)行相關(guān)的介紹。
VT2710介紹
VT2710是Vector 旗下的一款串行通信板卡。VT2710 提供一套測試ECU或傳感器串行通信通道所需的接口。該模塊可用于模擬總線通道上傳感器和ECU的行為。此外,還可以監(jiān)控串行總線上的通信。VT2710可用于控制試驗(yàn)臺上的外圍設(shè)備。
如下圖所示,VT2710模塊可以同時(shí)處理兩組串行接口,包括汽車傳感器相關(guān)的PSI5和SENT接口。以及支持通用型數(shù)字接口,SPI,I2C,UART,RS232,RS422,RS485或LVDS等諸多通信協(xié)議。下面,將就基于VT2710實(shí)現(xiàn)SPI仿真的方式展開講解。
圖1-VT2710串行通信卡
SPI
SPI,是串行外設(shè)接口“Serial Peripheral Interface”的簡寫,這是一種全雙工同步串行的通信協(xié)議。圖2-SPI多從機(jī)模式
SPI通信原理其實(shí)很簡單,至少需要4根線,它們是MISO(主設(shè)備數(shù)據(jù)輸入)、MOSI(主設(shè)備數(shù)據(jù)輸出)、SCLK(時(shí)鐘)和CS/SS(片選)。
MISO( Master Input Slave Output):主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出;
MOSI(Master Output Slave Input):主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入;
SCLK(Serial Clock):時(shí)鐘信號,由主設(shè)備產(chǎn)生;
CS/SS(Chip Select/Slave Select):片選線,用于多從機(jī)時(shí)主設(shè)備與從設(shè)備進(jìn)行選擇。當(dāng)主設(shè)備要和某個(gè)從設(shè)備進(jìn)行通信時(shí),主設(shè)備需要先向?qū)?yīng)從設(shè)備的片選線上發(fā)送使能信號,(大多數(shù)是將電平拉低),表示選中該從設(shè),主芯片對此從芯片的操作才有效。
圖3-通信過程
其通信過程也很容易理解。
首先,主設(shè)備發(fā)起片選信號,將CS/SS拉低(一般情況),啟動通信。然后,主設(shè)備通過發(fā)送時(shí)鐘信號,來告訴從設(shè)備進(jìn)行發(fā)數(shù)據(jù)或者讀數(shù)據(jù)的操作。值得關(guān)注的是,通信過程中有四種數(shù)據(jù)采樣的模式,由極性(CPOL)和相位(CPHA)來決定,CPOL為“0”則代表時(shí)鐘信號空閑時(shí)為低電平,為“1”則空閑時(shí)為高電平,相位的“0”、“1”則分別代表在第一個(gè)跳變沿傳輸數(shù)據(jù)和在第二個(gè)跳變沿傳輸數(shù)據(jù)。以上極性和相位排列組合為以下四種模式:
①CPOL=0,CPHA=0:空閑時(shí)低電平,第一個(gè)跳變沿發(fā)數(shù)據(jù)
②CPOL=0,CPHA=1:空閑時(shí)低電平,第二個(gè)跳變沿發(fā)數(shù)據(jù)
③CPOL=1,CPHA=0:空閑時(shí)高電平,第一個(gè)跳變沿發(fā)數(shù)據(jù)
④CPOL=1,CPHA=1:空閑時(shí)高電平,第二個(gè)跳變沿發(fā)數(shù)據(jù)
圖4-四種工作模式
主設(shè)備發(fā)送片選信號選中從設(shè)備,并且發(fā)送時(shí)鐘信號后。緊接著主機(jī)(Master)將要發(fā)送的數(shù)據(jù)經(jīng)MOSI信號線發(fā)送給從機(jī)(Slave),從機(jī)也將數(shù)據(jù)經(jīng)MISO信號線返回給主機(jī)。SPI通信協(xié)議還具有高速傳輸、簡單靈活、支持和多從設(shè)備的連接,具有較高的靈活性、雙向通信、低功耗的特點(diǎn)。
以上就是SPI的基本通信原理,下面介紹一下上位機(jī)軟件配置。
在上位機(jī)軟件—CANoe中,有一個(gè)SPI Basic的示例工程。在File→Sample Configurations下的SPI Basic工程中,可以實(shí)現(xiàn)SPI基礎(chǔ)的傳輸接收等基本通信。下面簡單介紹一下該工程的使用和配置。工程位置如下圖所示。圖5-SPI Basic工程
首先,將Master和Slave的MISO、MOSI、CS、SCLK對應(yīng)連接。打開示例工程,確認(rèn)通道是否匹配好。啟動工程,在對應(yīng)的輸入窗口下輸入數(shù)據(jù)即可完成收發(fā)。圖6-SPI Basic工程實(shí)例關(guān)于SPI的配置都在Hardware窗口下的Protocol Configuration Sensors模塊下。
圖7-SPI 配置icon
Master配置
POLELINK
1)Clock polarity when idle:指空閑時(shí)的SCLK極性
2)Clock frequency:指時(shí)鐘頻率
3) Wait after CS active : 主機(jī)通過CS選中從機(jī)后的等待時(shí)間
4)Wait before CS inactive : CS片選在待命狀態(tài)下的等待時(shí)間
圖8-Master配置窗口
Slave配置
POLELINK
1)General Setting:此模式選擇項(xiàng)包含Low Active和High Active,Low Active用于一般復(fù)雜度的通信需求,High Active用于高復(fù)雜度的通信需求。
2)Clock Setting:極性和相位選項(xiàng),CPOL為極性,CPHA是相位。
圖9-Slave配置窗口至此,就是我們在上位機(jī)軟件中的示例工程以及對Master和Slave的一個(gè)基本的配置。
SPI多從機(jī)模式的配置
POLELINK
保證主機(jī)、從機(jī)連接沒有問題,在上位機(jī)軟件CANoe的Hardware窗口下的Protocol Configuration Sensors模塊下,右擊Master→Add Slave,具體參數(shù)的配置參照上文即可。值得關(guān)注的是,每塊VT2710可以提供2個(gè)獨(dú)立通道的四線SPI通訊,最多支持5路片選,兩個(gè)通道至多可支持10個(gè)從機(jī)。
圖10-Slave添加
圖11-Slave
菊花鏈
在一個(gè)主機(jī)和多個(gè)從機(jī)的SPI 系統(tǒng)中,通常采用專門的片選信號來尋址從機(jī)。隨著從機(jī)數(shù)量不斷增加,片選線也隨之增多。這種情況將給電路板帶來很大的挑戰(zhàn)。這時(shí)候,使用菊花鏈的連接方式是更好的選擇。
菊花鏈,顧名思義,這種連接方式就像是花環(huán),進(jìn)行通信的過程中,在設(shè)備信號以串行的方式從一個(gè)設(shè)備依次傳到下一個(gè)設(shè)備,不斷循環(huán)直到數(shù)據(jù)到達(dá)目標(biāo)設(shè)備的方式被稱為菊花鏈。在菊花鏈的SPI系統(tǒng)中,只采用一個(gè)SS (或者CS) 信號,所有從機(jī)接收同一個(gè)時(shí)鐘信號。只有鏈上的第一個(gè)從機(jī)(SLAVE 1) 從微控制器直接接收命令。其他所有從機(jī)都從鏈上前一個(gè)從機(jī)的輸出引腳獲得其數(shù)據(jù)。要保證菊花鏈正常工作,每一個(gè)從機(jī)就必須能在給定的命令周期讀入命令,而在下一個(gè)命令周期從數(shù)據(jù)輸出引腳輸出同樣的命令。
下圖為菊花鏈連接方式。在菊花鏈模式下,各個(gè)從機(jī)一個(gè)接一個(gè)地連接起來。主機(jī)通過所有連接的從機(jī)傳輸數(shù)據(jù)。為此,主機(jī)的MOSI輸出連接到第一個(gè)從機(jī)的MOSI輸入,下一個(gè)從機(jī)的MISO再連接到下一個(gè)從機(jī)的MISO,以此類推。最后一個(gè)從機(jī)的MISO輸出再次連接回主機(jī)。所有從機(jī)的芯片選擇信號在這里相互連接。采用菊花鏈的連接方式,優(yōu)點(diǎn)在于節(jié)約空間,釋放總線壓力。缺點(diǎn)就是因?yàn)槭切盘柎袀鬏?,所以一旦?shù)據(jù)鏈路中的某設(shè)備發(fā)生故障的時(shí)候,它下面優(yōu)先級較低的設(shè)備就不可能得到服務(wù)了。圖12-菊花鏈的連接方式
BMS系統(tǒng)中菊花鏈實(shí)例
目前,國內(nèi)的BMS設(shè)備主要分為兩種。第一種是以分布式架構(gòu)為主,BMS分為主板和從板,主從板上都有微型的控制器,用作收集從板采集到的電池電壓和溫度數(shù)據(jù) ,通過CAN總線傳給主板。第二種是采用菊花鏈技術(shù)的BMS集中式架構(gòu)。這種架構(gòu)只在BMS主板上保留微控制器,原本的從板改成單純圍繞AFE芯片功能的小板,AFE采集的信息通過差分隔離信號的方式直接傳送給主板。主板完成BMS主要的保護(hù)和電池管理功能。圖13-傳統(tǒng)方式到菊花鏈的演變
BMS的主板上的微控制器連接SPI串行通信接口,通過通信轉(zhuǎn)換芯片將信號轉(zhuǎn)換為差分信號。主板以差分信號的形式與第一個(gè)從板進(jìn)行通信,差分信號從第一個(gè)從板出來后,依次進(jìn)入后序的從板,這樣主板最終得以與所有從板通信。菊花鏈在BMS系統(tǒng)中就是作為這樣一個(gè)主、從板之間的橋梁而存在。菊花鏈的仿真可以基于 VT的 FPGA板卡實(shí)現(xiàn), 通過Simulink構(gòu)建菊花鏈仿真模型并運(yùn)行在FPGA板卡中,從而實(shí)現(xiàn)用菊花鏈的方式完成主板從、板之間通信的功能。
總結(jié)
VT2710是一款為ECU和N個(gè)數(shù)字傳感器提供硬件接口的功能型板卡。希望通過本文的介紹,大家對VT2710串行通信板卡和SPI通信協(xié)議有了更深入的了解。如果您對VT2710板卡亦或是SPI通信協(xié)議或者想要了解更多相關(guān)內(nèi)容,歡迎咨詢北匯信息,感謝觀看!北匯信息作為Vector中國的合作伙伴,始終專注于汽車電子領(lǐng)域的新技術(shù)和新產(chǎn)品,為整車廠和零部件企業(yè)提供完整的研發(fā)、測試解決方案,為工程師在汽車領(lǐng)域提供“趁手裝備”!我們不僅提供相應(yīng)的工具和技術(shù)支持服務(wù)及培訓(xùn),還針對不同的應(yīng)用提供相應(yīng)的解決方案,助力中國客戶的研發(fā)效率提升。歡迎聯(lián)系北匯信息,我們將根據(jù)不同需求為您提供針對性的高效、靈活、穩(wěn)定的解決方案!
-
汽車電子
+關(guān)注
關(guān)注
3037文章
8343瀏覽量
170132 -
通信
+關(guān)注
關(guān)注
18文章
6206瀏覽量
137789 -
仿真
+關(guān)注
關(guān)注
52文章
4283瀏覽量
135789 -
SPI
+關(guān)注
關(guān)注
17文章
1804瀏覽量
95886
發(fā)布評論請先 登錄
零基礎(chǔ)學(xué)習(xí)一階RC低通濾波器(從原理到實(shí)踐)
請問STM32如何用HAL庫實(shí)現(xiàn)spi自通信?
全面了解車用電機(jī)控制器,從原理到設(shè)計(jì)!
如何用STM32來實(shí)現(xiàn)溫度控制系統(tǒng)仿真?
一文了解LVGL的學(xué)習(xí)路線
FPGA實(shí)現(xiàn)的SPI協(xié)議
一文讀懂SPI串行外設(shè)接口
CANoe對SPI、UART和I2C等串行總線的同步仿真與測試
FPGA實(shí)現(xiàn)的SPI協(xié)議(二)----基于SPI接口的FLASH芯片M25P16的使用

基于VT系統(tǒng)的MCU硬件在環(huán)建模與仿真應(yīng)用分析

評論